linux-uconsole/drivers/gpu/drm
Chen Li 57b21ef118 radeon: use memcpy_to/fromio for UVD fw upload
[ Upstream commit ab8363d387 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-06-23 14:42:49 +02:00
..
amd drm/amd/amdgpu:save psp ring wptr to avoid attack 2021-06-18 10:00:06 +02:00
arc
arm drm/komeda: Fix bit check to import to value of proper type 2021-05-11 14:47:26 +02:00
armada drm-misc-next for 5.10: 2020-09-23 09:52:24 +10:00
aspeed drm/aspeed: Fix Kconfig warning & subsequent build errors 2020-12-30 11:52:56 +01:00
ast drm/ast: fix memory leak when unload the driver 2021-05-11 14:47:22 +02:00
atmel-hlcdc drm/atomic-helper: reset vblank on crtc reset 2020-07-02 20:25:51 +02:00
bochs Linux 5.8 2020-08-11 11:58:31 +10:00
bridge drm: bridge/panel: Cleanup connector on bridge detach 2021-05-14 09:50:01 +02:00
etnaviv drm/etnaviv: Use FOLL_FORCE for userptr 2021-03-30 14:31:55 +02:00
exynos drm/exynos: depend on COMMON_CLK to fix compile tests 2020-11-23 10:01:32 +09:00
fsl-dcu Linux 5.9-rc4 2020-09-08 14:41:40 +10:00
gma500 gma500: clean up error handling in init 2021-03-04 11:37:36 +01:00
hisilicon drm/hisilicon: Fix use-after-free 2021-03-07 12:34:11 +01:00
i2c sound updates for 5.9 2020-08-06 14:27:31 -07:00
i810 drm/i810: make i810_flush_queue() return void 2020-09-11 10:54:17 +02:00
i915 drm/i915/selftests: Fix return value check in live_breadcrumbs_smoketest() 2021-06-10 13:39:19 +02:00
imx drm/imx: imx-ldb: fix out of bounds array access warning 2021-04-16 11:43:20 +02:00
ingenic drm/ingenic: Fix bad revert 2020-10-12 20:26:14 +02:00
lib
lima drm/lima: fix reference leak in lima_pm_busy 2021-03-04 11:37:49 +01:00
mcde drm/mcde: Fix off by 10^3 in calculation 2021-06-16 12:01:44 +02:00
mediatek drm/mediatek: Check if fb is null 2021-03-04 11:37:46 +01:00
meson drm/meson: fix shutdown crash when component not probed 2021-06-03 09:00:36 +02:00
mga
mgag200 drm/mgag200: fix spelling mistake "expeced" -> "expected" 2020-08-27 11:17:52 +02:00
msm drm/msm/a6xx: avoid shadow NULL reference in failure path 2021-06-16 12:01:44 +02:00
mxsfb drm: mxsfb: Silence -EPROBE_DEFER while waiting for bridge 2020-12-30 11:53:53 +01:00
nouveau drm/nouveau/kms: handle mDP connectors 2021-03-04 11:38:27 +01:00
omapdrm drm/omap: dmm_tiler: fix return error code in omap_dmm_probe() 2020-12-30 11:53:13 +01:00
panel drm/mcde/panel: Inverse misunderstood flag 2021-05-14 09:50:22 +02:00
panfrost drm/panfrost: Don't try to map pages that are already mapped 2021-05-14 09:50:01 +02:00
pl111 drm: pl111: Update documentation 2020-07-23 10:06:22 +02:00
qxl Revert "drm/qxl: do not run release if qxl failed to init" 2021-05-14 09:50:05 +02:00
r128
radeon radeon: use memcpy_to/fromio for UVD fw upload 2021-06-23 14:42:49 +02:00
rcar-du drm: rcar-du: Fix the return check of of_parse_phandle and of_find_device_by_node 2021-03-04 11:37:38 +01:00
rockchip drm/rockchip: Require the YTR modifier for AFBC 2021-03-04 11:38:28 +01:00
savage treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
scheduler drm/sched: Cancel and flush all outstanding jobs before finish. 2021-03-04 11:38:27 +01:00
selftests drm/mst: Add support for QUERY_STREAM_ENCRYPTION_STATUS MST sideband message 2020-09-01 13:02:33 +05:30
shmobile
sis
sti Linux 5.9-rc4 2020-09-08 14:41:40 +10:00
stm drm/stm: Fix bus_flags handling 2021-05-14 09:50:22 +02:00
sun4i drm/sun4i: dw-hdmi: Make HDMI PHY into a platform device 2021-06-23 14:42:49 +02:00
tdfx
tegra drm/tegra: sor: Fully initialize SOR before registration 2021-06-18 10:00:04 +02:00
tidss drm/tidss: implement WA for AM65xx erratum i2000 2020-08-21 15:17:05 +03:00
tilcdc drm/tilcdc: send vblank event when disabling crtc 2021-05-14 09:50:21 +02:00
tiny drm: Use USB controller's DMA mask when importing dmabufs 2021-03-17 17:06:19 +01:00
ttm drm/ttm: fix eviction valuable range check. 2020-10-21 06:59:07 +10:00
tve200 drm/tve200: Fix handling of platform_get_irq() error 2020-12-30 11:52:56 +01:00
udl drm: Use USB controller's DMA mask when importing dmabufs 2021-03-17 17:06:19 +01:00
v3d drm/v3d: Fix double free in v3d_submit_cl_ioctl() 2020-10-26 11:43:31 +01:00
vboxvideo drm/vboxvideo: Use drm_gem_vram_vmap() interfaces 2020-09-14 09:12:24 +02:00
vc4 drm/vc4: crtc: Reduce PV fifo threshold on hvs4 2021-04-14 08:42:12 +02:00
vgem drm/vgem: Use devm_drm_dev_alloc 2020-09-11 10:47:19 +02:00
via treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
virtio drm/virtio: use kvmalloc for large allocations 2021-03-07 12:34:04 +01:00
vkms drm/vkms: fix misuse of WARN_ON 2021-05-11 14:47:26 +02:00
vmwgfx RDMA 5.10 pull request 2020-10-17 11:18:18 -07:00
xen gpu/xen: Fix a use after free in xen_drm_drv_init 2021-04-21 13:00:52 +02:00
xlnx drm: xlnx: zynqmp: fix a memset in zynqmp_dp_train() 2021-05-14 09:50:26 +02:00
zte sound updates for 5.9 2020-08-06 14:27:31 -07:00
drm_agpsupport.c
drm_atomic.c drm : Insert blank lines after declarations. 2020-07-02 15:26:00 +02:00
drm_atomic_helper.c drm/atomic: put state on error path 2021-01-27 11:54:55 +01:00
drm_atomic_state_helper.c drm/atomic-helper: reset vblank on crtc reset 2020-07-02 20:25:51 +02:00
drm_atomic_uapi.c drm : Insert blank lines after declarations. 2020-07-02 15:26:00 +02:00
drm_auth.c drm: Lock pointer access in drm_master_release() 2021-06-16 12:01:39 +02:00
drm_blend.c
drm_bridge.c
drm_bridge_connector.c drm/bridge_connector: Set default status connected for eDP connectors 2020-08-26 19:11:41 +02:00
drm_bufs.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
drm_cache.c drm: core: fix common struct sg_table related issues 2020-09-10 08:17:48 +02:00
drm_client.c
drm_client_modeset.c
drm_color_mgmt.c drm/modeset-lock: Take the modeset BKL for legacy drivers 2020-08-17 13:41:50 -04:00
drm_connector.c drm: Replace mode->export_head with a boolean 2020-09-01 13:38:34 +03:00
drm_context.c
drm_crtc.c Linux 5.9-rc2 2020-08-25 11:00:02 +02:00
drm_crtc_helper.c drm : Insert blank lines after declarations. 2020-07-02 15:26:00 +02:00
drm_crtc_helper_internal.h drm/probe_helper: Add drm_connector_helper_funcs.mode_valid_ctx 2020-07-13 13:29:20 -04:00
drm_crtc_internal.h
drm_damage_helper.c
drm_debugfs.c
drm_debugfs_crc.c drm/crc-debugfs: Fix memleak in crc_control_write 2020-09-01 09:45:44 +02:00
drm_dma.c
drm_dp_aux_dev.c drm/dp_aux_dev: check aux_dev before use in drm_dp_aux_dev_get_by_minor() 2020-12-30 11:54:19 +01:00
drm_dp_cec.c
drm_dp_dual_mode_helper.c
drm_dp_helper.c drm/dp: fix kernel-doc warnings at drm_dp_helper.c 2020-10-27 11:20:36 +01:00
drm_dp_mst_topology.c drm/dp_mst: Set CLEAR_PAYLOAD_ID_TABLE as broadcast 2021-05-14 09:50:01 +02:00
drm_dp_mst_topology_internal.h
drm_drv.c drm/dev: Remove drm_dev_init 2020-09-21 10:45:08 +02:00
drm_dsc.c
drm_dumb_buffers.c
drm_edid.c drm/edid: fix objtool warning in drm_cvt_modes() 2020-12-30 11:54:29 +01:00
drm_edid_load.c
drm_encoder.c
drm_encoder_slave.c
drm_fb_cma_helper.c
drm_fb_helper.c drm/fb-helper: Add missed unlocks in setcmap_legacy() 2021-03-04 11:37:36 +01:00
drm_file.c drm : Insert blank lines after declarations. 2020-07-02 15:26:00 +02:00
drm_flip_work.c
drm_format_helper.c
drm_fourcc.c
drm_framebuffer.c gpu/drm: cleanup coding style a bit 2020-09-09 11:45:18 +02:00
drm_gem.c drm/shme-helpers: Fix dma_buf_mmap forwarding bug 2020-10-28 12:27:41 +01:00
drm_gem_cma_helper.c drm: prime: add common helper to check scatterlist contiguity 2020-09-10 08:17:48 +02:00
drm_gem_framebuffer_helper.c
drm_gem_shmem_helper.c drm/shmem-helpers: vunmap: Don't put pages for dma-buf 2021-03-17 17:06:19 +01:00
drm_gem_ttm_helper.c drm/ttm: merge offset and base in ttm_bus_placement 2020-09-08 10:43:30 +02:00
drm_gem_vram_helper.c drm/vram-helper: Fix use of top-down placement 2020-11-20 05:20:48 +10:00
drm_hashtab.c
drm_hdcp.c
drm_internal.h drm/dev: Remove drm_dev_init 2020-09-21 10:45:08 +02:00
drm_ioc32.c drm/compat: Clear bounce structures 2021-03-17 17:06:18 +01:00
drm_ioctl.c drm: Fix use-after-free read in drm_getunique() 2021-06-16 12:01:39 +02:00
drm_irq.c
drm_kms_helper_common.c
drm_lease.c drm : Insert blank lines after declarations. 2020-07-02 15:26:00 +02:00
drm_legacy.h
drm_legacy_misc.c
drm_lock.c drm : Insert blank lines after declarations. 2020-07-02 15:26:00 +02:00
drm_managed.c drm/dev: Remove drm_dev_init 2020-09-21 10:45:08 +02:00
drm_memory.c
drm_mipi_dbi.c Linux 5.8 2020-08-11 11:58:31 +10:00
drm_mipi_dsi.c drm: mipi-dsi: Convert logging to drm_* functions. 2020-07-10 20:21:45 +02:00
drm_mm.c
drm_mode_config.c drm : Insert blank lines after declarations. 2020-07-02 15:26:00 +02:00
drm_mode_object.c drm/modeset-lock: Take the modeset BKL for legacy drivers 2020-08-17 13:41:50 -04:00
drm_modes.c drm/modes: Switch to 64bit maths to avoid integer overflow 2021-03-04 11:38:27 +01:00
drm_modeset_helper.c
drm_modeset_lock.c
drm_of.c Linux 5.8 2020-08-11 11:58:31 +10:00
drm_panel.c drm/panel: Add helper for reading DT rotation 2020-08-16 17:12:18 +02:00
drm_panel_orientation_quirks.c drm: Added orientation quirk for OneGX1 Pro 2021-05-11 14:47:22 +02:00
drm_pci.c drm : Insert blank lines after declarations. 2020-07-02 15:26:00 +02:00
drm_plane.c Linux 5.9-rc2 2020-08-25 11:00:02 +02:00
drm_plane_helper.c
drm_prime.c drm: kernel-doc: add description for a new function parameter 2020-10-27 11:21:04 +01:00
drm_print.c
drm_probe_helper.c drm/probe-helper: Check epoch counter in output_poll_execute() 2021-05-14 09:50:23 +02:00
drm_property.c
drm_rect.c
drm_scatter.c
drm_scdc_helper.c
drm_self_refresh_helper.c
drm_simple_kms_helper.c
drm_syncobj.c drm/syncobj: Fix use-after-free 2021-01-27 11:54:55 +01:00
drm_sysfs.c
drm_trace.h
drm_trace_points.c
drm_vblank.c drm/atomic-helper: Remove the timestamping constant update from drm_atomic_helper_update_legacy_modeset_state() 2020-09-14 22:37:31 +03:00
drm_vblank_work.c This tree adds the sched_set_fifo*() encapsulation APIs to remove 2020-08-06 11:55:43 -07:00
drm_vm.c
drm_vma_manager.c
drm_writeback.c
Kconfig drm/radeon: fix AGP dependency 2021-03-30 14:31:51 +02:00
Makefile drm/imx: compile imx directory by default 2020-09-09 16:39:48 +02:00