linux/drivers/gpu/drm/amd/amdgpu
Oded Gabbay 130e0371b7 drm/amdgpu: Add H/W agnostic amdgpu <--> amdkfd interface
This patch adds an interface file between amdgpu and amdkfd. This
interface file is H/W agnostic, thus containing functions that
operate the same for any AMD APU/GPU H/W generation.

The functions in this interface mirror (some) of the functions in
radeon_kfd.c (the radeon<-->amdkfd interface file). The main functions
are:

- amdgpu_amdkfd_init - initialize the amdkfd module
- amdgpu_amdkfd_load_interface - load the H/W interface according to the
  currently probed device
- amdgpu_amdkfd_device_probe - probe the device in amdkfd
- amdgpu_amdkfd_device_init - initialize the device in amdkfd
- amdgpu_amdkfd_interrupt - call the ISR of amdkfd
- amdgpu_amdkfd_suspend - suspend callback from amdgpu
- amdgpu_amdkfd_resume - resume callback from amdgpu

This patch also modifies the relevant amdgpu files, to use this new
interface.

Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
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 H/W agnostic amdgpu <--> amdkfd interface 2015-07-20 09:16:47 +03:00
amdgpu_amdkfd.h drm/amdgpu: Add H/W agnostic amdgpu <--> amdkfd interface 2015-07-20 09:16:47 +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_points.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_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
amdgpu.h drm/amdgpu: Add H/W agnostic amdgpu <--> amdkfd interface 2015-07-20 09:16:47 +03: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_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
atombios.h
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_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
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
cikd.h drm/amdgpu: Initialize compute sdma and memory from kgd 2015-06-29 11:21:39 -04:00
clearstate_ci.h drm/amdgpu: Add support for CIK parts 2015-06-03 21:03:17 -04:00
clearstate_defs.h
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
Kconfig drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -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
Makefile drm/amdgpu: Add H/W agnostic amdgpu <--> amdkfd interface 2015-07-20 09:16:47 +03:00
ObjectID.h
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_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
smu7.h drm/amdgpu: Add support for CIK parts 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
smu8.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_dpm.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
vid.h drm/amdgpu: add vram_type and vram_bit_width for interface query (v2) 2015-06-03 21:04:04 -04:00