linux/drivers/gpu/drm/amd/amdgpu
Ben Goz ff758a12b4 drm/amdgpu: Add amdgpu <--> amdkfd gfx8 interface
This patch adds the gfx8 interface file between amdgpu and amdkfd. This
interface file is currently in use when running on a Carrizo-based
system.

The interface itself is represented by a pointer to struct
kfd_dev. The pointer is located inside amdgpu_device structure.

All the register accesses that amdkfd need are done using this
interface. This allows us to avoid direct register accesses in
amdkfd proper, while also allows us to avoid locking between
amdkfd and amdgpu.

The single exception is the doorbells that are used in both of
the drivers. However, because they are located in separate pci
bar pages, the danger of sharing registers between the drivers
is minimal.

Having said that, we are planning to move the doorbells as well
to amdgpu.

Signed-off-by: Ben Goz <ben.goz@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
2015-07-20 09:16:48 +03:00
..
Kconfig drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
Makefile drm/amdgpu: Add amdgpu <--> amdkfd gfx8 interface 2015-07-20 09:16:48 +03:00
ObjectID.h
amdgpu.h drm/amdgpu: Add H/W agnostic amdgpu <--> amdkfd interface 2015-07-20 09:16:47 +03:00
amdgpu_acpi.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_acpi.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_afmt.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_amdkfd.c drm/amdgpu: Add amdgpu <--> amdkfd gfx8 interface 2015-07-20 09:16:48 +03:00
amdgpu_amdkfd.h drm/amdgpu: Add amdgpu <--> amdkfd gfx8 interface 2015-07-20 09:16:48 +03:00
amdgpu_amdkfd_gfx_v7.c drm/amdgpu: add amdgpu <--> amdkfd gfx7 interface 2015-07-20 09:16:48 +03:00
amdgpu_amdkfd_gfx_v8.c drm/amdgpu: Add amdgpu <--> amdkfd gfx8 interface 2015-07-20 09:16:48 +03:00
amdgpu_atombios.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_atombios.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_atpx_handler.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_benchmark.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_bios.c drm/amdgpu: Do not directly dereference pointers to BIOS area. 2015-06-03 21:03:16 -04:00
amdgpu_bo_list.c drm/amdgpu: add amdgpu_bo_list_set trace point 2015-06-29 11:21:43 -04:00
amdgpu_connectors.c drm/amdgpu: fix const warnings in amdgpu_connectors.c 2015-06-03 21:03:15 -04:00
amdgpu_connectors.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_cs.c drm/amdgpu: stop context leak in the error path 2015-07-16 12:39:39 -04:00
amdgpu_ctx.c drm/amdgpu: add and implement the GPU reset status query 2015-06-03 21:03:39 -04:00
amdgpu_device.c drm/amdgpu: disable the IP module if early_init returns -ENOENT (v2) 2015-07-16 12:39:39 -04:00
amdgpu_display.c drm/amdgpu: implement the allocation range (v3) 2015-06-03 21:03:52 -04:00
amdgpu_dpm.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_dpm.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_drv.c drm/amdgpu: Add H/W agnostic amdgpu <--> amdkfd interface 2015-07-20 09:16:47 +03:00
amdgpu_drv.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_encoders.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_family.h drm/amdgpu: add amdgpu_family.h 2015-06-03 21:03:13 -04:00
amdgpu_fb.c drm/amdgpu: implement the allocation range (v3) 2015-06-03 21:03:52 -04:00
amdgpu_fence.c drm/amdgpu: recreate fence from user seq 2015-06-29 15:52:49 -04:00
amdgpu_gart.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_gds.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_gem.c drm/amdgpu: fix timeout calculation 2015-07-09 11:40:11 -04:00
amdgpu_gfx.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_gfx.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_i2c.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_i2c.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_ib.c drm/amdgpu: disable user fence interrupt (v2) 2015-06-05 11:02:06 -04:00
amdgpu_ih.c drm/amdgpu: Add H/W agnostic amdgpu <--> amdkfd interface 2015-07-20 09:16:47 +03:00
amdgpu_ih.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_ioc32.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_irq.c drm/amdgpu: take the mode_config mutex when handling hpds 2015-06-03 21:03:39 -04:00
amdgpu_irq.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_kms.c drm/amdgpu: Add H/W agnostic amdgpu <--> amdkfd interface 2015-07-20 09:16:47 +03:00
amdgpu_mn.c drm/amdgpu: fix userptr lockup 2015-06-03 21:03:26 -04:00
amdgpu_mode.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_object.c drm/amdgpu: fix user ptr race condition 2015-06-05 10:59:32 -04:00
amdgpu_object.h drm/amdgpu: implement the allocation range (v3) 2015-06-03 21:03:52 -04:00
amdgpu_pll.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_pll.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_pm.c drm/amdgpu: enable vce powergating 2015-06-10 11:54:16 -04:00
amdgpu_pm.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_prime.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_ring.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_sa.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_semaphore.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_sync.c drm/amdgpu: do necessary NULL check 2015-06-03 21:03:35 -04:00
amdgpu_test.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_trace.h drm/amdgpu: print the bo_list in the CS trace point as well 2015-06-29 11:21:44 -04:00
amdgpu_trace_points.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_ttm.c drm/amdgpu: use kzalloc for allocating one thing 2015-06-29 11:21:50 -04:00
amdgpu_ucode.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_ucode.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_uvd.c drm/amdgpu: add HEVC/H.265 UVD support 2015-06-03 21:03:59 -04:00
amdgpu_uvd.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_vce.c drm/amdgpu: check VCE feedback and bitstream index 2015-06-29 11:21:47 -04:00
amdgpu_vce.h drm/amdgpu: check VCE relocation buffer range 2015-06-29 11:21:46 -04:00
amdgpu_vm.c drm/amdgpu: add BO map/unmap trace point 2015-06-29 11:21:43 -04:00
atom-bits.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
atom-names.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
atom-types.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
atom.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
atom.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
atombios.h
atombios_crtc.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
atombios_crtc.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
atombios_dp.c drm/amdgpu: retry dcpd fetch 2015-06-03 21:03:41 -04:00
atombios_dp.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
atombios_encoders.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
atombios_encoders.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
atombios_i2c.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
atombios_i2c.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
ci_dpm.c drm/amdgpu: add vram_type and vram_bit_width for interface query (v2) 2015-06-03 21:04:04 -04:00
ci_dpm.h drm/amdgpu: Add support for CIK parts 2015-06-03 21:03:17 -04:00
ci_smc.c drm/amdgpu: Add support for CIK parts 2015-06-03 21:03:17 -04:00
cik.c drm/amdgpu: Add H/W agnostic amdgpu <--> amdkfd interface 2015-07-20 09:16:47 +03:00
cik.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
cik_dpm.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
cik_ih.c drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
cik_ih.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
cik_sdma.c drm/amdgpu: fix the build on big endian 2015-06-10 09:13:01 -04:00
cik_sdma.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
cikd.h drm/amdgpu: add amdgpu <--> amdkfd gfx7 interface 2015-07-20 09:16:48 +03:00
clearstate_ci.h drm/amdgpu: Add support for CIK parts 2015-06-03 21:03:17 -04:00
clearstate_defs.h drm/amdgpu: add clearstate_defs.h 2015-06-03 21:03:12 -04:00
clearstate_vi.h drm/amdgpu: Add initial VI support 2015-06-03 21:03:17 -04:00
cz_dpm.c drm/amdgpu/cz: silence some dpm debug output 2015-07-16 12:39:43 -04:00
cz_dpm.h drm/amdgpu: correct define SMU_EnabledFeatureScoreboard_SclkDpmOn 2015-06-29 11:21:52 -04:00
cz_ih.c drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
cz_ih.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
cz_ppsmc.h drm/amdgpu: Add initial VI support 2015-06-03 21:03:17 -04:00
cz_smc.c drm/amdgpu: Add initial VI support 2015-06-03 21:03:17 -04:00
cz_smumgr.h drm/amdgpu: Add initial VI support 2015-06-03 21:03:17 -04:00
dce_v8_0.c drm/amdgpu/dce8: Re-set VBLANK interrupt state when enabling a CRTC 2015-07-16 12:39:44 -04:00
dce_v8_0.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
dce_v10_0.c drm/amdgpu: Handle irqs only based on irq ring, not irq status regs. 2015-07-08 12:41:37 -04:00
dce_v10_0.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
dce_v11_0.c drm/amdgpu: Handle irqs only based on irq ring, not irq status regs. 2015-07-08 12:41:37 -04:00
dce_v11_0.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
gfx_v7_0.c drm/amdgpu: Initialize compute sdma and memory from kgd 2015-06-29 11:21:39 -04:00
gfx_v7_0.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
gfx_v8_0.c drm/amdgpu: remove bogus check in gfx8 rb setup 2015-07-16 12:39:41 -04:00
gfx_v8_0.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
gmc_v7_0.c drm/amdgpu: add vram_type and vram_bit_width for interface query (v2) 2015-06-03 21:04:04 -04:00
gmc_v7_0.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
gmc_v8_0.c drm/amdgpu: whitespace cleanup in gmc8 golden regs 2015-06-10 09:13:28 -04:00
gmc_v8_0.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
iceland_dpm.c drm/amdgpu/iceland: don't call smu_init on resume 2015-06-10 09:32:25 -04:00
iceland_ih.c drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
iceland_ih.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
iceland_sdma_pkt_open.h drm/amdgpu: Add initial VI support 2015-06-03 21:03:17 -04:00
iceland_smc.c drm/amdgpu: Add initial VI support 2015-06-03 21:03:17 -04:00
iceland_smumgr.h drm/amdgpu: Add initial VI support 2015-06-03 21:03:17 -04:00
kv_dpm.c drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
kv_dpm.h drm/amdgpu: Add support for CIK parts 2015-06-03 21:03:17 -04:00
kv_smc.c drm/amdgpu: Add support for CIK parts 2015-06-03 21:03:17 -04:00
ppsmc.h drm/amdgpu: add ppsmc.h 2015-06-03 21:03:13 -04:00
pptable.h
sdma_v2_4.c drm/amdgpu: disable user fence interrupt (v2) 2015-06-05 11:02:06 -04:00
sdma_v2_4.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
sdma_v3_0.c drm/amdgpu: Initialize compute sdma and memory from kgd 2015-06-29 11:21:39 -04:00
sdma_v3_0.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
smu7.h drm/amdgpu: Add support for CIK parts 2015-06-03 21:03:17 -04:00
smu7_discrete.h drm/amdgpu: Add support for CIK parts 2015-06-03 21:03:17 -04:00
smu7_fusion.h drm/amdgpu: Add support for CIK parts 2015-06-03 21:03:17 -04:00
smu8.h drm/amdgpu: Add initial VI support 2015-06-03 21:03:17 -04:00
smu8_fusion.h drm/amdgpu: Add initial VI support 2015-06-03 21:03:17 -04:00
smu_ucode_xfer_cz.h drm/amdgpu: Add initial VI support 2015-06-03 21:03:17 -04:00
smu_ucode_xfer_vi.h drm/amdgpu: Add initial VI support 2015-06-03 21:03:17 -04:00
tonga_dpm.c drm/amdgpu/tonga: don't call smu_init on resume 2015-06-10 09:32:19 -04:00
tonga_ih.c drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
tonga_ih.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
tonga_ppsmc.h drm/amdgpu: Add initial VI support 2015-06-03 21:03:17 -04:00
tonga_sdma_pkt_open.h drm/amdgpu: Add initial VI support 2015-06-03 21:03:17 -04:00
tonga_smc.c drm/amdgpu: Add initial VI support 2015-06-03 21:03:17 -04:00
tonga_smumgr.h drm/amdgpu: Add initial VI support 2015-06-03 21:03:17 -04:00
uvd_v4_2.c drm/amdgpu: disable user fence interrupt (v2) 2015-06-05 11:02:06 -04:00
uvd_v4_2.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
uvd_v5_0.c drm/amdgpu: disable user fence interrupt (v2) 2015-06-05 11:02:06 -04:00
uvd_v5_0.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
uvd_v6_0.c drm/amdgpu: disable user fence interrupt (v2) 2015-06-05 11:02:06 -04:00
uvd_v6_0.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
vce_v2_0.c drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
vce_v2_0.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
vce_v3_0.c drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
vce_v3_0.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
vi.c drm/amdgpu: set proper index/data pair for smc regs on CZ (v2) 2015-07-16 12:39:40 -04:00
vi.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
vi_dpm.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
vid.h drm/amdgpu: Add amdgpu <--> amdkfd gfx8 interface 2015-07-20 09:16:48 +03:00