linux_dsm_epyc7002/drivers/gpu/drm/amd/amdgpu
changzhu a6522a5c63 drm/amdgpu: add dummy read by engines for some GCVM status registers in gfx10
The GRBM register interface is now capable of bursting 1 cycle per
register wr->wr, wr->rd much faster than previous muticycle per
transaction done interface.  This has caused a problem where
status registers requiring HW to update have a 1 cycle delay, due
to the register update having to go through GRBM.

For cp ucode, it has realized dummy read in cp firmware.It covers
the use of WAIT_REG_MEM operation 1 case only.So it needs to call
gfx_v10_0_wait_reg_mem in gfx10. Besides it also needs to add warning to
update firmware in case firmware is too old to have function to realize
dummy read in cp firmware.

For sdma ucode, it hasn't realized dummy read in sdma firmware. sdma is
moved to gfxhub in gfx10. So it needs to add dummy read in driver
between amdgpu_ring_emit_wreg and amdgpu_ring_emit_reg_wait for sdma_v5_0.

Signed-off-by: changzhu <Changfeng.Zhu@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2019-11-06 16:27:48 -05:00
..
amdgpu_acp.c
amdgpu_acp.h
amdgpu_acpi.c
amdgpu_afmt.c
amdgpu_amdkfd_arcturus.c drm/amdkfd: Delete unnecessary pr_fmt switch 2019-10-30 11:06:51 -04:00
amdgpu_amdkfd_fence.c
amdgpu_amdkfd_gfx_v7.c
amdgpu_amdkfd_gfx_v8.c
amdgpu_amdkfd_gfx_v9.c drm/amdkfd: Delete unnecessary pr_fmt switch 2019-10-30 11:06:51 -04:00
amdgpu_amdkfd_gfx_v9.h
amdgpu_amdkfd_gfx_v10.c drm/amdkfd: Delete unnecessary pr_fmt switch 2019-10-30 11:06:51 -04:00
amdgpu_amdkfd_gpuvm.c Merge tag 'drm-next-5.5-2019-11-01' of git://people.freedesktop.org/~agd5f/linux into drm-next 2019-11-04 10:22:53 +10:00
amdgpu_amdkfd.c drm/amdkfd: Delete duplicated queue bit map reservation 2019-10-30 11:06:51 -04:00
amdgpu_amdkfd.h
amdgpu_atombios.c
amdgpu_atombios.h
amdgpu_atomfirmware.c
amdgpu_atomfirmware.h
amdgpu_atpx_handler.c
amdgpu_benchmark.c
amdgpu_bios.c
amdgpu_bo_list.c
amdgpu_bo_list.h
amdgpu_cgs.c
amdgpu_connectors.c Merge tag 'drm-next-5.5-2019-10-09' of git://people.freedesktop.org/~agd5f/linux into drm-next 2019-10-26 05:56:57 +10:00
amdgpu_connectors.h
amdgpu_cs.c drm-misc-next for 5.5: 2019-11-04 09:28:51 +10:00
amdgpu_csa.c drm/ttm: always keep BOs on the LRU 2019-10-25 11:40:50 +02:00
amdgpu_csa.h
amdgpu_ctx.c drm/amdgpu: dont schedule jobs while in reset 2019-11-06 14:20:24 -05:00
amdgpu_ctx.h
amdgpu_debugfs.c drm/amdgpu: Remove superfluous void * cast in debugfs_create_file() call 2019-10-30 11:06:51 -04:00
amdgpu_debugfs.h
amdgpu_device.c drm/amdgpu: perform p-state switch after the whole hive initialized 2019-11-06 16:27:48 -05:00
amdgpu_discovery.c
amdgpu_discovery.h
amdgpu_display.c
amdgpu_display.h
amdgpu_dma_buf.c drm-misc-next for 5.5: 2019-11-04 09:28:51 +10:00
amdgpu_dma_buf.h drm/amdgpu: add independent DMA-buf import v9 2019-10-28 16:59:43 +01:00
amdgpu_doorbell.h
amdgpu_dpm.c drm/amd/powerplay: add lock protection for swSMU APIs V2 2019-10-25 16:50:09 -04:00
amdgpu_dpm.h drm/amd/powerplay: add lock protection for swSMU APIs V2 2019-10-25 16:50:09 -04:00
amdgpu_drv.c drm/amdgpu: add navi14 PCI ID 2019-11-06 16:27:46 -05:00
amdgpu_drv.h
amdgpu_encoders.c
amdgpu_fb.c
amdgpu_fence.c
amdgpu_gart.c drm/ttm: remove pointers to globals 2019-10-25 11:40:51 +02:00
amdgpu_gart.h
amdgpu_gds.h
amdgpu_gem.c drm-misc-next for 5.5: 2019-11-04 09:28:51 +10:00
amdgpu_gem.h
amdgpu_gfx.c drm/amdgpu: remove unused parameter in amdgpu_gfx_kiq_free_ring 2019-10-25 16:50:10 -04:00
amdgpu_gfx.h drm/amdgpu: add dummy read by engines for some GCVM status registers in gfx10 2019-11-06 16:27:48 -05:00
amdgpu_gmc.c
amdgpu_gmc.h
amdgpu_gtt_mgr.c
amdgpu_i2c.c
amdgpu_i2c.h
amdgpu_ib.c
amdgpu_ids.c
amdgpu_ids.h
amdgpu_ih.c
amdgpu_ih.h
amdgpu_ioc32.c
amdgpu_irq.c
amdgpu_irq.h
amdgpu_job.c drm/amdgpu: If amdgpu_ib_schedule fails return back the error. 2019-10-25 16:50:11 -04:00
amdgpu_job.h
amdgpu_kms.c drm/amdgpu: register gpu instance before fan boost feature enablment 2019-11-06 16:27:47 -05:00
amdgpu_mes.h
amdgpu_mmhub.c
amdgpu_mmhub.h
amdgpu_mn.c Merge tag 'drm-next-5.5-2019-10-09' of git://people.freedesktop.org/~agd5f/linux into drm-next 2019-10-26 05:56:57 +10:00
amdgpu_mn.h
amdgpu_mode.h
amdgpu_nbio.c
amdgpu_nbio.h
amdgpu_object.c drm-misc-next for 5.5: 2019-10-30 06:11:47 +10:00
amdgpu_object.h
amdgpu_pll.c
amdgpu_pll.h
amdgpu_pm.c drm/amd/powerplay: skip unsupported clock limit settings on Arcturus V2 2019-10-25 16:50:10 -04:00
amdgpu_pm.h
amdgpu_pmu.c
amdgpu_pmu.h
amdgpu_psp.c drm/amdgpu: bypass some cleanup work after err_event_athub (v2) 2019-10-30 11:06:52 -04:00
amdgpu_psp.h
amdgpu_ras_eeprom.c drm/amdgpu: Use ARCTURUS in RAS EEPROM. 2019-10-25 16:50:10 -04:00
amdgpu_ras_eeprom.h
amdgpu_ras.c drm/amdgpu: bypass some cleanup work after err_event_athub (v2) 2019-10-30 11:06:52 -04:00
amdgpu_ras.h
amdgpu_ring.c
amdgpu_ring.h
amdgpu_rlc.c
amdgpu_rlc.h
amdgpu_sa.c
amdgpu_sched.c
amdgpu_sched.h
amdgpu_sdma.c
amdgpu_sdma.h
amdgpu_socbb.h
amdgpu_sync.c
amdgpu_sync.h
amdgpu_test.c
amdgpu_trace_points.c
amdgpu_trace.h
amdgpu_ttm.c drm/amdgpu/discovery: Need to free discovery memory 2019-11-06 16:27:47 -05:00
amdgpu_ttm.h
amdgpu_ucode.c
amdgpu_ucode.h
amdgpu_umc.c
amdgpu_umc.h
amdgpu_uvd.c drm/amdgpu: clear UVD VCPU buffer when err_event_athub generated 2019-10-30 11:06:51 -04:00
amdgpu_uvd.h
amdgpu_vce.c drm/amdgpu/vce: make some functions static 2019-10-25 16:15:00 -04:00
amdgpu_vce.h drm/amdgpu/vce: make some functions static 2019-10-25 16:15:00 -04:00
amdgpu_vcn.c
amdgpu_vcn.h
amdgpu_vf_error.c
amdgpu_vf_error.h
amdgpu_virt.c
amdgpu_virt.h
amdgpu_vm_cpu.c
amdgpu_vm_sdma.c
amdgpu_vm.c drm/amdgpu/gpuvm: add some additional comments in amdgpu_vm_update_ptes 2019-11-06 16:27:47 -05:00
amdgpu_vm.h
amdgpu_vram_mgr.c
amdgpu_xgmi.c drm/amdgpu: fix possible pstate switch race condition 2019-11-06 16:27:48 -05:00
amdgpu_xgmi.h
amdgpu.h drm/amdgpu: fix possible pstate switch race condition 2019-11-06 16:27:48 -05:00
arct_reg_init.c
athub_v1_0.c
athub_v1_0.h
athub_v2_0.c
athub_v2_0.h
atom.c
atom.h
atombios_crtc.c
atombios_crtc.h
atombios_dp.c
atombios_dp.h
atombios_encoders.c
atombios_encoders.h
atombios_i2c.c
atombios_i2c.h
cik_dpm.h
cik_ih.c
cik_ih.h
cik_sdma.c
cik_sdma.h
cik.c drm/amdgpu: Allow reading more status registers on si/cik 2019-10-25 16:50:10 -04:00
cik.h
cikd.h
clearstate_ci.h
clearstate_defs.h
clearstate_gfx9.h
clearstate_gfx10.h
clearstate_si.h
clearstate_vi.h
cz_ih.c
cz_ih.h
dce_v6_0.c
dce_v6_0.h
dce_v8_0.c
dce_v8_0.h
dce_v10_0.c
dce_v10_0.h
dce_v11_0.c
dce_v11_0.h
dce_virtual.c
dce_virtual.h
df_v1_7.c
df_v1_7.h
df_v3_6.c
df_v3_6.h
emu_soc.c
gfx_v6_0.c
gfx_v6_0.h
gfx_v7_0.c
gfx_v7_0.h
gfx_v8_0.c drm/amdgpu: remove unused parameter in amdgpu_gfx_kiq_free_ring 2019-10-25 16:50:10 -04:00
gfx_v8_0.h
gfx_v9_0.c drm/amdgpu: disallow direct upload save restore list from gfx driver 2019-11-06 16:27:47 -05:00
gfx_v9_0.h
gfx_v10_0.c drm/amdgpu: add dummy read by engines for some GCVM status registers in gfx10 2019-11-06 16:27:48 -05:00
gfx_v10_0.h
gfxhub_v1_0.c
gfxhub_v1_0.h
gfxhub_v1_1.c
gfxhub_v1_1.h
gfxhub_v2_0.c drm/amdgpu/gmc10: properly set BANK_SELECT and FRAGMENT_SIZE 2019-10-30 11:07:13 -04:00
gfxhub_v2_0.h
gmc_v6_0.c
gmc_v6_0.h
gmc_v7_0.c
gmc_v7_0.h
gmc_v8_0.c
gmc_v8_0.h
gmc_v9_0.c
gmc_v9_0.h
gmc_v10_0.c drm/amdgpu: add dummy read by engines for some GCVM status registers in gfx10 2019-11-06 16:27:48 -05:00
gmc_v10_0.h
iceland_ih.c
iceland_ih.h
iceland_sdma_pkt_open.h
Kconfig
kv_dpm.c
kv_dpm.h
kv_smc.c
Makefile
mes_v10_1.c
mes_v10_1.h
mmhub_v1_0.c
mmhub_v1_0.h
mmhub_v2_0.c drm/amdgpu/gmc10: properly set BANK_SELECT and FRAGMENT_SIZE 2019-10-30 11:07:13 -04:00
mmhub_v2_0.h
mmhub_v9_4.c drm/amdgpu/arcturus: properly set BANK_SELECT and FRAGMENT_SIZE 2019-11-06 14:20:08 -05:00
mmhub_v9_4.h
mmsch_v1_0.h
mxgpu_ai.c
mxgpu_ai.h
mxgpu_nv.c
mxgpu_nv.h
mxgpu_vi.c
mxgpu_vi.h
navi10_ih.c
navi10_ih.h
navi10_reg_init.c
navi10_sdma_pkt_open.h
navi12_reg_init.c
navi14_reg_init.c
nbio_v2_3.c
nbio_v2_3.h
nbio_v6_1.c
nbio_v6_1.h
nbio_v7_0.c
nbio_v7_0.h
nbio_v7_4.c
nbio_v7_4.h
nv.c drm/amdgpu/SRIOV: SRIOV VF doesn't support BACO 2019-10-30 11:06:51 -04:00
nv.h
nvd.h
ObjectID.h
ppsmc.h
psp_gfx_if.h
psp_v3_1.c
psp_v3_1.h
psp_v10_0.c drm/amdgpu/psp: declare PSP TA firmware 2019-10-25 16:15:00 -04:00
psp_v10_0.h
psp_v11_0.c drm/amdgpu/psp11: fix typo in comment 2019-10-25 16:50:07 -04:00
psp_v11_0.h
psp_v12_0.c
psp_v12_0.h
r600_dpm.h
sdma_v2_4.c
sdma_v2_4.h
sdma_v3_0.c
sdma_v3_0.h
sdma_v4_0.c drm/amdgpu: Fix SDMA hang when performing VKexample test 2019-10-25 16:50:10 -04:00
sdma_v4_0.h
sdma_v5_0.c drm/amdgpu: add dummy read by engines for some GCVM status registers in gfx10 2019-11-06 16:27:48 -05:00
sdma_v5_0.h
si_dma.c
si_dma.h
si_dpm.c
si_dpm.h
si_enums.h
si_ih.c
si_ih.h
si_smc.c
si.c drm/amdgpu: Allow reading more status registers on si/cik 2019-10-25 16:50:10 -04:00
si.h
sid.h
sislands_smc.h
smu_v11_0_i2c.c
smu_v11_0_i2c.h
soc15_common.h
soc15.c drm/amdgpu: enable VCN DPG on Raven and Raven2 2019-11-06 16:27:46 -05:00
soc15.h
soc15d.h
ta_ras_if.h
ta_xgmi_if.h
tonga_ih.c
tonga_ih.h
tonga_sdma_pkt_open.h
umc_v6_0.c
umc_v6_0.h
umc_v6_1.c
umc_v6_1.h
uvd_v4_2.c
uvd_v4_2.h
uvd_v5_0.c
uvd_v5_0.h
uvd_v6_0.c
uvd_v6_0.h
uvd_v7_0.c
uvd_v7_0.h
vce_v2_0.c
vce_v2_0.h
vce_v3_0.c
vce_v3_0.h
vce_v4_0.c
vce_v4_0.h
vcn_v1_0.c
vcn_v1_0.h
vcn_v2_0.c
vcn_v2_0.h
vcn_v2_5.c drm/amdgpu/vcn: Enable VCN2.5 encoding 2019-10-25 16:50:10 -04:00
vcn_v2_5.h
vega10_ih.c
vega10_ih.h
vega10_reg_init.c
vega10_sdma_pkt_open.h
vega20_reg_init.c
vi.c
vi.h
vid.h