diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-02-16 15:48:00 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-02-16 15:48:00 -0800 |
commit | 796e1c55717e9a6ff5c81b12289ffa1ffd919b6f (patch) | |
tree | 27ce45cb1227156b72c641dbcbf2b399d23ba63d /drivers/gpu/drm/nouveau/core/engine/graph/fuc | |
parent | 8c334ce8f0fec7122fc3059c52a697b669a01b41 (diff) | |
parent | 45ee2dbc65cbf6910892c480e6f428be342fa733 (diff) |
Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux
Pull drm updates from Dave Airlie:
"This is the main drm pull, it has a shared branch with some alsa
crossover but everything should be acked by relevant people.
New drivers:
- ATMEL HLCDC driver
- designware HDMI core support (used in multiple SoCs).
core:
- lots more atomic modesetting work, properties and atomic ioctl
(hidden under option)
- bridge rework allows support for Samsung exynos chromebooks to
work finally.
- some more panels supported
i915:
- atomic plane update support
- DSI uses shared DSI infrastructure
- Skylake basic support is all merged now
- component framework used for i915/snd-hda interactions
- write-combine cpu memory mappings
- engine init code refactored
- full ppgtt enabled where execlists are enabled.
- cherryview rps/gpu turbo and pipe CRC support.
radeon:
- indirect draw support for evergreen/cayman
- SMC and manual fan control for SI/CI
- Displayport audio support
amdkfd:
- SDMA usermode queue support
- replace suballocator usage with more suitable one
- rework for allowing interfacing to more than radeon
nouveau:
- major renaming in prep for later splitting work
- merge arm platform driver into nouveau
- GK20A reclocking support
msm:
- conversion to atomic modesetting
- YUV support for mdp4/5
- eDP support
- hw cursor for mdp5
tegra:
- conversion to atomic modesetting
- better suspend/resume support for child devices
rcar-du:
- interlaced support
imx:
- move to using dw_hdmi shared support
- mode_fixup support
sti:
- DVO support
- HDMI infoframe support
exynos:
- refactoring and cleanup, removed lots of internal unnecessary
abstraction
- exynos7 DECON display controller support
Along with the usual bunch of fixes, cleanups etc"
* 'drm-next' of git://people.freedesktop.org/~airlied/linux: (724 commits)
drm/radeon: fix voltage setup on hawaii
drm/radeon/dp: Set EDP_CONFIGURATION_SET for bridge chips if necessary
drm/radeon: only enable kv/kb dpm interrupts once v3
drm/radeon: workaround for CP HW bug on CIK
drm/radeon: Don't try to enable write-combining without PAT
drm/radeon: use 0-255 rather than 0-100 for pwm fan range
drm/i915: Clamp efficient frequency to valid range
drm/i915: Really ignore long HPD pulses on eDP
drm/exynos: Add DECON driver
drm/i915: Correct the base value while updating LP_OUTPUT_HOLD in MIPI_PORT_CTRL
drm/i915: Insert a command barrier on BLT/BSD cache flushes
drm/i915: Drop vblank wait from intel_dp_link_down
drm/exynos: fix NULL pointer reference
drm/exynos: remove exynos_plane_dpms
drm/exynos: remove mode property of exynos crtc
drm/exynos: Remove exynos_plane_dpms() call with no effect
drm/i915: Squelch overzealous uncore reset WARN_ON
drm/i915: Take runtime pm reference on hangcheck_info
drm/i915: Correct the IOSF Dev_FN field for IOSF transfers
drm/exynos: fix DMA_ATTR_NO_KERNEL_MAPPING usage
...
Diffstat (limited to 'drivers/gpu/drm/nouveau/core/engine/graph/fuc')
29 files changed, 0 insertions, 11239 deletions
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/com.fuc b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/com.fuc deleted file mode 100644 index e37d8106ae1a..000000000000 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/com.fuc +++ /dev/null @@ -1,335 +0,0 @@ -/* fuc microcode util functions for nvc0 PGRAPH - * - * Copyright 2011 Red Hat Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - * Authors: Ben Skeggs - */ - -#ifdef INCLUDE_CODE -// queue_put - add request to queue -// -// In : $r13 queue pointer -// $r14 command -// $r15 data -// -queue_put: - // make sure we have space.. - ld b32 $r8 D[$r13 + 0x0] // GET - ld b32 $r9 D[$r13 + 0x4] // PUT - xor $r8 8 - cmpu b32 $r8 $r9 - bra ne #queue_put_next - mov $r15 E_CMD_OVERFLOW - call(error) - ret - - // store cmd/data on queue - queue_put_next: - and $r8 $r9 7 - shl b32 $r8 3 - add b32 $r8 $r13 - add b32 $r8 8 - st b32 D[$r8 + 0x0] $r14 - st b32 D[$r8 + 0x4] $r15 - - // update PUT - add b32 $r9 1 - and $r9 0xf - st b32 D[$r13 + 0x4] $r9 - ret - -// queue_get - fetch request from queue -// -// In : $r13 queue pointer -// -// Out: $p1 clear on success (data available) -// $r14 command -// $r15 data -// -queue_get: - bset $flags $p1 - ld b32 $r8 D[$r13 + 0x0] // GET - ld b32 $r9 D[$r13 + 0x4] // PUT - cmpu b32 $r8 $r9 - bra e #queue_get_done - // fetch first cmd/data pair - and $r9 $r8 7 - shl b32 $r9 3 - add b32 $r9 $r13 - add b32 $r9 8 - ld b32 $r14 D[$r9 + 0x0] - ld b32 $r15 D[$r9 + 0x4] - - // update GET - add b32 $r8 1 - and $r8 0xf - st b32 D[$r13 + 0x0] $r8 - bclr $flags $p1 -queue_get_done: - ret - -// nv_rd32 - read 32-bit value from nv register -// -// In : $r14 register -// Out: $r15 value -// -nv_rd32: - mov b32 $r12 $r14 - bset $r12 31 // MMIO_CTRL_PENDING - nv_iowr(NV_PGRAPH_FECS_MMIO_CTRL, 0, $r12) - nv_rd32_wait: - nv_iord($r12, NV_PGRAPH_FECS_MMIO_CTRL, 0) - xbit $r12 $r12 31 - bra ne #nv_rd32_wait - mov $r10 6 // DONE_MMIO_RD - call(wait_doneo) - nv_iord($r15, NV_PGRAPH_FECS_MMIO_RDVAL, 0) - ret - -// nv_wr32 - write 32-bit value to nv register -// -// In : $r14 register -// $r15 value -// -nv_wr32: - nv_iowr(NV_PGRAPH_FECS_MMIO_WRVAL, 0, $r15) - mov b32 $r12 $r14 - bset $r12 31 // MMIO_CTRL_PENDING - bset $r12 30 // MMIO_CTRL_WRITE - nv_iowr(NV_PGRAPH_FECS_MMIO_CTRL, 0, $r12) - nv_wr32_wait: - nv_iord($r12, NV_PGRAPH_FECS_MMIO_CTRL, 0) - xbit $r12 $r12 31 - bra ne #nv_wr32_wait - ret - -// wait_donez - wait on FUC_DONE bit to become clear -// -// In : $r10 bit to wait on -// -wait_donez: - trace_set(T_WAIT); - nv_iowr(NV_PGRAPH_FECS_CC_SCRATCH_VAL(6), 0, $r10) - wait_donez_ne: - nv_iord($r8, NV_PGRAPH_FECS_SIGNAL, 0) - xbit $r8 $r8 $r10 - bra ne #wait_donez_ne - trace_clr(T_WAIT) - ret - -// wait_doneo - wait on FUC_DONE bit to become set -// -// In : $r10 bit to wait on -// -wait_doneo: - trace_set(T_WAIT); - nv_iowr(NV_PGRAPH_FECS_CC_SCRATCH_VAL(6), 0, $r10) - wait_doneo_e: - nv_iord($r8, NV_PGRAPH_FECS_SIGNAL, 0) - xbit $r8 $r8 $r10 - bra e #wait_doneo_e - trace_clr(T_WAIT) - ret - -// mmctx_size - determine size of a mmio list transfer -// -// In : $r14 mmio list head -// $r15 mmio list tail -// Out: $r15 transfer size (in bytes) -// -mmctx_size: - clear b32 $r9 - nv_mmctx_size_loop: - ld b32 $r8 D[$r14] - shr b32 $r8 26 - add b32 $r8 1 - shl b32 $r8 2 - add b32 $r9 $r8 - add b32 $r14 4 - cmpu b32 $r14 $r15 - bra ne #nv_mmctx_size_loop - mov b32 $r15 $r9 - ret - -// mmctx_xfer - execute a list of mmio transfers -// -// In : $r10 flags -// bit 0: direction (0 = save, 1 = load) -// bit 1: set if first transfer -// bit 2: set if last transfer -// $r11 base -// $r12 mmio list head -// $r13 mmio list tail -// $r14 multi_stride -// $r15 multi_mask -// -mmctx_xfer: - trace_set(T_MMCTX) - clear b32 $r9 - or $r11 $r11 - bra e #mmctx_base_disabled - nv_iowr(NV_PGRAPH_FECS_MMCTX_BASE, 0, $r11) - bset $r9 0 // BASE_EN - mmctx_base_disabled: - or $r14 $r14 - bra e #mmctx_multi_disabled - nv_iowr(NV_PGRAPH_FECS_MMCTX_MULTI_STRIDE, 0, $r14) - nv_iowr(NV_PGRAPH_FECS_MMCTX_MULTI_MASK, 0, $r15) - bset $r9 1 // MULTI_EN - mmctx_multi_disabled: - - xbit $r11 $r10 0 - shl b32 $r11 16 // DIR - bset $r11 12 // QLIMIT = 0x10 - xbit $r14 $r10 1 - shl b32 $r14 17 - or $r11 $r14 // START_TRIGGER - nv_iowr(NV_PGRAPH_FECS_MMCTX_CTRL, 0, $r11) - - // loop over the mmio list, and send requests to the hw - mmctx_exec_loop: - // wait for space in mmctx queue - mmctx_wait_free: - nv_iord($r14, NV_PGRAPH_FECS_MMCTX_CTRL, 0) - and $r14 0x1f - bra e #mmctx_wait_free - - // queue up an entry - ld b32 $r14 D[$r12] - or $r14 $r9 - nv_iowr(NV_PGRAPH_FECS_MMCTX_QUEUE, 0, $r14) - add b32 $r12 4 - cmpu b32 $r12 $r13 - bra ne #mmctx_exec_loop - - xbit $r11 $r10 2 - bra ne #mmctx_stop - // wait for queue to empty - mmctx_fini_wait: - nv_iord($r11, NV_PGRAPH_FECS_MMCTX_CTRL, 0) - and $r11 0x1f - cmpu b32 $r11 0x10 - bra ne #mmctx_fini_wait - mov $r10 5 // DONE_MMCTX - call(wait_donez) - bra #mmctx_done - mmctx_stop: - xbit $r11 $r10 0 - shl b32 $r11 16 // DIR - bset $r11 12 // QLIMIT = 0x10 - bset $r11 18 // STOP_TRIGGER - nv_iowr(NV_PGRAPH_FECS_MMCTX_CTRL, 0, $r11) - mmctx_stop_wait: - // wait for STOP_TRIGGER to clear - nv_iord($r11, NV_PGRAPH_FECS_MMCTX_CTRL, 0) - xbit $r11 $r11 18 - bra ne #mmctx_stop_wait - mmctx_done: - trace_clr(T_MMCTX) - ret - -// Wait for DONE_STRAND -// -strand_wait: - push $r10 - mov $r10 2 - call(wait_donez) - pop $r10 - ret - -// unknown - call before issuing strand commands -// -strand_pre: - mov $r9 NV_PGRAPH_FECS_STRAND_CMD_ENABLE - nv_iowr(NV_PGRAPH_FECS_STRAND_CMD, 0x3f, $r9) - call(strand_wait) - ret - -// unknown - call after issuing strand commands -// -strand_post: - mov $r9 NV_PGRAPH_FECS_STRAND_CMD_DISABLE - nv_iowr(NV_PGRAPH_FECS_STRAND_CMD, 0x3f, $r9) - call(strand_wait) - ret - -// Selects strand set?! -// -// In: $r14 id -// -strand_set: - mov $r12 0xf - nv_iowr(NV_PGRAPH_FECS_STRAND_FILTER, 0x3f, $r12) - mov $r12 NV_PGRAPH_FECS_STRAND_CMD_DEACTIVATE_FILTER - nv_iowr(NV_PGRAPH_FECS_STRAND_CMD, 0x3f, $r12) - nv_iowr(NV_PGRAPH_FECS_STRAND_FILTER, 0x3f, $r14) - mov $r12 NV_PGRAPH_FECS_STRAND_CMD_ACTIVATE_FILTER - nv_iowr(NV_PGRAPH_FECS_STRAND_CMD, 0x3f, $r12) - call(strand_wait) - ret - -// Initialise strand context data -// -// In : $r15 context base -// Out: $r15 context size (in bytes) -// -// Strandset(?) 3 hardcoded currently -// -strand_ctx_init: - trace_set(T_STRINIT) - call(strand_pre) - mov $r14 3 - call(strand_set) - - clear b32 $r12 - nv_iowr(NV_PGRAPH_FECS_STRAND_SELECT, 0x3f, $r12) - mov $r12 NV_PGRAPH_FECS_STRAND_CMD_SEEK - nv_iowr(NV_PGRAPH_FECS_STRAND_CMD, 0x3f, $r12) - call(strand_wait) - sub b32 $r12 $r0 1 - nv_iowr(NV_PGRAPH_FECS_STRAND_DATA, 0x3f, $r12) - mov $r12 NV_PGRAPH_FECS_STRAND_CMD_GET_INFO - nv_iowr(NV_PGRAPH_FECS_STRAND_CMD, 0x3f, $r12) - call(strand_wait) - call(strand_post) - - // read the size of each strand, poke the context offset of - // each into STRAND_{SAVE,LOAD}_SWBASE now, no need to worry - // about it later then. - nv_mkio($r8, NV_PGRAPH_FECS_STRAND_SAVE_SWBASE, 0x00) - nv_iord($r9, NV_PGRAPH_FECS_STRANDS_CNT, 0x00) - shr b32 $r14 $r15 8 - ctx_init_strand_loop: - iowr I[$r8 + 0x000] $r14 // STRAND_SAVE_SWBASE - iowr I[$r8 + 0x100] $r14 // STRAND_LOAD_SWBASE - iord $r10 I[$r8 + 0x200] // STRAND_SIZE - shr b32 $r10 6 - add b32 $r10 1 - add b32 $r14 $r10 - add b32 $r8 4 - sub b32 $r9 1 - bra ne #ctx_init_strand_loop - - shl b32 $r14 8 - sub b32 $r15 $r14 $r15 - trace_clr(T_STRINIT) - ret -#endif diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpc.fuc b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpc.fuc deleted file mode 100644 index 7445f12b1d9e..000000000000 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpc.fuc +++ /dev/null @@ -1,378 +0,0 @@ -/* fuc microcode for nvc0 PGRAPH/GPC - * - * Copyright 2011 Red Hat Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - * Authors: Ben Skeggs - */ - -/* TODO - * - bracket certain functions with scratch writes, useful for debugging - * - watchdog timer around ctx operations - */ - -#ifdef INCLUDE_DATA -gpc_mmio_list_head: .b32 #mmio_list_base -gpc_mmio_list_tail: -tpc_mmio_list_head: .b32 #mmio_list_base -tpc_mmio_list_tail: -unk_mmio_list_head: .b32 #mmio_list_base -unk_mmio_list_tail: .b32 #mmio_list_base - -gpc_id: .b32 0 - -tpc_count: .b32 0 -tpc_mask: .b32 0 - -#if NV_PGRAPH_GPCX_UNK__SIZE > 0 -unk_count: .b32 0 -unk_mask: .b32 0 -#endif - -cmd_queue: queue_init - -mmio_list_base: -#endif - -#ifdef INCLUDE_CODE -// reports an exception to the host -// -// In: $r15 error code (see os.h) -// -error: - push $r14 - nv_wr32(NV_PGRAPH_FECS_CC_SCRATCH_VAL(5), $r15) - mov $r15 1 - nv_wr32(NV_PGRAPH_FECS_INTR_UP_SET, $r15) - pop $r14 - ret - -// GPC fuc initialisation, executed by triggering ucode start, will -// fall through to main loop after completion. -// -// Input: -// CC_SCRATCH[1]: context base -// -// Output: -// CC_SCRATCH[0]: -// 31:31: set to signal completion -// CC_SCRATCH[1]: -// 31:0: GPC context size -// -init: - clear b32 $r0 - - // setup stack - nv_iord($r1, NV_PGRAPH_GPCX_GPCCS_CAPS, 0) - extr $r1 $r1 9:17 - shl b32 $r1 8 - mov $sp $r1 - - // enable fifo access - mov $r2 NV_PGRAPH_GPCX_GPCCS_ACCESS_FIFO - nv_iowr(NV_PGRAPH_GPCX_GPCCS_ACCESS, 0, $r2) - - // setup i0 handler, and route all interrupts to it - mov $r1 #ih - mov $iv0 $r1 - nv_iowr(NV_PGRAPH_GPCX_GPCCS_INTR_ROUTE, 0, $r0) - - // enable fifo interrupt - mov $r2 NV_PGRAPH_GPCX_GPCCS_INTR_EN_SET_FIFO - nv_iowr(NV_PGRAPH_GPCX_GPCCS_INTR_EN_SET, 0, $r2) - - // enable interrupts - bset $flags ie0 - - // figure out which GPC we are, and how many TPCs we have - nv_iord($r2, NV_PGRAPH_GPCX_GPCCS_UNITS, 0) - mov $r3 1 - and $r2 0x1f - shl b32 $r3 $r2 - sub b32 $r3 1 - st b32 D[$r0 + #tpc_count] $r2 - st b32 D[$r0 + #tpc_mask] $r3 - nv_iord($r2, NV_PGRAPH_GPCX_GPCCS_MYINDEX, 0) - st b32 D[$r0 + #gpc_id] $r2 - -#if NV_PGRAPH_GPCX_UNK__SIZE > 0 - // figure out which, and how many, UNKs are actually present - imm32($r14, 0x500c30) - clear b32 $r2 - clear b32 $r3 - clear b32 $r4 - init_unk_loop: - call(nv_rd32) - cmp b32 $r15 0 - bra z #init_unk_next - mov $r15 1 - shl b32 $r15 $r2 - or $r4 $r15 - add b32 $r3 1 - init_unk_next: - add b32 $r2 1 - add b32 $r14 4 - cmp b32 $r2 NV_PGRAPH_GPCX_UNK__SIZE - bra ne #init_unk_loop - init_unk_done: - st b32 D[$r0 + #unk_count] $r3 - st b32 D[$r0 + #unk_mask] $r4 -#endif - - // initialise context base, and size tracking - nv_iord($r2, NV_PGRAPH_GPCX_GPCCS_CC_SCRATCH_VAL(1), 0) - clear b32 $r3 // track GPC context size here - - // set mmctx base addresses now so we don't have to do it later, - // they don't currently ever change - shr b32 $r5 $r2 8 - nv_iowr(NV_PGRAPH_GPCX_GPCCS_MMCTX_SAVE_SWBASE, 0, $r5) - nv_iowr(NV_PGRAPH_GPCX_GPCCS_MMCTX_LOAD_SWBASE, 0, $r5) - - // calculate GPC mmio context size - ld b32 $r14 D[$r0 + #gpc_mmio_list_head] - ld b32 $r15 D[$r0 + #gpc_mmio_list_tail] - call(mmctx_size) - add b32 $r2 $r15 - add b32 $r3 $r15 - - // calculate per-TPC mmio context size - ld b32 $r14 D[$r0 + #tpc_mmio_list_head] - ld b32 $r15 D[$r0 + #tpc_mmio_list_tail] - call(mmctx_size) - ld b32 $r14 D[$r0 + #tpc_count] - mulu $r14 $r15 - add b32 $r2 $r14 - add b32 $r3 $r14 - -#if NV_PGRAPH_GPCX_UNK__SIZE > 0 - // calculate per-UNK mmio context size - ld b32 $r14 D[$r0 + #unk_mmio_list_head] - ld b32 $r15 D[$r0 + #unk_mmio_list_tail] - call(mmctx_size) - ld b32 $r14 D[$r0 + #unk_count] - mulu $r14 $r15 - add b32 $r2 $r14 - add b32 $r3 $r14 -#endif - - // round up base/size to 256 byte boundary (for strand SWBASE) - shr b32 $r3 2 - nv_iowr(NV_PGRAPH_GPCX_GPCCS_MMCTX_LOAD_COUNT, 0, $r3) // wtf for?! - shr b32 $r2 8 - shr b32 $r3 6 - add b32 $r2 1 - add b32 $r3 1 - shl b32 $r2 8 - shl b32 $r3 8 - - // calculate size of strand context data - mov b32 $r15 $r2 - call(strand_ctx_init) - add b32 $r3 $r15 - - // save context size, and tell HUB we're done - nv_iowr(NV_PGRAPH_GPCX_GPCCS_CC_SCRATCH_VAL(1), 0, $r3) - clear b32 $r2 - bset $r2 31 - nv_iowr(NV_PGRAPH_GPCX_GPCCS_CC_SCRATCH_SET(0), 0, $r2) - -// Main program loop, very simple, sleeps until woken up by the interrupt -// handler, pulls a command from the queue and executes its handler -// -main: - bset $flags $p0 - sleep $p0 - mov $r13 #cmd_queue - call(queue_get) - bra $p1 #main - - // 0x0000-0x0003 are all context transfers - cmpu b32 $r14 0x04 - bra nc #main_not_ctx_xfer - // fetch $flags and mask off $p1/$p2 - mov $r1 $flags - mov $r2 0x0006 - not b32 $r2 - and $r1 $r2 - // set $p1/$p2 according to transfer type - shl b32 $r14 1 - or $r1 $r14 - mov $flags $r1 - // transfer context data - call(ctx_xfer) - bra #main - - main_not_ctx_xfer: - shl b32 $r15 $r14 16 - or $r15 E_BAD_COMMAND - call(error) - bra #main - -// interrupt handler -ih: - push $r8 - mov $r8 $flags - push $r8 - push $r9 - push $r10 - push $r11 - push $r13 - push $r14 - push $r15 - clear b32 $r0 - - // incoming fifo command? - nv_iord($r10, NV_PGRAPH_GPCX_GPCCS_INTR, 0) - and $r11 $r10 NV_PGRAPH_GPCX_GPCCS_INTR_FIFO - bra e #ih_no_fifo - // queue incoming fifo command for later processing - mov $r13 #cmd_queue - nv_iord($r14, NV_PGRAPH_GPCX_GPCCS_FIFO_CMD, 0) - nv_iord($r15, NV_PGRAPH_GPCX_GPCCS_FIFO_DATA, 0) - call(queue_put) - mov $r14 1 - nv_iowr(NV_PGRAPH_GPCX_GPCCS_FIFO_ACK, 0, $r14) - - // ack, and wake up main() - ih_no_fifo: - nv_iowr(NV_PGRAPH_GPCX_GPCCS_INTR_ACK, 0, $r10) - - pop $r15 - pop $r14 - pop $r13 - pop $r11 - pop $r10 - pop $r9 - pop $r8 - mov $flags $r8 - pop $r8 - bclr $flags $p0 - iret - -// Set this GPC's bit in HUB_BAR, used to signal completion of various -// activities to the HUB fuc -// -hub_barrier_done: - mov $r15 1 - ld b32 $r14 D[$r0 + #gpc_id] - shl b32 $r15 $r14 - nv_wr32(0x409418, $r15) // 0x409418 - HUB_BAR_SET - ret - -// Disables various things, waits a bit, and re-enables them.. -// -// Not sure how exactly this helps, perhaps "ENABLE" is not such a -// good description for the bits we turn off? Anyways, without this, -// funny things happen. -// -ctx_redswitch: - mov $r15 NV_PGRAPH_GPCX_GPCCS_RED_SWITCH_POWER - nv_iowr(NV_PGRAPH_GPCX_GPCCS_RED_SWITCH, 0, $r15) - mov $r14 8 - ctx_redswitch_delay: - sub b32 $r14 1 - bra ne #ctx_redswitch_delay - or $r15 NV_PGRAPH_GPCX_GPCCS_RED_SWITCH_UNK11 - or $r15 NV_PGRAPH_GPCX_GPCCS_RED_SWITCH_ENABLE - nv_iowr(NV_PGRAPH_GPCX_GPCCS_RED_SWITCH, 0, $r15) - ret - -// Transfer GPC context data between GPU and storage area -// -// In: $r15 context base address -// $p1 clear on save, set on load -// $p2 set if opposite direction done/will be done, so: -// on save it means: "a load will follow this save" -// on load it means: "a save preceeded this load" -// -ctx_xfer: - // set context base address - nv_iowr(NV_PGRAPH_GPCX_GPCCS_MEM_BASE, 0, $r15) - bra not $p1 #ctx_xfer_not_load - call(ctx_redswitch) - ctx_xfer_not_load: - - // strands - call(strand_pre) - clear b32 $r2 - nv_iowr(NV_PGRAPH_GPCX_GPCCS_STRAND_SELECT, 0x3f, $r2) - xbit $r2 $flags $p1 // SAVE/LOAD - add b32 $r2 NV_PGRAPH_GPCX_GPCCS_STRAND_CMD_SAVE - nv_iowr(NV_PGRAPH_GPCX_GPCCS_STRAND_CMD, 0x3f, $r2) - - // mmio context - xbit $r10 $flags $p1 // direction - or $r10 2 // first - imm32($r11,0x500000) - ld b32 $r12 D[$r0 + #gpc_id] - shl b32 $r12 15 - add b32 $r11 $r12 // base = NV_PGRAPH_GPCn - ld b32 $r12 D[$r0 + #gpc_mmio_list_head] - ld b32 $r13 D[$r0 + #gpc_mmio_list_tail] - mov $r14 0 // not multi - call(mmctx_xfer) - - // per-TPC mmio context - xbit $r10 $flags $p1 // direction -#if !NV_PGRAPH_GPCX_UNK__SIZE - or $r10 4 // last -#endif - imm32($r11, 0x504000) - ld b32 $r12 D[$r0 + #gpc_id] - shl b32 $r12 15 - add b32 $r11 $r12 // base = NV_PGRAPH_GPCn_TPC0 - ld b32 $r12 D[$r0 + #tpc_mmio_list_head] - ld b32 $r13 D[$r0 + #tpc_mmio_list_tail] - ld b32 $r15 D[$r0 + #tpc_mask] - mov $r14 0x800 // stride = 0x800 - call(mmctx_xfer) - -#if NV_PGRAPH_GPCX_UNK__SIZE > 0 - // per-UNK mmio context - xbit $r10 $flags $p1 // direction - or $r10 4 // last - imm32($r11, 0x503000) - ld b32 $r12 D[$r0 + #gpc_id] - shl b32 $r12 15 - add b32 $r11 $r12 // base = NV_PGRAPH_GPCn_UNK0 - ld b32 $r12 D[$r0 + #unk_mmio_list_head] - ld b32 $r13 D[$r0 + #unk_mmio_list_tail] - ld b32 $r15 D[$r0 + #unk_mask] - mov $r14 0x200 // stride = 0x200 - call(mmctx_xfer) -#endif - - // wait for strands to finish - call(strand_wait) - - // if load, or a save without a load following, do some - // unknown stuff that's done after finishing a block of - // strand commands - bra $p1 #ctx_xfer_post - bra not $p2 #ctx_xfer_done - ctx_xfer_post: - call(strand_post) - - // mark completion in HUB's barrier - ctx_xfer_done: - call(hub_barrier_done) - ret -#endif diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcgm107.fuc5 b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcgm107.fuc5 deleted file mode 100644 index e730603891d7..000000000000 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcgm107.fuc5 +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2013 Red Hat Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - * Authors: Ben Skeggs <bskeggs@redhat.com> - */ - -#define NV_PGRAPH_GPCX_UNK__SIZE 0x00000002 - -#define CHIPSET GK208 -#include "macros.fuc" - -.section #gm107_grgpc_data -#define INCLUDE_DATA -#include "com.fuc" -#include "gpc.fuc" -#undef INCLUDE_DATA - -.section #gm107_grgpc_code -#define INCLUDE_CODE -bra #init -#include "com.fuc" -#include "gpc.fuc" -.align 256 -#undef INCLUDE_CODE diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcgm107.fuc5.h b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcgm107.fuc5.h deleted file mode 100644 index 6d53b67dd3c4..000000000000 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcgm107.fuc5.h +++ /dev/null @@ -1,473 +0,0 @@ -uint32_t gm107_grgpc_data[] = { -/* 0x0000: gpc_mmio_list_head */ - 0x0000006c, -/* 0x0004: gpc_mmio_list_tail */ -/* 0x0004: tpc_mmio_list_head */ - 0x0000006c, -/* 0x0008: tpc_mmio_list_tail */ -/* 0x0008: unk_mmio_list_head */ - 0x0000006c, -/* 0x000c: unk_mmio_list_tail */ - 0x0000006c, -/* 0x0010: gpc_id */ - 0x00000000, -/* 0x0014: tpc_count */ - 0x00000000, -/* 0x0018: tpc_mask */ - 0x00000000, -/* 0x001c: unk_count */ - 0x00000000, -/* 0x0020: unk_mask */ - 0x00000000, -/* 0x0024: cmd_queue */ - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -}; - -uint32_t gm107_grgpc_code[] = { - 0x03140ef5, -/* 0x0004: queue_put */ - 0x9800d898, - 0x86f001d9, - 0xf489a408, - 0x020f0b1b, - 0x0002f87e, -/* 0x001a: queue_put_next */ - 0x98c400f8, - 0x0384b607, - 0xb6008dbb, - 0x8eb50880, - 0x018fb500, - 0xf00190b6, - 0xd9b50f94, -/* 0x0037: queue_get */ - 0xf400f801, - 0xd8980131, - 0x01d99800, - 0x0bf489a4, - 0x0789c421, - 0xbb0394b6, - 0x90b6009d, - 0x009e9808, - 0xb6019f98, - 0x84f00180, - 0x00d8b50f, -/* 0x0063: queue_get_done */ - 0xf80132f4, -/* 0x0065: nv_rd32 */ - 0xf0ecb200, - 0x00801fc9, - 0x0cf601ca, -/* 0x0073: nv_rd32_wait */ - 0x8c04bd00, - 0xcf01ca00, - 0xccc800cc, - 0xf61bf41f, - 0xec7e060a, - 0x008f0000, - 0xffcf01cb, -/* 0x008f: nv_wr32 */ - 0x8000f800, - 0xf601cc00, - 0x04bd000f, - 0xc9f0ecb2, - 0x1ec9f01f, - 0x01ca0080, - 0xbd000cf6, -/* 0x00a9: nv_wr32_wait */ - 0xca008c04, - 0x00cccf01, - 0xf41fccc8, - 0x00f8f61b, -/* 0x00b8: wait_donez */ - 0x99f094bd, - 0x37008000, - 0x0009f602, - 0x008004bd, - 0x0af60206, -/* 0x00cf: wait_donez_ne */ - 0x8804bd00, - 0xcf010000, - 0x8aff0088, - 0xf61bf488, - 0x99f094bd, - 0x17008000, - 0x0009f602, - 0x00f804bd, -/* 0x00ec: wait_doneo */ - 0x99f094bd, - 0x37008000, - 0x0009f602, - 0x008004bd, - 0x0af60206, -/* 0x0103: wait_doneo_e */ - 0x8804bd00, - 0xcf010000, - 0x8aff0088, - 0xf60bf488, - 0x99f094bd, - 0x17008000, - 0x0009f602, - 0x00f804bd, -/* 0x0120: mmctx_size */ -/* 0x0122: nv_mmctx_size_loop */ - 0xe89894bd, - 0x1a85b600, - 0xb60180b6, - 0x98bb0284, - 0x04e0b600, - 0x1bf4efa4, - 0xf89fb2ec, -/* 0x013d: mmctx_xfer */ - 0xf094bd00, - 0x00800199, - 0x09f60237, - 0xbd04bd00, - 0x05bbfd94, - 0x800f0bf4, - 0xf601c400, - 0x04bd000b, -/* 0x015f: mmctx_base_disabled */ - 0xfd0099f0, - 0x0bf405ee, - 0xc6008018, - 0x000ef601, - 0x008004bd, - 0x0ff601c7, - 0xf004bd00, -/* 0x017a: mmctx_multi_disabled */ - 0xabc80199, - 0x10b4b600, - 0xc80cb9f0, - 0xe4b601ae, - 0x05befd11, - 0x01c50080, - 0xbd000bf6, -/* 0x0195: mmctx_exec_loop */ -/* 0x0195: mmctx_wait_free */ - 0xc5008e04, - 0x00eecf01, - 0xf41fe4f0, - 0xce98f60b, - 0x05e9fd00, - 0x01c80080, - 0xbd000ef6, - 0x04c0b604, - 0x1bf4cda4, - 0x02abc8df, -/* 0x01bf: mmctx_fini_wait */ - 0x8b1c1bf4, - 0xcf01c500, - 0xb4f000bb, - 0x10b4b01f, - 0x0af31bf4, - 0x00b87e05, - 0x250ef400, -/* 0x01d8: mmctx_stop */ - 0xb600abc8, - 0xb9f010b4, - 0x12b9f00c, - 0x01c50080, - 0xbd000bf6, -/* 0x01ed: mmctx_stop_wait */ - 0xc5008b04, - 0x00bbcf01, - 0xf412bbc8, -/* 0x01fa: mmctx_done */ - 0x94bdf61b, - 0x800199f0, - 0xf6021700, - 0x04bd0009, -/* 0x020a: strand_wait */ - 0xa0f900f8, - 0xb87e020a, - 0xa0fc0000, -/* 0x0216: strand_pre */ - 0x0c0900f8, - 0x024afc80, - 0xbd0009f6, - 0x020a7e04, -/* 0x0227: strand_post */ - 0x0900f800, - 0x4afc800d, - 0x0009f602, - 0x0a7e04bd, - 0x00f80002, -/* 0x0238: strand_set */ - 0xfc800f0c, - 0x0cf6024f, - 0x0c04bd00, - 0x4afc800b, - 0x000cf602, - 0xfc8004bd, - 0x0ef6024f, - 0x0c04bd00, - 0x4afc800a, - 0x000cf602, - 0x0a7e04bd, - 0x00f80002, -/* 0x0268: strand_ctx_init */ - 0x99f094bd, - 0x37008003, - 0x0009f602, - 0x167e04bd, - 0x030e0002, - 0x0002387e, - 0xfc80c4bd, - 0x0cf60247, - 0x0c04bd00, - 0x4afc8001, - 0x000cf602, - 0x0a7e04bd, - 0x0c920002, - 0x46fc8001, - 0x000cf602, - 0x020c04bd, - 0x024afc80, - 0xbd000cf6, - 0x020a7e04, - 0x02277e00, - 0x42008800, - 0x20008902, - 0x0099cf02, -/* 0x02c7: ctx_init_strand_loop */ - 0xf608fe95, - 0x8ef6008e, - 0x808acf40, - 0xb606a5b6, - 0xeabb01a0, - 0x0480b600, - 0xf40192b6, - 0xe4b6e81b, - 0xf2efbc08, - 0x99f094bd, - 0x17008003, - 0x0009f602, - 0x00f804bd, -/* 0x02f8: error */ - 0xffb2e0f9, - 0x4098148e, - 0x00008f7e, - 0xffb2010f, - 0x409c1c8e, - 0x00008f7e, - 0x00f8e0fc, -/* 0x0314: init */ - 0x004104bd, - 0x0011cf42, - 0x010911e7, - 0xfe0814b6, - 0x02020014, - 0xf6120040, - 0x04bd0002, - 0xfe047241, - 0x00400010, - 0x0000f607, - 0x040204bd, - 0xf6040040, - 0x04bd0002, - 0x821031f4, - 0xcf018200, - 0x01030022, - 0xbb1f24f0, - 0x32b60432, - 0x0502b501, - 0x820603b5, - 0xcf018600, - 0x02b50022, - 0x0c308e04, - 0xbd24bd50, -/* 0x0377: init_unk_loop */ - 0x7e44bd34, - 0xb0000065, - 0x0bf400f6, - 0xbb010f0e, - 0x4ffd04f2, - 0x0130b605, -/* 0x038c: init_unk_next */ - 0xb60120b6, - 0x26b004e0, - 0xe21bf402, -/* 0x0398: init_unk_done */ - 0xb50703b5, - 0x00820804, - 0x22cf0201, - 0x9534bd00, - 0x00800825, - 0x05f601c0, - 0x8004bd00, - 0xf601c100, - 0x04bd0005, - 0x98000e98, - 0x207e010f, - 0x2fbb0001, - 0x003fbb00, - 0x98010e98, - 0x207e020f, - 0x0e980001, - 0x00effd05, - 0xbb002ebb, - 0x0e98003e, - 0x030f9802, - 0x0001207e, - 0xfd070e98, - 0x2ebb00ef, - 0x003ebb00, - 0x800235b6, - 0xf601d300, - 0x04bd0003, - 0xb60825b6, - 0x20b60635, - 0x0130b601, - 0xb60824b6, - 0x2fb20834, - 0x0002687e, - 0x80003fbb, - 0xf6020100, - 0x04bd0003, - 0x29f024bd, - 0x3000801f, - 0x0002f602, -/* 0x0436: main */ - 0x31f404bd, - 0x0028f400, - 0x377e240d, - 0x01f40000, - 0x04e4b0f4, - 0xfe1d18f4, - 0x06020181, - 0x12fd20bd, - 0x01e4b604, - 0xfe051efd, - 0x097e0018, - 0x0ef40005, -/* 0x0465: main_not_ctx_xfer */ - 0x10ef94d4, - 0x7e01f5f0, - 0xf40002f8, -/* 0x0472: ih */ - 0x80f9c70e, - 0xf90188fe, - 0xf990f980, - 0xf9b0f9a0, - 0xf9e0f9d0, - 0x4a04bdf0, - 0xaacf0200, - 0x04abc400, - 0x0d1f0bf4, - 0x1a004e24, - 0x4f00eecf, - 0xffcf1900, - 0x00047e00, - 0x40010e00, - 0x0ef61d00, -/* 0x04af: ih_no_fifo */ - 0x4004bd00, - 0x0af60100, - 0xfc04bd00, - 0xfce0fcf0, - 0xfcb0fcd0, - 0xfc90fca0, - 0x0088fe80, - 0x32f480fc, -/* 0x04cf: hub_barrier_done */ - 0x0f01f800, - 0x040e9801, - 0xb204febb, - 0x94188eff, - 0x008f7e40, -/* 0x04e3: ctx_redswitch */ - 0x0f00f800, - 0x85008020, - 0x000ff601, - 0x080e04bd, -/* 0x04f0: ctx_redswitch_delay */ - 0xf401e2b6, - 0xf5f1fd1b, - 0xf5f10800, - 0x00800200, - 0x0ff60185, - 0xf804bd00, -/* 0x0509: ctx_xfer */ - 0x81008000, - 0x000ff602, - 0x11f404bd, - 0x04e37e07, -/* 0x0519: ctx_xfer_not_load */ - 0x02167e00, - 0x8024bd00, - 0xf60247fc, - 0x04bd0002, - 0xb6012cf0, - 0xfc800320, - 0x02f6024a, - 0xf004bd00, - 0xa5f001ac, - 0x00008b02, - 0x040c9850, - 0xbb0fc4b6, - 0x0c9800bc, - 0x010d9800, - 0x3d7e000e, - 0xacf00001, - 0x40008b01, - 0x040c9850, - 0xbb0fc4b6, - 0x0c9800bc, - 0x020d9801, - 0x4e060f98, - 0x3d7e0800, - 0xacf00001, - 0x04a5f001, - 0x5030008b, - 0xb6040c98, - 0xbcbb0fc4, - 0x020c9800, - 0x98030d98, - 0x004e080f, - 0x013d7e02, - 0x020a7e00, - 0x0601f400, -/* 0x05a3: ctx_xfer_post */ - 0x7e0712f4, -/* 0x05a7: ctx_xfer_done */ - 0x7e000227, - 0xf80004cf, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -}; diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnv108.fuc5 b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnv108.fuc5 deleted file mode 100644 index bd30262d635b..000000000000 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnv108.fuc5 +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2013 Red Hat Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - * Authors: Ben Skeggs <bskeggs@redhat.com> - */ - -#define NV_PGRAPH_GPCX_UNK__SIZE 0x00000001 - -#define CHIPSET GK208 -#include "macros.fuc" - -.section #nv108_grgpc_data -#define INCLUDE_DATA -#include "com.fuc" -#include "gpc.fuc" -#undef INCLUDE_DATA - -.section #nv108_grgpc_code -#define INCLUDE_CODE -bra #init -#include "com.fuc" -#include "gpc.fuc" -.align 256 -#undef INCLUDE_CODE diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnv108.fuc5.h b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnv108.fuc5.h deleted file mode 100644 index 31922707794f..000000000000 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnv108.fuc5.h +++ /dev/null @@ -1,473 +0,0 @@ -uint32_t nv108_grgpc_data[] = { -/* 0x0000: gpc_mmio_list_head */ - 0x0000006c, -/* 0x0004: gpc_mmio_list_tail */ -/* 0x0004: tpc_mmio_list_head */ - 0x0000006c, -/* 0x0008: tpc_mmio_list_tail */ -/* 0x0008: unk_mmio_list_head */ - 0x0000006c, -/* 0x000c: unk_mmio_list_tail */ - 0x0000006c, -/* 0x0010: gpc_id */ - 0x00000000, -/* 0x0014: tpc_count */ - 0x00000000, -/* 0x0018: tpc_mask */ - 0x00000000, -/* 0x001c: unk_count */ - 0x00000000, -/* 0x0020: unk_mask */ - 0x00000000, -/* 0x0024: cmd_queue */ - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -}; - -uint32_t nv108_grgpc_code[] = { - 0x03140ef5, -/* 0x0004: queue_put */ - 0x9800d898, - 0x86f001d9, - 0xf489a408, - 0x020f0b1b, - 0x0002f87e, -/* 0x001a: queue_put_next */ - 0x98c400f8, - 0x0384b607, - 0xb6008dbb, - 0x8eb50880, - 0x018fb500, - 0xf00190b6, - 0xd9b50f94, -/* 0x0037: queue_get */ - 0xf400f801, - 0xd8980131, - 0x01d99800, - 0x0bf489a4, - 0x0789c421, - 0xbb0394b6, - 0x90b6009d, - 0x009e9808, - 0xb6019f98, - 0x84f00180, - 0x00d8b50f, -/* 0x0063: queue_get_done */ - 0xf80132f4, -/* 0x0065: nv_rd32 */ - 0xf0ecb200, - 0x00801fc9, - 0x0cf601ca, -/* 0x0073: nv_rd32_wait */ - 0x8c04bd00, - 0xcf01ca00, - 0xccc800cc, - 0xf61bf41f, - 0xec7e060a, - 0x008f0000, - 0xffcf01cb, -/* 0x008f: nv_wr32 */ - 0x8000f800, - 0xf601cc00, - 0x04bd000f, - 0xc9f0ecb2, - 0x1ec9f01f, - 0x01ca0080, - 0xbd000cf6, -/* 0x00a9: nv_wr32_wait */ - 0xca008c04, - 0x00cccf01, - 0xf41fccc8, - 0x00f8f61b, -/* 0x00b8: wait_donez */ - 0x99f094bd, - 0x37008000, - 0x0009f602, - 0x008004bd, - 0x0af60206, -/* 0x00cf: wait_donez_ne */ - 0x8804bd00, - 0xcf010000, - 0x8aff0088, - 0xf61bf488, - 0x99f094bd, - 0x17008000, - 0x0009f602, - 0x00f804bd, -/* 0x00ec: wait_doneo */ - 0x99f094bd, - 0x37008000, - 0x0009f602, - 0x008004bd, - 0x0af60206, -/* 0x0103: wait_doneo_e */ - 0x8804bd00, - 0xcf010000, - 0x8aff0088, - 0xf60bf488, - 0x99f094bd, - 0x17008000, - 0x0009f602, - 0x00f804bd, -/* 0x0120: mmctx_size */ -/* 0x0122: nv_mmctx_size_loop */ - 0xe89894bd, - 0x1a85b600, - 0xb60180b6, - 0x98bb0284, - 0x04e0b600, - 0x1bf4efa4, - 0xf89fb2ec, -/* 0x013d: mmctx_xfer */ - 0xf094bd00, - 0x00800199, - 0x09f60237, - 0xbd04bd00, - 0x05bbfd94, - 0x800f0bf4, - 0xf601c400, - 0x04bd000b, -/* 0x015f: mmctx_base_disabled */ - 0xfd0099f0, - 0x0bf405ee, - 0xc6008018, - 0x000ef601, - 0x008004bd, - 0x0ff601c7, - 0xf004bd00, -/* 0x017a: mmctx_multi_disabled */ - 0xabc80199, - 0x10b4b600, - 0xc80cb9f0, - 0xe4b601ae, - 0x05befd11, - 0x01c50080, - 0xbd000bf6, -/* 0x0195: mmctx_exec_loop */ -/* 0x0195: mmctx_wait_free */ - 0xc5008e04, - 0x00eecf01, - 0xf41fe4f0, - 0xce98f60b, - 0x05e9fd00, - 0x01c80080, - 0xbd000ef6, - 0x04c0b604, - 0x1bf4cda4, - 0x02abc8df, -/* 0x01bf: mmctx_fini_wait */ - 0x8b1c1bf4, - 0xcf01c500, - 0xb4f000bb, - 0x10b4b01f, - 0x0af31bf4, - 0x00b87e05, - 0x250ef400, -/* 0x01d8: mmctx_stop */ - 0xb600abc8, - 0xb9f010b4, - 0x12b9f00c, - 0x01c50080, - 0xbd000bf6, -/* 0x01ed: mmctx_stop_wait */ - 0xc5008b04, - 0x00bbcf01, - 0xf412bbc8, -/* 0x01fa: mmctx_done */ - 0x94bdf61b, - 0x800199f0, - 0xf6021700, - 0x04bd0009, -/* 0x020a: strand_wait */ - 0xa0f900f8, - 0xb87e020a, - 0xa0fc0000, -/* 0x0216: strand_pre */ - 0x0c0900f8, - 0x024afc80, - 0xbd0009f6, - 0x020a7e04, -/* 0x0227: strand_post */ - 0x0900f800, - 0x4afc800d, - 0x0009f602, - 0x0a7e04bd, - 0x00f80002, -/* 0x0238: strand_set */ - 0xfc800f0c, - 0x0cf6024f, - 0x0c04bd00, - 0x4afc800b, - 0x000cf602, - 0xfc8004bd, - 0x0ef6024f, - 0x0c04bd00, - 0x4afc800a, - 0x000cf602, - 0x0a7e04bd, - 0x00f80002, -/* 0x0268: strand_ctx_init */ - 0x99f094bd, - 0x37008003, - 0x0009f602, - 0x167e04bd, - 0x030e0002, - 0x0002387e, - 0xfc80c4bd, - 0x0cf60247, - 0x0c04bd00, - 0x4afc8001, - 0x000cf602, - 0x0a7e04bd, - 0x0c920002, - 0x46fc8001, - 0x000cf602, - 0x020c04bd, - 0x024afc80, - 0xbd000cf6, - 0x020a7e04, - 0x02277e00, - 0x42008800, - 0x20008902, - 0x0099cf02, -/* 0x02c7: ctx_init_strand_loop */ - 0xf608fe95, - 0x8ef6008e, - 0x808acf40, - 0xb606a5b6, - 0xeabb01a0, - 0x0480b600, - 0xf40192b6, - 0xe4b6e81b, - 0xf2efbc08, - 0x99f094bd, - 0x17008003, - 0x0009f602, - 0x00f804bd, -/* 0x02f8: error */ - 0xffb2e0f9, - 0x4098148e, - 0x00008f7e, - 0xffb2010f, - 0x409c1c8e, - 0x00008f7e, - 0x00f8e0fc, -/* 0x0314: init */ - 0x004104bd, - 0x0011cf42, - 0x010911e7, - 0xfe0814b6, - 0x02020014, - 0xf6120040, - 0x04bd0002, - 0xfe047241, - 0x00400010, - 0x0000f607, - 0x040204bd, - 0xf6040040, - 0x04bd0002, - 0x821031f4, - 0xcf018200, - 0x01030022, - 0xbb1f24f0, - 0x32b60432, - 0x0502b501, - 0x820603b5, - 0xcf018600, - 0x02b50022, - 0x0c308e04, - 0xbd24bd50, -/* 0x0377: init_unk_loop */ - 0x7e44bd34, - 0xb0000065, - 0x0bf400f6, - 0xbb010f0e, - 0x4ffd04f2, - 0x0130b605, -/* 0x038c: init_unk_next */ - 0xb60120b6, - 0x26b004e0, - 0xe21bf401, -/* 0x0398: init_unk_done */ - 0xb50703b5, - 0x00820804, - 0x22cf0201, - 0x9534bd00, - 0x00800825, - 0x05f601c0, - 0x8004bd00, - 0xf601c100, - 0x04bd0005, - 0x98000e98, - 0x207e010f, - 0x2fbb0001, - 0x003fbb00, - 0x98010e98, - 0x207e020f, - 0x0e980001, - 0x00effd05, - 0xbb002ebb, - 0x0e98003e, - 0x030f9802, - 0x0001207e, - 0xfd070e98, - 0x2ebb00ef, - 0x003ebb00, - 0x800235b6, - 0xf601d300, - 0x04bd0003, - 0xb60825b6, - 0x20b60635, - 0x0130b601, - 0xb60824b6, - 0x2fb20834, - 0x0002687e, - 0x80003fbb, - 0xf6020100, - 0x04bd0003, - 0x29f024bd, - 0x3000801f, - 0x0002f602, -/* 0x0436: main */ - 0x31f404bd, - 0x0028f400, - 0x377e240d, - 0x01f40000, - 0x04e4b0f4, - 0xfe1d18f4, - 0x06020181, - 0x12fd20bd, - 0x01e4b604, - 0xfe051efd, - 0x097e0018, - 0x0ef40005, -/* 0x0465: main_not_ctx_xfer */ - 0x10ef94d4, - 0x7e01f5f0, - 0xf40002f8, -/* 0x0472: ih */ - 0x80f9c70e, - 0xf90188fe, - 0xf990f980, - 0xf9b0f9a0, - 0xf9e0f9d0, - 0x4a04bdf0, - 0xaacf0200, - 0x04abc400, - 0x0d1f0bf4, - 0x1a004e24, - 0x4f00eecf, - 0xffcf1900, - 0x00047e00, - 0x40010e00, - 0x0ef61d00, -/* 0x04af: ih_no_fifo */ - 0x4004bd00, - 0x0af60100, - 0xfc04bd00, - 0xfce0fcf0, - 0xfcb0fcd0, - 0xfc90fca0, - 0x0088fe80, - 0x32f480fc, -/* 0x04cf: hub_barrier_done */ - 0x0f01f800, - 0x040e9801, - 0xb204febb, - 0x94188eff, - 0x008f7e40, -/* 0x04e3: ctx_redswitch */ - 0x0f00f800, - 0x85008020, - 0x000ff601, - 0x080e04bd, -/* 0x04f0: ctx_redswitch_delay */ - 0xf401e2b6, - 0xf5f1fd1b, - 0xf5f10800, - 0x00800200, - 0x0ff60185, - 0xf804bd00, -/* 0x0509: ctx_xfer */ - 0x81008000, - 0x000ff602, - 0x11f404bd, - 0x04e37e07, -/* 0x0519: ctx_xfer_not_load */ - 0x02167e00, - 0x8024bd00, - 0xf60247fc, - 0x04bd0002, - 0xb6012cf0, - 0xfc800320, - 0x02f6024a, - 0xf004bd00, - 0xa5f001ac, - 0x00008b02, - 0x040c9850, - 0xbb0fc4b6, - 0x0c9800bc, - 0x010d9800, - 0x3d7e000e, - 0xacf00001, - 0x40008b01, - 0x040c9850, - 0xbb0fc4b6, - 0x0c9800bc, - 0x020d9801, - 0x4e060f98, - 0x3d7e0800, - 0xacf00001, - 0x04a5f001, - 0x5030008b, - 0xb6040c98, - 0xbcbb0fc4, - 0x020c9800, - 0x98030d98, - 0x004e080f, - 0x013d7e02, - 0x020a7e00, - 0x0601f400, -/* 0x05a3: ctx_xfer_post */ - 0x7e0712f4, -/* 0x05a7: ctx_xfer_done */ - 0x7e000227, - 0xf80004cf, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -}; diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvc0.fuc b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvc0.fuc deleted file mode 100644 index 5ae06a2d64c9..000000000000 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvc0.fuc +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2013 Red Hat Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - * Authors: Ben Skeggs <bskeggs@redhat.com> - */ - -#define NV_PGRAPH_GPCX_UNK__SIZE 0x00000000 - -#define CHIPSET GF100 -#include "macros.fuc" - -.section #nvc0_grgpc_data -#define INCLUDE_DATA -#include "com.fuc" -#include "gpc.fuc" -#undef INCLUDE_DATA - -.section #nvc0_grgpc_code -#define INCLUDE_CODE -bra #init -#include "com.fuc" -#include "gpc.fuc" -.align 256 -#undef INCLUDE_CODE diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvc0.fuc.h b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvc0.fuc.h deleted file mode 100644 index 325cc7b7b2fb..000000000000 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvc0.fuc.h +++ /dev/null @@ -1,530 +0,0 @@ -uint32_t nvc0_grgpc_data[] = { -/* 0x0000: gpc_mmio_list_head */ - 0x00000064, -/* 0x0004: gpc_mmio_list_tail */ -/* 0x0004: tpc_mmio_list_head */ - 0x00000064, -/* 0x0008: tpc_mmio_list_tail */ -/* 0x0008: unk_mmio_list_head */ - 0x00000064, -/* 0x000c: unk_mmio_list_tail */ - 0x00000064, -/* 0x0010: gpc_id */ - 0x00000000, -/* 0x0014: tpc_count */ - 0x00000000, -/* 0x0018: tpc_mask */ - 0x00000000, -/* 0x001c: cmd_queue */ - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -}; - -uint32_t nvc0_grgpc_code[] = { - 0x03a10ef5, -/* 0x0004: queue_put */ - 0x9800d898, - 0x86f001d9, - 0x0489b808, - 0xf00c1bf4, - 0x21f502f7, - 0x00f8037e, -/* 0x001c: queue_put_next */ - 0xb60798c4, - 0x8dbb0384, - 0x0880b600, - 0x80008e80, - 0x90b6018f, - 0x0f94f001, - 0xf801d980, -/* 0x0039: queue_get */ - 0x0131f400, - 0x9800d898, - 0x89b801d9, - 0x210bf404, - 0xb60789c4, - 0x9dbb0394, - 0x0890b600, - 0x98009e98, - 0x80b6019f, - 0x0f84f001, - 0xf400d880, -/* 0x0066: queue_get_done */ - 0x00f80132, -/* 0x0068: nv_rd32 */ - 0xf002ecb9, - 0x07f11fc9, - 0x03f0ca00, - 0x000cd001, -/* 0x007a: nv_rd32_wait */ - 0xc7f104bd, - 0xc3f0ca00, - 0x00cccf01, - 0xf41fccc8, - 0xa7f0f31b, - 0x1021f506, - 0x00f7f101, - 0x01f3f0cb, - 0xf800ffcf, -/* 0x009d: nv_wr32 */ - 0x0007f100, - 0x0103f0cc, - 0xbd000fd0, - 0x02ecb904, - 0xf01fc9f0, - 0x07f11ec9, - 0x03f0ca00, - 0x000cd001, -/* 0x00be: nv_wr32_wait */ - 0xc7f104bd, - 0xc3f0ca00, - 0x00cccf01, - 0xf41fccc8, - 0x00f8f31b, -/* 0x00d0: wait_donez */ - 0x99f094bd, - 0x0007f100, - 0x0203f00f, - 0xbd0009d0, - 0x0007f104, - 0x0203f006, - 0xbd000ad0, -/* 0x00ed: wait_donez_ne */ - 0x0087f104, - 0x0183f000, - 0xff0088cf, - 0x1bf4888a, - 0xf094bdf3, - 0x07f10099, - 0x03f01700, - 0x0009d002, - 0x00f804bd, -/* 0x0110: wait_doneo */ - 0x99f094bd, - 0x0007f100, - 0x0203f00f, - 0xbd0009d0, - 0x0007f104, - 0x0203f006, - 0xbd000ad0, -/* 0x012d: wait_doneo_e */ - 0x0087f104, - 0x0183f000, - 0xff0088cf, - 0x0bf4888a, - 0xf094bdf3, - 0x07f10099, - 0x03f01700, - 0x0009d002, - 0x00f804bd, -/* 0x0150: mmctx_size */ -/* 0x0152: nv_mmctx_size_loop */ - 0xe89894bd, - 0x1a85b600, - 0xb60180b6, - 0x98bb0284, - 0x04e0b600, - 0xf404efb8, - 0x9fb9eb1b, -/* 0x016f: mmctx_xfer */ - 0xbd00f802, - 0x0199f094, - 0x0f0007f1, - 0xd00203f0, - 0x04bd0009, - 0xbbfd94bd, - 0x120bf405, - 0xc40007f1, - 0xd00103f0, - 0x04bd000b, -/* 0x0197: mmctx_base_disabled */ - 0xfd0099f0, - 0x0bf405ee, - 0x0007f11e, - 0x0103f0c6, - 0xbd000ed0, - 0x0007f104, - 0x0103f0c7, - 0xbd000fd0, - 0x0199f004, -/* 0x01b8: mmctx_multi_disabled */ - 0xb600abc8, - 0xb9f010b4, - 0x01aec80c, - 0xfd11e4b6, - 0x07f105be, - 0x03f0c500, - 0x000bd001, -/* 0x01d6: mmctx_exec_loop */ -/* 0x01d6: mmctx_wait_free */ - 0xe7f104bd, - 0xe3f0c500, - 0x00eecf01, - 0xf41fe4f0, - 0xce98f30b, - 0x05e9fd00, - 0xc80007f1, - 0xd00103f0, - 0x04bd000e, - 0xb804c0b6, - 0x1bf404cd, - 0x02abc8d8, -/* 0x0207: mmctx_fini_wait */ - 0xf11f1bf4, - 0xf0c500b7, - 0xbbcf01b3, - 0x1fb4f000, - 0xf410b4b0, - 0xa7f0f01b, - 0xd021f405, -/* 0x0223: mmctx_stop */ - 0xc82b0ef4, - 0xb4b600ab, - 0x0cb9f010, - 0xf112b9f0, - 0xf0c50007, - 0x0bd00103, -/* 0x023b: mmctx_stop_wait */ - 0xf104bd00, - 0xf0c500b7, - 0xbbcf01b3, - 0x12bbc800, -/* 0x024b: mmctx_done */ - 0xbdf31bf4, - 0x0199f094, - 0x170007f1, - 0xd00203f0, - 0x04bd0009, -/* 0x025e: strand_wait */ - 0xa0f900f8, - 0xf402a7f0, - 0xa0fcd021, -/* 0x026a: strand_pre */ - 0x97f000f8, - 0xfc07f10c, - 0x0203f04a, - 0xbd0009d0, - 0x5e21f504, -/* 0x027f: strand_post */ - 0xf000f802, - 0x07f10d97, - 0x03f04afc, - 0x0009d002, - 0x21f504bd, - 0x00f8025e, -/* 0x0294: strand_set */ - 0xf10fc7f0, - 0xf04ffc07, - 0x0cd00203, - 0xf004bd00, - 0x07f10bc7, - 0x03f04afc, - 0x000cd002, - 0x07f104bd, - 0x03f04ffc, - 0x000ed002, - 0xc7f004bd, - 0xfc07f10a, - 0x0203f04a, - 0xbd000cd0, - 0x5e21f504, -/* 0x02d3: strand_ctx_init */ - 0xbd00f802, - 0x0399f094, - 0x0f0007f1, - 0xd00203f0, - 0x04bd0009, - 0x026a21f5, - 0xf503e7f0, - 0xbd029421, - 0xfc07f1c4, - 0x0203f047, - 0xbd000cd0, - 0x01c7f004, - 0x4afc07f1, - 0xd00203f0, - 0x04bd000c, - 0x025e21f5, - 0xf1010c92, - 0xf046fc07, - 0x0cd00203, - 0xf004bd00, - 0x07f102c7, - 0x03f04afc, - 0x000cd002, - 0x21f504bd, - 0x21f5025e, - 0x87f1027f, - 0x83f04200, - 0x0097f102, - 0x0293f020, - 0x950099cf, -/* 0x034a: ctx_init_strand_loop */ - 0x8ed008fe, - 0x408ed000, - 0xb6808acf, - 0xa0b606a5, - 0x00eabb01, - 0xb60480b6, - 0x1bf40192, - 0x08e4b6e8, - 0xbdf2efbc, - 0x0399f094, - 0x170007f1, - 0xd00203f0, - 0x04bd0009, -/* 0x037e: error */ - 0xe0f900f8, - 0xf102ffb9, - 0xf09814e7, - 0x21f440e3, - 0x01f7f09d, - 0xf102ffb9, - 0xf09c1ce7, - 0x21f440e3, - 0xf8e0fc9d, -/* 0x03a1: init */ - 0xf104bd00, - 0xf0420017, - 0x11cf0013, - 0x0911e700, - 0x0814b601, - 0xf00014fe, - 0x07f10227, - 0x03f01200, - 0x0002d000, - 0x17f104bd, - 0x10fe04e6, - 0x0007f100, - 0x0003f007, - 0xbd0000d0, - 0x0427f004, - 0x040007f1, - 0xd00003f0, - 0x04bd0002, - 0xf11031f4, - 0xf0820027, - 0x22cf0123, - 0x0137f000, - 0xbb1f24f0, - 0x32b60432, - 0x05028001, - 0xf1060380, - 0xf0860027, - 0x22cf0123, - 0x04028000, - 0x010027f1, - 0xcf0223f0, - 0x34bd0022, - 0xf1082595, - 0xf0c00007, - 0x05d00103, - 0xf104bd00, - 0xf0c10007, - 0x05d00103, - 0x9804bd00, - 0x0f98000e, - 0x5021f501, - 0x002fbb01, - 0x98003fbb, - 0x0f98010e, - 0x5021f502, - 0x050e9801, - 0xbb00effd, - 0x3ebb002e, - 0x0235b600, - 0xd30007f1, - 0xd00103f0, - 0x04bd0003, - 0xb60825b6, - 0x20b60635, - 0x0130b601, - 0xb60824b6, - 0x2fb90834, - 0xd321f502, - 0x003fbb02, - 0x010007f1, - 0xd00203f0, - 0x04bd0003, - 0x29f024bd, - 0x0007f11f, - 0x0203f008, - 0xbd0002d0, -/* 0x04a9: main */ - 0x0031f404, - 0xf00028f4, - 0x21f41cd7, - 0xf401f439, - 0xf404e4b0, - 0x81fe1e18, - 0x0627f001, - 0x12fd20bd, - 0x01e4b604, - 0xfe051efd, - 0x21f50018, - 0x0ef4059e, -/* 0x04d9: main_not_ctx_xfer */ - 0x10ef94d3, - 0xf501f5f0, - 0xf4037e21, -/* 0x04e6: ih */ - 0x80f9c60e, - 0xf90188fe, - 0xf990f980, - 0xf9b0f9a0, - 0xf9e0f9d0, - 0xf104bdf0, - 0xf00200a7, - 0xaacf00a3, - 0x04abc400, - 0xf02c0bf4, - 0xe7f11cd7, - 0xe3f01a00, - 0x00eecf00, - 0x1900f7f1, - 0xcf00f3f0, - 0x21f400ff, - 0x01e7f004, - 0x1d0007f1, - 0xd00003f0, - 0x04bd000e, -/* 0x0534: ih_no_fifo */ - 0x010007f1, - 0xd00003f0, - 0x04bd000a, - 0xe0fcf0fc, - 0xb0fcd0fc, - 0x90fca0fc, - 0x88fe80fc, - 0xf480fc00, - 0x01f80032, -/* 0x0558: hub_barrier_done */ - 0x9801f7f0, - 0xfebb040e, - 0x02ffb904, - 0x9418e7f1, - 0xf440e3f0, - 0x00f89d21, -/* 0x0570: ctx_redswitch */ - 0xf120f7f0, - 0xf0850007, - 0x0fd00103, - 0xf004bd00, -/* 0x0582: ctx_redswitch_delay */ - 0xe2b608e7, - 0xfd1bf401, - 0x0800f5f1, - 0x0200f5f1, - 0x850007f1, - 0xd00103f0, - 0x04bd000f, -/* 0x059e: ctx_xfer */ - 0x07f100f8, - 0x03f08100, - 0x000fd002, - 0x11f404bd, - 0x7021f507, -/* 0x05b1: ctx_xfer_not_load */ - 0x6a21f505, - 0xf124bd02, - 0xf047fc07, - 0x02d00203, - 0xf004bd00, - 0x20b6012c, - 0xfc07f103, - 0x0203f04a, - 0xbd0002d0, - 0x01acf004, - 0xf102a5f0, - 0xf00000b7, - 0x0c9850b3, - 0x0fc4b604, - 0x9800bcbb, - 0x0d98000c, - 0x00e7f001, - 0x016f21f5, - 0xf001acf0, - 0xb7f104a5, - 0xb3f04000, - 0x040c9850, - 0xbb0fc4b6, - 0x0c9800bc, - 0x020d9801, - 0xf1060f98, - 0xf50800e7, - 0xf5016f21, - 0xf4025e21, - 0x12f40601, -/* 0x0629: ctx_xfer_post */ - 0x7f21f507, -/* 0x062d: ctx_xfer_done */ - 0x5821f502, - 0x0000f805, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -}; diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvd7.fuc b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvd7.fuc deleted file mode 100644 index c2f754edbd7d..000000000000 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvd7.fuc +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2013 Red Hat Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - * Authors: Ben Skeggs <bskeggs@redhat.com> - */ - -#define NV_PGRAPH_GPCX_UNK__SIZE 0x00000001 - -#define CHIPSET GF117 -#include "macros.fuc" - -.section #nvd7_grgpc_data -#define INCLUDE_DATA -#include "com.fuc" -#include "gpc.fuc" -#undef INCLUDE_DATA - -.section #nvd7_grgpc_code -#define INCLUDE_CODE -bra #init -#include "com.fuc" -#include "gpc.fuc" -.align 256 -#undef INCLUDE_CODE diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvd7.fuc.h b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvd7.fuc.h deleted file mode 100644 index d1504a4059c6..000000000000 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvd7.fuc.h +++ /dev/null @@ -1,537 +0,0 @@ -uint32_t nvd7_grgpc_data[] = { -/* 0x0000: gpc_mmio_list_head */ - 0x0000006c, -/* 0x0004: gpc_mmio_list_tail */ -/* 0x0004: tpc_mmio_list_head */ - 0x0000006c, -/* 0x0008: tpc_mmio_list_tail */ -/* 0x0008: unk_mmio_list_head */ - 0x0000006c, -/* 0x000c: unk_mmio_list_tail */ - 0x0000006c, -/* 0x0010: gpc_id */ - 0x00000000, -/* 0x0014: tpc_count */ - 0x00000000, -/* 0x0018: tpc_mask */ - 0x00000000, -/* 0x001c: unk_count */ - 0x00000000, -/* 0x0020: unk_mask */ - 0x00000000, -/* 0x0024: cmd_queue */ - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -}; - -uint32_t nvd7_grgpc_code[] = { - 0x03a10ef5, -/* 0x0004: queue_put */ - 0x9800d898, - 0x86f001d9, - 0x0489b808, - 0xf00c1bf4, - 0x21f502f7, - 0x00f8037e, -/* 0x001c: queue_put_next */ - 0xb60798c4, - 0x8dbb0384, - 0x0880b600, - 0x80008e80, - 0x90b6018f, - 0x0f94f001, - 0xf801d980, -/* 0x0039: queue_get */ - 0x0131f400, - 0x9800d898, - 0x89b801d9, - 0x210bf404, - 0xb60789c4, - 0x9dbb0394, - 0x0890b600, - 0x98009e98, - 0x80b6019f, - 0x0f84f001, - 0xf400d880, -/* 0x0066: queue_get_done */ - 0x00f80132, -/* 0x0068: nv_rd32 */ - 0xf002ecb9, - 0x07f11fc9, - 0x03f0ca00, - 0x000cd001, -/* 0x007a: nv_rd32_wait */ - 0xc7f104bd, - 0xc3f0ca00, - 0x00cccf01, - 0xf41fccc8, - 0xa7f0f31b, - 0x1021f506, - 0x00f7f101, - 0x01f3f0cb, - 0xf800ffcf, -/* 0x009d: nv_wr32 */ - 0x0007f100, - 0x0103f0cc, - 0xbd000fd0, - 0x02ecb904, - 0xf01fc9f0, - 0x07f11ec9, - 0x03f0ca00, - 0x000cd001, -/* 0x00be: nv_wr32_wait */ - 0xc7f104bd, - 0xc3f0ca00, - 0x00cccf01, - 0xf41fccc8, - 0x00f8f31b, -/* 0x00d0: wait_donez */ - 0x99f094bd, - 0x0007f100, - 0x0203f00f, - 0xbd0009d0, - 0x0007f104, - 0x0203f006, - 0xbd000ad0, -/* 0x00ed: wait_donez_ne */ - 0x0087f104, - 0x0183f000, - 0xff0088cf, - 0x1bf4888a, - 0xf094bdf3, - 0x07f10099, - 0x03f01700, - 0x0009d002, - 0x00f804bd, -/* 0x0110: wait_doneo */ - 0x99f094bd, - 0x0007f100, - 0x0203f00f, - 0xbd0009d0, - 0x0007f104, - 0x0203f006, - 0xbd000ad0, -/* 0x012d: wait_doneo_e */ - 0x0087f104, - 0x0183f000, - 0xff0088cf, - 0x0bf4888a, - 0xf094bdf3, - 0x07f10099, - 0x03f01700, - 0x0009d002, - 0x00f804bd, -/* 0x0150: mmctx_size */ -/* 0x0152: nv_mmctx_size_loop */ - 0xe89894bd, - 0x1a85b600, - 0xb60180b6, - 0x98bb0284, - 0x04e0b600, - 0xf404efb8, - 0x9fb9eb1b, -/* 0x016f: mmctx_xfer */ - 0xbd00f802, - 0x0199f094, - 0x0f0007f1, - 0xd00203f0, - 0x04bd0009, - 0xbbfd94bd, - 0x120bf405, - 0xc40007f1, - 0xd00103f0, - 0x04bd000b, -/* 0x0197: mmctx_base_disabled */ - 0xfd0099f0, - 0x0bf405ee, - 0x0007f11e, - 0x0103f0c6, - 0xbd000ed0, - 0x0007f104, - 0x0103f0c7, - 0xbd000fd0, - 0x0199f004, -/* 0x01b8: mmctx_multi_disabled */ - 0xb600abc8, - 0xb9f010b4, - 0x01aec80c, - 0xfd11e4b6, - 0x07f105be, - 0x03f0c500, - 0x000bd001, -/* 0x01d6: mmctx_exec_loop */ -/* 0x01d6: mmctx_wait_free */ - 0xe7f104bd, - 0xe3f0c500, - 0x00eecf01, - 0xf41fe4f0, - 0xce98f30b, - 0x05e9fd00, - 0xc80007f1, - 0xd00103f0, - 0x04bd000e, - 0xb804c0b6, - 0x1bf404cd, - 0x02abc8d8, -/* 0x0207: mmctx_fini_wait */ - 0xf11f1bf4, - 0xf0c500b7, - 0xbbcf01b3, - 0x1fb4f000, - 0xf410b4b0, - 0xa7f0f01b, - 0xd021f405, -/* 0x0223: mmctx_stop */ - 0xc82b0ef4, - 0xb4b600ab, - 0x0cb9f010, - 0xf112b9f0, - 0xf0c50007, - 0x0bd00103, -/* 0x023b: mmctx_stop_wait */ - 0xf104bd00, - 0xf0c500b7, - 0xbbcf01b3, - 0x12bbc800, -/* 0x024b: mmctx_done */ - 0xbdf31bf4, - 0x0199f094, - 0x170007f1, - 0xd00203f0, - 0x04bd0009, -/* 0x025e: strand_wait */ - 0xa0f900f8, - 0xf402a7f0, - 0xa0fcd021, -/* 0x026a: strand_pre */ - 0x97f000f8, - 0xfc07f10c, - 0x0203f04a, - 0xbd0009d0, - 0x5e21f504, -/* 0x027f: strand_post */ - 0xf000f802, - 0x07f10d97, - 0x03f04afc, - 0x0009d002, - 0x21f504bd, - 0x00f8025e, -/* 0x0294: strand_set */ - 0xf10fc7f0, - 0xf04ffc07, - 0x0cd00203, - 0xf004bd00, - 0x07f10bc7, - 0x03f04afc, - 0x000cd002, - 0x07f104bd, - 0x03f04ffc, - 0x000ed002, - 0xc7f004bd, - 0xfc07f10a, - 0x0203f04a, - 0xbd000cd0, - 0x5e21f504, -/* 0x02d3: strand_ctx_init */ - 0xbd00f802, - 0x0399f094, - 0x0f0007f1, - 0xd00203f0, - 0x04bd0009, - 0x026a21f5, - 0xf503e7f0, - 0xbd029421, - 0xfc07f1c4, - 0x0203f047, - 0xbd000cd0, - 0x01c7f004, - 0x4afc07f1, - 0xd00203f0, - 0x04bd000c, - 0x025e21f5, - 0xf1010c92, - 0xf046fc07, - 0x0cd00203, - 0xf004bd00, - 0x07f102c7, - 0x03f04afc, - 0x000cd002, - 0x21f504bd, - 0x21f5025e, - 0x87f1027f, - 0x83f04200, - 0x0097f102, - 0x0293f020, - 0x950099cf, -/* 0x034a: ctx_init_strand_loop */ - 0x8ed008fe, - 0x408ed000, - 0xb6808acf, - 0xa0b606a5, - 0x00eabb01, - 0xb60480b6, - 0x1bf40192, - 0x08e4b6e8, - 0xbdf2efbc, - 0x0399f094, - 0x170007f1, - 0xd00203f0, - 0x04bd0009, -/* 0x037e: error */ - 0xe0f900f8, - 0xf102ffb9, - 0xf09814e7, - 0x21f440e3, - 0x01f7f09d, - 0xf102ffb9, - 0xf09c1ce7, - 0x21f440e3, - 0xf8e0fc9d, -/* 0x03a1: init */ - 0xf104bd00, - 0xf0420017, - 0x11cf0013, - 0x0911e700, - 0x0814b601, - 0xf00014fe, - 0x07f10227, - 0x03f01200, - 0x0002d000, - 0x17f104bd, - 0x10fe0530, - 0x0007f100, - 0x0003f007, - 0xbd0000d0, - 0x0427f004, - 0x040007f1, - 0xd00003f0, - 0x04bd0002, - 0xf11031f4, - 0xf0820027, - 0x22cf0123, - 0x0137f000, - 0xbb1f24f0, - 0x32b60432, - 0x05028001, - 0xf1060380, - 0xf0860027, - 0x22cf0123, - 0x04028000, - 0x0c30e7f1, - 0xbd50e3f0, - 0xbd34bd24, -/* 0x0421: init_unk_loop */ - 0x6821f444, - 0xf400f6b0, - 0xf7f00f0b, - 0x04f2bb01, - 0xb6054ffd, -/* 0x0436: init_unk_next */ - 0x20b60130, - 0x04e0b601, - 0xf40126b0, -/* 0x0442: init_unk_done */ - 0x0380e21b, - 0x08048007, - 0x010027f1, - 0xcf0223f0, - 0x34bd0022, - 0xf1082595, - 0xf0c00007, - 0x05d00103, - 0xf104bd00, - 0xf0c10007, - 0x05d00103, - 0x9804bd00, - 0x0f98000e, - 0x5021f501, - 0x002fbb01, - 0x98003fbb, - 0x0f98010e, - 0x5021f502, - 0x050e9801, - 0xbb00effd, - 0x3ebb002e, - 0x020e9800, - 0xf5030f98, - 0x98015021, - 0xeffd070e, - 0x002ebb00, - 0xb6003ebb, - 0x07f10235, - 0x03f0d300, - 0x0003d001, - 0x25b604bd, - 0x0635b608, - 0xb60120b6, - 0x24b60130, - 0x0834b608, - 0xf5022fb9, - 0xbb02d321, - 0x07f1003f, - 0x03f00100, - 0x0003d002, - 0x24bd04bd, - 0xf11f29f0, - 0xf0080007, - 0x02d00203, -/* 0x04f3: main */ - 0xf404bd00, - 0x28f40031, - 0x24d7f000, - 0xf43921f4, - 0xe4b0f401, - 0x1e18f404, - 0xf00181fe, - 0x20bd0627, - 0xb60412fd, - 0x1efd01e4, - 0x0018fe05, - 0x05e821f5, -/* 0x0523: main_not_ctx_xfer */ - 0x94d30ef4, - 0xf5f010ef, - 0x7e21f501, - 0xc60ef403, -/* 0x0530: ih */ - 0x88fe80f9, - 0xf980f901, - 0xf9a0f990, - 0xf9d0f9b0, - 0xbdf0f9e0, - 0x00a7f104, - 0x00a3f002, - 0xc400aacf, - 0x0bf404ab, - 0x24d7f02c, - 0x1a00e7f1, - 0xcf00e3f0, - 0xf7f100ee, - 0xf3f01900, - 0x00ffcf00, - 0xf00421f4, - 0x07f101e7, - 0x03f01d00, - 0x000ed000, -/* 0x057e: ih_no_fifo */ - 0x07f104bd, - 0x03f00100, - 0x000ad000, - 0xf0fc04bd, - 0xd0fce0fc, - 0xa0fcb0fc, - 0x80fc90fc, - 0xfc0088fe, - 0x0032f480, -/* 0x05a2: hub_barrier_done */ - 0xf7f001f8, - 0x040e9801, - 0xb904febb, - 0xe7f102ff, - 0xe3f09418, - 0x9d21f440, -/* 0x05ba: ctx_redswitch */ - 0xf7f000f8, - 0x0007f120, - 0x0103f085, - 0xbd000fd0, - 0x08e7f004, -/* 0x05cc: ctx_redswitch_delay */ - 0xf401e2b6, - 0xf5f1fd1b, - 0xf5f10800, - 0x07f10200, - 0x03f08500, - 0x000fd001, - 0x00f804bd, -/* 0x05e8: ctx_xfer */ - 0x810007f1, - 0xd00203f0, - 0x04bd000f, - 0xf50711f4, -/* 0x05fb: ctx_xfer_not_load */ - 0xf505ba21, - 0xbd026a21, - 0xfc07f124, - 0x0203f047, - 0xbd0002d0, - 0x012cf004, - 0xf10320b6, - 0xf04afc07, - 0x02d00203, - 0xf004bd00, - 0xa5f001ac, - 0x00b7f102, - 0x50b3f000, - 0xb6040c98, - 0xbcbb0fc4, - 0x000c9800, - 0xf0010d98, - 0x21f500e7, - 0xacf0016f, - 0x00b7f101, - 0x50b3f040, - 0xb6040c98, - 0xbcbb0fc4, - 0x010c9800, - 0x98020d98, - 0xe7f1060f, - 0x21f50800, - 0xacf0016f, - 0x04a5f001, - 0x3000b7f1, - 0x9850b3f0, - 0xc4b6040c, - 0x00bcbb0f, - 0x98020c98, - 0x0f98030d, - 0x00e7f108, - 0x6f21f502, - 0x5e21f501, - 0x0601f402, -/* 0x0697: ctx_xfer_post */ - 0xf50712f4, -/* 0x069b: ctx_xfer_done */ - 0xf5027f21, - 0xf805a221, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -}; diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnve0.fuc b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnve0.fuc deleted file mode 100644 index 6b906cd2a31f..000000000000 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnve0.fuc +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2013 Red Hat Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - * Authors: Ben Skeggs <bskeggs@redhat.com> - */ - -#define NV_PGRAPH_GPCX_UNK__SIZE 0x00000001 - -#define CHIPSET GK100 -#include "macros.fuc" - -.section #nve0_grgpc_data -#define INCLUDE_DATA -#include "com.fuc" -#include "gpc.fuc" -#undef INCLUDE_DATA - -.section #nve0_grgpc_code -#define INCLUDE_CODE -bra #init -#include "com.fuc" -#include "gpc.fuc" -.align 256 -#undef INCLUDE_CODE diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnve0.fuc.h b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnve0.fuc.h deleted file mode 100644 index 855b220378f9..000000000000 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnve0.fuc.h +++ /dev/null @@ -1,537 +0,0 @@ -uint32_t nve0_grgpc_data[] = { -/* 0x0000: gpc_mmio_list_head */ - 0x0000006c, -/* 0x0004: gpc_mmio_list_tail */ -/* 0x0004: tpc_mmio_list_head */ - 0x0000006c, -/* 0x0008: tpc_mmio_list_tail */ -/* 0x0008: unk_mmio_list_head */ - 0x0000006c, -/* 0x000c: unk_mmio_list_tail */ - 0x0000006c, -/* 0x0010: gpc_id */ - 0x00000000, -/* 0x0014: tpc_count */ - 0x00000000, -/* 0x0018: tpc_mask */ - 0x00000000, -/* 0x001c: unk_count */ - 0x00000000, -/* 0x0020: unk_mask */ - 0x00000000, -/* 0x0024: cmd_queue */ - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -}; - -uint32_t nve0_grgpc_code[] = { - 0x03a10ef5, -/* 0x0004: queue_put */ - 0x9800d898, - 0x86f001d9, - 0x0489b808, - 0xf00c1bf4, - 0x21f502f7, - 0x00f8037e, -/* 0x001c: queue_put_next */ - 0xb60798c4, - 0x8dbb0384, - 0x0880b600, - 0x80008e80, - 0x90b6018f, - 0x0f94f001, - 0xf801d980, -/* 0x0039: queue_get */ - 0x0131f400, - 0x9800d898, - 0x89b801d9, - 0x210bf404, - 0xb60789c4, - 0x9dbb0394, - 0x0890b600, - 0x98009e98, - 0x80b6019f, - 0x0f84f001, - 0xf400d880, -/* 0x0066: queue_get_done */ - 0x00f80132, -/* 0x0068: nv_rd32 */ - 0xf002ecb9, - 0x07f11fc9, - 0x03f0ca00, - 0x000cd001, -/* 0x007a: nv_rd32_wait */ - 0xc7f104bd, - 0xc3f0ca00, - 0x00cccf01, - 0xf41fccc8, - 0xa7f0f31b, - 0x1021f506, - 0x00f7f101, - 0x01f3f0cb, - 0xf800ffcf, -/* 0x009d: nv_wr32 */ - 0x0007f100, - 0x0103f0cc, - 0xbd000fd0, - 0x02ecb904, - 0xf01fc9f0, - 0x07f11ec9, - 0x03f0ca00, - 0x000cd001, -/* 0x00be: nv_wr32_wait */ - 0xc7f104bd, - 0xc3f0ca00, - 0x00cccf01, - 0xf41fccc8, - 0x00f8f31b, -/* 0x00d0: wait_donez */ - 0x99f094bd, - 0x0007f100, - 0x0203f00f, - 0xbd0009d0, - 0x0007f104, - 0x0203f006, - 0xbd000ad0, -/* 0x00ed: wait_donez_ne */ - 0x0087f104, - 0x0183f000, - 0xff0088cf, - 0x1bf4888a, - 0xf094bdf3, - 0x07f10099, - 0x03f01700, - 0x0009d002, - 0x00f804bd, -/* 0x0110: wait_doneo */ - 0x99f094bd, - 0x0007f100, - 0x0203f00f, - 0xbd0009d0, - 0x0007f104, - 0x0203f006, - 0xbd000ad0, -/* 0x012d: wait_doneo_e */ - 0x0087f104, - 0x0183f000, - 0xff0088cf, - 0x0bf4888a, - 0xf094bdf3, - 0x07f10099, - 0x03f01700, - 0x0009d002, - 0x00f804bd, -/* 0x0150: mmctx_size */ -/* 0x0152: nv_mmctx_size_loop */ - 0xe89894bd, - 0x1a85b600, - 0xb60180b6, - 0x98bb0284, - 0x04e0b600, - 0xf404efb8, - 0x9fb9eb1b, -/* 0x016f: mmctx_xfer */ - 0xbd00f802, - 0x0199f094, - 0x0f0007f1, - 0xd00203f0, - 0x04bd0009, - 0xbbfd94bd, - 0x120bf405, - 0xc40007f1, - 0xd00103f0, - 0x04bd000b, -/* 0x0197: mmctx_base_disabled */ - 0xfd0099f0, - 0x0bf405ee, - 0x0007f11e, - 0x0103f0c6, - 0xbd000ed0, - 0x0007f104, - 0x0103f0c7, - 0xbd000fd0, - 0x0199f004, -/* 0x01b8: mmctx_multi_disabled */ - 0xb600abc8, - 0xb9f010b4, - 0x01aec80c, - 0xfd11e4b6, - 0x07f105be, - 0x03f0c500, - 0x000bd001, -/* 0x01d6: mmctx_exec_loop */ -/* 0x01d6: mmctx_wait_free */ - 0xe7f104bd, - 0xe3f0c500, - 0x00eecf01, - 0xf41fe4f0, - 0xce98f30b, - 0x05e9fd00, - 0xc80007f1, - 0xd00103f0, - 0x04bd000e, - 0xb804c0b6, - 0x1bf404cd, - 0x02abc8d8, -/* 0x0207: mmctx_fini_wait */ - 0xf11f1bf4, - 0xf0c500b7, - 0xbbcf01b3, - 0x1fb4f000, - 0xf410b4b0, - 0xa7f0f01b, - 0xd021f405, -/* 0x0223: mmctx_stop */ - 0xc82b0ef4, - 0xb4b600ab, - 0x0cb9f010, - 0xf112b9f0, - 0xf0c50007, - 0x0bd00103, -/* 0x023b: mmctx_stop_wait */ - 0xf104bd00, - 0xf0c500b7, - 0xbbcf01b3, - 0x12bbc800, -/* 0x024b: mmctx_done */ - 0xbdf31bf4, - 0x0199f094, - 0x170007f1, - 0xd00203f0, - 0x04bd0009, -/* 0x025e: strand_wait */ - 0xa0f900f8, - 0xf402a7f0, - 0xa0fcd021, -/* 0x026a: strand_pre */ - 0x97f000f8, - 0xfc07f10c, - 0x0203f04a, - 0xbd0009d0, - 0x5e21f504, -/* 0x027f: strand_post */ - 0xf000f802, - 0x07f10d97, - 0x03f04afc, - 0x0009d002, - 0x21f504bd, - 0x00f8025e, -/* 0x0294: strand_set */ - 0xf10fc7f0, - 0xf04ffc07, - 0x0cd00203, - 0xf004bd00, - 0x07f10bc7, - 0x03f04afc, - 0x000cd002, - 0x07f104bd, - 0x03f04ffc, - 0x000ed002, - 0xc7f004bd, - 0xfc07f10a, - 0x0203f04a, - 0xbd000cd0, - 0x5e21f504, -/* 0x02d3: strand_ctx_init */ - 0xbd00f802, - 0x0399f094, - 0x0f0007f1, - 0xd00203f0, - 0x04bd0009, - 0x026a21f5, - 0xf503e7f0, - 0xbd029421, - 0xfc07f1c4, - 0x0203f047, - 0xbd000cd0, - 0x01c7f004, - 0x4afc07f1, - 0xd00203f0, - 0x04bd000c, - 0x025e21f5, - 0xf1010c92, - 0xf046fc07, - 0x0cd00203, - 0xf004bd00, - 0x07f102c7, - 0x03f04afc, - 0x000cd002, - 0x21f504bd, - 0x21f5025e, - 0x87f1027f, - 0x83f04200, - 0x0097f102, - 0x0293f020, - 0x950099cf, -/* 0x034a: ctx_init_strand_loop */ - 0x8ed008fe, - 0x408ed000, - 0xb6808acf, - 0xa0b606a5, - 0x00eabb01, - 0xb60480b6, - 0x1bf40192, - 0x08e4b6e8, - 0xbdf2efbc, - 0x0399f094, - 0x170007f1, - 0xd00203f0, - 0x04bd0009, -/* 0x037e: error */ - 0xe0f900f8, - 0xf102ffb9, - 0xf09814e7, - 0x21f440e3, - 0x01f7f09d, - 0xf102ffb9, - 0xf09c1ce7, - 0x21f440e3, - 0xf8e0fc9d, -/* 0x03a1: init */ - 0xf104bd00, - 0xf0420017, - 0x11cf0013, - 0x0911e700, - 0x0814b601, - 0xf00014fe, - 0x07f10227, - 0x03f01200, - 0x0002d000, - 0x17f104bd, - 0x10fe0530, - 0x0007f100, - 0x0003f007, - 0xbd0000d0, - 0x0427f004, - 0x040007f1, - 0xd00003f0, - 0x04bd0002, - 0xf11031f4, - 0xf0820027, - 0x22cf0123, - 0x0137f000, - 0xbb1f24f0, - 0x32b60432, - 0x05028001, - 0xf1060380, - 0xf0860027, - 0x22cf0123, - 0x04028000, - 0x0c30e7f1, - 0xbd50e3f0, - 0xbd34bd24, -/* 0x0421: init_unk_loop */ - 0x6821f444, - 0xf400f6b0, - 0xf7f00f0b, - 0x04f2bb01, - 0xb6054ffd, -/* 0x0436: init_unk_next */ - 0x20b60130, - 0x04e0b601, - 0xf40126b0, -/* 0x0442: init_unk_done */ - 0x0380e21b, - 0x08048007, - 0x010027f1, - 0xcf0223f0, - 0x34bd0022, - 0xf1082595, - 0xf0c00007, - 0x05d00103, - 0xf104bd00, - 0xf0c10007, - 0x05d00103, - 0x9804bd00, - 0x0f98000e, - 0x5021f501, - 0x002fbb01, - 0x98003fbb, - 0x0f98010e, - 0x5021f502, - 0x050e9801, - 0xbb00effd, - 0x3ebb002e, - 0x020e9800, - 0xf5030f98, - 0x98015021, - 0xeffd070e, - 0x002ebb00, - 0xb6003ebb, - 0x07f10235, - 0x03f0d300, - 0x0003d001, - 0x25b604bd, - 0x0635b608, - 0xb60120b6, - 0x24b60130, - 0x0834b608, - 0xf5022fb9, - 0xbb02d321, - 0x07f1003f, - 0x03f00100, - 0x0003d002, - 0x24bd04bd, - 0xf11f29f0, - 0xf0080007, - 0x02d00203, -/* 0x04f3: main */ - 0xf404bd00, - 0x28f40031, - 0x24d7f000, - 0xf43921f4, - 0xe4b0f401, - 0x1e18f404, - 0xf00181fe, - 0x20bd0627, - 0xb60412fd, - 0x1efd01e4, - 0x0018fe05, - 0x05e821f5, -/* 0x0523: main_not_ctx_xfer */ - 0x94d30ef4, - 0xf5f010ef, - 0x7e21f501, - 0xc60ef403, -/* 0x0530: ih */ - 0x88fe80f9, - 0xf980f901, - 0xf9a0f990, - 0xf9d0f9b0, - 0xbdf0f9e0, - 0x00a7f104, - 0x00a3f002, - 0xc400aacf, - 0x0bf404ab, - 0x24d7f02c, - 0x1a00e7f1, - 0xcf00e3f0, - 0xf7f100ee, - 0xf3f01900, - 0x00ffcf00, - 0xf00421f4, - 0x07f101e7, - 0x03f01d00, - 0x000ed000, -/* 0x057e: ih_no_fifo */ - 0x07f104bd, - 0x03f00100, - 0x000ad000, - 0xf0fc04bd, - 0xd0fce0fc, - 0xa0fcb0fc, - 0x80fc90fc, - 0xfc0088fe, - 0x0032f480, -/* 0x05a2: hub_barrier_done */ - 0xf7f001f8, - 0x040e9801, - 0xb904febb, - 0xe7f102ff, - 0xe3f09418, - 0x9d21f440, -/* 0x05ba: ctx_redswitch */ - 0xf7f000f8, - 0x0007f120, - 0x0103f085, - 0xbd000fd0, - 0x08e7f004, -/* 0x05cc: ctx_redswitch_delay */ - 0xf401e2b6, - 0xf5f1fd1b, - 0xf5f10800, - 0x07f10200, - 0x03f08500, - 0x000fd001, - 0x00f804bd, -/* 0x05e8: ctx_xfer */ - 0x810007f1, - 0xd00203f0, - 0x04bd000f, - 0xf50711f4, -/* 0x05fb: ctx_xfer_not_load */ - 0xf505ba21, - 0xbd026a21, - 0xfc07f124, - 0x0203f047, - 0xbd0002d0, - 0x012cf004, - 0xf10320b6, - 0xf04afc07, - 0x02d00203, - 0xf004bd00, - 0xa5f001ac, - 0x00b7f102, - 0x50b3f000, - 0xb6040c98, - 0xbcbb0fc4, - 0x000c9800, - 0xf0010d98, - 0x21f500e7, - 0xacf0016f, - 0x00b7f101, - 0x50b3f040, - 0xb6040c98, - 0xbcbb0fc4, - 0x010c9800, - 0x98020d98, - 0xe7f1060f, - 0x21f50800, - 0xacf0016f, - 0x04a5f001, - 0x3000b7f1, - 0x9850b3f0, - 0xc4b6040c, - 0x00bcbb0f, - 0x98020c98, - 0x0f98030d, - 0x00e7f108, - 0x6f21f502, - 0x5e21f501, - 0x0601f402, -/* 0x0697: ctx_xfer_post */ - 0xf50712f4, -/* 0x069b: ctx_xfer_done */ - 0xf5027f21, - 0xf805a221, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -}; diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvf0.fuc b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvf0.fuc deleted file mode 100644 index 90bbe525b626..000000000000 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvf0.fuc +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2013 Red Hat Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - * Authors: Ben Skeggs <bskeggs@redhat.com> - */ - -#define NV_PGRAPH_GPCX_UNK__SIZE 0x00000002 - -#define CHIPSET GK110 -#include "macros.fuc" - -.section #nvf0_grgpc_data -#define INCLUDE_DATA -#include "com.fuc" -#include "gpc.fuc" -#undef INCLUDE_DATA - -.section #nvf0_grgpc_code -#define INCLUDE_CODE -bra #init -#include "com.fuc" -#include "gpc.fuc" -.align 256 -#undef INCLUDE_CODE diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvf0.fuc.h b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvf0.fuc.h deleted file mode 100644 index 1b803197d28b..000000000000 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvf0.fuc.h +++ /dev/null @@ -1,537 +0,0 @@ -uint32_t nvf0_grgpc_data[] = { -/* 0x0000: gpc_mmio_list_head */ - 0x0000006c, -/* 0x0004: gpc_mmio_list_tail */ -/* 0x0004: tpc_mmio_list_head */ - 0x0000006c, -/* 0x0008: tpc_mmio_list_tail */ -/* 0x0008: unk_mmio_list_head */ - 0x0000006c, -/* 0x000c: unk_mmio_list_tail */ - 0x0000006c, -/* 0x0010: gpc_id */ - 0x00000000, -/* 0x0014: tpc_count */ - 0x00000000, -/* 0x0018: tpc_mask */ - 0x00000000, -/* 0x001c: unk_count */ - 0x00000000, -/* 0x0020: unk_mask */ - 0x00000000, -/* 0x0024: cmd_queue */ - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -}; - -uint32_t nvf0_grgpc_code[] = { - 0x03a10ef5, -/* 0x0004: queue_put */ - 0x9800d898, - 0x86f001d9, - 0x0489b808, - 0xf00c1bf4, - 0x21f502f7, - 0x00f8037e, -/* 0x001c: queue_put_next */ - 0xb60798c4, - 0x8dbb0384, - 0x0880b600, - 0x80008e80, - 0x90b6018f, - 0x0f94f001, - 0xf801d980, -/* 0x0039: queue_get */ - 0x0131f400, - 0x9800d898, - 0x89b801d9, - 0x210bf404, - 0xb60789c4, - 0x9dbb0394, - 0x0890b600, - 0x98009e98, - 0x80b6019f, - 0x0f84f001, - 0xf400d880, -/* 0x0066: queue_get_done */ - 0x00f80132, -/* 0x0068: nv_rd32 */ - 0xf002ecb9, - 0x07f11fc9, - 0x03f0ca00, - 0x000cd001, -/* 0x007a: nv_rd32_wait */ - 0xc7f104bd, - 0xc3f0ca00, - 0x00cccf01, - 0xf41fccc8, - 0xa7f0f31b, - 0x1021f506, - 0x00f7f101, - 0x01f3f0cb, - 0xf800ffcf, -/* 0x009d: nv_wr32 */ - 0x0007f100, - 0x0103f0cc, - 0xbd000fd0, - 0x02ecb904, - 0xf01fc9f0, - 0x07f11ec9, - 0x03f0ca00, - 0x000cd001, -/* 0x00be: nv_wr32_wait */ - 0xc7f104bd, - 0xc3f0ca00, - 0x00cccf01, - 0xf41fccc8, - 0x00f8f31b, -/* 0x00d0: wait_donez */ - 0x99f094bd, - 0x0007f100, - 0x0203f037, - 0xbd0009d0, - 0x0007f104, - 0x0203f006, - 0xbd000ad0, -/* 0x00ed: wait_donez_ne */ - 0x0087f104, - 0x0183f000, - 0xff0088cf, - 0x1bf4888a, - 0xf094bdf3, - 0x07f10099, - 0x03f01700, - 0x0009d002, - 0x00f804bd, -/* 0x0110: wait_doneo */ - 0x99f094bd, - 0x0007f100, - 0x0203f037, - 0xbd0009d0, - 0x0007f104, - 0x0203f006, - 0xbd000ad0, -/* 0x012d: wait_doneo_e */ - 0x0087f104, - 0x0183f000, - 0xff0088cf, - 0x0bf4888a, - 0xf094bdf3, - 0x07f10099, - 0x03f01700, - 0x0009d002, - 0x00f804bd, -/* 0x0150: mmctx_size */ -/* 0x0152: nv_mmctx_size_loop */ - 0xe89894bd, - 0x1a85b600, - 0xb60180b6, - 0x98bb0284, - 0x04e0b600, - 0xf404efb8, - 0x9fb9eb1b, -/* 0x016f: mmctx_xfer */ - 0xbd00f802, - 0x0199f094, - 0x370007f1, - 0xd00203f0, - 0x04bd0009, - 0xbbfd94bd, - 0x120bf405, - 0xc40007f1, - 0xd00103f0, - 0x04bd000b, -/* 0x0197: mmctx_base_disabled */ - 0xfd0099f0, - 0x0bf405ee, - 0x0007f11e, - 0x0103f0c6, - 0xbd000ed0, - 0x0007f104, - 0x0103f0c7, - 0xbd000fd0, - 0x0199f004, -/* 0x01b8: mmctx_multi_disabled */ - 0xb600abc8, - 0xb9f010b4, - 0x01aec80c, - 0xfd11e4b6, - 0x07f105be, - 0x03f0c500, - 0x000bd001, -/* 0x01d6: mmctx_exec_loop */ -/* 0x01d6: mmctx_wait_free */ - 0xe7f104bd, - 0xe3f0c500, - 0x00eecf01, - 0xf41fe4f0, - 0xce98f30b, - 0x05e9fd00, - 0xc80007f1, - 0xd00103f0, - 0x04bd000e, - 0xb804c0b6, - 0x1bf404cd, - 0x02abc8d8, -/* 0x0207: mmctx_fini_wait */ - 0xf11f1bf4, - 0xf0c500b7, - 0xbbcf01b3, - 0x1fb4f000, - 0xf410b4b0, - 0xa7f0f01b, - 0xd021f405, -/* 0x0223: mmctx_stop */ - 0xc82b0ef4, - 0xb4b600ab, - 0x0cb9f010, - 0xf112b9f0, - 0xf0c50007, - 0x0bd00103, -/* 0x023b: mmctx_stop_wait */ - 0xf104bd00, - 0xf0c500b7, - 0xbbcf01b3, - 0x12bbc800, -/* 0x024b: mmctx_done */ - 0xbdf31bf4, - 0x0199f094, - 0x170007f1, - 0xd00203f0, - 0x04bd0009, -/* 0x025e: strand_wait */ - 0xa0f900f8, - 0xf402a7f0, - 0xa0fcd021, -/* 0x026a: strand_pre */ - 0x97f000f8, - 0xfc07f10c, - 0x0203f04a, - 0xbd0009d0, - 0x5e21f504, -/* 0x027f: strand_post */ - 0xf000f802, - 0x07f10d97, - 0x03f04afc, - 0x0009d002, - 0x21f504bd, - 0x00f8025e, -/* 0x0294: strand_set */ - 0xf10fc7f0, - 0xf04ffc07, - 0x0cd00203, - 0xf004bd00, - 0x07f10bc7, - 0x03f04afc, - 0x000cd002, - 0x07f104bd, - 0x03f04ffc, - 0x000ed002, - 0xc7f004bd, - 0xfc07f10a, - 0x0203f04a, - 0xbd000cd0, - 0x5e21f504, -/* 0x02d3: strand_ctx_init */ - 0xbd00f802, - 0x0399f094, - 0x370007f1, - 0xd00203f0, - 0x04bd0009, - 0x026a21f5, - 0xf503e7f0, - 0xbd029421, - 0xfc07f1c4, - 0x0203f047, - 0xbd000cd0, - 0x01c7f004, - 0x4afc07f1, - 0xd00203f0, - 0x04bd000c, - 0x025e21f5, - 0xf1010c92, - 0xf046fc07, - 0x0cd00203, - 0xf004bd00, - 0x07f102c7, - 0x03f04afc, - 0x000cd002, - 0x21f504bd, - 0x21f5025e, - 0x87f1027f, - 0x83f04200, - 0x0097f102, - 0x0293f020, - 0x950099cf, -/* 0x034a: ctx_init_strand_loop */ - 0x8ed008fe, - 0x408ed000, - 0xb6808acf, - 0xa0b606a5, - 0x00eabb01, - 0xb60480b6, - 0x1bf40192, - 0x08e4b6e8, - 0xbdf2efbc, - 0x0399f094, - 0x170007f1, - 0xd00203f0, - 0x04bd0009, -/* 0x037e: error */ - 0xe0f900f8, - 0xf102ffb9, - 0xf09814e7, - 0x21f440e3, - 0x01f7f09d, - 0xf102ffb9, - 0xf09c1ce7, - 0x21f440e3, - 0xf8e0fc9d, -/* 0x03a1: init */ - 0xf104bd00, - 0xf0420017, - 0x11cf0013, - 0x0911e700, - 0x0814b601, - 0xf00014fe, - 0x07f10227, - 0x03f01200, - 0x0002d000, - 0x17f104bd, - 0x10fe0530, - 0x0007f100, - 0x0003f007, - 0xbd0000d0, - 0x0427f004, - 0x040007f1, - 0xd00003f0, - 0x04bd0002, - 0xf11031f4, - 0xf0820027, - 0x22cf0123, - 0x0137f000, - 0xbb1f24f0, - 0x32b60432, - 0x05028001, - 0xf1060380, - 0xf0860027, - 0x22cf0123, - 0x04028000, - 0x0c30e7f1, - 0xbd50e3f0, - 0xbd34bd24, -/* 0x0421: init_unk_loop */ - 0x6821f444, - 0xf400f6b0, - 0xf7f00f0b, - 0x04f2bb01, - 0xb6054ffd, -/* 0x0436: init_unk_next */ - 0x20b60130, - 0x04e0b601, - 0xf40226b0, -/* 0x0442: init_unk_done */ - 0x0380e21b, - 0x08048007, - 0x010027f1, - 0xcf0223f0, - 0x34bd0022, - 0xf1082595, - 0xf0c00007, - 0x05d00103, - 0xf104bd00, - 0xf0c10007, - 0x05d00103, - 0x9804bd00, - 0x0f98000e, - 0x5021f501, - 0x002fbb01, - 0x98003fbb, - 0x0f98010e, - 0x5021f502, - 0x050e9801, - 0xbb00effd, - 0x3ebb002e, - 0x020e9800, - 0xf5030f98, - 0x98015021, - 0xeffd070e, - 0x002ebb00, - 0xb6003ebb, - 0x07f10235, - 0x03f0d300, - 0x0003d001, - 0x25b604bd, - 0x0635b608, - 0xb60120b6, - 0x24b60130, - 0x0834b608, - 0xf5022fb9, - 0xbb02d321, - 0x07f1003f, - 0x03f00100, - 0x0003d002, - 0x24bd04bd, - 0xf11f29f0, - 0xf0300007, - 0x02d00203, -/* 0x04f3: main */ - 0xf404bd00, - 0x28f40031, - 0x24d7f000, - 0xf43921f4, - 0xe4b0f401, - 0x1e18f404, - 0xf00181fe, - 0x20bd0627, - 0xb60412fd, - 0x1efd01e4, - 0x0018fe05, - 0x05e821f5, -/* 0x0523: main_not_ctx_xfer */ - 0x94d30ef4, - 0xf5f010ef, - 0x7e21f501, - 0xc60ef403, -/* 0x0530: ih */ - 0x88fe80f9, - 0xf980f901, - 0xf9a0f990, - 0xf9d0f9b0, - 0xbdf0f9e0, - 0x00a7f104, - 0x00a3f002, - 0xc400aacf, - 0x0bf404ab, - 0x24d7f02c, - 0x1a00e7f1, - 0xcf00e3f0, - 0xf7f100ee, - 0xf3f01900, - 0x00ffcf00, - 0xf00421f4, - 0x07f101e7, - 0x03f01d00, - 0x000ed000, -/* 0x057e: ih_no_fifo */ - 0x07f104bd, - 0x03f00100, - 0x000ad000, - 0xf0fc04bd, - 0xd0fce0fc, - 0xa0fcb0fc, - 0x80fc90fc, - 0xfc0088fe, - 0x0032f480, -/* 0x05a2: hub_barrier_done */ - 0xf7f001f8, - 0x040e9801, - 0xb904febb, - 0xe7f102ff, - 0xe3f09418, - 0x9d21f440, -/* 0x05ba: ctx_redswitch */ - 0xf7f000f8, - 0x0007f120, - 0x0103f085, - 0xbd000fd0, - 0x08e7f004, -/* 0x05cc: ctx_redswitch_delay */ - 0xf401e2b6, - 0xf5f1fd1b, - 0xf5f10800, - 0x07f10200, - 0x03f08500, - 0x000fd001, - 0x00f804bd, -/* 0x05e8: ctx_xfer */ - 0x810007f1, - 0xd00203f0, - 0x04bd000f, - 0xf50711f4, -/* 0x05fb: ctx_xfer_not_load */ - 0xf505ba21, - 0xbd026a21, - 0xfc07f124, - 0x0203f047, - 0xbd0002d0, - 0x012cf004, - 0xf10320b6, - 0xf04afc07, - 0x02d00203, - 0xf004bd00, - 0xa5f001ac, - 0x00b7f102, - 0x50b3f000, - 0xb6040c98, - 0xbcbb0fc4, - 0x000c9800, - 0xf0010d98, - 0x21f500e7, - 0xacf0016f, - 0x00b7f101, - 0x50b3f040, - 0xb6040c98, - 0xbcbb0fc4, - 0x010c9800, - 0x98020d98, - 0xe7f1060f, - 0x21f50800, - 0xacf0016f, - 0x04a5f001, - 0x3000b7f1, - 0x9850b3f0, - 0xc4b6040c, - 0x00bcbb0f, - 0x98020c98, - 0x0f98030d, - 0x00e7f108, - 0x6f21f502, - 0x5e21f501, - 0x0601f402, -/* 0x0697: ctx_xfer_post */ - 0xf50712f4, -/* 0x069b: ctx_xfer_done */ - 0xf5027f21, - 0xf805a221, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -}; diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hub.fuc b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hub.fuc deleted file mode 100644 index b4ad18bf5a26..000000000000 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hub.fuc +++ /dev/null @@ -1,696 +0,0 @@ -/* fuc microcode for nvc0 PGRAPH/HUB - * - * Copyright 2011 Red Hat Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - * Authors: Ben Skeggs - */ - -#ifdef INCLUDE_DATA -hub_mmio_list_head: .b32 #hub_mmio_list_base -hub_mmio_list_tail: .b32 #hub_mmio_list_next - -gpc_count: .b32 0 -rop_count: .b32 0 -cmd_queue: queue_init - -ctx_current: .b32 0 - -.align 256 -chan_data: -chan_mmio_count: .b32 0 -chan_mmio_address: .b32 0 - -.align 256 -xfer_data: .skip 256 - -hub_mmio_list_base: -.b32 0x0417e91c // 0x17e91c, 2 -hub_mmio_list_next: -#endif - -#ifdef INCLUDE_CODE -// reports an exception to the host -// -// In: $r15 error code (see os.h) -// -error: - nv_iowr(NV_PGRAPH_FECS_CC_SCRATCH_VAL(5), 0, $r15) - mov $r15 1 - nv_iowr(NV_PGRAPH_FECS_INTR_UP_SET, 0, $r15) - ret - -// HUB fuc initialisation, executed by triggering ucode start, will -// fall through to main loop after completion. -// -// Output: -// CC_SCRATCH[0]: -// 31:31: set to signal completion -// CC_SCRATCH[1]: -// 31:0: total PGRAPH context size -// -init: - clear b32 $r0 - mov $xdbase $r0 - - // setup stack - nv_iord($r1, NV_PGRAPH_FECS_CAPS, 0) - extr $r1 $r1 9:17 - shl b32 $r1 8 - mov $sp $r1 - - // enable fifo access - mov $r2 NV_PGRAPH_FECS_ACCESS_FIFO - nv_iowr(NV_PGRAPH_FECS_ACCESS, 0, $r2) - - // setup i0 handler, and route all interrupts to it - mov $r1 #ih - mov $iv0 $r1 - - clear b32 $r2 - nv_iowr(NV_PGRAPH_FECS_INTR_ROUTE, 0, $r2) - - // route HUB_CHSW_PULSE to fuc interrupt 8 - mov $r2 0x2003 // { HUB_CHSW_PULSE, ZERO } -> intr 8 - nv_iowr(NV_PGRAPH_FECS_IROUTE, 0, $r2) - - // not sure what these are, route them because NVIDIA does, and - // the IRQ handler will signal the host if we ever get one.. we - // may find out if/why we need to handle these if so.. - // - mov $r2 0x2004 // { 0x04, ZERO } -> intr 9 - nv_iowr(NV_PGRAPH_FECS_IROUTE, 1, $r2) - mov $r2 0x200b // { HUB_FIRMWARE_MTHD, ZERO } -> intr 10 - nv_iowr(NV_PGRAPH_FECS_IROUTE, 2, $r2) - mov $r2 0x200c // { 0x0c, ZERO } -> intr 15 - nv_iowr(NV_PGRAPH_FECS_IROUTE, 7, $r2) - - // enable all INTR_UP interrupts - sub b32 $r3 $r0 1 - nv_iowr(NV_PGRAPH_FECS_INTR_UP_EN, 0, $r3) - - // enable fifo, ctxsw, 9, fwmthd, 15 interrupts - imm32($r2, 0x8704) - nv_iowr(NV_PGRAPH_FECS_INTR_EN_SET, 0, $r2) - - // fifo level triggered, rest edge - mov $r2 NV_PGRAPH_FECS_INTR_MODE_FIFO_LEVEL - nv_iowr(NV_PGRAPH_FECS_INTR_MODE, 0, $r2) - - // enable interrupts - bset $flags ie0 - - // fetch enabled GPC/ROP counts - nv_rd32($r14, 0x409604) - extr $r1 $r15 16:20 - st b32 D[$r0 + #rop_count] $r1 - and $r15 0x1f - st b32 D[$r0 + #gpc_count] $r15 - - // set BAR_REQMASK to GPC mask - mov $r1 1 - shl b32 $r1 $r15 - sub b32 $r1 1 - nv_iowr(NV_PGRAPH_FECS_BAR_MASK0, 0, $r1) - nv_iowr(NV_PGRAPH_FECS_BAR_MASK1, 0, $r1) - - // context size calculation, reserve first 256 bytes for use by fuc - mov $r1 256 - - // - mov $r15 2 - call(ctx_4170s) - call(ctx_4170w) - mov $r15 0x10 - call(ctx_86c) - - // calculate size of mmio context data - ld b32 $r14 D[$r0 + #hub_mmio_list_head] - ld b32 $r15 D[$r0 + #hub_mmio_list_tail] - call(mmctx_size) - - // set mmctx base addresses now so we don't have to do it later, - // they don't (currently) ever change - shr b32 $r4 $r1 8 - nv_iowr(NV_PGRAPH_FECS_MMCTX_SAVE_SWBASE, 0, $r4) - nv_iowr(NV_PGRAPH_FECS_MMCTX_LOAD_SWBASE, 0, $r4) - add b32 $r3 0x1300 - add b32 $r1 $r15 - shr b32 $r15 2 - nv_iowr(NV_PGRAPH_FECS_MMCTX_LOAD_COUNT, 0, $r15) // wtf?? - - // strands, base offset needs to be aligned to 256 bytes - shr b32 $r1 8 - add b32 $r1 1 - shl b32 $r1 8 - mov b32 $r15 $r1 - call(strand_ctx_init) - add b32 $r1 $r15 - - // initialise each GPC in sequence by passing in the offset of its - // context data in GPCn_CC_SCRATCH[1], and starting its FUC (which - // has previously been uploaded by the host) running. - // - // the GPC fuc init sequence will set GPCn_CC_SCRATCH[0] bit 31 - // when it has completed, and return the size of its context data - // in GPCn_CC_SCRATCH[1] - // - ld b32 $r3 D[$r0 + #gpc_count] - imm32($r4, 0x502000) - init_gpc: - // setup, and start GPC ucode running - add b32 $r14 $r4 0x804 - mov b32 $r15 $r1 - call(nv_wr32) // CC_SCRATCH[1] = ctx offset - add b32 $r14 $r4 0x10c - clear b32 $r15 - call(nv_wr32) - add b32 $r14 $r4 0x104 - call(nv_wr32) // ENTRY - add b32 $r14 $r4 0x100 - mov $r15 2 // CTRL_START_TRIGGER - call(nv_wr32) // CTRL - - // wait for it to complete, and adjust context size - add b32 $r14 $r4 0x800 - init_gpc_wait: - call(nv_rd32) - xbit $r15 $r15 31 - bra e #init_gpc_wait - add b32 $r14 $r4 0x804 - call(nv_rd32) - add b32 $r1 $r15 - - // next! - add b32 $r4 0x8000 - sub b32 $r3 1 - bra ne #init_gpc - - // - mov $r15 0 - call(ctx_86c) - mov $r15 0 - call(ctx_4170s) - - // save context size, and tell host we're ready - nv_iowr(NV_PGRAPH_FECS_CC_SCRATCH_VAL(1), 0, $r1) - clear b32 $r1 - bset $r1 31 - nv_iowr(NV_PGRAPH_FECS_CC_SCRATCH_SET(0), 0, $r1) - -// Main program loop, very simple, sleeps until woken up by the interrupt -// handler, pulls a command from the queue and executes its handler -// -main: - // sleep until we have something to do - bset $flags $p0 - sleep $p0 - mov $r13 #cmd_queue - call(queue_get) - bra $p1 #main - - // context switch, requested by GPU? - cmpu b32 $r14 0x4001 - bra ne #main_not_ctx_switch - trace_set(T_AUTO) - nv_iord($r1, NV_PGRAPH_FECS_CHAN_ADDR, 0) - nv_iord($r2, NV_PGRAPH_FECS_CHAN_NEXT, 0) - - xbit $r3 $r1 31 - bra e #chsw_no_prev - xbit $r3 $r2 31 - bra e #chsw_prev_no_next - push $r2 - mov b32 $r2 $r1 - trace_set(T_SAVE) - bclr $flags $p1 - bset $flags $p2 - call(ctx_xfer) - trace_clr(T_SAVE); - pop $r2 - trace_set(T_LOAD); - bset $flags $p1 - call(ctx_xfer) - trace_clr(T_LOAD); - bra #chsw_done - chsw_prev_no_next: - push $r2 - mov b32 $r2 $r1 - bclr $flags $p1 - bclr $flags $p2 - call(ctx_xfer) - pop $r2 - nv_iowr(NV_PGRAPH_FECS_CHAN_ADDR, 0, $r2) - bra #chsw_done - chsw_no_prev: - xbit $r3 $r2 31 - bra e #chsw_done - bset $flags $p1 - bclr $flags $p2 - call(ctx_xfer) - - // ack the context switch request - chsw_done: - mov $r2 NV_PGRAPH_FECS_CHSW_ACK - nv_iowr(NV_PGRAPH_FECS_CHSW, 0, $r2) - trace_clr(T_AUTO) - bra #main - - // request to set current channel? (*not* a context switch) - main_not_ctx_switch: - cmpu b32 $r14 0x0001 - bra ne #main_not_ctx_chan - mov b32 $r2 $r15 - call(ctx_chan) - bra #main_done - - // request to store current channel context? - main_not_ctx_chan: - cmpu b32 $r14 0x0002 - bra ne #main_not_ctx_save - trace_set(T_SAVE) - bclr $flags $p1 - bclr $flags $p2 - call(ctx_xfer) - trace_clr(T_SAVE) - bra #main_done - - main_not_ctx_save: - shl b32 $r15 $r14 16 - or $r15 E_BAD_COMMAND - call(error) - bra #main - - main_done: - clear b32 $r2 - bset $r2 31 - nv_iowr(NV_PGRAPH_FECS_CC_SCRATCH_SET(0), 0, $r2) - bra #main - -// interrupt handler -ih: - push $r8 - mov $r8 $flags - push $r8 - push $r9 - push $r10 - push $r11 - push $r13 - push $r14 - push $r15 - clear b32 $r0 - - // incoming fifo command? - nv_iord($r10, NV_PGRAPH_FECS_INTR, 0) - and $r11 $r10 NV_PGRAPH_FECS_INTR_FIFO - bra e #ih_no_fifo - // queue incoming fifo command for later processing - mov $r13 #cmd_queue - nv_iord($r14, NV_PGRAPH_FECS_FIFO_CMD, 0) - nv_iord($r15, NV_PGRAPH_FECS_FIFO_DATA, 0) - call(queue_put) - add b32 $r11 0x400 - mov $r14 1 - nv_iowr(NV_PGRAPH_FECS_FIFO_ACK, 0, $r14) - - // context switch request? - ih_no_fifo: - and $r11 $r10 NV_PGRAPH_FECS_INTR_CHSW - bra e #ih_no_ctxsw - // enqueue a context switch for later processing - mov $r13 #cmd_queue - mov $r14 0x4001 - call(queue_put) - - // firmware method? - ih_no_ctxsw: - and $r11 $r10 NV_PGRAPH_FECS_INTR_FWMTHD - bra e #ih_no_fwmthd - // none we handle; report to host and ack - nv_rd32($r15, NV_PGRAPH_TRAPPED_DATA_LO) - nv_iowr(NV_PGRAPH_FECS_CC_SCRATCH_VAL(4), 0, $r15) - nv_rd32($r15, NV_PGRAPH_TRAPPED_ADDR) - nv_iowr(NV_PGRAPH_FECS_CC_SCRATCH_VAL(3), 0, $r15) - extr $r14 $r15 16:18 - shl b32 $r14 $r14 2 - imm32($r15, NV_PGRAPH_FE_OBJECT_TABLE(0)) - add b32 $r14 $r15 - call(nv_rd32) - nv_iowr(NV_PGRAPH_FECS_CC_SCRATCH_VAL(2), 0, $r15) - mov $r15 E_BAD_FWMTHD - call(error) - mov $r11 0x100 - nv_wr32(0x400144, $r11) - - // anything we didn't handle, bring it to the host's attention - ih_no_fwmthd: - mov $r11 0x504 // FIFO | CHSW | FWMTHD - not b32 $r11 - and $r11 $r10 $r11 - bra e #ih_no_other - nv_iowr(NV_PGRAPH_FECS_INTR_UP_SET, 0, $r11) - - // ack, and wake up main() - ih_no_other: - nv_iowr(NV_PGRAPH_FECS_INTR_ACK, 0, $r10) - - pop $r15 - pop $r14 - pop $r13 - pop $r11 - pop $r10 - pop $r9 - pop $r8 - mov $flags $r8 - pop $r8 - bclr $flags $p0 - iret - -#if CHIPSET < GK100 -// Not real sure, but, MEM_CMD 7 will hang forever if this isn't done -ctx_4160s: - mov $r15 1 - nv_wr32(0x404160, $r15) - ctx_4160s_wait: - nv_rd32($r15, 0x404160) - xbit $r15 $r15 4 - bra e #ctx_4160s_wait - ret - -// Without clearing again at end of xfer, some things cause PGRAPH -// to hang with STATUS=0x00000007 until it's cleared.. fbcon can -// still function with it set however... -ctx_4160c: - clear b32 $r15 - nv_wr32(0x404160, $r15) - ret -#endif - -// Again, not real sure -// -// In: $r15 value to set 0x404170 to -// -ctx_4170s: - or $r15 0x10 - nv_wr32(0x404170, $r15) - ret - -// Waits for a ctx_4170s() call to complete -// -ctx_4170w: - nv_rd32($r15, 0x404170) - and $r15 0x10 - bra ne #ctx_4170w - ret - -// Disables various things, waits a bit, and re-enables them.. -// -// Not sure how exactly this helps, perhaps "ENABLE" is not such a -// good description for the bits we turn off? Anyways, without this, -// funny things happen. -// -ctx_redswitch: - mov $r14 NV_PGRAPH_FECS_RED_SWITCH_ENABLE_GPC - or $r14 NV_PGRAPH_FECS_RED_SWITCH_POWER_ROP - or $r14 NV_PGRAPH_FECS_RED_SWITCH_POWER_GPC - or $r14 NV_PGRAPH_FECS_RED_SWITCH_POWER_MAIN - nv_iowr(NV_PGRAPH_FECS_RED_SWITCH, 0, $r14) - mov $r15 8 - ctx_redswitch_delay: - sub b32 $r15 1 - bra ne #ctx_redswitch_delay - or $r14 NV_PGRAPH_FECS_RED_SWITCH_ENABLE_ROP - or $r14 NV_PGRAPH_FECS_RED_SWITCH_ENABLE_MAIN - nv_iowr(NV_PGRAPH_FECS_RED_SWITCH, 0, $r14) - ret - -// Not a clue what this is for, except that unless the value is 0x10, the -// strand context is saved (and presumably restored) incorrectly.. -// -// In: $r15 value to set to (0x00/0x10 are used) -// -ctx_86c: - nv_iowr(NV_PGRAPH_FECS_UNK86C, 0, $r15) - nv_wr32(0x408a14, $r15) - nv_wr32(NV_PGRAPH_GPCX_GPCCS_UNK86C, $r15) - ret - -// In: $r15 NV_PGRAPH_FECS_MEM_CMD_* -ctx_mem: - nv_iowr(NV_PGRAPH_FECS_MEM_CMD, 0, $r15) - ctx_mem_wait: - nv_iord($r15, NV_PGRAPH_FECS_MEM_CMD, 0) - or $r15 $r15 - bra ne #ctx_mem_wait - ret - -// ctx_load - load's a channel's ctxctl data, and selects its vm -// -// In: $r2 channel address -// -ctx_load: - trace_set(T_CHAN) - - // switch to channel, somewhat magic in parts.. - mov $r10 12 // DONE_UNK12 - call(wait_donez) - clear b32 $r15 - nv_iowr(0x409a24, 0, $r15) - nv_iowr(NV_PGRAPH_FECS_CHAN_NEXT, 0, $r2) - nv_iowr(NV_PGRAPH_FECS_MEM_CHAN, 0, $r2) - mov $r15 NV_PGRAPH_FECS_MEM_CMD_LOAD_CHAN - call(ctx_mem) - nv_iowr(NV_PGRAPH_FECS_CHAN_ADDR, 0, $r2) - - // load channel header, fetch PGRAPH context pointer - mov $xtargets $r0 - bclr $r2 31 - shl b32 $r2 4 - add b32 $r2 2 - - trace_set(T_LCHAN) - nv_iowr(NV_PGRAPH_FECS_MEM_BASE, 0, $r2) - imm32($r2, NV_PGRAPH_FECS_MEM_TARGET_UNK31) - or $r2 NV_PGRAPH_FECS_MEM_TARGET_AS_VRAM - nv_iowr(NV_PGRAPH_FECS_MEM_TARGET, 0, $r2) - mov $r1 0x10 // chan + 0x0210 - mov $r2 #xfer_data - sethi $r2 0x00020000 // 16 bytes - xdld $r1 $r2 - xdwait - trace_clr(T_LCHAN) - - // update current context - ld b32 $r1 D[$r0 + #xfer_data + 4] - shl b32 $r1 24 - ld b32 $r2 D[$r0 + #xfer_data + 0] - shr b32 $r2 8 - or $r1 $r2 - st b32 D[$r0 + #ctx_current] $r1 - - // set transfer base to start of context, and fetch context header - trace_set(T_LCTXH) - nv_iowr(NV_PGRAPH_FECS_MEM_BASE, 0, $r1) - mov $r2 NV_PGRAPH_FECS_MEM_TARGET_AS_VM - nv_iowr(NV_PGRAPH_FECS_MEM_TARGET, 0, $r2) - mov $r1 #chan_data - sethi $r1 0x00060000 // 256 bytes - xdld $r0 $r1 - xdwait - trace_clr(T_LCTXH) - - trace_clr(T_CHAN) - ret - -// ctx_chan - handler for HUB_SET_CHAN command, will set a channel as -// the active channel for ctxctl, but not actually transfer -// any context data. intended for use only during initial -// context construction. -// -// In: $r2 channel address -// -ctx_chan: -#if CHIPSET < GK100 - call(ctx_4160s) -#endif - call(ctx_load) - mov $r10 12 // DONE_UNK12 - call(wait_donez) - mov $r15 5 // MEM_CMD 5 ??? - call(ctx_mem) -#if CHIPSET < GK100 - call(ctx_4160c) -#endif - ret - -// Execute per-context state overrides list -// -// Only executed on the first load of a channel. Might want to look into -// removing this and having the host directly modify the channel's context -// to change this state... The nouveau DRM already builds this list as -// it's definitely needed for NVIDIA's, so we may as well use it for now -// -// Input: $r1 mmio list length -// -ctx_mmio_exec: - // set transfer base to be the mmio list - ld b32 $r3 D[$r0 + #chan_mmio_address] - nv_iowr(NV_PGRAPH_FECS_MEM_BASE, 0, $r3) - - clear b32 $r3 - ctx_mmio_loop: - // fetch next 256 bytes of mmio list if necessary - and $r4 $r3 0xff - bra ne #ctx_mmio_pull - mov $r5 #xfer_data - sethi $r5 0x00060000 // 256 bytes - xdld $r3 $r5 - xdwait - - // execute a single list entry - ctx_mmio_pull: - ld b32 $r14 D[$r4 + #xfer_data + 0x00] - ld b32 $r15 D[$r4 + #xfer_data + 0x04] - call(nv_wr32) - - // next! - add b32 $r3 8 - sub b32 $r1 1 - bra ne #ctx_mmio_loop - - // set transfer base back to the current context - ctx_mmio_done: - ld b32 $r3 D[$r0 + #ctx_current] - nv_iowr(NV_PGRAPH_FECS_MEM_BASE, 0, $r3) - - // disable the mmio list now, we don't need/want to execute it again - st b32 D[$r0 + #chan_mmio_count] $r0 - mov $r1 #chan_data - sethi $r1 0x00060000 // 256 bytes - xdst $r0 $r1 - xdwait - ret - -// Transfer HUB context data between GPU and storage area -// -// In: $r2 channel address -// $p1 clear on save, set on load -// $p2 set if opposite direction done/will be done, so: -// on save it means: "a load will follow this save" -// on load it means: "a save preceeded this load" -// -ctx_xfer: - // according to mwk, some kind of wait for idle - mov $r14 4 - nv_iowr(0x409c08, 0, $r14) - ctx_xfer_idle: - nv_iord($r14, 0x409c00, 0) - and $r14 0x2000 - bra ne #ctx_xfer_idle - - bra not $p1 #ctx_xfer_pre - bra $p2 #ctx_xfer_pre_load - ctx_xfer_pre: - mov $r15 0x10 - call(ctx_86c) -#if CHIPSET < GK100 - call(ctx_4160s) -#endif - bra not $p1 #ctx_xfer_exec - - ctx_xfer_pre_load: - mov $r15 2 - call(ctx_4170s) - call(ctx_4170w) - call(ctx_redswitch) - clear b32 $r15 - call(ctx_4170s) - call(ctx_load) - - // fetch context pointer, and initiate xfer on all GPCs - ctx_xfer_exec: - ld b32 $r1 D[$r0 + #ctx_current] - - clear b32 $r2 - nv_iowr(NV_PGRAPH_FECS_BAR, 0, $r2) - - nv_wr32(0x41a500, $r1) // GPC_BCAST_WRCMD_DATA = ctx pointer - xbit $r15 $flags $p1 - xbit $r2 $flags $p2 - shl b32 $r2 1 - or $r15 $r2 - nv_wr32(0x41a504, $r15) // GPC_BCAST_WRCMD_CMD = GPC_XFER(type) - - // strands - call(strand_pre) - clear b32 $r2 - nv_iowr(NV_PGRAPH_FECS_STRAND_SELECT, 0x3f, $r2) - xbit $r2 $flags $p1 // SAVE/LOAD - add b32 $r2 NV_PGRAPH_FECS_STRAND_CMD_SAVE - nv_iowr(NV_PGRAPH_FECS_STRAND_CMD, 0x3f, $r2) - - // mmio context - xbit $r10 $flags $p1 // direction - or $r10 6 // first, last - mov $r11 0 // base = 0 - ld b32 $r12 D[$r0 + #hub_mmio_list_head] - ld b32 $r13 D[$r0 + #hub_mmio_list_tail] - mov $r14 0 // not multi - call(mmctx_xfer) - - // wait for GPCs to all complete - mov $r10 8 // DONE_BAR - call(wait_doneo) - - // wait for strand xfer to complete - call(strand_wait) - - // post-op - bra $p1 #ctx_xfer_post - mov $r10 12 // DONE_UNK12 - call(wait_donez) - mov $r15 5 // MEM_CMD 5 ??? - call(ctx_mem) - - bra $p2 #ctx_xfer_done - ctx_xfer_post: - mov $r15 2 - call(ctx_4170s) - clear b32 $r15 - call(ctx_86c) - call(strand_post) - call(ctx_4170w) - clear b32 $r15 - call(ctx_4170s) - - bra not $p1 #ctx_xfer_no_post_mmio - ld b32 $r1 D[$r0 + #chan_mmio_count] - or $r1 $r1 - bra e #ctx_xfer_no_post_mmio - call(ctx_mmio_exec) - - ctx_xfer_no_post_mmio: -#if CHIPSET < GK100 - call(ctx_4160c) -#endif - - ctx_xfer_done: - ret -#endif diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubgm107.fuc5 b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubgm107.fuc5 deleted file mode 100644 index 27591b3086a5..000000000000 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubgm107.fuc5 +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 2013 Red Hat Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - * Authors: Ben Skeggs <bskeggs@redhat.com> - */ - -#define CHIPSET GK208 -#include "macros.fuc" - -.section #gm107_grhub_data -#define INCLUDE_DATA -#include "com.fuc" -#include "hub.fuc" -#undef INCLUDE_DATA - -.section #gm107_grhub_code -#define INCLUDE_CODE -bra #init -#include "com.fuc" -#include "hub.fuc" -.align 256 -#undef INCLUDE_CODE diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubgm107.fuc5.h b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubgm107.fuc5.h deleted file mode 100644 index 5f953c5c20b7..000000000000 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubgm107.fuc5.h +++ /dev/null @@ -1,916 +0,0 @@ -uint32_t gm107_grhub_data[] = { -/* 0x0000: hub_mmio_list_head */ - 0x00000300, -/* 0x0004: hub_mmio_list_tail */ - 0x00000304, -/* 0x0008: gpc_count */ - 0x00000000, -/* 0x000c: rop_count */ - 0x00000000, -/* 0x0010: cmd_queue */ - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -/* 0x0058: ctx_current */ - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -/* 0x0100: chan_data */ -/* 0x0100: chan_mmio_count */ - 0x00000000, -/* 0x0104: chan_mmio_address */ - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -/* 0x0200: xfer_data */ - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -/* 0x0300: hub_mmio_list_base */ - 0x0417e91c, -}; - -uint32_t gm107_grhub_code[] = { - 0x030e0ef5, -/* 0x0004: queue_put */ - 0x9800d898, - 0x86f001d9, - 0xf489a408, - 0x020f0b1b, - 0x0002f87e, -/* 0x001a: queue_put_next */ - 0x98c400f8, - 0x0384b607, - 0xb6008dbb, - 0x8eb50880, - 0x018fb500, - 0xf00190b6, - 0xd9b50f94, -/* 0x0037: queue_get */ - 0xf400f801, - 0xd8980131, - 0x01d99800, - 0x0bf489a4, - 0x0789c421, - 0xbb0394b6, - 0x90b6009d, - 0x009e9808, - 0xb6019f98, - 0x84f00180, - 0x00d8b50f, -/* 0x0063: queue_get_done */ - 0xf80132f4, -/* 0x0065: nv_rd32 */ - 0xf0ecb200, - 0x00801fc9, - 0x0cf601ca, -/* 0x0073: nv_rd32_wait */ - 0x8c04bd00, - 0xcf01ca00, - 0xccc800cc, - 0xf61bf41f, - 0xec7e060a, - 0x008f0000, - 0xffcf01cb, -/* 0x008f: nv_wr32 */ - 0x8000f800, - 0xf601cc00, - 0x04bd000f, - 0xc9f0ecb2, - 0x1ec9f01f, - 0x01ca0080, - 0xbd000cf6, -/* 0x00a9: nv_wr32_wait */ - 0xca008c04, - 0x00cccf01, - 0xf41fccc8, - 0x00f8f61b, -/* 0x00b8: wait_donez */ - 0x99f094bd, - 0x37008000, - 0x0009f602, - 0x008004bd, - 0x0af60206, -/* 0x00cf: wait_donez_ne */ - 0x8804bd00, - 0xcf010000, - 0x8aff0088, - 0xf61bf488, - 0x99f094bd, - 0x17008000, - 0x0009f602, - 0x00f804bd, -/* 0x00ec: wait_doneo */ - 0x99f094bd, - 0x37008000, - 0x0009f602, - 0x008004bd, - 0x0af60206, -/* 0x0103: wait_doneo_e */ - 0x8804bd00, - 0xcf010000, - 0x8aff0088, - 0xf60bf488, - 0x99f094bd, - 0x17008000, - 0x0009f602, - 0x00f804bd, -/* 0x0120: mmctx_size */ -/* 0x0122: nv_mmctx_size_loop */ - 0xe89894bd, - 0x1a85b600, - 0xb60180b6, - 0x98bb0284, - 0x04e0b600, - 0x1bf4efa4, - 0xf89fb2ec, -/* 0x013d: mmctx_xfer */ - 0xf094bd00, - 0x00800199, - 0x09f60237, - 0xbd04bd00, - 0x05bbfd94, - 0x800f0bf4, - 0xf601c400, - 0x04bd000b, -/* 0x015f: mmctx_base_disabled */ - 0xfd0099f0, - 0x0bf405ee, - 0xc6008018, - 0x000ef601, - 0x008004bd, - 0x0ff601c7, - 0xf004bd00, -/* 0x017a: mmctx_multi_disabled */ - 0xabc80199, - 0x10b4b600, - 0xc80cb9f0, - 0xe4b601ae, - 0x05befd11, - 0x01c50080, - 0xbd000bf6, -/* 0x0195: mmctx_exec_loop */ -/* 0x0195: mmctx_wait_free */ - 0xc5008e04, - 0x00eecf01, - 0xf41fe4f0, - 0xce98f60b, - 0x05e9fd00, - 0x01c80080, - 0xbd000ef6, - 0x04c0b604, - 0x1bf4cda4, - 0x02abc8df, -/* 0x01bf: mmctx_fini_wait */ - 0x8b1c1bf4, - 0xcf01c500, - 0xb4f000bb, - 0x10b4b01f, - 0x0af31bf4, - 0x00b87e05, - 0x250ef400, -/* 0x01d8: mmctx_stop */ - 0xb600abc8, - 0xb9f010b4, - 0x12b9f00c, - 0x01c50080, - 0xbd000bf6, -/* 0x01ed: mmctx_stop_wait */ - 0xc5008b04, - 0x00bbcf01, - 0xf412bbc8, -/* 0x01fa: mmctx_done */ - 0x94bdf61b, - 0x800199f0, - 0xf6021700, - 0x04bd0009, -/* 0x020a: strand_wait */ - 0xa0f900f8, - 0xb87e020a, - 0xa0fc0000, -/* 0x0216: strand_pre */ - 0x0c0900f8, - 0x024afc80, - 0xbd0009f6, - 0x020a7e04, -/* 0x0227: strand_post */ - 0x0900f800, - 0x4afc800d, - 0x0009f602, - 0x0a7e04bd, - 0x00f80002, -/* 0x0238: strand_set */ - 0xfc800f0c, - 0x0cf6024f, - 0x0c04bd00, - 0x4afc800b, - 0x000cf602, - 0xfc8004bd, - 0x0ef6024f, - 0x0c04bd00, - 0x4afc800a, - 0x000cf602, - 0x0a7e04bd, - 0x00f80002, -/* 0x0268: strand_ctx_init */ - 0x99f094bd, - 0x37008003, - 0x0009f602, - 0x167e04bd, - 0x030e0002, - 0x0002387e, - 0xfc80c4bd, - 0x0cf60247, - 0x0c04bd00, - 0x4afc8001, - 0x000cf602, - 0x0a7e04bd, - 0x0c920002, - 0x46fc8001, - 0x000cf602, - 0x020c04bd, - 0x024afc80, - 0xbd000cf6, - 0x020a7e04, - 0x02277e00, - 0x42008800, - 0x20008902, - 0x0099cf02, -/* 0x02c7: ctx_init_strand_loop */ - 0xf608fe95, - 0x8ef6008e, - 0x808acf40, - 0xb606a5b6, - 0xeabb01a0, - 0x0480b600, - 0xf40192b6, - 0xe4b6e81b, - 0xf2efbc08, - 0x99f094bd, - 0x17008003, - 0x0009f602, - 0x00f804bd, -/* 0x02f8: error */ - 0x02050080, - 0xbd000ff6, - 0x80010f04, - 0xf6030700, - 0x04bd000f, -/* 0x030e: init */ - 0x04bd00f8, - 0x410007fe, - 0x11cf4200, - 0x0911e700, - 0x0814b601, - 0x020014fe, - 0x12004002, - 0xbd0002f6, - 0x05c94104, - 0xbd0010fe, - 0x07004024, - 0xbd0002f6, - 0x20034204, - 0x01010080, - 0xbd0002f6, - 0x20044204, - 0x01010480, - 0xbd0002f6, - 0x200b4204, - 0x01010880, - 0xbd0002f6, - 0x200c4204, - 0x01011c80, - 0xbd0002f6, - 0x01039204, - 0x03090080, - 0xbd0003f6, - 0x87044204, - 0xf6040040, - 0x04bd0002, - 0x00400402, - 0x0002f603, - 0x31f404bd, - 0x96048e10, - 0x00657e40, - 0xc7feb200, - 0x01b590f1, - 0x1ff4f003, - 0x01020fb5, - 0x041fbb01, - 0x800112b6, - 0xf6010300, - 0x04bd0001, - 0x01040080, - 0xbd0001f6, - 0x01004104, - 0xa87e020f, - 0xb77e0006, - 0x100f0006, - 0x0006f97e, - 0x98000e98, - 0x207e010f, - 0x14950001, - 0xc0008008, - 0x0004f601, - 0x008004bd, - 0x04f601c1, - 0xb704bd00, - 0xbb130030, - 0xf5b6001f, - 0xd3008002, - 0x000ff601, - 0x15b604bd, - 0x0110b608, - 0xb20814b6, - 0x02687e1f, - 0x001fbb00, - 0x84020398, -/* 0x041f: init_gpc */ - 0xb8502000, - 0x0008044e, - 0x8f7e1fb2, - 0x4eb80000, - 0xbd00010c, - 0x008f7ef4, - 0x044eb800, - 0x8f7e0001, - 0x4eb80000, - 0x0f000100, - 0x008f7e02, - 0x004eb800, -/* 0x044e: init_gpc_wait */ - 0x657e0008, - 0xffc80000, - 0xf90bf41f, - 0x08044eb8, - 0x00657e00, - 0x001fbb00, - 0x800040b7, - 0xf40132b6, - 0x000fb41b, - 0x0006f97e, - 0xa87e000f, - 0x00800006, - 0x01f60201, - 0xbd04bd00, - 0x1f19f014, - 0x02300080, - 0xbd0001f6, -/* 0x0491: main */ - 0x0031f404, - 0x0d0028f4, - 0x00377e10, - 0xf401f400, - 0x4001e4b1, - 0x00c71bf5, - 0x99f094bd, - 0x37008004, - 0x0009f602, - 0x008104bd, - 0x11cf02c0, - 0xc1008200, - 0x0022cf02, - 0xf41f13c8, - 0x23c8770b, - 0x550bf41f, - 0x12b220f9, - 0x99f094bd, - 0x37008007, - 0x0009f602, - 0x32f404bd, - 0x0231f401, - 0x00087c7e, - 0x99f094bd, - 0x17008007, - 0x0009f602, - 0x20fc04bd, - 0x99f094bd, - 0x37008006, - 0x0009f602, - 0x31f404bd, - 0x087c7e01, - 0xf094bd00, - 0x00800699, - 0x09f60217, - 0xf404bd00, -/* 0x0522: chsw_prev_no_next */ - 0x20f92f0e, - 0x32f412b2, - 0x0232f401, - 0x00087c7e, - 0x008020fc, - 0x02f602c0, - 0xf404bd00, -/* 0x053e: chsw_no_prev */ - 0x23c8130e, - 0x0d0bf41f, - 0xf40131f4, - 0x7c7e0232, -/* 0x054e: chsw_done */ - 0x01020008, - 0x02c30080, - 0xbd0002f6, - 0xf094bd04, - 0x00800499, - 0x09f60217, - 0xf504bd00, -/* 0x056b: main_not_ctx_switch */ - 0xb0ff2a0e, - 0x1bf401e4, - 0x7ef2b20c, - 0xf400081c, -/* 0x057a: main_not_ctx_chan */ - 0xe4b0400e, - 0x2c1bf402, - 0x99f094bd, - 0x37008007, - 0x0009f602, - 0x32f404bd, - 0x0232f401, - 0x00087c7e, - 0x99f094bd, - 0x17008007, - 0x0009f602, - 0x0ef404bd, -/* 0x05a9: main_not_ctx_save */ - 0x10ef9411, - 0x7e01f5f0, - 0xf50002f8, -/* 0x05b7: main_done */ - 0xbdfede0e, - 0x1f29f024, - 0x02300080, - 0xbd0002f6, - 0xcc0ef504, -/* 0x05c9: ih */ - 0xfe80f9fe, - 0x80f90188, - 0xa0f990f9, - 0xd0f9b0f9, - 0xf0f9e0f9, - 0x004a04bd, - 0x00aacf02, - 0xf404abc4, - 0x100d230b, - 0xcf1a004e, - 0x004f00ee, - 0x00ffcf19, - 0x0000047e, - 0x0400b0b7, - 0x0040010e, - 0x000ef61d, -/* 0x060a: ih_no_fifo */ - 0xabe404bd, - 0x0bf40100, - 0x4e100d0c, - 0x047e4001, -/* 0x061a: ih_no_ctxsw */ - 0xabe40000, - 0x0bf40400, - 0x07088e56, - 0x00657e40, - 0x80ffb200, - 0xf6020400, - 0x04bd000f, - 0x4007048e, - 0x0000657e, - 0x0080ffb2, - 0x0ff60203, - 0xc704bd00, - 0xee9450fe, - 0x07008f02, - 0x00efbb40, - 0x0000657e, - 0x02020080, - 0xbd000ff6, - 0x7e030f04, - 0x4b0002f8, - 0xbfb20100, - 0x4001448e, - 0x00008f7e, -/* 0x0674: ih_no_fwmthd */ - 0xbd05044b, - 0xb4abffb0, - 0x800c0bf4, - 0xf6030700, - 0x04bd000b, -/* 0x0688: ih_no_other */ - 0xf6010040, - 0x04bd000a, - 0xe0fcf0fc, - 0xb0fcd0fc, - 0x90fca0fc, - 0x88fe80fc, - 0xf480fc00, - 0x01f80032, -/* 0x06a8: ctx_4170s */ - 0xb210f5f0, - 0x41708eff, - 0x008f7e40, -/* 0x06b7: ctx_4170w */ - 0x8e00f800, - 0x7e404170, - 0xb2000065, - 0x10f4f0ff, - 0xf8f31bf4, -/* 0x06c9: ctx_redswitch */ - 0x02004e00, - 0xf040e5f0, - 0xe5f020e5, - 0x85008010, - 0x000ef601, - 0x080f04bd, -/* 0x06e0: ctx_redswitch_delay */ - 0xf401f2b6, - 0xe5f1fd1b, - 0xe5f10400, - 0x00800100, - 0x0ef60185, - 0xf804bd00, -/* 0x06f9: ctx_86c */ - 0x23008000, - 0x000ff602, - 0xffb204bd, - 0x408a148e, - 0x00008f7e, - 0x8c8effb2, - 0x8f7e41a8, - 0x00f80000, -/* 0x0718: ctx_mem */ - 0x02840080, - 0xbd000ff6, -/* 0x0721: ctx_mem_wait */ - 0x84008f04, - 0x00ffcf02, - 0xf405fffd, - 0x00f8f61b, -/* 0x0730: ctx_load */ - 0x99f094bd, - 0x37008005, - 0x0009f602, - 0x0c0a04bd, - 0x0000b87e, - 0x0080f4bd, - 0x0ff60289, - 0x8004bd00, - 0xf602c100, - 0x04bd0002, - 0x02830080, - 0xbd0002f6, - 0x7e070f04, - 0x80000718, - 0xf602c000, - 0x04bd0002, - 0xf0000bfe, - 0x24b61f2a, - 0x0220b604, - 0x99f094bd, - 0x37008008, - 0x0009f602, - 0x008004bd, - 0x02f60281, - 0xd204bd00, - 0x80000000, - 0x800225f0, - 0xf6028800, - 0x04bd0002, - 0x00421001, - 0x0223f002, - 0xf80512fa, - 0xf094bd03, - 0x00800899, - 0x09f60217, - 0x9804bd00, - 0x14b68101, - 0x80029818, - 0xfd0825b6, - 0x01b50512, - 0xf094bd16, - 0x00800999, - 0x09f60237, - 0x8004bd00, - 0xf6028100, - 0x04bd0001, - 0x00800102, - 0x02f60288, - 0x4104bd00, - 0x13f00100, - 0x0501fa06, - 0x94bd03f8, - 0x800999f0, - 0xf6021700, - 0x04bd0009, - 0x99f094bd, - 0x17008005, - 0x0009f602, - 0x00f804bd, -/* 0x081c: ctx_chan */ - 0x0007307e, - 0xb87e0c0a, - 0x050f0000, - 0x0007187e, -/* 0x082e: ctx_mmio_exec */ - 0x039800f8, - 0x81008041, - 0x0003f602, - 0x34bd04bd, -/* 0x083c: ctx_mmio_loop */ - 0xf4ff34c4, - 0x00450e1b, - 0x0653f002, - 0xf80535fa, -/* 0x084d: ctx_mmio_pull */ - 0x804e9803, - 0x7e814f98, - 0xb600008f, - 0x12b60830, - 0xdf1bf401, -/* 0x0860: ctx_mmio_done */ - 0x80160398, - 0xf6028100, - 0x04bd0003, - 0x414000b5, - 0x13f00100, - 0x0601fa06, - 0x00f803f8, -/* 0x087c: ctx_xfer */ - 0x0080040e, - 0x0ef60302, -/* 0x0887: ctx_xfer_idle */ - 0x8e04bd00, - 0xcf030000, - 0xe4f100ee, - 0x1bf42000, - 0x0611f4f5, -/* 0x089b: ctx_xfer_pre */ - 0x0f0c02f4, - 0x06f97e10, - 0x1b11f400, -/* 0x08a4: ctx_xfer_pre_load */ - 0xa87e020f, - 0xb77e0006, - 0xc97e0006, - 0xf4bd0006, - 0x0006a87e, - 0x0007307e, -/* 0x08bc: ctx_xfer_exec */ - 0xbd160198, - 0x05008024, - 0x0002f601, - 0x1fb204bd, - 0x41a5008e, - 0x00008f7e, - 0xf001fcf0, - 0x24b6022c, - 0x05f2fd01, - 0x048effb2, - 0x8f7e41a5, - 0x167e0000, - 0x24bd0002, - 0x0247fc80, - 0xbd0002f6, - 0x012cf004, - 0x800320b6, - 0xf6024afc, - 0x04bd0002, - 0xf001acf0, - 0x000b06a5, - 0x98000c98, - 0x000e010d, - 0x00013d7e, - 0xec7e080a, - 0x0a7e0000, - 0x01f40002, - 0x7e0c0a12, - 0x0f0000b8, - 0x07187e05, - 0x2d02f400, -/* 0x0938: ctx_xfer_post */ - 0xa87e020f, - 0xf4bd0006, - 0x0006f97e, - 0x0002277e, - 0x0006b77e, - 0xa87ef4bd, - 0x11f40006, - 0x40019810, - 0xf40511fd, - 0x2e7e070b, -/* 0x0962: ctx_xfer_no_post_mmio */ -/* 0x0962: ctx_xfer_done */ - 0x00f80008, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -}; diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnv108.fuc5 b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnv108.fuc5 deleted file mode 100644 index 7c5d25630fa8..000000000000 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnv108.fuc5 +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 2013 Red Hat Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - * Authors: Ben Skeggs <bskeggs@redhat.com> - */ - -#define CHIPSET GK208 -#include "macros.fuc" - -.section #nv108_grhub_data -#define INCLUDE_DATA -#include "com.fuc" -#include "hub.fuc" -#undef INCLUDE_DATA - -.section #nv108_grhub_code -#define INCLUDE_CODE -bra #init -#include "com.fuc" -#include "hub.fuc" -.align 256 -#undef INCLUDE_CODE diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnv108.fuc5.h b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnv108.fuc5.h deleted file mode 100644 index e49b5a877ae4..000000000000 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnv108.fuc5.h +++ /dev/null @@ -1,916 +0,0 @@ -uint32_t nv108_grhub_data[] = { -/* 0x0000: hub_mmio_list_head */ - 0x00000300, -/* 0x0004: hub_mmio_list_tail */ - 0x00000304, -/* 0x0008: gpc_count */ - 0x00000000, -/* 0x000c: rop_count */ - 0x00000000, -/* 0x0010: cmd_queue */ - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -/* 0x0058: ctx_current */ - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -/* 0x0100: chan_data */ -/* 0x0100: chan_mmio_count */ - 0x00000000, -/* 0x0104: chan_mmio_address */ - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -/* 0x0200: xfer_data */ - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -/* 0x0300: hub_mmio_list_base */ - 0x0417e91c, -}; - -uint32_t nv108_grhub_code[] = { - 0x030e0ef5, -/* 0x0004: queue_put */ - 0x9800d898, - 0x86f001d9, - 0xf489a408, - 0x020f0b1b, - 0x0002f87e, -/* 0x001a: queue_put_next */ - 0x98c400f8, - 0x0384b607, - 0xb6008dbb, - 0x8eb50880, - 0x018fb500, - 0xf00190b6, - 0xd9b50f94, -/* 0x0037: queue_get */ - 0xf400f801, - 0xd8980131, - 0x01d99800, - 0x0bf489a4, - 0x0789c421, - 0xbb0394b6, - 0x90b6009d, - 0x009e9808, - 0xb6019f98, - 0x84f00180, - 0x00d8b50f, -/* 0x0063: queue_get_done */ - 0xf80132f4, -/* 0x0065: nv_rd32 */ - 0xf0ecb200, - 0x00801fc9, - 0x0cf601ca, -/* 0x0073: nv_rd32_wait */ - 0x8c04bd00, - 0xcf01ca00, - 0xccc800cc, - 0xf61bf41f, - 0xec7e060a, - 0x008f0000, - 0xffcf01cb, -/* 0x008f: nv_wr32 */ - 0x8000f800, - 0xf601cc00, - 0x04bd000f, - 0xc9f0ecb2, - 0x1ec9f01f, - 0x01ca0080, - 0xbd000cf6, -/* 0x00a9: nv_wr32_wait */ - 0xca008c04, - 0x00cccf01, - 0xf41fccc8, - 0x00f8f61b, -/* 0x00b8: wait_donez */ - 0x99f094bd, - 0x37008000, - 0x0009f602, - 0x008004bd, - 0x0af60206, -/* 0x00cf: wait_donez_ne */ - 0x8804bd00, - 0xcf010000, - 0x8aff0088, - 0xf61bf488, - 0x99f094bd, - 0x17008000, - 0x0009f602, - 0x00f804bd, -/* 0x00ec: wait_doneo */ - 0x99f094bd, - 0x37008000, - 0x0009f602, - 0x008004bd, - 0x0af60206, -/* 0x0103: wait_doneo_e */ - 0x8804bd00, - 0xcf010000, - 0x8aff0088, - 0xf60bf488, - 0x99f094bd, - 0x17008000, - 0x0009f602, - 0x00f804bd, -/* 0x0120: mmctx_size */ -/* 0x0122: nv_mmctx_size_loop */ - 0xe89894bd, - 0x1a85b600, - 0xb60180b6, - 0x98bb0284, - 0x04e0b600, - 0x1bf4efa4, - 0xf89fb2ec, -/* 0x013d: mmctx_xfer */ - 0xf094bd00, - 0x00800199, - 0x09f60237, - 0xbd04bd00, - 0x05bbfd94, - 0x800f0bf4, - 0xf601c400, - 0x04bd000b, -/* 0x015f: mmctx_base_disabled */ - 0xfd0099f0, - 0x0bf405ee, - 0xc6008018, - 0x000ef601, - 0x008004bd, - 0x0ff601c7, - 0xf004bd00, -/* 0x017a: mmctx_multi_disabled */ - 0xabc80199, - 0x10b4b600, - 0xc80cb9f0, - 0xe4b601ae, - 0x05befd11, - 0x01c50080, - 0xbd000bf6, -/* 0x0195: mmctx_exec_loop */ -/* 0x0195: mmctx_wait_free */ - 0xc5008e04, - 0x00eecf01, - 0xf41fe4f0, - 0xce98f60b, - 0x05e9fd00, - 0x01c80080, - 0xbd000ef6, - 0x04c0b604, - 0x1bf4cda4, - 0x02abc8df, -/* 0x01bf: mmctx_fini_wait */ - 0x8b1c1bf4, - 0xcf01c500, - 0xb4f000bb, - 0x10b4b01f, - 0x0af31bf4, - 0x00b87e05, - 0x250ef400, -/* 0x01d8: mmctx_stop */ - 0xb600abc8, - 0xb9f010b4, - 0x12b9f00c, - 0x01c50080, - 0xbd000bf6, -/* 0x01ed: mmctx_stop_wait */ - 0xc5008b04, - 0x00bbcf01, - 0xf412bbc8, -/* 0x01fa: mmctx_done */ - 0x94bdf61b, - 0x800199f0, - 0xf6021700, - 0x04bd0009, -/* 0x020a: strand_wait */ - 0xa0f900f8, - 0xb87e020a, - 0xa0fc0000, -/* 0x0216: strand_pre */ - 0x0c0900f8, - 0x024afc80, - 0xbd0009f6, - 0x020a7e04, -/* 0x0227: strand_post */ - 0x0900f800, - 0x4afc800d, - 0x0009f602, - 0x0a7e04bd, - 0x00f80002, -/* 0x0238: strand_set */ - 0xfc800f0c, - 0x0cf6024f, - 0x0c04bd00, - 0x4afc800b, - 0x000cf602, - 0xfc8004bd, - 0x0ef6024f, - 0x0c04bd00, - 0x4afc800a, - 0x000cf602, - 0x0a7e04bd, - 0x00f80002, -/* 0x0268: strand_ctx_init */ - 0x99f094bd, - 0x37008003, - 0x0009f602, - 0x167e04bd, - 0x030e0002, - 0x0002387e, - 0xfc80c4bd, - 0x0cf60247, - 0x0c04bd00, - 0x4afc8001, - 0x000cf602, - 0x0a7e04bd, - 0x0c920002, - 0x46fc8001, - 0x000cf602, - 0x020c04bd, - 0x024afc80, - 0xbd000cf6, - 0x020a7e04, - 0x02277e00, - 0x42008800, - 0x20008902, - 0x0099cf02, -/* 0x02c7: ctx_init_strand_loop */ - 0xf608fe95, - 0x8ef6008e, - 0x808acf40, - 0xb606a5b6, - 0xeabb01a0, - 0x0480b600, - 0xf40192b6, - 0xe4b6e81b, - 0xf2efbc08, - 0x99f094bd, - 0x17008003, - 0x0009f602, - 0x00f804bd, -/* 0x02f8: error */ - 0x02050080, - 0xbd000ff6, - 0x80010f04, - 0xf6030700, - 0x04bd000f, -/* 0x030e: init */ - 0x04bd00f8, - 0x410007fe, - 0x11cf4200, - 0x0911e700, - 0x0814b601, - 0x020014fe, - 0x12004002, - 0xbd0002f6, - 0x05c94104, - 0xbd0010fe, - 0x07004024, - 0xbd0002f6, - 0x20034204, - 0x01010080, - 0xbd0002f6, - 0x20044204, - 0x01010480, - 0xbd0002f6, - 0x200b4204, - 0x01010880, - 0xbd0002f6, - 0x200c4204, - 0x01011c80, - 0xbd0002f6, - 0x01039204, - 0x03090080, - 0xbd0003f6, - 0x87044204, - 0xf6040040, - 0x04bd0002, - 0x00400402, - 0x0002f603, - 0x31f404bd, - 0x96048e10, - 0x00657e40, - 0xc7feb200, - 0x01b590f1, - 0x1ff4f003, - 0x01020fb5, - 0x041fbb01, - 0x800112b6, - 0xf6010300, - 0x04bd0001, - 0x01040080, - 0xbd0001f6, - 0x01004104, - 0xa87e020f, - 0xb77e0006, - 0x100f0006, - 0x0006f97e, - 0x98000e98, - 0x207e010f, - 0x14950001, - 0xc0008008, - 0x0004f601, - 0x008004bd, - 0x04f601c1, - 0xb704bd00, - 0xbb130030, - 0xf5b6001f, - 0xd3008002, - 0x000ff601, - 0x15b604bd, - 0x0110b608, - 0xb20814b6, - 0x02687e1f, - 0x001fbb00, - 0x84020398, -/* 0x041f: init_gpc */ - 0xb8502000, - 0x0008044e, - 0x8f7e1fb2, - 0x4eb80000, - 0xbd00010c, - 0x008f7ef4, - 0x044eb800, - 0x8f7e0001, - 0x4eb80000, - 0x0f000100, - 0x008f7e02, - 0x004eb800, -/* 0x044e: init_gpc_wait */ - 0x657e0008, - 0xffc80000, - 0xf90bf41f, - 0x08044eb8, - 0x00657e00, - 0x001fbb00, - 0x800040b7, - 0xf40132b6, - 0x000fb41b, - 0x0006f97e, - 0xa87e000f, - 0x00800006, - 0x01f60201, - 0xbd04bd00, - 0x1f19f014, - 0x02300080, - 0xbd0001f6, -/* 0x0491: main */ - 0x0031f404, - 0x0d0028f4, - 0x00377e10, - 0xf401f400, - 0x4001e4b1, - 0x00c71bf5, - 0x99f094bd, - 0x37008004, - 0x0009f602, - 0x008104bd, - 0x11cf02c0, - 0xc1008200, - 0x0022cf02, - 0xf41f13c8, - 0x23c8770b, - 0x550bf41f, - 0x12b220f9, - 0x99f094bd, - 0x37008007, - 0x0009f602, - 0x32f404bd, - 0x0231f401, - 0x00087c7e, - 0x99f094bd, - 0x17008007, - 0x0009f602, - 0x20fc04bd, - 0x99f094bd, - 0x37008006, - 0x0009f602, - 0x31f404bd, - 0x087c7e01, - 0xf094bd00, - 0x00800699, - 0x09f60217, - 0xf404bd00, -/* 0x0522: chsw_prev_no_next */ - 0x20f92f0e, - 0x32f412b2, - 0x0232f401, - 0x00087c7e, - 0x008020fc, - 0x02f602c0, - 0xf404bd00, -/* 0x053e: chsw_no_prev */ - 0x23c8130e, - 0x0d0bf41f, - 0xf40131f4, - 0x7c7e0232, -/* 0x054e: chsw_done */ - 0x01020008, - 0x02c30080, - 0xbd0002f6, - 0xf094bd04, - 0x00800499, - 0x09f60217, - 0xf504bd00, -/* 0x056b: main_not_ctx_switch */ - 0xb0ff2a0e, - 0x1bf401e4, - 0x7ef2b20c, - 0xf400081c, -/* 0x057a: main_not_ctx_chan */ - 0xe4b0400e, - 0x2c1bf402, - 0x99f094bd, - 0x37008007, - 0x0009f602, - 0x32f404bd, - 0x0232f401, - 0x00087c7e, - 0x99f094bd, - 0x17008007, - 0x0009f602, - 0x0ef404bd, -/* 0x05a9: main_not_ctx_save */ - 0x10ef9411, - 0x7e01f5f0, - 0xf50002f8, -/* 0x05b7: main_done */ - 0xbdfede0e, - 0x1f29f024, - 0x02300080, - 0xbd0002f6, - 0xcc0ef504, -/* 0x05c9: ih */ - 0xfe80f9fe, - 0x80f90188, - 0xa0f990f9, - 0xd0f9b0f9, - 0xf0f9e0f9, - 0x004a04bd, - 0x00aacf02, - 0xf404abc4, - 0x100d230b, - 0xcf1a004e, - 0x004f00ee, - 0x00ffcf19, - 0x0000047e, - 0x0400b0b7, - 0x0040010e, - 0x000ef61d, -/* 0x060a: ih_no_fifo */ - 0xabe404bd, - 0x0bf40100, - 0x4e100d0c, - 0x047e4001, -/* 0x061a: ih_no_ctxsw */ - 0xabe40000, - 0x0bf40400, - 0x07088e56, - 0x00657e40, - 0x80ffb200, - 0xf6020400, - 0x04bd000f, - 0x4007048e, - 0x0000657e, - 0x0080ffb2, - 0x0ff60203, - 0xc704bd00, - 0xee9450fe, - 0x07008f02, - 0x00efbb40, - 0x0000657e, - 0x02020080, - 0xbd000ff6, - 0x7e030f04, - 0x4b0002f8, - 0xbfb20100, - 0x4001448e, - 0x00008f7e, -/* 0x0674: ih_no_fwmthd */ - 0xbd05044b, - 0xb4abffb0, - 0x800c0bf4, - 0xf6030700, - 0x04bd000b, -/* 0x0688: ih_no_other */ - 0xf6010040, - 0x04bd000a, - 0xe0fcf0fc, - 0xb0fcd0fc, - 0x90fca0fc, - 0x88fe80fc, - 0xf480fc00, - 0x01f80032, -/* 0x06a8: ctx_4170s */ - 0xb210f5f0, - 0x41708eff, - 0x008f7e40, -/* 0x06b7: ctx_4170w */ - 0x8e00f800, - 0x7e404170, - 0xb2000065, - 0x10f4f0ff, - 0xf8f31bf4, -/* 0x06c9: ctx_redswitch */ - 0x02004e00, - 0xf040e5f0, - 0xe5f020e5, - 0x85008010, - 0x000ef601, - 0x080f04bd, -/* 0x06e0: ctx_redswitch_delay */ - 0xf401f2b6, - 0xe5f1fd1b, - 0xe5f10400, - 0x00800100, - 0x0ef60185, - 0xf804bd00, -/* 0x06f9: ctx_86c */ - 0x23008000, - 0x000ff602, - 0xffb204bd, - 0x408a148e, - 0x00008f7e, - 0x8c8effb2, - 0x8f7e41a8, - 0x00f80000, -/* 0x0718: ctx_mem */ - 0x02840080, - 0xbd000ff6, -/* 0x0721: ctx_mem_wait */ - 0x84008f04, - 0x00ffcf02, - 0xf405fffd, - 0x00f8f61b, -/* 0x0730: ctx_load */ - 0x99f094bd, - 0x37008005, - 0x0009f602, - 0x0c0a04bd, - 0x0000b87e, - 0x0080f4bd, - 0x0ff60289, - 0x8004bd00, - 0xf602c100, - 0x04bd0002, - 0x02830080, - 0xbd0002f6, - 0x7e070f04, - 0x80000718, - 0xf602c000, - 0x04bd0002, - 0xf0000bfe, - 0x24b61f2a, - 0x0220b604, - 0x99f094bd, - 0x37008008, - 0x0009f602, - 0x008004bd, - 0x02f60281, - 0xd204bd00, - 0x80000000, - 0x800225f0, - 0xf6028800, - 0x04bd0002, - 0x00421001, - 0x0223f002, - 0xf80512fa, - 0xf094bd03, - 0x00800899, - 0x09f60217, - 0x9804bd00, - 0x14b68101, - 0x80029818, - 0xfd0825b6, - 0x01b50512, - 0xf094bd16, - 0x00800999, - 0x09f60237, - 0x8004bd00, - 0xf6028100, - 0x04bd0001, - 0x00800102, - 0x02f60288, - 0x4104bd00, - 0x13f00100, - 0x0501fa06, - 0x94bd03f8, - 0x800999f0, - 0xf6021700, - 0x04bd0009, - 0x99f094bd, - 0x17008005, - 0x0009f602, - 0x00f804bd, -/* 0x081c: ctx_chan */ - 0x0007307e, - 0xb87e0c0a, - 0x050f0000, - 0x0007187e, -/* 0x082e: ctx_mmio_exec */ - 0x039800f8, - 0x81008041, - 0x0003f602, - 0x34bd04bd, -/* 0x083c: ctx_mmio_loop */ - 0xf4ff34c4, - 0x00450e1b, - 0x0653f002, - 0xf80535fa, -/* 0x084d: ctx_mmio_pull */ - 0x804e9803, - 0x7e814f98, - 0xb600008f, - 0x12b60830, - 0xdf1bf401, -/* 0x0860: ctx_mmio_done */ - 0x80160398, - 0xf6028100, - 0x04bd0003, - 0x414000b5, - 0x13f00100, - 0x0601fa06, - 0x00f803f8, -/* 0x087c: ctx_xfer */ - 0x0080040e, - 0x0ef60302, -/* 0x0887: ctx_xfer_idle */ - 0x8e04bd00, - 0xcf030000, - 0xe4f100ee, - 0x1bf42000, - 0x0611f4f5, -/* 0x089b: ctx_xfer_pre */ - 0x0f0c02f4, - 0x06f97e10, - 0x1b11f400, -/* 0x08a4: ctx_xfer_pre_load */ - 0xa87e020f, - 0xb77e0006, - 0xc97e0006, - 0xf4bd0006, - 0x0006a87e, - 0x0007307e, -/* 0x08bc: ctx_xfer_exec */ - 0xbd160198, - 0x05008024, - 0x0002f601, - 0x1fb204bd, - 0x41a5008e, - 0x00008f7e, - 0xf001fcf0, - 0x24b6022c, - 0x05f2fd01, - 0x048effb2, - 0x8f7e41a5, - 0x167e0000, - 0x24bd0002, - 0x0247fc80, - 0xbd0002f6, - 0x012cf004, - 0x800320b6, - 0xf6024afc, - 0x04bd0002, - 0xf001acf0, - 0x000b06a5, - 0x98000c98, - 0x000e010d, - 0x00013d7e, - 0xec7e080a, - 0x0a7e0000, - 0x01f40002, - 0x7e0c0a12, - 0x0f0000b8, - 0x07187e05, - 0x2d02f400, -/* 0x0938: ctx_xfer_post */ - 0xa87e020f, - 0xf4bd0006, - 0x0006f97e, - 0x0002277e, - 0x0006b77e, - 0xa87ef4bd, - 0x11f40006, - 0x40019810, - 0xf40511fd, - 0x2e7e070b, -/* 0x0962: ctx_xfer_no_post_mmio */ -/* 0x0962: ctx_xfer_done */ - 0x00f80008, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -}; diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvc0.fuc b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvc0.fuc deleted file mode 100644 index 3ff52badf932..000000000000 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvc0.fuc +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 2013 Red Hat Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - * Authors: Ben Skeggs <bskeggs@redhat.com> - */ - -#define CHIPSET GF100 -#include "macros.fuc" - -.section #nvc0_grhub_data -#define INCLUDE_DATA -#include "com.fuc" -#include "hub.fuc" -#undef INCLUDE_DATA - -.section #nvc0_grhub_code -#define INCLUDE_CODE -bra #init -#include "com.fuc" -#include "hub.fuc" -.align 256 -#undef INCLUDE_CODE diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvc0.fuc.h b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvc0.fuc.h deleted file mode 100644 index 92dfe6a4ac87..000000000000 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvc0.fuc.h +++ /dev/null @@ -1,1047 +0,0 @@ -uint32_t nvc0_grhub_data[] = { -/* 0x0000: hub_mmio_list_head */ - 0x00000300, -/* 0x0004: hub_mmio_list_tail */ - 0x00000304, -/* 0x0008: gpc_count */ - 0x00000000, -/* 0x000c: rop_count */ - 0x00000000, -/* 0x0010: cmd_queue */ - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -/* 0x0058: ctx_current */ - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -/* 0x0100: chan_data */ -/* 0x0100: chan_mmio_count */ - 0x00000000, -/* 0x0104: chan_mmio_address */ - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -/* 0x0200: xfer_data */ - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -/* 0x0300: hub_mmio_list_base */ - 0x0417e91c, -}; - -uint32_t nvc0_grhub_code[] = { - 0x039b0ef5, -/* 0x0004: queue_put */ - 0x9800d898, - 0x86f001d9, - 0x0489b808, - 0xf00c1bf4, - 0x21f502f7, - 0x00f8037e, -/* 0x001c: queue_put_next */ - 0xb60798c4, - 0x8dbb0384, - 0x0880b600, - 0x80008e80, - 0x90b6018f, - 0x0f94f001, - 0xf801d980, -/* 0x0039: queue_get */ - 0x0131f400, - 0x9800d898, - 0x89b801d9, - 0x210bf404, - 0xb60789c4, - 0x9dbb0394, - 0x0890b600, - 0x98009e98, - 0x80b6019f, - 0x0f84f001, - 0xf400d880, -/* 0x0066: queue_get_done */ - 0x00f80132, -/* 0x0068: nv_rd32 */ - 0xf002ecb9, - 0x07f11fc9, - 0x03f0ca00, - 0x000cd001, -/* 0x007a: nv_rd32_wait */ - 0xc7f104bd, - 0xc3f0ca00, - 0x00cccf01, - 0xf41fccc8, - 0xa7f0f31b, - 0x1021f506, - 0x00f7f101, - 0x01f3f0cb, - 0xf800ffcf, -/* 0x009d: nv_wr32 */ - 0x0007f100, - 0x0103f0cc, - 0xbd000fd0, - 0x02ecb904, - 0xf01fc9f0, - 0x07f11ec9, - 0x03f0ca00, - 0x000cd001, -/* 0x00be: nv_wr32_wait */ - 0xc7f104bd, - 0xc3f0ca00, - 0x00cccf01, - 0xf41fccc8, - 0x00f8f31b, -/* 0x00d0: wait_donez */ - 0x99f094bd, - 0x0007f100, - 0x0203f00f, - 0xbd0009d0, - 0x0007f104, - 0x0203f006, - 0xbd000ad0, -/* 0x00ed: wait_donez_ne */ - 0x0087f104, - 0x0183f000, - 0xff0088cf, - 0x1bf4888a, - 0xf094bdf3, - 0x07f10099, - 0x03f01700, - 0x0009d002, - 0x00f804bd, -/* 0x0110: wait_doneo */ - 0x99f094bd, - 0x0007f100, - 0x0203f00f, - 0xbd0009d0, - 0x0007f104, - 0x0203f006, - 0xbd000ad0, -/* 0x012d: wait_doneo_e */ - 0x0087f104, - 0x0183f000, - 0xff0088cf, - 0x0bf4888a, - 0xf094bdf3, - 0x07f10099, - 0x03f01700, - 0x0009d002, - 0x00f804bd, -/* 0x0150: mmctx_size */ -/* 0x0152: nv_mmctx_size_loop */ - 0xe89894bd, - 0x1a85b600, - 0xb60180b6, - 0x98bb0284, - 0x04e0b600, - 0xf404efb8, - 0x9fb9eb1b, -/* 0x016f: mmctx_xfer */ - 0xbd00f802, - 0x0199f094, - 0x0f0007f1, - 0xd00203f0, - 0x04bd0009, - 0xbbfd94bd, - 0x120bf405, - 0xc40007f1, - 0xd00103f0, - 0x04bd000b, -/* 0x0197: mmctx_base_disabled */ - 0xfd0099f0, - 0x0bf405ee, - 0x0007f11e, - 0x0103f0c6, - 0xbd000ed0, - 0x0007f104, - 0x0103f0c7, - 0xbd000fd0, - 0x0199f004, -/* 0x01b8: mmctx_multi_disabled */ - 0xb600abc8, - 0xb9f010b4, - 0x01aec80c, - 0xfd11e4b6, - 0x07f105be, - 0x03f0c500, - 0x000bd001, -/* 0x01d6: mmctx_exec_loop */ -/* 0x01d6: mmctx_wait_free */ - 0xe7f104bd, - 0xe3f0c500, - 0x00eecf01, - 0xf41fe4f0, - 0xce98f30b, - 0x05e9fd00, - 0xc80007f1, - 0xd00103f0, - 0x04bd000e, - 0xb804c0b6, - 0x1bf404cd, - 0x02abc8d8, -/* 0x0207: mmctx_fini_wait */ - 0xf11f1bf4, - 0xf0c500b7, - 0xbbcf01b3, - 0x1fb4f000, - 0xf410b4b0, - 0xa7f0f01b, - 0xd021f405, -/* 0x0223: mmctx_stop */ - 0xc82b0ef4, - 0xb4b600ab, - 0x0cb9f010, - 0xf112b9f0, - 0xf0c50007, - 0x0bd00103, -/* 0x023b: mmctx_stop_wait */ - 0xf104bd00, - 0xf0c500b7, - 0xbbcf01b3, - 0x12bbc800, -/* 0x024b: mmctx_done */ - 0xbdf31bf4, - 0x0199f094, - 0x170007f1, - 0xd00203f0, - 0x04bd0009, -/* 0x025e: strand_wait */ - 0xa0f900f8, - 0xf402a7f0, - 0xa0fcd021, -/* 0x026a: strand_pre */ - 0x97f000f8, - 0xfc07f10c, - 0x0203f04a, - 0xbd0009d0, - 0x5e21f504, -/* 0x027f: strand_post */ - 0xf000f802, - 0x07f10d97, - 0x03f04afc, - 0x0009d002, - 0x21f504bd, - 0x00f8025e, -/* 0x0294: strand_set */ - 0xf10fc7f0, - 0xf04ffc07, - 0x0cd00203, - 0xf004bd00, - 0x07f10bc7, - 0x03f04afc, - 0x000cd002, - 0x07f104bd, - 0x03f04ffc, - 0x000ed002, - 0xc7f004bd, - 0xfc07f10a, - 0x0203f04a, - 0xbd000cd0, - 0x5e21f504, -/* 0x02d3: strand_ctx_init */ - 0xbd00f802, - 0x0399f094, - 0x0f0007f1, - 0xd00203f0, - 0x04bd0009, - 0x026a21f5, - 0xf503e7f0, - 0xbd029421, - 0xfc07f1c4, - 0x0203f047, - 0xbd000cd0, - 0x01c7f004, - 0x4afc07f1, - 0xd00203f0, - 0x04bd000c, - 0x025e21f5, - 0xf1010c92, - 0xf046fc07, - 0x0cd00203, - 0xf004bd00, - 0x07f102c7, - 0x03f04afc, - 0x000cd002, - 0x21f504bd, - 0x21f5025e, - 0x87f1027f, - 0x83f04200, - 0x0097f102, - 0x0293f020, - 0x950099cf, -/* 0x034a: ctx_init_strand_loop */ - 0x8ed008fe, - 0x408ed000, - 0xb6808acf, - 0xa0b606a5, - 0x00eabb01, - 0xb60480b6, - 0x1bf40192, - 0x08e4b6e8, - 0xbdf2efbc, - 0x0399f094, - 0x170007f1, - 0xd00203f0, - 0x04bd0009, -/* 0x037e: error */ - 0x07f100f8, - 0x03f00500, - 0x000fd002, - 0xf7f004bd, - 0x0007f101, - 0x0303f007, - 0xbd000fd0, -/* 0x039b: init */ - 0xbd00f804, - 0x0007fe04, - 0x420017f1, - 0xcf0013f0, - 0x11e70011, - 0x14b60109, - 0x0014fe08, - 0xf10227f0, - 0xf0120007, - 0x02d00003, - 0xf104bd00, - 0xfe06c817, - 0x24bd0010, - 0x070007f1, - 0xd00003f0, - 0x04bd0002, - 0x200327f1, - 0x010007f1, - 0xd00103f0, - 0x04bd0002, - 0x200427f1, - 0x010407f1, - 0xd00103f0, - 0x04bd0002, - 0x200b27f1, - 0x010807f1, - 0xd00103f0, - 0x04bd0002, - 0x200c27f1, - 0x011c07f1, - 0xd00103f0, - 0x04bd0002, - 0xf1010392, - 0xf0090007, - 0x03d00303, - 0xf104bd00, - 0xf0870427, - 0x07f10023, - 0x03f00400, - 0x0002d000, - 0x27f004bd, - 0x0007f104, - 0x0003f003, - 0xbd0002d0, - 0x1031f404, - 0x9604e7f1, - 0xf440e3f0, - 0xfeb96821, - 0x90f1c702, - 0xf0030180, - 0x0f801ff4, - 0x0117f002, - 0xb6041fbb, - 0x07f10112, - 0x03f00300, - 0x0001d001, - 0x07f104bd, - 0x03f00400, - 0x0001d001, - 0x17f104bd, - 0xf7f00100, - 0x0d21f502, - 0x1f21f508, - 0x10f7f008, - 0x086c21f5, - 0x98000e98, - 0x21f5010f, - 0x14950150, - 0x0007f108, - 0x0103f0c0, - 0xbd0004d0, - 0x0007f104, - 0x0103f0c1, - 0xbd0004d0, - 0x0030b704, - 0x001fbb13, - 0xf102f5b6, - 0xf0d30007, - 0x0fd00103, - 0xb604bd00, - 0x10b60815, - 0x0814b601, - 0xf5021fb9, - 0xbb02d321, - 0x0398001f, - 0x0047f102, - 0x5043f020, -/* 0x04f4: init_gpc */ - 0x08044ea0, - 0xf4021fb9, - 0x4ea09d21, - 0xf4bd010c, - 0xa09d21f4, - 0xf401044e, - 0x4ea09d21, - 0xf7f00100, - 0x9d21f402, - 0x08004ea0, -/* 0x051c: init_gpc_wait */ - 0xc86821f4, - 0x0bf41fff, - 0x044ea0fa, - 0x6821f408, - 0xb7001fbb, - 0xb6800040, - 0x1bf40132, - 0x00f7f0be, - 0x086c21f5, - 0xf500f7f0, - 0xf1080d21, - 0xf0010007, - 0x01d00203, - 0xbd04bd00, - 0x1f19f014, - 0x080007f1, - 0xd00203f0, - 0x04bd0001, -/* 0x0564: main */ - 0xf40031f4, - 0xd7f00028, - 0x3921f410, - 0xb1f401f4, - 0xf54001e4, - 0xbd00e91b, - 0x0499f094, - 0x0f0007f1, - 0xd00203f0, - 0x04bd0009, - 0xc00017f1, - 0xcf0213f0, - 0x27f10011, - 0x23f0c100, - 0x0022cf02, - 0xf51f13c8, - 0xc800890b, - 0x0bf41f23, - 0xb920f962, - 0x94bd0212, - 0xf10799f0, - 0xf00f0007, - 0x09d00203, - 0xf404bd00, - 0x31f40132, - 0x4021f502, - 0xf094bd0a, - 0x07f10799, - 0x03f01700, - 0x0009d002, - 0x20fc04bd, - 0x99f094bd, - 0x0007f106, - 0x0203f00f, - 0xbd0009d0, - 0x0131f404, - 0x0a4021f5, - 0x99f094bd, - 0x0007f106, - 0x0203f017, - 0xbd0009d0, - 0x330ef404, -/* 0x060c: chsw_prev_no_next */ - 0x12b920f9, - 0x0132f402, - 0xf50232f4, - 0xfc0a4021, - 0x0007f120, - 0x0203f0c0, - 0xbd0002d0, - 0x130ef404, -/* 0x062c: chsw_no_prev */ - 0xf41f23c8, - 0x31f40d0b, - 0x0232f401, - 0x0a4021f5, -/* 0x063c: chsw_done */ - 0xf10127f0, - 0xf0c30007, - 0x02d00203, - 0xbd04bd00, - 0x0499f094, - 0x170007f1, - 0xd00203f0, - 0x04bd0009, - 0xff080ef5, -/* 0x0660: main_not_ctx_switch */ - 0xf401e4b0, - 0xf2b90d1b, - 0xd021f502, - 0x460ef409, -/* 0x0670: main_not_ctx_chan */ - 0xf402e4b0, - 0x94bd321b, - 0xf10799f0, - 0xf00f0007, - 0x09d00203, - 0xf404bd00, - 0x32f40132, - 0x4021f502, - 0xf094bd0a, - 0x07f10799, - 0x03f01700, - 0x0009d002, - 0x0ef404bd, -/* 0x06a5: main_not_ctx_save */ - 0x10ef9411, - 0xf501f5f0, - 0xf5037e21, -/* 0x06b3: main_done */ - 0xbdfeb50e, - 0x1f29f024, - 0x080007f1, - 0xd00203f0, - 0x04bd0002, - 0xfea00ef5, -/* 0x06c8: ih */ - 0x88fe80f9, - 0xf980f901, - 0xf9a0f990, - 0xf9d0f9b0, - 0xbdf0f9e0, - 0x00a7f104, - 0x00a3f002, - 0xc400aacf, - 0x0bf404ab, - 0x10d7f030, - 0x1a00e7f1, - 0xcf00e3f0, - 0xf7f100ee, - 0xf3f01900, - 0x00ffcf00, - 0xb70421f4, - 0xf00400b0, - 0x07f101e7, - 0x03f01d00, - 0x000ed000, -/* 0x071a: ih_no_fifo */ - 0xabe404bd, - 0x0bf40100, - 0x10d7f00d, - 0x4001e7f1, -/* 0x072b: ih_no_ctxsw */ - 0xe40421f4, - 0xf40400ab, - 0xe7f16c0b, - 0xe3f00708, - 0x6821f440, - 0xf102ffb9, - 0xf0040007, - 0x0fd00203, - 0xf104bd00, - 0xf00704e7, - 0x21f440e3, - 0x02ffb968, - 0x030007f1, - 0xd00203f0, - 0x04bd000f, - 0x9450fec7, - 0xf7f102ee, - 0xf3f00700, - 0x00efbb40, - 0xf16821f4, - 0xf0020007, - 0x0fd00203, - 0xf004bd00, - 0x21f503f7, - 0xb7f1037e, - 0xbfb90100, - 0x44e7f102, - 0x40e3f001, -/* 0x079b: ih_no_fwmthd */ - 0xf19d21f4, - 0xbd0504b7, - 0xb4abffb0, - 0xf10f0bf4, - 0xf0070007, - 0x0bd00303, -/* 0x07b3: ih_no_other */ - 0xf104bd00, - 0xf0010007, - 0x0ad00003, - 0xfc04bd00, - 0xfce0fcf0, - 0xfcb0fcd0, - 0xfc90fca0, - 0x0088fe80, - 0x32f480fc, -/* 0x07d7: ctx_4160s */ - 0xf001f800, - 0xffb901f7, - 0x60e7f102, - 0x40e3f041, -/* 0x07e7: ctx_4160s_wait */ - 0xf19d21f4, - 0xf04160e7, - 0x21f440e3, - 0x02ffb968, - 0xf404ffc8, - 0x00f8f00b, -/* 0x07fc: ctx_4160c */ - 0xffb9f4bd, - 0x60e7f102, - 0x40e3f041, - 0xf89d21f4, -/* 0x080d: ctx_4170s */ - 0x10f5f000, - 0xf102ffb9, - 0xf04170e7, - 0x21f440e3, -/* 0x081f: ctx_4170w */ - 0xf100f89d, - 0xf04170e7, - 0x21f440e3, - 0x02ffb968, - 0xf410f4f0, - 0x00f8f01b, -/* 0x0834: ctx_redswitch */ - 0x0200e7f1, - 0xf040e5f0, - 0xe5f020e5, - 0x0007f110, - 0x0103f085, - 0xbd000ed0, - 0x08f7f004, -/* 0x0850: ctx_redswitch_delay */ - 0xf401f2b6, - 0xe5f1fd1b, - 0xe5f10400, - 0x07f10100, - 0x03f08500, - 0x000ed001, - 0x00f804bd, -/* 0x086c: ctx_86c */ - 0x1b0007f1, - 0xd00203f0, - 0x04bd000f, - 0xf102ffb9, - 0xf08a14e7, - 0x21f440e3, - 0x02ffb99d, - 0xa86ce7f1, - 0xf441e3f0, - 0x00f89d21, -/* 0x0894: ctx_mem */ - 0x840007f1, - 0xd00203f0, - 0x04bd000f, -/* 0x08a0: ctx_mem_wait */ - 0x8400f7f1, - 0xcf02f3f0, - 0xfffd00ff, - 0xf31bf405, -/* 0x08b2: ctx_load */ - 0x94bd00f8, - 0xf10599f0, - 0xf00f0007, - 0x09d00203, - 0xf004bd00, - 0x21f40ca7, - 0xf1f4bdd0, - 0xf0890007, - 0x0fd00203, - 0xf104bd00, - 0xf0c10007, - 0x02d00203, - 0xf104bd00, - 0xf0830007, - 0x02d00203, - 0xf004bd00, - 0x21f507f7, - 0x07f10894, - 0x03f0c000, - 0x0002d002, - 0x0bfe04bd, - 0x1f2af000, - 0xb60424b6, - 0x94bd0220, - 0xf10899f0, - 0xf00f0007, - 0x09d00203, - 0xf104bd00, - 0xf0810007, - 0x02d00203, - 0xf104bd00, - 0xf1000027, - 0xf0800023, - 0x07f10225, - 0x03f08800, - 0x0002d002, - 0x17f004bd, - 0x0027f110, - 0x0223f002, - 0xf80512fa, - 0xf094bd03, - 0x07f10899, - 0x03f01700, - 0x0009d002, - 0x019804bd, - 0x1814b681, - 0xb6800298, - 0x12fd0825, - 0x16018005, - 0x99f094bd, - 0x0007f109, - 0x0203f00f, - 0xbd0009d0, - 0x0007f104, - 0x0203f081, - 0xbd0001d0, - 0x0127f004, - 0x880007f1, - 0xd00203f0, - 0x04bd0002, - 0x010017f1, - 0xfa0613f0, - 0x03f80501, - 0x99f094bd, - 0x0007f109, - 0x0203f017, - 0xbd0009d0, - 0xf094bd04, - 0x07f10599, - 0x03f01700, - 0x0009d002, - 0x00f804bd, -/* 0x09d0: ctx_chan */ - 0x07d721f5, - 0x08b221f5, - 0xf40ca7f0, - 0xf7f0d021, - 0x9421f505, - 0xfc21f508, -/* 0x09eb: ctx_mmio_exec */ - 0x9800f807, - 0x07f14103, - 0x03f08100, - 0x0003d002, - 0x34bd04bd, -/* 0x09fc: ctx_mmio_loop */ - 0xf4ff34c4, - 0x57f10f1b, - 0x53f00200, - 0x0535fa06, -/* 0x0a0e: ctx_mmio_pull */ - 0x4e9803f8, - 0x814f9880, - 0xb69d21f4, - 0x12b60830, - 0xdf1bf401, -/* 0x0a20: ctx_mmio_done */ - 0xf1160398, - 0xf0810007, - 0x03d00203, - 0x8004bd00, - 0x17f14000, - 0x13f00100, - 0x0601fa06, - 0x00f803f8, -/* 0x0a40: ctx_xfer */ - 0xf104e7f0, - 0xf0020007, - 0x0ed00303, -/* 0x0a4f: ctx_xfer_idle */ - 0xf104bd00, - 0xf00000e7, - 0xeecf03e3, - 0x00e4f100, - 0xf21bf420, - 0xf40611f4, -/* 0x0a66: ctx_xfer_pre */ - 0xf7f01102, - 0x6c21f510, - 0xd721f508, - 0x1c11f407, -/* 0x0a74: ctx_xfer_pre_load */ - 0xf502f7f0, - 0xf5080d21, - 0xf5081f21, - 0xbd083421, - 0x0d21f5f4, - 0xb221f508, -/* 0x0a8d: ctx_xfer_exec */ - 0x16019808, - 0x07f124bd, - 0x03f00500, - 0x0002d001, - 0x1fb904bd, - 0x00e7f102, - 0x41e3f0a5, - 0xf09d21f4, - 0x2cf001fc, - 0x0124b602, - 0xb905f2fd, - 0xe7f102ff, - 0xe3f0a504, - 0x9d21f441, - 0x026a21f5, - 0x07f124bd, - 0x03f047fc, - 0x0002d002, - 0x2cf004bd, - 0x0320b601, - 0x4afc07f1, - 0xd00203f0, - 0x04bd0002, - 0xf001acf0, - 0xb7f006a5, - 0x000c9800, - 0xf0010d98, - 0x21f500e7, - 0xa7f0016f, - 0x1021f508, - 0x5e21f501, - 0x1301f402, - 0xf40ca7f0, - 0xf7f0d021, - 0x9421f505, - 0x3202f408, -/* 0x0b1c: ctx_xfer_post */ - 0xf502f7f0, - 0xbd080d21, - 0x6c21f5f4, - 0x7f21f508, - 0x1f21f502, - 0xf5f4bd08, - 0xf4080d21, - 0x01981011, - 0x0511fd40, - 0xf5070bf4, -/* 0x0b47: ctx_xfer_no_post_mmio */ - 0xf509eb21, -/* 0x0b4b: ctx_xfer_done */ - 0xf807fc21, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -}; diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvd7.fuc b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvd7.fuc deleted file mode 100644 index afbe03ac9077..000000000000 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvd7.fuc +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 2013 Red Hat Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - * Authors: Ben Skeggs <bskeggs@redhat.com> - */ - -#define CHIPSET GF117 -#include "macros.fuc" - -.section #nvd7_grhub_data -#define INCLUDE_DATA -#include "com.fuc" -#include "hub.fuc" -#undef INCLUDE_DATA - -.section #nvd7_grhub_code -#define INCLUDE_CODE -bra #init -#include "com.fuc" -#include "hub.fuc" -.align 256 -#undef INCLUDE_CODE diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvd7.fuc.h b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvd7.fuc.h deleted file mode 100644 index 62b0c7601d8b..000000000000 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvd7.fuc.h +++ /dev/null @@ -1,1047 +0,0 @@ -uint32_t nvd7_grhub_data[] = { -/* 0x0000: hub_mmio_list_head */ - 0x00000300, -/* 0x0004: hub_mmio_list_tail */ - 0x00000304, -/* 0x0008: gpc_count */ - 0x00000000, -/* 0x000c: rop_count */ - 0x00000000, -/* 0x0010: cmd_queue */ - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -/* 0x0058: ctx_current */ - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -/* 0x0100: chan_data */ -/* 0x0100: chan_mmio_count */ - 0x00000000, -/* 0x0104: chan_mmio_address */ - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -/* 0x0200: xfer_data */ - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -/* 0x0300: hub_mmio_list_base */ - 0x0417e91c, -}; - -uint32_t nvd7_grhub_code[] = { - 0x039b0ef5, -/* 0x0004: queue_put */ - 0x9800d898, - 0x86f001d9, - 0x0489b808, - 0xf00c1bf4, - 0x21f502f7, - 0x00f8037e, -/* 0x001c: queue_put_next */ - 0xb60798c4, - 0x8dbb0384, - 0x0880b600, - 0x80008e80, - 0x90b6018f, - 0x0f94f001, - 0xf801d980, -/* 0x0039: queue_get */ - 0x0131f400, - 0x9800d898, - 0x89b801d9, - 0x210bf404, - 0xb60789c4, - 0x9dbb0394, - 0x0890b600, - 0x98009e98, - 0x80b6019f, - 0x0f84f001, - 0xf400d880, -/* 0x0066: queue_get_done */ - 0x00f80132, -/* 0x0068: nv_rd32 */ - 0xf002ecb9, - 0x07f11fc9, - 0x03f0ca00, - 0x000cd001, -/* 0x007a: nv_rd32_wait */ - 0xc7f104bd, - 0xc3f0ca00, - 0x00cccf01, - 0xf41fccc8, - 0xa7f0f31b, - 0x1021f506, - 0x00f7f101, - 0x01f3f0cb, - 0xf800ffcf, -/* 0x009d: nv_wr32 */ - 0x0007f100, - 0x0103f0cc, - 0xbd000fd0, - 0x02ecb904, - 0xf01fc9f0, - 0x07f11ec9, - 0x03f0ca00, - 0x000cd001, -/* 0x00be: nv_wr32_wait */ - 0xc7f104bd, - 0xc3f0ca00, - 0x00cccf01, - 0xf41fccc8, - 0x00f8f31b, -/* 0x00d0: wait_donez */ - 0x99f094bd, - 0x0007f100, - 0x0203f00f, - 0xbd0009d0, - 0x0007f104, - 0x0203f006, - 0xbd000ad0, -/* 0x00ed: wait_donez_ne */ - 0x0087f104, - 0x0183f000, - 0xff0088cf, - 0x1bf4888a, - 0xf094bdf3, - 0x07f10099, - 0x03f01700, - 0x0009d002, - 0x00f804bd, -/* 0x0110: wait_doneo */ - 0x99f094bd, - 0x0007f100, - 0x0203f00f, - 0xbd0009d0, - 0x0007f104, - 0x0203f006, - 0xbd000ad0, -/* 0x012d: wait_doneo_e */ - 0x0087f104, - 0x0183f000, - 0xff0088cf, - 0x0bf4888a, - 0xf094bdf3, - 0x07f10099, - 0x03f01700, - 0x0009d002, - 0x00f804bd, -/* 0x0150: mmctx_size */ -/* 0x0152: nv_mmctx_size_loop */ - 0xe89894bd, - 0x1a85b600, - 0xb60180b6, - 0x98bb0284, - 0x04e0b600, - 0xf404efb8, - 0x9fb9eb1b, -/* 0x016f: mmctx_xfer */ - 0xbd00f802, - 0x0199f094, - 0x0f0007f1, - 0xd00203f0, - 0x04bd0009, - 0xbbfd94bd, - 0x120bf405, - 0xc40007f1, - 0xd00103f0, - 0x04bd000b, -/* 0x0197: mmctx_base_disabled */ - 0xfd0099f0, - 0x0bf405ee, - 0x0007f11e, - 0x0103f0c6, - 0xbd000ed0, - 0x0007f104, - 0x0103f0c7, - 0xbd000fd0, - 0x0199f004, -/* 0x01b8: mmctx_multi_disabled */ - 0xb600abc8, - 0xb9f010b4, - 0x01aec80c, - 0xfd11e4b6, - 0x07f105be, - 0x03f0c500, - 0x000bd001, -/* 0x01d6: mmctx_exec_loop */ -/* 0x01d6: mmctx_wait_free */ - 0xe7f104bd, - 0xe3f0c500, - 0x00eecf01, - 0xf41fe4f0, - 0xce98f30b, - 0x05e9fd00, - 0xc80007f1, - 0xd00103f0, - 0x04bd000e, - 0xb804c0b6, - 0x1bf404cd, - 0x02abc8d8, -/* 0x0207: mmctx_fini_wait */ - 0xf11f1bf4, - 0xf0c500b7, - 0xbbcf01b3, - 0x1fb4f000, - 0xf410b4b0, - 0xa7f0f01b, - 0xd021f405, -/* 0x0223: mmctx_stop */ - 0xc82b0ef4, - 0xb4b600ab, - 0x0cb9f010, - 0xf112b9f0, - 0xf0c50007, - 0x0bd00103, -/* 0x023b: mmctx_stop_wait */ - 0xf104bd00, - 0xf0c500b7, - 0xbbcf01b3, - 0x12bbc800, -/* 0x024b: mmctx_done */ - 0xbdf31bf4, - 0x0199f094, - 0x170007f1, - 0xd00203f0, - 0x04bd0009, -/* 0x025e: strand_wait */ - 0xa0f900f8, - 0xf402a7f0, - 0xa0fcd021, -/* 0x026a: strand_pre */ - 0x97f000f8, - 0xfc07f10c, - 0x0203f04a, - 0xbd0009d0, - 0x5e21f504, -/* 0x027f: strand_post */ - 0xf000f802, - 0x07f10d97, - 0x03f04afc, - 0x0009d002, - 0x21f504bd, - 0x00f8025e, -/* 0x0294: strand_set */ - 0xf10fc7f0, - 0xf04ffc07, - 0x0cd00203, - 0xf004bd00, - 0x07f10bc7, - 0x03f04afc, - 0x000cd002, - 0x07f104bd, - 0x03f04ffc, - 0x000ed002, - 0xc7f004bd, - 0xfc07f10a, - 0x0203f04a, - 0xbd000cd0, - 0x5e21f504, -/* 0x02d3: strand_ctx_init */ - 0xbd00f802, - 0x0399f094, - 0x0f0007f1, - 0xd00203f0, - 0x04bd0009, - 0x026a21f5, - 0xf503e7f0, - 0xbd029421, - 0xfc07f1c4, - 0x0203f047, - 0xbd000cd0, - 0x01c7f004, - 0x4afc07f1, - 0xd00203f0, - 0x04bd000c, - 0x025e21f5, - 0xf1010c92, - 0xf046fc07, - 0x0cd00203, - 0xf004bd00, - 0x07f102c7, - 0x03f04afc, - 0x000cd002, - 0x21f504bd, - 0x21f5025e, - 0x87f1027f, - 0x83f04200, - 0x0097f102, - 0x0293f020, - 0x950099cf, -/* 0x034a: ctx_init_strand_loop */ - 0x8ed008fe, - 0x408ed000, - 0xb6808acf, - 0xa0b606a5, - 0x00eabb01, - 0xb60480b6, - 0x1bf40192, - 0x08e4b6e8, - 0xbdf2efbc, - 0x0399f094, - 0x170007f1, - 0xd00203f0, - 0x04bd0009, -/* 0x037e: error */ - 0x07f100f8, - 0x03f00500, - 0x000fd002, - 0xf7f004bd, - 0x0007f101, - 0x0303f007, - 0xbd000fd0, -/* 0x039b: init */ - 0xbd00f804, - 0x0007fe04, - 0x420017f1, - 0xcf0013f0, - 0x11e70011, - 0x14b60109, - 0x0014fe08, - 0xf10227f0, - 0xf0120007, - 0x02d00003, - 0xf104bd00, - 0xfe06c817, - 0x24bd0010, - 0x070007f1, - 0xd00003f0, - 0x04bd0002, - 0x200327f1, - 0x010007f1, - 0xd00103f0, - 0x04bd0002, - 0x200427f1, - 0x010407f1, - 0xd00103f0, - 0x04bd0002, - 0x200b27f1, - 0x010807f1, - 0xd00103f0, - 0x04bd0002, - 0x200c27f1, - 0x011c07f1, - 0xd00103f0, - 0x04bd0002, - 0xf1010392, - 0xf0090007, - 0x03d00303, - 0xf104bd00, - 0xf0870427, - 0x07f10023, - 0x03f00400, - 0x0002d000, - 0x27f004bd, - 0x0007f104, - 0x0003f003, - 0xbd0002d0, - 0x1031f404, - 0x9604e7f1, - 0xf440e3f0, - 0xfeb96821, - 0x90f1c702, - 0xf0030180, - 0x0f801ff4, - 0x0117f002, - 0xb6041fbb, - 0x07f10112, - 0x03f00300, - 0x0001d001, - 0x07f104bd, - 0x03f00400, - 0x0001d001, - 0x17f104bd, - 0xf7f00100, - 0x0d21f502, - 0x1f21f508, - 0x10f7f008, - 0x086c21f5, - 0x98000e98, - 0x21f5010f, - 0x14950150, - 0x0007f108, - 0x0103f0c0, - 0xbd0004d0, - 0x0007f104, - 0x0103f0c1, - 0xbd0004d0, - 0x0030b704, - 0x001fbb13, - 0xf102f5b6, - 0xf0d30007, - 0x0fd00103, - 0xb604bd00, - 0x10b60815, - 0x0814b601, - 0xf5021fb9, - 0xbb02d321, - 0x0398001f, - 0x0047f102, - 0x5043f020, -/* 0x04f4: init_gpc */ - 0x08044ea0, - 0xf4021fb9, - 0x4ea09d21, - 0xf4bd010c, - 0xa09d21f4, - 0xf401044e, - 0x4ea09d21, - 0xf7f00100, - 0x9d21f402, - 0x08004ea0, -/* 0x051c: init_gpc_wait */ - 0xc86821f4, - 0x0bf41fff, - 0x044ea0fa, - 0x6821f408, - 0xb7001fbb, - 0xb6800040, - 0x1bf40132, - 0x00f7f0be, - 0x086c21f5, - 0xf500f7f0, - 0xf1080d21, - 0xf0010007, - 0x01d00203, - 0xbd04bd00, - 0x1f19f014, - 0x080007f1, - 0xd00203f0, - 0x04bd0001, -/* 0x0564: main */ - 0xf40031f4, - 0xd7f00028, - 0x3921f410, - 0xb1f401f4, - 0xf54001e4, - 0xbd00e91b, - 0x0499f094, - 0x0f0007f1, - 0xd00203f0, - 0x04bd0009, - 0xc00017f1, - 0xcf0213f0, - 0x27f10011, - 0x23f0c100, - 0x0022cf02, - 0xf51f13c8, - 0xc800890b, - 0x0bf41f23, - 0xb920f962, - 0x94bd0212, - 0xf10799f0, - 0xf00f0007, - 0x09d00203, - 0xf404bd00, - 0x31f40132, - 0x4021f502, - 0xf094bd0a, - 0x07f10799, - 0x03f01700, - 0x0009d002, - 0x20fc04bd, - 0x99f094bd, - 0x0007f106, - 0x0203f00f, - 0xbd0009d0, - 0x0131f404, - 0x0a4021f5, - 0x99f094bd, - 0x0007f106, - 0x0203f017, - 0xbd0009d0, - 0x330ef404, -/* 0x060c: chsw_prev_no_next */ - 0x12b920f9, - 0x0132f402, - 0xf50232f4, - 0xfc0a4021, - 0x0007f120, - 0x0203f0c0, - 0xbd0002d0, - 0x130ef404, -/* 0x062c: chsw_no_prev */ - 0xf41f23c8, - 0x31f40d0b, - 0x0232f401, - 0x0a4021f5, -/* 0x063c: chsw_done */ - 0xf10127f0, - 0xf0c30007, - 0x02d00203, - 0xbd04bd00, - 0x0499f094, - 0x170007f1, - 0xd00203f0, - 0x04bd0009, - 0xff080ef5, -/* 0x0660: main_not_ctx_switch */ - 0xf401e4b0, - 0xf2b90d1b, - 0xd021f502, - 0x460ef409, -/* 0x0670: main_not_ctx_chan */ - 0xf402e4b0, - 0x94bd321b, - 0xf10799f0, - 0xf00f0007, - 0x09d00203, - 0xf404bd00, - 0x32f40132, - 0x4021f502, - 0xf094bd0a, - 0x07f10799, - 0x03f01700, - 0x0009d002, - 0x0ef404bd, -/* 0x06a5: main_not_ctx_save */ - 0x10ef9411, - 0xf501f5f0, - 0xf5037e21, -/* 0x06b3: main_done */ - 0xbdfeb50e, - 0x1f29f024, - 0x080007f1, - 0xd00203f0, - 0x04bd0002, - 0xfea00ef5, -/* 0x06c8: ih */ - 0x88fe80f9, - 0xf980f901, - 0xf9a0f990, - 0xf9d0f9b0, - 0xbdf0f9e0, - 0x00a7f104, - 0x00a3f002, - 0xc400aacf, - 0x0bf404ab, - 0x10d7f030, - 0x1a00e7f1, - 0xcf00e3f0, - 0xf7f100ee, - 0xf3f01900, - 0x00ffcf00, - 0xb70421f4, - 0xf00400b0, - 0x07f101e7, - 0x03f01d00, - 0x000ed000, -/* 0x071a: ih_no_fifo */ - 0xabe404bd, - 0x0bf40100, - 0x10d7f00d, - 0x4001e7f1, -/* 0x072b: ih_no_ctxsw */ - 0xe40421f4, - 0xf40400ab, - 0xe7f16c0b, - 0xe3f00708, - 0x6821f440, - 0xf102ffb9, - 0xf0040007, - 0x0fd00203, - 0xf104bd00, - 0xf00704e7, - 0x21f440e3, - 0x02ffb968, - 0x030007f1, - 0xd00203f0, - 0x04bd000f, - 0x9450fec7, - 0xf7f102ee, - 0xf3f00700, - 0x00efbb40, - 0xf16821f4, - 0xf0020007, - 0x0fd00203, - 0xf004bd00, - 0x21f503f7, - 0xb7f1037e, - 0xbfb90100, - 0x44e7f102, - 0x40e3f001, -/* 0x079b: ih_no_fwmthd */ - 0xf19d21f4, - 0xbd0504b7, - 0xb4abffb0, - 0xf10f0bf4, - 0xf0070007, - 0x0bd00303, -/* 0x07b3: ih_no_other */ - 0xf104bd00, - 0xf0010007, - 0x0ad00003, - 0xfc04bd00, - 0xfce0fcf0, - 0xfcb0fcd0, - 0xfc90fca0, - 0x0088fe80, - 0x32f480fc, -/* 0x07d7: ctx_4160s */ - 0xf001f800, - 0xffb901f7, - 0x60e7f102, - 0x40e3f041, -/* 0x07e7: ctx_4160s_wait */ - 0xf19d21f4, - 0xf04160e7, - 0x21f440e3, - 0x02ffb968, - 0xf404ffc8, - 0x00f8f00b, -/* 0x07fc: ctx_4160c */ - 0xffb9f4bd, - 0x60e7f102, - 0x40e3f041, - 0xf89d21f4, -/* 0x080d: ctx_4170s */ - 0x10f5f000, - 0xf102ffb9, - 0xf04170e7, - 0x21f440e3, -/* 0x081f: ctx_4170w */ - 0xf100f89d, - 0xf04170e7, - 0x21f440e3, - 0x02ffb968, - 0xf410f4f0, - 0x00f8f01b, -/* 0x0834: ctx_redswitch */ - 0x0200e7f1, - 0xf040e5f0, - 0xe5f020e5, - 0x0007f110, - 0x0103f085, - 0xbd000ed0, - 0x08f7f004, -/* 0x0850: ctx_redswitch_delay */ - 0xf401f2b6, - 0xe5f1fd1b, - 0xe5f10400, - 0x07f10100, - 0x03f08500, - 0x000ed001, - 0x00f804bd, -/* 0x086c: ctx_86c */ - 0x1b0007f1, - 0xd00203f0, - 0x04bd000f, - 0xf102ffb9, - 0xf08a14e7, - 0x21f440e3, - 0x02ffb99d, - 0xa86ce7f1, - 0xf441e3f0, - 0x00f89d21, -/* 0x0894: ctx_mem */ - 0x840007f1, - 0xd00203f0, - 0x04bd000f, -/* 0x08a0: ctx_mem_wait */ - 0x8400f7f1, - 0xcf02f3f0, - 0xfffd00ff, - 0xf31bf405, -/* 0x08b2: ctx_load */ - 0x94bd00f8, - 0xf10599f0, - 0xf00f0007, - 0x09d00203, - 0xf004bd00, - 0x21f40ca7, - 0xf1f4bdd0, - 0xf0890007, - 0x0fd00203, - 0xf104bd00, - 0xf0c10007, - 0x02d00203, - 0xf104bd00, - 0xf0830007, - 0x02d00203, - 0xf004bd00, - 0x21f507f7, - 0x07f10894, - 0x03f0c000, - 0x0002d002, - 0x0bfe04bd, - 0x1f2af000, - 0xb60424b6, - 0x94bd0220, - 0xf10899f0, - 0xf00f0007, - 0x09d00203, - 0xf104bd00, - 0xf0810007, - 0x02d00203, - 0xf104bd00, - 0xf1000027, - 0xf0800023, - 0x07f10225, - 0x03f08800, - 0x0002d002, - 0x17f004bd, - 0x0027f110, - 0x0223f002, - 0xf80512fa, - 0xf094bd03, - 0x07f10899, - 0x03f01700, - 0x0009d002, - 0x019804bd, - 0x1814b681, - 0xb6800298, - 0x12fd0825, - 0x16018005, - 0x99f094bd, - 0x0007f109, - 0x0203f00f, - 0xbd0009d0, - 0x0007f104, - 0x0203f081, - 0xbd0001d0, - 0x0127f004, - 0x880007f1, - 0xd00203f0, - 0x04bd0002, - 0x010017f1, - 0xfa0613f0, - 0x03f80501, - 0x99f094bd, - 0x0007f109, - 0x0203f017, - 0xbd0009d0, - 0xf094bd04, - 0x07f10599, - 0x03f01700, - 0x0009d002, - 0x00f804bd, -/* 0x09d0: ctx_chan */ - 0x07d721f5, - 0x08b221f5, - 0xf40ca7f0, - 0xf7f0d021, - 0x9421f505, - 0xfc21f508, -/* 0x09eb: ctx_mmio_exec */ - 0x9800f807, - 0x07f14103, - 0x03f08100, - 0x0003d002, - 0x34bd04bd, -/* 0x09fc: ctx_mmio_loop */ - 0xf4ff34c4, - 0x57f10f1b, - 0x53f00200, - 0x0535fa06, -/* 0x0a0e: ctx_mmio_pull */ - 0x4e9803f8, - 0x814f9880, - 0xb69d21f4, - 0x12b60830, - 0xdf1bf401, -/* 0x0a20: ctx_mmio_done */ - 0xf1160398, - 0xf0810007, - 0x03d00203, - 0x8004bd00, - 0x17f14000, - 0x13f00100, - 0x0601fa06, - 0x00f803f8, -/* 0x0a40: ctx_xfer */ - 0xf104e7f0, - 0xf0020007, - 0x0ed00303, -/* 0x0a4f: ctx_xfer_idle */ - 0xf104bd00, - 0xf00000e7, - 0xeecf03e3, - 0x00e4f100, - 0xf21bf420, - 0xf40611f4, -/* 0x0a66: ctx_xfer_pre */ - 0xf7f01102, - 0x6c21f510, - 0xd721f508, - 0x1c11f407, -/* 0x0a74: ctx_xfer_pre_load */ - 0xf502f7f0, - 0xf5080d21, - 0xf5081f21, - 0xbd083421, - 0x0d21f5f4, - 0xb221f508, -/* 0x0a8d: ctx_xfer_exec */ - 0x16019808, - 0x07f124bd, - 0x03f00500, - 0x0002d001, - 0x1fb904bd, - 0x00e7f102, - 0x41e3f0a5, - 0xf09d21f4, - 0x2cf001fc, - 0x0124b602, - 0xb905f2fd, - 0xe7f102ff, - 0xe3f0a504, - 0x9d21f441, - 0x026a21f5, - 0x07f124bd, - 0x03f047fc, - 0x0002d002, - 0x2cf004bd, - 0x0320b601, - 0x4afc07f1, - 0xd00203f0, - 0x04bd0002, - 0xf001acf0, - 0xb7f006a5, - 0x000c9800, - 0xf0010d98, - 0x21f500e7, - 0xa7f0016f, - 0x1021f508, - 0x5e21f501, - 0x1301f402, - 0xf40ca7f0, - 0xf7f0d021, - 0x9421f505, - 0x3202f408, -/* 0x0b1c: ctx_xfer_post */ - 0xf502f7f0, - 0xbd080d21, - 0x6c21f5f4, - 0x7f21f508, - 0x1f21f502, - 0xf5f4bd08, - 0xf4080d21, - 0x01981011, - 0x0511fd40, - 0xf5070bf4, -/* 0x0b47: ctx_xfer_no_post_mmio */ - 0xf509eb21, -/* 0x0b4b: ctx_xfer_done */ - 0xf807fc21, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -}; diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnve0.fuc b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnve0.fuc deleted file mode 100644 index d4840f1879fd..000000000000 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnve0.fuc +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 2013 Red Hat Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - * Authors: Ben Skeggs <bskeggs@redhat.com> - */ - -#define CHIPSET GK100 -#include "macros.fuc" - -.section #nve0_grhub_data -#define INCLUDE_DATA -#include "com.fuc" -#include "hub.fuc" -#undef INCLUDE_DATA - -.section #nve0_grhub_code -#define INCLUDE_CODE -bra #init -#include "com.fuc" -#include "hub.fuc" -.align 256 -#undef INCLUDE_CODE diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnve0.fuc.h b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnve0.fuc.h deleted file mode 100644 index 51c3797d8537..000000000000 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnve0.fuc.h +++ /dev/null @@ -1,1044 +0,0 @@ -uint32_t nve0_grhub_data[] = { -/* 0x0000: hub_mmio_list_head */ - 0x00000300, -/* 0x0004: hub_mmio_list_tail */ - 0x00000304, -/* 0x0008: gpc_count */ - 0x00000000, -/* 0x000c: rop_count */ - 0x00000000, -/* 0x0010: cmd_queue */ - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -/* 0x0058: ctx_current */ - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -/* 0x0100: chan_data */ -/* 0x0100: chan_mmio_count */ - 0x00000000, -/* 0x0104: chan_mmio_address */ - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -/* 0x0200: xfer_data */ - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -/* 0x0300: hub_mmio_list_base */ - 0x0417e91c, -}; - -uint32_t nve0_grhub_code[] = { - 0x039b0ef5, -/* 0x0004: queue_put */ - 0x9800d898, - 0x86f001d9, - 0x0489b808, - 0xf00c1bf4, - 0x21f502f7, - 0x00f8037e, -/* 0x001c: queue_put_next */ - 0xb60798c4, - 0x8dbb0384, - 0x0880b600, - 0x80008e80, - 0x90b6018f, - 0x0f94f001, - 0xf801d980, -/* 0x0039: queue_get */ - 0x0131f400, - 0x9800d898, - 0x89b801d9, - 0x210bf404, - 0xb60789c4, - 0x9dbb0394, - 0x0890b600, - 0x98009e98, - 0x80b6019f, - 0x0f84f001, - 0xf400d880, -/* 0x0066: queue_get_done */ - 0x00f80132, -/* 0x0068: nv_rd32 */ - 0xf002ecb9, - 0x07f11fc9, - 0x03f0ca00, - 0x000cd001, -/* 0x007a: nv_rd32_wait */ - 0xc7f104bd, - 0xc3f0ca00, - 0x00cccf01, - 0xf41fccc8, - 0xa7f0f31b, - 0x1021f506, - 0x00f7f101, - 0x01f3f0cb, - 0xf800ffcf, -/* 0x009d: nv_wr32 */ - 0x0007f100, - 0x0103f0cc, - 0xbd000fd0, - 0x02ecb904, - 0xf01fc9f0, - 0x07f11ec9, - 0x03f0ca00, - 0x000cd001, -/* 0x00be: nv_wr32_wait */ - 0xc7f104bd, - 0xc3f0ca00, - 0x00cccf01, - 0xf41fccc8, - 0x00f8f31b, -/* 0x00d0: wait_donez */ - 0x99f094bd, - 0x0007f100, - 0x0203f00f, - 0xbd0009d0, - 0x0007f104, - 0x0203f006, - 0xbd000ad0, -/* 0x00ed: wait_donez_ne */ - 0x0087f104, - 0x0183f000, - 0xff0088cf, - 0x1bf4888a, - 0xf094bdf3, - 0x07f10099, - 0x03f01700, - 0x0009d002, - 0x00f804bd, -/* 0x0110: wait_doneo */ - 0x99f094bd, - 0x0007f100, - 0x0203f00f, - 0xbd0009d0, - 0x0007f104, - 0x0203f006, - 0xbd000ad0, -/* 0x012d: wait_doneo_e */ - 0x0087f104, - 0x0183f000, - 0xff0088cf, - 0x0bf4888a, - 0xf094bdf3, - 0x07f10099, - 0x03f01700, - 0x0009d002, - 0x00f804bd, -/* 0x0150: mmctx_size */ -/* 0x0152: nv_mmctx_size_loop */ - 0xe89894bd, - 0x1a85b600, - 0xb60180b6, - 0x98bb0284, - 0x04e0b600, - 0xf404efb8, - 0x9fb9eb1b, -/* 0x016f: mmctx_xfer */ - 0xbd00f802, - 0x0199f094, - 0x0f0007f1, - 0xd00203f0, - 0x04bd0009, - 0xbbfd94bd, - 0x120bf405, - 0xc40007f1, - 0xd00103f0, - 0x04bd000b, -/* 0x0197: mmctx_base_disabled */ - 0xfd0099f0, - 0x0bf405ee, - 0x0007f11e, - 0x0103f0c6, - 0xbd000ed0, - 0x0007f104, - 0x0103f0c7, - 0xbd000fd0, - 0x0199f004, -/* 0x01b8: mmctx_multi_disabled */ - 0xb600abc8, - 0xb9f010b4, - 0x01aec80c, - 0xfd11e4b6, - 0x07f105be, - 0x03f0c500, - 0x000bd001, -/* 0x01d6: mmctx_exec_loop */ -/* 0x01d6: mmctx_wait_free */ - 0xe7f104bd, - 0xe3f0c500, - 0x00eecf01, - 0xf41fe4f0, - 0xce98f30b, - 0x05e9fd00, - 0xc80007f1, - 0xd00103f0, - 0x04bd000e, - 0xb804c0b6, - 0x1bf404cd, - 0x02abc8d8, -/* 0x0207: mmctx_fini_wait */ - 0xf11f1bf4, - 0xf0c500b7, - 0xbbcf01b3, - 0x1fb4f000, - 0xf410b4b0, - 0xa7f0f01b, - 0xd021f405, -/* 0x0223: mmctx_stop */ - 0xc82b0ef4, - 0xb4b600ab, - 0x0cb9f010, - 0xf112b9f0, - 0xf0c50007, - 0x0bd00103, -/* 0x023b: mmctx_stop_wait */ - 0xf104bd00, - 0xf0c500b7, - 0xbbcf01b3, - 0x12bbc800, -/* 0x024b: mmctx_done */ - 0xbdf31bf4, - 0x0199f094, - 0x170007f1, - 0xd00203f0, - 0x04bd0009, -/* 0x025e: strand_wait */ - 0xa0f900f8, - 0xf402a7f0, - 0xa0fcd021, -/* 0x026a: strand_pre */ - 0x97f000f8, - 0xfc07f10c, - 0x0203f04a, - 0xbd0009d0, - 0x5e21f504, -/* 0x027f: strand_post */ - 0xf000f802, - 0x07f10d97, - 0x03f04afc, - 0x0009d002, - 0x21f504bd, - 0x00f8025e, -/* 0x0294: strand_set */ - 0xf10fc7f0, - 0xf04ffc07, - 0x0cd00203, - 0xf004bd00, - 0x07f10bc7, - 0x03f04afc, - 0x000cd002, - 0x07f104bd, - 0x03f04ffc, - 0x000ed002, - 0xc7f004bd, - 0xfc07f10a, - 0x0203f04a, - 0xbd000cd0, - 0x5e21f504, -/* 0x02d3: strand_ctx_init */ - 0xbd00f802, - 0x0399f094, - 0x0f0007f1, - 0xd00203f0, - 0x04bd0009, - 0x026a21f5, - 0xf503e7f0, - 0xbd029421, - 0xfc07f1c4, - 0x0203f047, - 0xbd000cd0, - 0x01c7f004, - 0x4afc07f1, - 0xd00203f0, - 0x04bd000c, - 0x025e21f5, - 0xf1010c92, - 0xf046fc07, - 0x0cd00203, - 0xf004bd00, - 0x07f102c7, - 0x03f04afc, - 0x000cd002, - 0x21f504bd, - 0x21f5025e, - 0x87f1027f, - 0x83f04200, - 0x0097f102, - 0x0293f020, - 0x950099cf, -/* 0x034a: ctx_init_strand_loop */ - 0x8ed008fe, - 0x408ed000, - 0xb6808acf, - 0xa0b606a5, - 0x00eabb01, - 0xb60480b6, - 0x1bf40192, - 0x08e4b6e8, - 0xbdf2efbc, - 0x0399f094, - 0x170007f1, - 0xd00203f0, - 0x04bd0009, -/* 0x037e: error */ - 0x07f100f8, - 0x03f00500, - 0x000fd002, - 0xf7f004bd, - 0x0007f101, - 0x0303f007, - 0xbd000fd0, -/* 0x039b: init */ - 0xbd00f804, - 0x0007fe04, - 0x420017f1, - 0xcf0013f0, - 0x11e70011, - 0x14b60109, - 0x0014fe08, - 0xf10227f0, - 0xf0120007, - 0x02d00003, - 0xf104bd00, - 0xfe06c817, - 0x24bd0010, - 0x070007f1, - 0xd00003f0, - 0x04bd0002, - 0x200327f1, - 0x010007f1, - 0xd00103f0, - 0x04bd0002, - 0x200427f1, - 0x010407f1, - 0xd00103f0, - 0x04bd0002, - 0x200b27f1, - 0x010807f1, - 0xd00103f0, - 0x04bd0002, - 0x200c27f1, - 0x011c07f1, - 0xd00103f0, - 0x04bd0002, - 0xf1010392, - 0xf0090007, - 0x03d00303, - 0xf104bd00, - 0xf0870427, - 0x07f10023, - 0x03f00400, - 0x0002d000, - 0x27f004bd, - 0x0007f104, - 0x0003f003, - 0xbd0002d0, - 0x1031f404, - 0x9604e7f1, - 0xf440e3f0, - 0xfeb96821, - 0x90f1c702, - 0xf0030180, - 0x0f801ff4, - 0x0117f002, - 0xb6041fbb, - 0x07f10112, - 0x03f00300, - 0x0001d001, - 0x07f104bd, - 0x03f00400, - 0x0001d001, - 0x17f104bd, - 0xf7f00100, - 0xd721f502, - 0xe921f507, - 0x10f7f007, - 0x083621f5, - 0x98000e98, - 0x21f5010f, - 0x14950150, - 0x0007f108, - 0x0103f0c0, - 0xbd0004d0, - 0x0007f104, - 0x0103f0c1, - 0xbd0004d0, - 0x0030b704, - 0x001fbb13, - 0xf102f5b6, - 0xf0d30007, - 0x0fd00103, - 0xb604bd00, - 0x10b60815, - 0x0814b601, - 0xf5021fb9, - 0xbb02d321, - 0x0398001f, - 0x0047f102, - 0x5043f020, -/* 0x04f4: init_gpc */ - 0x08044ea0, - 0xf4021fb9, - 0x4ea09d21, - 0xf4bd010c, - 0xa09d21f4, - 0xf401044e, - 0x4ea09d21, - 0xf7f00100, - 0x9d21f402, - 0x08004ea0, -/* 0x051c: init_gpc_wait */ - 0xc86821f4, - 0x0bf41fff, - 0x044ea0fa, - 0x6821f408, - 0xb7001fbb, - 0xb6800040, - 0x1bf40132, - 0x00f7f0be, - 0x083621f5, - 0xf500f7f0, - 0xf107d721, - 0xf0010007, - 0x01d00203, - 0xbd04bd00, - 0x1f19f014, - 0x080007f1, - 0xd00203f0, - 0x04bd0001, -/* 0x0564: main */ - 0xf40031f4, - 0xd7f00028, - 0x3921f410, - 0xb1f401f4, - 0xf54001e4, - 0xbd00e91b, - 0x0499f094, - 0x0f0007f1, - 0xd00203f0, - 0x04bd0009, - 0xc00017f1, - 0xcf0213f0, - 0x27f10011, - 0x23f0c100, - 0x0022cf02, - 0xf51f13c8, - 0xc800890b, - 0x0bf41f23, - 0xb920f962, - 0x94bd0212, - 0xf10799f0, - 0xf00f0007, - 0x09d00203, - 0xf404bd00, - 0x31f40132, - 0x0221f502, - 0xf094bd0a, - 0x07f10799, - 0x03f01700, - 0x0009d002, - 0x20fc04bd, - 0x99f094bd, - 0x0007f106, - 0x0203f00f, - 0xbd0009d0, - 0x0131f404, - 0x0a0221f5, - 0x99f094bd, - 0x0007f106, - 0x0203f017, - 0xbd0009d0, - 0x330ef404, -/* 0x060c: chsw_prev_no_next */ - 0x12b920f9, - 0x0132f402, - 0xf50232f4, - 0xfc0a0221, - 0x0007f120, - 0x0203f0c0, - 0xbd0002d0, - 0x130ef404, -/* 0x062c: chsw_no_prev */ - 0xf41f23c8, - 0x31f40d0b, - 0x0232f401, - 0x0a0221f5, -/* 0x063c: chsw_done */ - 0xf10127f0, - 0xf0c30007, - 0x02d00203, - 0xbd04bd00, - 0x0499f094, - 0x170007f1, - 0xd00203f0, - 0x04bd0009, - 0xff080ef5, -/* 0x0660: main_not_ctx_switch */ - 0xf401e4b0, - 0xf2b90d1b, - 0x9a21f502, - 0x460ef409, -/* 0x0670: main_not_ctx_chan */ - 0xf402e4b0, - 0x94bd321b, - 0xf10799f0, - 0xf00f0007, - 0x09d00203, - 0xf404bd00, - 0x32f40132, - 0x0221f502, - 0xf094bd0a, - 0x07f10799, - 0x03f01700, - 0x0009d002, - 0x0ef404bd, -/* 0x06a5: main_not_ctx_save */ - 0x10ef9411, - 0xf501f5f0, - 0xf5037e21, -/* 0x06b3: main_done */ - 0xbdfeb50e, - 0x1f29f024, - 0x080007f1, - 0xd00203f0, - 0x04bd0002, - 0xfea00ef5, -/* 0x06c8: ih */ - 0x88fe80f9, - 0xf980f901, - 0xf9a0f990, - 0xf9d0f9b0, - 0xbdf0f9e0, - 0x00a7f104, - 0x00a3f002, - 0xc400aacf, - 0x0bf404ab, - 0x10d7f030, - 0x1a00e7f1, - 0xcf00e3f0, - 0xf7f100ee, - 0xf3f01900, - 0x00ffcf00, - 0xb70421f4, - 0xf00400b0, - 0x07f101e7, - 0x03f01d00, - 0x000ed000, -/* 0x071a: ih_no_fifo */ - 0xabe404bd, - 0x0bf40100, - 0x10d7f00d, - 0x4001e7f1, -/* 0x072b: ih_no_ctxsw */ - 0xe40421f4, - 0xf40400ab, - 0xe7f16c0b, - 0xe3f00708, - 0x6821f440, - 0xf102ffb9, - 0xf0040007, - 0x0fd00203, - 0xf104bd00, - 0xf00704e7, - 0x21f440e3, - 0x02ffb968, - 0x030007f1, - 0xd00203f0, - 0x04bd000f, - 0x9450fec7, - 0xf7f102ee, - 0xf3f00700, - 0x00efbb40, - 0xf16821f4, - 0xf0020007, - 0x0fd00203, - 0xf004bd00, - 0x21f503f7, - 0xb7f1037e, - 0xbfb90100, - 0x44e7f102, - 0x40e3f001, -/* 0x079b: ih_no_fwmthd */ - 0xf19d21f4, - 0xbd0504b7, - 0xb4abffb0, - 0xf10f0bf4, - 0xf0070007, - 0x0bd00303, -/* 0x07b3: ih_no_other */ - 0xf104bd00, - 0xf0010007, - 0x0ad00003, - 0xfc04bd00, - 0xfce0fcf0, - 0xfcb0fcd0, - 0xfc90fca0, - 0x0088fe80, - 0x32f480fc, -/* 0x07d7: ctx_4170s */ - 0xf001f800, - 0xffb910f5, - 0x70e7f102, - 0x40e3f041, - 0xf89d21f4, -/* 0x07e9: ctx_4170w */ - 0x70e7f100, - 0x40e3f041, - 0xb96821f4, - 0xf4f002ff, - 0xf01bf410, -/* 0x07fe: ctx_redswitch */ - 0xe7f100f8, - 0xe5f00200, - 0x20e5f040, - 0xf110e5f0, - 0xf0850007, - 0x0ed00103, - 0xf004bd00, -/* 0x081a: ctx_redswitch_delay */ - 0xf2b608f7, - 0xfd1bf401, - 0x0400e5f1, - 0x0100e5f1, - 0x850007f1, - 0xd00103f0, - 0x04bd000e, -/* 0x0836: ctx_86c */ - 0x07f100f8, - 0x03f01b00, - 0x000fd002, - 0xffb904bd, - 0x14e7f102, - 0x40e3f08a, - 0xb99d21f4, - 0xe7f102ff, - 0xe3f0a86c, - 0x9d21f441, -/* 0x085e: ctx_mem */ - 0x07f100f8, - 0x03f08400, - 0x000fd002, -/* 0x086a: ctx_mem_wait */ - 0xf7f104bd, - 0xf3f08400, - 0x00ffcf02, - 0xf405fffd, - 0x00f8f31b, -/* 0x087c: ctx_load */ - 0x99f094bd, - 0x0007f105, - 0x0203f00f, - 0xbd0009d0, - 0x0ca7f004, - 0xbdd021f4, - 0x0007f1f4, - 0x0203f089, - 0xbd000fd0, - 0x0007f104, - 0x0203f0c1, - 0xbd0002d0, - 0x0007f104, - 0x0203f083, - 0xbd0002d0, - 0x07f7f004, - 0x085e21f5, - 0xc00007f1, - 0xd00203f0, - 0x04bd0002, - 0xf0000bfe, - 0x24b61f2a, - 0x0220b604, - 0x99f094bd, - 0x0007f108, - 0x0203f00f, - 0xbd0009d0, - 0x0007f104, - 0x0203f081, - 0xbd0002d0, - 0x0027f104, - 0x0023f100, - 0x0225f080, - 0x880007f1, - 0xd00203f0, - 0x04bd0002, - 0xf11017f0, - 0xf0020027, - 0x12fa0223, - 0xbd03f805, - 0x0899f094, - 0x170007f1, - 0xd00203f0, - 0x04bd0009, - 0xb6810198, - 0x02981814, - 0x0825b680, - 0x800512fd, - 0x94bd1601, - 0xf10999f0, - 0xf00f0007, - 0x09d00203, - 0xf104bd00, - 0xf0810007, - 0x01d00203, - 0xf004bd00, - 0x07f10127, - 0x03f08800, - 0x0002d002, - 0x17f104bd, - 0x13f00100, - 0x0501fa06, - 0x94bd03f8, - 0xf10999f0, - 0xf0170007, - 0x09d00203, - 0xbd04bd00, - 0x0599f094, - 0x170007f1, - 0xd00203f0, - 0x04bd0009, -/* 0x099a: ctx_chan */ - 0x21f500f8, - 0xa7f0087c, - 0xd021f40c, - 0xf505f7f0, - 0xf8085e21, -/* 0x09ad: ctx_mmio_exec */ - 0x41039800, - 0x810007f1, - 0xd00203f0, - 0x04bd0003, -/* 0x09be: ctx_mmio_loop */ - 0x34c434bd, - 0x0f1bf4ff, - 0x020057f1, - 0xfa0653f0, - 0x03f80535, -/* 0x09d0: ctx_mmio_pull */ - 0x98804e98, - 0x21f4814f, - 0x0830b69d, - 0xf40112b6, -/* 0x09e2: ctx_mmio_done */ - 0x0398df1b, - 0x0007f116, - 0x0203f081, - 0xbd0003d0, - 0x40008004, - 0x010017f1, - 0xfa0613f0, - 0x03f80601, -/* 0x0a02: ctx_xfer */ - 0xe7f000f8, - 0x0007f104, - 0x0303f002, - 0xbd000ed0, -/* 0x0a11: ctx_xfer_idle */ - 0x00e7f104, - 0x03e3f000, - 0xf100eecf, - 0xf42000e4, - 0x11f4f21b, - 0x0d02f406, -/* 0x0a28: ctx_xfer_pre */ - 0xf510f7f0, - 0xf4083621, -/* 0x0a32: ctx_xfer_pre_load */ - 0xf7f01c11, - 0xd721f502, - 0xe921f507, - 0xfe21f507, - 0xf5f4bd07, - 0xf507d721, -/* 0x0a4b: ctx_xfer_exec */ - 0x98087c21, - 0x24bd1601, - 0x050007f1, - 0xd00103f0, - 0x04bd0002, - 0xf1021fb9, - 0xf0a500e7, - 0x21f441e3, - 0x01fcf09d, - 0xb6022cf0, - 0xf2fd0124, - 0x02ffb905, - 0xa504e7f1, - 0xf441e3f0, - 0x21f59d21, - 0x24bd026a, - 0x47fc07f1, - 0xd00203f0, - 0x04bd0002, - 0xb6012cf0, - 0x07f10320, - 0x03f04afc, - 0x0002d002, - 0xacf004bd, - 0x06a5f001, - 0x9800b7f0, - 0x0d98000c, - 0x00e7f001, - 0x016f21f5, - 0xf508a7f0, - 0xf5011021, - 0xf4025e21, - 0xa7f01301, - 0xd021f40c, - 0xf505f7f0, - 0xf4085e21, -/* 0x0ada: ctx_xfer_post */ - 0xf7f02e02, - 0xd721f502, - 0xf5f4bd07, - 0xf5083621, - 0xf5027f21, - 0xbd07e921, - 0xd721f5f4, - 0x1011f407, - 0xfd400198, - 0x0bf40511, - 0xad21f507, -/* 0x0b05: ctx_xfer_no_post_mmio */ -/* 0x0b05: ctx_xfer_done */ - 0x0000f809, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -}; diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvf0.fuc b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvf0.fuc deleted file mode 100644 index ec42ed29b50d..000000000000 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvf0.fuc +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 2013 Red Hat Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - * Authors: Ben Skeggs <bskeggs@redhat.com> - */ - -#define CHIPSET GK110 -#include "macros.fuc" - -.section #nvf0_grhub_data -#define INCLUDE_DATA -#include "com.fuc" -#include "hub.fuc" -#undef INCLUDE_DATA - -.section #nvf0_grhub_code -#define INCLUDE_CODE -bra #init -#include "com.fuc" -#include "hub.fuc" -.align 256 -#undef INCLUDE_CODE diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvf0.fuc.h b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvf0.fuc.h deleted file mode 100644 index a0af4b703a8e..000000000000 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvf0.fuc.h +++ /dev/null @@ -1,1044 +0,0 @@ -uint32_t nvf0_grhub_data[] = { -/* 0x0000: hub_mmio_list_head */ - 0x00000300, -/* 0x0004: hub_mmio_list_tail */ - 0x00000304, -/* 0x0008: gpc_count */ - 0x00000000, -/* 0x000c: rop_count */ - 0x00000000, -/* 0x0010: cmd_queue */ - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -/* 0x0058: ctx_current */ - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -/* 0x0100: chan_data */ -/* 0x0100: chan_mmio_count */ - 0x00000000, -/* 0x0104: chan_mmio_address */ - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -/* 0x0200: xfer_data */ - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -/* 0x0300: hub_mmio_list_base */ - 0x0417e91c, -}; - -uint32_t nvf0_grhub_code[] = { - 0x039b0ef5, -/* 0x0004: queue_put */ - 0x9800d898, - 0x86f001d9, - 0x0489b808, - 0xf00c1bf4, - 0x21f502f7, - 0x00f8037e, -/* 0x001c: queue_put_next */ - 0xb60798c4, - 0x8dbb0384, - 0x0880b600, - 0x80008e80, - 0x90b6018f, - 0x0f94f001, - 0xf801d980, -/* 0x0039: queue_get */ - 0x0131f400, - 0x9800d898, - 0x89b801d9, - 0x210bf404, - 0xb60789c4, - 0x9dbb0394, - 0x0890b600, - 0x98009e98, - 0x80b6019f, - 0x0f84f001, - 0xf400d880, -/* 0x0066: queue_get_done */ - 0x00f80132, -/* 0x0068: nv_rd32 */ - 0xf002ecb9, - 0x07f11fc9, - 0x03f0ca00, - 0x000cd001, -/* 0x007a: nv_rd32_wait */ - 0xc7f104bd, - 0xc3f0ca00, - 0x00cccf01, - 0xf41fccc8, - 0xa7f0f31b, - 0x1021f506, - 0x00f7f101, - 0x01f3f0cb, - 0xf800ffcf, -/* 0x009d: nv_wr32 */ - 0x0007f100, - 0x0103f0cc, - 0xbd000fd0, - 0x02ecb904, - 0xf01fc9f0, - 0x07f11ec9, - 0x03f0ca00, - 0x000cd001, -/* 0x00be: nv_wr32_wait */ - 0xc7f104bd, - 0xc3f0ca00, - 0x00cccf01, - 0xf41fccc8, - 0x00f8f31b, -/* 0x00d0: wait_donez */ - 0x99f094bd, - 0x0007f100, - 0x0203f037, - 0xbd0009d0, - 0x0007f104, - 0x0203f006, - 0xbd000ad0, -/* 0x00ed: wait_donez_ne */ - 0x0087f104, - 0x0183f000, - 0xff0088cf, - 0x1bf4888a, - 0xf094bdf3, - 0x07f10099, - 0x03f01700, - 0x0009d002, - 0x00f804bd, -/* 0x0110: wait_doneo */ - 0x99f094bd, - 0x0007f100, - 0x0203f037, - 0xbd0009d0, - 0x0007f104, - 0x0203f006, - 0xbd000ad0, -/* 0x012d: wait_doneo_e */ - 0x0087f104, - 0x0183f000, - 0xff0088cf, - 0x0bf4888a, - 0xf094bdf3, - 0x07f10099, - 0x03f01700, - 0x0009d002, - 0x00f804bd, -/* 0x0150: mmctx_size */ -/* 0x0152: nv_mmctx_size_loop */ - 0xe89894bd, - 0x1a85b600, - 0xb60180b6, - 0x98bb0284, - 0x04e0b600, - 0xf404efb8, - 0x9fb9eb1b, -/* 0x016f: mmctx_xfer */ - 0xbd00f802, - 0x0199f094, - 0x370007f1, - 0xd00203f0, - 0x04bd0009, - 0xbbfd94bd, - 0x120bf405, - 0xc40007f1, - 0xd00103f0, - 0x04bd000b, -/* 0x0197: mmctx_base_disabled */ - 0xfd0099f0, - 0x0bf405ee, - 0x0007f11e, - 0x0103f0c6, - 0xbd000ed0, - 0x0007f104, - 0x0103f0c7, - 0xbd000fd0, - 0x0199f004, -/* 0x01b8: mmctx_multi_disabled */ - 0xb600abc8, - 0xb9f010b4, - 0x01aec80c, - 0xfd11e4b6, - 0x07f105be, - 0x03f0c500, - 0x000bd001, -/* 0x01d6: mmctx_exec_loop */ -/* 0x01d6: mmctx_wait_free */ - 0xe7f104bd, - 0xe3f0c500, - 0x00eecf01, - 0xf41fe4f0, - 0xce98f30b, - 0x05e9fd00, - 0xc80007f1, - 0xd00103f0, - 0x04bd000e, - 0xb804c0b6, - 0x1bf404cd, - 0x02abc8d8, -/* 0x0207: mmctx_fini_wait */ - 0xf11f1bf4, - 0xf0c500b7, - 0xbbcf01b3, - 0x1fb4f000, - 0xf410b4b0, - 0xa7f0f01b, - 0xd021f405, -/* 0x0223: mmctx_stop */ - 0xc82b0ef4, - 0xb4b600ab, - 0x0cb9f010, - 0xf112b9f0, - 0xf0c50007, - 0x0bd00103, -/* 0x023b: mmctx_stop_wait */ - 0xf104bd00, - 0xf0c500b7, - 0xbbcf01b3, - 0x12bbc800, -/* 0x024b: mmctx_done */ - 0xbdf31bf4, - 0x0199f094, - 0x170007f1, - 0xd00203f0, - 0x04bd0009, -/* 0x025e: strand_wait */ - 0xa0f900f8, - 0xf402a7f0, - 0xa0fcd021, -/* 0x026a: strand_pre */ - 0x97f000f8, - 0xfc07f10c, - 0x0203f04a, - 0xbd0009d0, - 0x5e21f504, -/* 0x027f: strand_post */ - 0xf000f802, - 0x07f10d97, - 0x03f04afc, - 0x0009d002, - 0x21f504bd, - 0x00f8025e, -/* 0x0294: strand_set */ - 0xf10fc7f0, - 0xf04ffc07, - 0x0cd00203, - 0xf004bd00, - 0x07f10bc7, - 0x03f04afc, - 0x000cd002, - 0x07f104bd, - 0x03f04ffc, - 0x000ed002, - 0xc7f004bd, - 0xfc07f10a, - 0x0203f04a, - 0xbd000cd0, - 0x5e21f504, -/* 0x02d3: strand_ctx_init */ - 0xbd00f802, - 0x0399f094, - 0x370007f1, - 0xd00203f0, - 0x04bd0009, - 0x026a21f5, - 0xf503e7f0, - 0xbd029421, - 0xfc07f1c4, - 0x0203f047, - 0xbd000cd0, - 0x01c7f004, - 0x4afc07f1, - 0xd00203f0, - 0x04bd000c, - 0x025e21f5, - 0xf1010c92, - 0xf046fc07, - 0x0cd00203, - 0xf004bd00, - 0x07f102c7, - 0x03f04afc, - 0x000cd002, - 0x21f504bd, - 0x21f5025e, - 0x87f1027f, - 0x83f04200, - 0x0097f102, - 0x0293f020, - 0x950099cf, -/* 0x034a: ctx_init_strand_loop */ - 0x8ed008fe, - 0x408ed000, - 0xb6808acf, - 0xa0b606a5, - 0x00eabb01, - 0xb60480b6, - 0x1bf40192, - 0x08e4b6e8, - 0xbdf2efbc, - 0x0399f094, - 0x170007f1, - 0xd00203f0, - 0x04bd0009, -/* 0x037e: error */ - 0x07f100f8, - 0x03f00500, - 0x000fd002, - 0xf7f004bd, - 0x0007f101, - 0x0303f007, - 0xbd000fd0, -/* 0x039b: init */ - 0xbd00f804, - 0x0007fe04, - 0x420017f1, - 0xcf0013f0, - 0x11e70011, - 0x14b60109, - 0x0014fe08, - 0xf10227f0, - 0xf0120007, - 0x02d00003, - 0xf104bd00, - 0xfe06c817, - 0x24bd0010, - 0x070007f1, - 0xd00003f0, - 0x04bd0002, - 0x200327f1, - 0x010007f1, - 0xd00103f0, - 0x04bd0002, - 0x200427f1, - 0x010407f1, - 0xd00103f0, - 0x04bd0002, - 0x200b27f1, - 0x010807f1, - 0xd00103f0, - 0x04bd0002, - 0x200c27f1, - 0x011c07f1, - 0xd00103f0, - 0x04bd0002, - 0xf1010392, - 0xf0090007, - 0x03d00303, - 0xf104bd00, - 0xf0870427, - 0x07f10023, - 0x03f00400, - 0x0002d000, - 0x27f004bd, - 0x0007f104, - 0x0003f003, - 0xbd0002d0, - 0x1031f404, - 0x9604e7f1, - 0xf440e3f0, - 0xfeb96821, - 0x90f1c702, - 0xf0030180, - 0x0f801ff4, - 0x0117f002, - 0xb6041fbb, - 0x07f10112, - 0x03f00300, - 0x0001d001, - 0x07f104bd, - 0x03f00400, - 0x0001d001, - 0x17f104bd, - 0xf7f00100, - 0xd721f502, - 0xe921f507, - 0x10f7f007, - 0x083621f5, - 0x98000e98, - 0x21f5010f, - 0x14950150, - 0x0007f108, - 0x0103f0c0, - 0xbd0004d0, - 0x0007f104, - 0x0103f0c1, - 0xbd0004d0, - 0x0030b704, - 0x001fbb13, - 0xf102f5b6, - 0xf0d30007, - 0x0fd00103, - 0xb604bd00, - 0x10b60815, - 0x0814b601, - 0xf5021fb9, - 0xbb02d321, - 0x0398001f, - 0x0047f102, - 0x5043f020, -/* 0x04f4: init_gpc */ - 0x08044ea0, - 0xf4021fb9, - 0x4ea09d21, - 0xf4bd010c, - 0xa09d21f4, - 0xf401044e, - 0x4ea09d21, - 0xf7f00100, - 0x9d21f402, - 0x08004ea0, -/* 0x051c: init_gpc_wait */ - 0xc86821f4, - 0x0bf41fff, - 0x044ea0fa, - 0x6821f408, - 0xb7001fbb, - 0xb6800040, - 0x1bf40132, - 0x00f7f0be, - 0x083621f5, - 0xf500f7f0, - 0xf107d721, - 0xf0010007, - 0x01d00203, - 0xbd04bd00, - 0x1f19f014, - 0x300007f1, - 0xd00203f0, - 0x04bd0001, -/* 0x0564: main */ - 0xf40031f4, - 0xd7f00028, - 0x3921f410, - 0xb1f401f4, - 0xf54001e4, - 0xbd00e91b, - 0x0499f094, - 0x370007f1, - 0xd00203f0, - 0x04bd0009, - 0xc00017f1, - 0xcf0213f0, - 0x27f10011, - 0x23f0c100, - 0x0022cf02, - 0xf51f13c8, - 0xc800890b, - 0x0bf41f23, - 0xb920f962, - 0x94bd0212, - 0xf10799f0, - 0xf0370007, - 0x09d00203, - 0xf404bd00, - 0x31f40132, - 0x0221f502, - 0xf094bd0a, - 0x07f10799, - 0x03f01700, - 0x0009d002, - 0x20fc04bd, - 0x99f094bd, - 0x0007f106, - 0x0203f037, - 0xbd0009d0, - 0x0131f404, - 0x0a0221f5, - 0x99f094bd, - 0x0007f106, - 0x0203f017, - 0xbd0009d0, - 0x330ef404, -/* 0x060c: chsw_prev_no_next */ - 0x12b920f9, - 0x0132f402, - 0xf50232f4, - 0xfc0a0221, - 0x0007f120, - 0x0203f0c0, - 0xbd0002d0, - 0x130ef404, -/* 0x062c: chsw_no_prev */ - 0xf41f23c8, - 0x31f40d0b, - 0x0232f401, - 0x0a0221f5, -/* 0x063c: chsw_done */ - 0xf10127f0, - 0xf0c30007, - 0x02d00203, - 0xbd04bd00, - 0x0499f094, - 0x170007f1, - 0xd00203f0, - 0x04bd0009, - 0xff080ef5, -/* 0x0660: main_not_ctx_switch */ - 0xf401e4b0, - 0xf2b90d1b, - 0x9a21f502, - 0x460ef409, -/* 0x0670: main_not_ctx_chan */ - 0xf402e4b0, - 0x94bd321b, - 0xf10799f0, - 0xf0370007, - 0x09d00203, - 0xf404bd00, - 0x32f40132, - 0x0221f502, - 0xf094bd0a, - 0x07f10799, - 0x03f01700, - 0x0009d002, - 0x0ef404bd, -/* 0x06a5: main_not_ctx_save */ - 0x10ef9411, - 0xf501f5f0, - 0xf5037e21, -/* 0x06b3: main_done */ - 0xbdfeb50e, - 0x1f29f024, - 0x300007f1, - 0xd00203f0, - 0x04bd0002, - 0xfea00ef5, -/* 0x06c8: ih */ - 0x88fe80f9, - 0xf980f901, - 0xf9a0f990, - 0xf9d0f9b0, - 0xbdf0f9e0, - 0x00a7f104, - 0x00a3f002, - 0xc400aacf, - 0x0bf404ab, - 0x10d7f030, - 0x1a00e7f1, - 0xcf00e3f0, - 0xf7f100ee, - 0xf3f01900, - 0x00ffcf00, - 0xb70421f4, - 0xf00400b0, - 0x07f101e7, - 0x03f01d00, - 0x000ed000, -/* 0x071a: ih_no_fifo */ - 0xabe404bd, - 0x0bf40100, - 0x10d7f00d, - 0x4001e7f1, -/* 0x072b: ih_no_ctxsw */ - 0xe40421f4, - 0xf40400ab, - 0xe7f16c0b, - 0xe3f00708, - 0x6821f440, - 0xf102ffb9, - 0xf0040007, - 0x0fd00203, - 0xf104bd00, - 0xf00704e7, - 0x21f440e3, - 0x02ffb968, - 0x030007f1, - 0xd00203f0, - 0x04bd000f, - 0x9450fec7, - 0xf7f102ee, - 0xf3f00700, - 0x00efbb40, - 0xf16821f4, - 0xf0020007, - 0x0fd00203, - 0xf004bd00, - 0x21f503f7, - 0xb7f1037e, - 0xbfb90100, - 0x44e7f102, - 0x40e3f001, -/* 0x079b: ih_no_fwmthd */ - 0xf19d21f4, - 0xbd0504b7, - 0xb4abffb0, - 0xf10f0bf4, - 0xf0070007, - 0x0bd00303, -/* 0x07b3: ih_no_other */ - 0xf104bd00, - 0xf0010007, - 0x0ad00003, - 0xfc04bd00, - 0xfce0fcf0, - 0xfcb0fcd0, - 0xfc90fca0, - 0x0088fe80, - 0x32f480fc, -/* 0x07d7: ctx_4170s */ - 0xf001f800, - 0xffb910f5, - 0x70e7f102, - 0x40e3f041, - 0xf89d21f4, -/* 0x07e9: ctx_4170w */ - 0x70e7f100, - 0x40e3f041, - 0xb96821f4, - 0xf4f002ff, - 0xf01bf410, -/* 0x07fe: ctx_redswitch */ - 0xe7f100f8, - 0xe5f00200, - 0x20e5f040, - 0xf110e5f0, - 0xf0850007, - 0x0ed00103, - 0xf004bd00, -/* 0x081a: ctx_redswitch_delay */ - 0xf2b608f7, - 0xfd1bf401, - 0x0400e5f1, - 0x0100e5f1, - 0x850007f1, - 0xd00103f0, - 0x04bd000e, -/* 0x0836: ctx_86c */ - 0x07f100f8, - 0x03f02300, - 0x000fd002, - 0xffb904bd, - 0x14e7f102, - 0x40e3f08a, - 0xb99d21f4, - 0xe7f102ff, - 0xe3f0a88c, - 0x9d21f441, -/* 0x085e: ctx_mem */ - 0x07f100f8, - 0x03f08400, - 0x000fd002, -/* 0x086a: ctx_mem_wait */ - 0xf7f104bd, - 0xf3f08400, - 0x00ffcf02, - 0xf405fffd, - 0x00f8f31b, -/* 0x087c: ctx_load */ - 0x99f094bd, - 0x0007f105, - 0x0203f037, - 0xbd0009d0, - 0x0ca7f004, - 0xbdd021f4, - 0x0007f1f4, - 0x0203f089, - 0xbd000fd0, - 0x0007f104, - 0x0203f0c1, - 0xbd0002d0, - 0x0007f104, - 0x0203f083, - 0xbd0002d0, - 0x07f7f004, - 0x085e21f5, - 0xc00007f1, - 0xd00203f0, - 0x04bd0002, - 0xf0000bfe, - 0x24b61f2a, - 0x0220b604, - 0x99f094bd, - 0x0007f108, - 0x0203f037, - 0xbd0009d0, - 0x0007f104, - 0x0203f081, - 0xbd0002d0, - 0x0027f104, - 0x0023f100, - 0x0225f080, - 0x880007f1, - 0xd00203f0, - 0x04bd0002, - 0xf11017f0, - 0xf0020027, - 0x12fa0223, - 0xbd03f805, - 0x0899f094, - 0x170007f1, - 0xd00203f0, - 0x04bd0009, - 0xb6810198, - 0x02981814, - 0x0825b680, - 0x800512fd, - 0x94bd1601, - 0xf10999f0, - 0xf0370007, - 0x09d00203, - 0xf104bd00, - 0xf0810007, - 0x01d00203, - 0xf004bd00, - 0x07f10127, - 0x03f08800, - 0x0002d002, - 0x17f104bd, - 0x13f00100, - 0x0501fa06, - 0x94bd03f8, - 0xf10999f0, - 0xf0170007, - 0x09d00203, - 0xbd04bd00, - 0x0599f094, - 0x170007f1, - 0xd00203f0, - 0x04bd0009, -/* 0x099a: ctx_chan */ - 0x21f500f8, - 0xa7f0087c, - 0xd021f40c, - 0xf505f7f0, - 0xf8085e21, -/* 0x09ad: ctx_mmio_exec */ - 0x41039800, - 0x810007f1, - 0xd00203f0, - 0x04bd0003, -/* 0x09be: ctx_mmio_loop */ - 0x34c434bd, - 0x0f1bf4ff, - 0x020057f1, - 0xfa0653f0, - 0x03f80535, -/* 0x09d0: ctx_mmio_pull */ - 0x98804e98, - 0x21f4814f, - 0x0830b69d, - 0xf40112b6, -/* 0x09e2: ctx_mmio_done */ - 0x0398df1b, - 0x0007f116, - 0x0203f081, - 0xbd0003d0, - 0x40008004, - 0x010017f1, - 0xfa0613f0, - 0x03f80601, -/* 0x0a02: ctx_xfer */ - 0xe7f000f8, - 0x0007f104, - 0x0303f002, - 0xbd000ed0, -/* 0x0a11: ctx_xfer_idle */ - 0x00e7f104, - 0x03e3f000, - 0xf100eecf, - 0xf42000e4, - 0x11f4f21b, - 0x0d02f406, -/* 0x0a28: ctx_xfer_pre */ - 0xf510f7f0, - 0xf4083621, -/* 0x0a32: ctx_xfer_pre_load */ - 0xf7f01c11, - 0xd721f502, - 0xe921f507, - 0xfe21f507, - 0xf5f4bd07, - 0xf507d721, -/* 0x0a4b: ctx_xfer_exec */ - 0x98087c21, - 0x24bd1601, - 0x050007f1, - 0xd00103f0, - 0x04bd0002, - 0xf1021fb9, - 0xf0a500e7, - 0x21f441e3, - 0x01fcf09d, - 0xb6022cf0, - 0xf2fd0124, - 0x02ffb905, - 0xa504e7f1, - 0xf441e3f0, - 0x21f59d21, - 0x24bd026a, - 0x47fc07f1, - 0xd00203f0, - 0x04bd0002, - 0xb6012cf0, - 0x07f10320, - 0x03f04afc, - 0x0002d002, - 0xacf004bd, - 0x06a5f001, - 0x9800b7f0, - 0x0d98000c, - 0x00e7f001, - 0x016f21f5, - 0xf508a7f0, - 0xf5011021, - 0xf4025e21, - 0xa7f01301, - 0xd021f40c, - 0xf505f7f0, - 0xf4085e21, -/* 0x0ada: ctx_xfer_post */ - 0xf7f02e02, - 0xd721f502, - 0xf5f4bd07, - 0xf5083621, - 0xf5027f21, - 0xbd07e921, - 0xd721f5f4, - 0x1011f407, - 0xfd400198, - 0x0bf40511, - 0xad21f507, -/* 0x0b05: ctx_xfer_no_post_mmio */ -/* 0x0b05: ctx_xfer_done */ - 0x0000f809, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, - 0x00000000, -}; diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/macros.fuc b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/macros.fuc deleted file mode 100644 index 2a0b0f844299..000000000000 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/macros.fuc +++ /dev/null @@ -1,229 +0,0 @@ -/* - * Copyright 2013 Red Hat Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - * Authors: Ben Skeggs <bskeggs@redhat.com> - */ - -#include "os.h" - -#define GF100 0xc0 -#define GF117 0xd7 -#define GK100 0xe0 -#define GK110 0xf0 -#define GK208 0x108 - -#define NV_PGRAPH_TRAPPED_ADDR 0x400704 -#define NV_PGRAPH_TRAPPED_DATA_LO 0x400708 -#define NV_PGRAPH_TRAPPED_DATA_HI 0x40070c - -#define NV_PGRAPH_FE_OBJECT_TABLE(n) ((n) * 4 + 0x400700) - -#define NV_PGRAPH_FECS_INTR_ACK 0x409004 -#define NV_PGRAPH_FECS_INTR 0x409008 -#define NV_PGRAPH_FECS_INTR_FWMTHD 0x00000400 -#define NV_PGRAPH_FECS_INTR_CHSW 0x00000100 -#define NV_PGRAPH_FECS_INTR_FIFO 0x00000004 -#define NV_PGRAPH_FECS_INTR_MODE 0x40900c -#define NV_PGRAPH_FECS_INTR_MODE_FIFO 0x00000004 -#define NV_PGRAPH_FECS_INTR_MODE_FIFO_LEVEL 0x00000004 -#define NV_PGRAPH_FECS_INTR_MODE_FIFO_EDGE 0x00000000 -#define NV_PGRAPH_FECS_INTR_EN_SET 0x409010 -#define NV_PGRAPH_FECS_INTR_EN_SET_FIFO 0x00000004 -#define NV_PGRAPH_FECS_INTR_ROUTE 0x40901c -#define NV_PGRAPH_FECS_ACCESS 0x409048 -#define NV_PGRAPH_FECS_ACCESS_FIFO 0x00000002 -#define NV_PGRAPH_FECS_FIFO_DATA 0x409064 -#define NV_PGRAPH_FECS_FIFO_CMD 0x409068 -#define NV_PGRAPH_FECS_FIFO_ACK 0x409074 -#define NV_PGRAPH_FECS_CAPS 0x409108 -#define NV_PGRAPH_FECS_SIGNAL 0x409400 -#define NV_PGRAPH_FECS_IROUTE 0x409404 -#define NV_PGRAPH_FECS_BAR_MASK0 0x40940c -#define NV_PGRAPH_FECS_BAR_MASK1 0x409410 -#define NV_PGRAPH_FECS_BAR 0x409414 -#define NV_PGRAPH_FECS_BAR_SET 0x409418 -#define NV_PGRAPH_FECS_RED_SWITCH 0x409614 -#define NV_PGRAPH_FECS_RED_SWITCH_ENABLE_ROP 0x00000400 -#define NV_PGRAPH_FECS_RED_SWITCH_ENABLE_GPC 0x00000200 -#define NV_PGRAPH_FECS_RED_SWITCH_ENABLE_MAIN 0x00000100 -#define NV_PGRAPH_FECS_RED_SWITCH_POWER_ROP 0x00000040 -#define NV_PGRAPH_FECS_RED_SWITCH_POWER_GPC 0x00000020 -#define NV_PGRAPH_FECS_RED_SWITCH_POWER_MAIN 0x00000010 -#define NV_PGRAPH_FECS_RED_SWITCH_PAUSE_GPC 0x00000002 -#define NV_PGRAPH_FECS_RED_SWITCH_PAUSE_MAIN 0x00000001 -#define NV_PGRAPH_FECS_MMCTX_SAVE_SWBASE 0x409700 -#define NV_PGRAPH_FECS_MMCTX_LOAD_SWBASE 0x409704 -#define NV_PGRAPH_FECS_MMCTX_LOAD_COUNT 0x40974c -#define NV_PGRAPH_FECS_MMCTX_SAVE_SWBASE 0x409700 -#define NV_PGRAPH_FECS_MMCTX_LOAD_SWBASE 0x409704 -#define NV_PGRAPH_FECS_MMCTX_BASE 0x409710 -#define NV_PGRAPH_FECS_MMCTX_CTRL 0x409714 -#define NV_PGRAPH_FECS_MMCTX_MULTI_STRIDE 0x409718 -#define NV_PGRAPH_FECS_MMCTX_MULTI_MASK 0x40971c -#define NV_PGRAPH_FECS_MMCTX_QUEUE 0x409720 -#define NV_PGRAPH_FECS_MMIO_CTRL 0x409728 -#define NV_PGRAPH_FECS_MMIO_RDVAL 0x40972c -#define NV_PGRAPH_FECS_MMIO_WRVAL 0x409730 -#define NV_PGRAPH_FECS_MMCTX_LOAD_COUNT 0x40974c -#if CHIPSET < GK110 -#define NV_PGRAPH_FECS_CC_SCRATCH_VAL(n) ((n) * 4 + 0x409800) -#define NV_PGRAPH_FECS_CC_SCRATCH_SET(n) ((n) * 4 + 0x409820) -#define NV_PGRAPH_FECS_CC_SCRATCH_CLR(n) ((n) * 4 + 0x409840) -#define NV_PGRAPH_FECS_UNK86C 0x40986c -#else -#define NV_PGRAPH_FECS_CC_SCRATCH_VAL(n) ((n) * 4 + 0x409800) -#define NV_PGRAPH_FECS_CC_SCRATCH_CLR(n) ((n) * 4 + 0x409840) -#define NV_PGRAPH_FECS_UNK86C 0x40988c -#define NV_PGRAPH_FECS_CC_SCRATCH_SET(n) ((n) * 4 + 0x4098c0) -#endif -#define NV_PGRAPH_FECS_STRANDS_CNT 0x409880 -#define NV_PGRAPH_FECS_STRAND_SAVE_SWBASE 0x409908 -#define NV_PGRAPH_FECS_STRAND_LOAD_SWBASE 0x40990c -#define NV_PGRAPH_FECS_STRAND_WORDS 0x409910 -#define NV_PGRAPH_FECS_STRAND_DATA 0x409918 -#define NV_PGRAPH_FECS_STRAND_SELECT 0x40991c -#define NV_PGRAPH_FECS_STRAND_CMD 0x409928 -#define NV_PGRAPH_FECS_STRAND_CMD_SEEK 0x00000001 -#define NV_PGRAPH_FECS_STRAND_CMD_GET_INFO 0x00000002 -#define NV_PGRAPH_FECS_STRAND_CMD_SAVE 0x00000003 -#define NV_PGRAPH_FECS_STRAND_CMD_LOAD 0x00000004 -#define NV_PGRAPH_FECS_STRAND_CMD_ACTIVATE_FILTER 0x0000000a -#define NV_PGRAPH_FECS_STRAND_CMD_DEACTIVATE_FILTER 0x0000000b -#define NV_PGRAPH_FECS_STRAND_CMD_ENABLE 0x0000000c -#define NV_PGRAPH_FECS_STRAND_CMD_DISABLE 0x0000000d -#define NV_PGRAPH_FECS_STRAND_FILTER 0x40993c -#define NV_PGRAPH_FECS_MEM_BASE 0x409a04 -#define NV_PGRAPH_FECS_MEM_CHAN 0x409a0c -#define NV_PGRAPH_FECS_MEM_CMD 0x409a10 -#define NV_PGRAPH_FECS_MEM_CMD_LOAD_CHAN 0x00000007 -#define NV_PGRAPH_FECS_MEM_TARGET 0x409a20 -#define NV_PGRAPH_FECS_MEM_TARGET_UNK31 0x80000000 -#define NV_PGRAPH_FECS_MEM_TARGET_AS 0x0000001f -#define NV_PGRAPH_FECS_MEM_TARGET_AS_VM 0x00000001 -#define NV_PGRAPH_FECS_MEM_TARGET_AS_VRAM 0x00000002 -#define NV_PGRAPH_FECS_CHAN_ADDR 0x409b00 -#define NV_PGRAPH_FECS_CHAN_NEXT 0x409b04 -#define NV_PGRAPH_FECS_CHSW 0x409b0c -#define NV_PGRAPH_FECS_CHSW_ACK 0x00000001 -#define NV_PGRAPH_FECS_INTR_UP_SET 0x409c1c -#define NV_PGRAPH_FECS_INTR_UP_EN 0x409c24 - -#define NV_PGRAPH_GPCX_GPCCS_INTR_ACK 0x41a004 -#define NV_PGRAPH_GPCX_GPCCS_INTR 0x41a008 -#define NV_PGRAPH_GPCX_GPCCS_INTR_FIFO 0x00000004 -#define NV_PGRAPH_GPCX_GPCCS_INTR_EN_SET 0x41a010 -#define NV_PGRAPH_GPCX_GPCCS_INTR_EN_SET_FIFO 0x00000004 -#define NV_PGRAPH_GPCX_GPCCS_INTR_ROUTE 0x41a01c -#define NV_PGRAPH_GPCX_GPCCS_ACCESS 0x41a048 -#define NV_PGRAPH_GPCX_GPCCS_ACCESS_FIFO 0x00000002 -#define NV_PGRAPH_GPCX_GPCCS_FIFO_DATA 0x41a064 -#define NV_PGRAPH_GPCX_GPCCS_FIFO_CMD 0x41a068 -#define NV_PGRAPH_GPCX_GPCCS_FIFO_ACK 0x41a074 -#define NV_PGRAPH_GPCX_GPCCS_UNITS 0x41a608 -#define NV_PGRAPH_GPCX_GPCCS_CAPS 0x41a108 -#define NV_PGRAPH_GPCX_GPCCS_RED_SWITCH 0x41a614 -#define NV_PGRAPH_GPCX_GPCCS_RED_SWITCH_UNK11 0x00000800 -#define NV_PGRAPH_GPCX_GPCCS_RED_SWITCH_ENABLE 0x00000200 -#define NV_PGRAPH_GPCX_GPCCS_RED_SWITCH_POWER 0x00000020 -#define NV_PGRAPH_GPCX_GPCCS_RED_SWITCH_PAUSE 0x00000002 -#define NV_PGRAPH_GPCX_GPCCS_MYINDEX 0x41a618 -#define NV_PGRAPH_GPCX_GPCCS_MMCTX_SAVE_SWBASE 0x41a700 -#define NV_PGRAPH_GPCX_GPCCS_MMCTX_LOAD_SWBASE 0x41a704 -#define NV_PGRAPH_GPCX_GPCCS_MMCTX_LOAD_COUNT 0x41a74c -#if CHIPSET < GK110 -#define NV_PGRAPH_GPCX_GPCCS_CC_SCRATCH_VAL(n) ((n) * 4 + 0x41a800) -#define NV_PGRAPH_GPCX_GPCCS_CC_SCRATCH_SET(n) ((n) * 4 + 0x41a820) -#define NV_PGRAPH_GPCX_GPCCS_CC_SCRATCH_CLR(n) ((n) * 4 + 0x41a840) -#define NV_PGRAPH_GPCX_GPCCS_UNK86C 0x41a86c -#else -#define NV_PGRAPH_GPCX_GPCCS_CC_SCRATCH_VAL(n) ((n) * 4 + 0x41a800) -#define NV_PGRAPH_GPCX_GPCCS_CC_SCRATCH_CLR(n) ((n) * 4 + 0x41a840) -#define NV_PGRAPH_GPCX_GPCCS_UNK86C 0x41a88c -#define NV_PGRAPH_GPCX_GPCCS_CC_SCRATCH_SET(n) ((n) * 4 + 0x41a8c0) -#endif -#define NV_PGRAPH_GPCX_GPCCS_STRAND_SELECT 0x41a91c -#define NV_PGRAPH_GPCX_GPCCS_STRAND_CMD 0x41a928 -#define NV_PGRAPH_GPCX_GPCCS_STRAND_CMD_SAVE 0x00000003 -#define NV_PGRAPH_GPCX_GPCCS_STRAND_CMD_LOAD 0x00000004 -#define NV_PGRAPH_GPCX_GPCCS_MEM_BASE 0x41aa04 - -#define mmctx_data(r,c) .b32 (((c - 1) << 26) | r) -#define queue_init .skip 72 // (2 * 4) + ((8 * 4) * 2) - -#define T_WAIT 0 -#define T_MMCTX 1 -#define T_STRWAIT 2 -#define T_STRINIT 3 -#define T_AUTO 4 -#define T_CHAN 5 -#define T_LOAD 6 -#define T_SAVE 7 -#define T_LCHAN 8 -#define T_LCTXH 9 - -#if CHIPSET < GK208 -#define imm32(reg,val) /* -*/ movw reg ((val) & 0x0000ffff) /* -*/ sethi reg ((val) & 0xffff0000) -#else -#define imm32(reg,val) /* -*/ mov reg (val) -#endif - -#define nv_mkio(rv,r,i) /* -*/ imm32(rv, (((r) & 0xffc) << 6) | ((i) << 2)) - -#define hash # -#define fn(a) a -#if CHIPSET < GK208 -#define call(a) call fn(hash)a -#else -#define call(a) lcall fn(hash)a -#endif - -#define nv_iord(rv,r,i) /* -*/ nv_mkio(rv,r,i) /* -*/ iord rv I[rv] - -#define nv_iowr(r,i,rv) /* -*/ nv_mkio($r0,r,i) /* -*/ iowr I[$r0] rv /* -*/ clear b32 $r0 - -#define nv_rd32(reg,addr) /* -*/ imm32($r14, addr) /* -*/ call(nv_rd32) /* -*/ mov b32 reg $r15 - -#define nv_wr32(addr,reg) /* -*/ mov b32 $r15 reg /* -*/ imm32($r14, addr) /* -*/ call(nv_wr32) - -#define trace_set(bit) /* -*/ clear b32 $r9 /* -*/ bset $r9 bit /* -*/ nv_iowr(NV_PGRAPH_FECS_CC_SCRATCH_SET(7), 0, $r9) - -#define trace_clr(bit) /* -*/ clear b32 $r9 /* -*/ bset $r9 bit /* -*/ nv_iowr(NV_PGRAPH_FECS_CC_SCRATCH_CLR(7), 0, $r9) diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/os.h b/drivers/gpu/drm/nouveau/core/engine/graph/fuc/os.h deleted file mode 100644 index 1718ae4e8224..000000000000 --- a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/os.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef __NVKM_GRAPH_OS_H__ -#define __NVKM_GRAPH_OS_H__ - -#define E_BAD_COMMAND 0x00000001 -#define E_CMD_OVERFLOW 0x00000002 -#define E_BAD_FWMTHD 0x00000003 - -#endif |