linux/drivers/gpu/drm/radeon
Chen Li 65e06b7873 radeon: use memcpy_to/fromio for UVD fw upload
I met a gpu addr bug recently and the kernel log
tells me the pc is memcpy/memset and link register is
radeon_uvd_resume.

As we know, in some architectures, optimized memcpy/memset
may not work well on device memory. Trival memcpy_toio/memset_io
can fix this problem.

BTW, amdgpu has already done it in:
commit ba0b2275a6 ("drm/amdgpu: use memcpy_to/fromio for UVD fw upload"),
that's why it has no this issue on the same gpu and platform.

Signed-off-by: Chen Li <chenli@uniontech.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2021-06-04 16:03:04 -04:00
..
reg_srcs
.gitignore
atom-bits.h
atom-names.h
atom-types.h
atom.c
atom.h
atombios.h
atombios_crtc.c
atombios_dp.c drm/dp: Pass drm_dp_aux to drm_dp*_link_train_channel_eq_delay() 2021-04-27 18:43:42 -04:00
atombios_encoders.c
atombios_i2c.c
avivod.h
btc_dpm.c
btc_dpm.h
btcd.h
cayman_blit_shaders.c
cayman_blit_shaders.h
ci_dpm.c
ci_dpm.h
ci_smc.c
cik.c drm/radeon/cik: Fix incorrectly named function 'cik_irq_suspend()' 2021-05-21 10:32:15 -04:00
cik.h
cik_blit_shaders.c
cik_blit_shaders.h
cik_reg.h
cik_sdma.c
cikd.h
clearstate_cayman.h
clearstate_ci.h
clearstate_defs.h
clearstate_evergreen.h
clearstate_si.h
cypress_dpm.c
cypress_dpm.h
dce3_1_afmt.c
dce6_afmt.c
dce6_afmt.h
evergreen.c
evergreen.h drm/radeon/evergreen: Remove the repeated declaration 2021-05-25 23:47:24 -04:00
evergreen_blit_shaders.c
evergreen_blit_shaders.h
evergreen_cs.c
evergreen_dma.c
evergreen_hdmi.c
evergreen_hdmi.h
evergreen_reg.h
evergreen_smc.h
evergreend.h
Kconfig
kv_dpm.c
kv_dpm.h
kv_smc.c
Makefile
mkregtable.c
ni.c
ni.h
ni_dma.c
ni_dpm.c drm/radeon/ni_dpm: Fix booting bug 2021-05-13 10:45:15 -04:00
ni_dpm.h
ni_reg.h
nid.h
nislands_smc.h drm/radeon/ni_dpm: Fix booting bug 2021-05-13 10:45:15 -04:00
ObjectID.h
ppsmc.h
pptable.h
r100.c drm/radeon/r100: Realign doc header with function 'r100_cs_packet_parse_vline()' 2021-05-21 10:32:17 -04:00
r100_track.h
r100d.h
r200.c
r300.c
r300_reg.h
r300d.h
r420.c
r420d.h
r500_reg.h
r520.c
r520d.h
r600.c
r600.h
r600_blit_shaders.c
r600_blit_shaders.h
r600_cs.c
r600_dma.c
r600_dpm.c
r600_dpm.h
r600_hdmi.c
r600_reg.h
r600d.h
radeon.h drm/radeon/dpm: Disable sclk switching on Oland when two 4K 60Hz monitors are connected 2021-05-19 22:29:40 -04:00
radeon_acpi.c
radeon_acpi.h
radeon_agp.c drm/radeon: Move AGP data structures into radeon 2021-05-10 15:46:50 +02:00
radeon_asic.c
radeon_asic.h drm/radeon: remove the repeated declaration 2021-05-25 23:47:30 -04:00
radeon_atombios.c drm/radeon: Avoid power table parsing memory leaks 2021-05-10 18:06:45 -04:00
radeon_atombios.h
radeon_atpx_handler.c
radeon_audio.c
radeon_audio.h
radeon_benchmark.c
radeon_bios.c
radeon_clocks.c
radeon_combios.c
radeon_connectors.c
radeon_cs.c drm/radeon/radeon_cs: Fix incorrectly documented function 'radeon_cs_parser_fini' 2021-05-21 10:32:12 -04:00
radeon_cursor.c
radeon_device.c
radeon_device.h
radeon_display.c
radeon_dp_auxch.c
radeon_dp_mst.c drm/dp_mst: Use kHz as link rate units when settig source max link caps at init 2021-05-27 15:30:59 -04:00
radeon_drv.c drm/radeon: Implement mmap as GEM object function 2021-05-26 20:56:29 +02:00
radeon_drv.h
radeon_encoders.c
radeon_family.h
radeon_fb.c
radeon_fence.c
radeon_gart.c drm/radeon: use the dummy page for GART if needed 2021-05-19 22:32:24 -04:00
radeon_gem.c drm/radeon: Implement mmap as GEM object function 2021-05-26 20:56:29 +02:00
radeon_i2c.c
radeon_ib.c
radeon_irq_kms.c
radeon_kms.c drm/radeon: Move AGP data structures into radeon 2021-05-10 15:46:50 +02:00
radeon_kms.h
radeon_legacy_crtc.c
radeon_legacy_encoders.c
radeon_legacy_encoders.h
radeon_legacy_tv.c
radeon_mn.c
radeon_mode.h
radeon_object.c
radeon_object.h
radeon_pm.c drm/radeon/dpm: Disable sclk switching on Oland when two 4K 60Hz monitors are connected 2021-05-19 22:29:40 -04:00
radeon_pm.h
radeon_prime.c
radeon_prime.h
radeon_reg.h
radeon_ring.c
radeon_sa.c
radeon_semaphore.c
radeon_sync.c
radeon_test.c
radeon_trace.h
radeon_trace_points.c
radeon_ttm.c drm/radeon: Implement mmap as GEM object function 2021-05-26 20:56:29 +02:00
radeon_ttm.h drm/radeon: Implement mmap as GEM object function 2021-05-26 20:56:29 +02:00
radeon_ucode.c
radeon_ucode.h
radeon_uvd.c radeon: use memcpy_to/fromio for UVD fw upload 2021-06-04 16:03:04 -04:00
radeon_vce.c
radeon_vm.c drm/radeon/radeon_vm: Fix function naming disparities 2021-05-21 10:32:15 -04:00
rs100d.h
rs400.c
rs400d.h
rs600.c
rs600d.h
rs690.c
rs690d.h
rs780_dpm.c
rs780_dpm.h
rs780d.h
rv6xx_dpm.c
rv6xx_dpm.h
rv6xxd.h
rv200d.h
rv250d.h
rv350d.h
rv515.c
rv515d.h
rv730_dpm.c
rv730d.h
rv740_dpm.c
rv740d.h
rv770.c
rv770.h
rv770_dma.c
rv770_dpm.c
rv770_dpm.h
rv770_smc.c
rv770_smc.h
rv770d.h
si.c
si.h
si_blit_shaders.c
si_blit_shaders.h
si_dma.c
si_dpm.c drm/radeon/dpm: Disable sclk switching on Oland when two 4K 60Hz monitors are connected 2021-05-19 22:29:40 -04:00
si_dpm.h
si_reg.h
si_smc.c
sid.h
sislands_smc.h drm/radeon/si_dpm: Fix SMU power state load 2021-05-13 10:45:29 -04:00
smu7.h
smu7_discrete.h
smu7_fusion.h
sumo_dpm.c
sumo_dpm.h
sumo_smc.c
sumod.h
trinity_dpm.c
trinity_dpm.h
trinity_smc.c
trinityd.h
uvd_v1_0.c
uvd_v2_2.c
uvd_v3_1.c
uvd_v4_2.c
vce.h
vce_v1_0.c
vce_v2_0.c