linux/drivers/gpu/drm
Jesse.zhang@amd.com 574f4b5562 drm/amdgpu: optimize queue reset and stop logic for sdma_v5_0
This patch refactors the SDMA v5.0 queue reset and stop logic to improve
code readability, maintainability, and performance. The key changes include:

1. **Generalized `sdma_v5_0_gfx_stop` Function**:
   - Added an `inst_mask` parameter to allow stopping specific SDMA instances
     instead of all instances. This is useful for resetting individual queues.

2. **Simplified `sdma_v5_0_reset_queue` Function**:
   - Removed redundant loops and checks by directly using the `ring->me` field
     to identify the SDMA instance.
   - Reused the `sdma_v5_0_gfx_stop` function to stop the queue, reducing code
     duplication.

v1: The general coding style is to declare variables like "i" or "r" last. E.g. longest lines first and short lasts. (Chritian)

Signed-off-by: Jesse Zhang <Jesse.Zhang@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2025-04-21 10:57:04 -04:00
..
adp drm: adp: Remove unnecessary print function dev_err() 2025-03-05 08:39:12 -05:00
amd drm/amdgpu: optimize queue reset and stop logic for sdma_v5_0 2025-04-21 10:57:04 -04:00
arm Merge drm/drm-next into drm-misc-next 2025-02-18 07:43:43 +01:00
armada drm-misc-next for 6.14: 2024-12-13 08:48:09 +10:00
aspeed drm/aspeed: move to devm_platform_ioremap_resource() usage 2025-02-26 15:27:06 +01:00
ast drm/ast: cursor: Move implementation to separate source file 2025-02-20 08:38:34 +01:00
atmel-hlcdc drm-misc-next for 6.14: 2024-12-13 08:48:09 +10:00
bridge drm/bridge: Fix spelling mistake "gettin" -> "getting" 2025-03-03 10:41:29 +01:00
ci drm/ci: update expectation files 2025-02-05 10:10:51 -03:00
clients drm/log: select CONFIG_FONT_SUPPORT 2024-12-12 18:26:32 +01:00
display drm-misc-next for v6.15: 2025-02-28 12:36:01 +10:00
etnaviv drm/sched: Use struct for drm_sched_init() params 2025-02-12 11:59:52 +01:00
exynos drm/connector: make mode_valid take a const struct drm_display_mode 2025-01-07 12:45:19 +02:00
fsl-dcu drm/connector: make mode_valid take a const struct drm_display_mode 2025-01-07 12:45:19 +02:00
gma500 drm/gma500: fix inconsistent indenting warning 2025-03-06 10:29:31 +01:00
gud
hisilicon drm/hisilicon/hibmc: select CONFIG_DRM_DISPLAY_DP_HELPER 2025-02-09 03:56:34 +02:00
hyperv
i915 Merge tag 'drm-intel-gt-next-2025-03-12' of https://gitlab.freedesktop.org/drm/i915/kernel into drm-next 2025-03-25 08:21:07 +10:00
imagination Linux 6.14-rc6 2025-03-12 09:43:12 +10:00
imx drm/connector: make mode_valid take a const struct drm_display_mode 2025-01-07 12:45:19 +02:00
ingenic drm/bridge: Pass full state to atomic_disable 2025-02-19 16:59:12 +01:00
kmb drm-misc-next for 6.14: 2024-12-13 08:48:09 +10:00
lib
lima drm/sched: Use struct for drm_sched_init() params 2025-02-12 11:59:52 +01:00
logicvc drm-misc-next for 6.14: 2024-12-13 08:48:09 +10:00
loongson drm/atomic: Let drivers decide which planes to async flip 2025-02-14 00:54:29 +02:00
mcde drm-misc-next for 6.14: 2024-12-13 08:48:09 +10:00
mediatek Mediatek DRM Next for Linux 6.15 2025-03-14 14:28:56 +10:00
meson drm/bridge: Pass full state to atomic_disable 2025-02-19 16:59:12 +01:00
mgag200 drm/mgag200: Added support for the new device G200eH5 2025-02-11 10:53:53 +01:00
msm drm/msm/dpu: drop wb2_formats_rgb 2025-03-08 02:16:49 +02:00
mxsfb drm-misc-next for 6.14: 2024-12-13 08:48:09 +10:00
nouveau Linux 6.14-rc6 2025-03-12 09:43:12 +10:00
omapdrm drm/bridge: Pass full state to atomic_disable 2025-02-19 16:59:12 +01:00
panel drm/panel: fix Visionox RM692E5 dependencies 2025-03-05 19:52:02 +01:00
panfrost drm/sched: Use struct for drm_sched_init() params 2025-02-12 11:59:52 +01:00
panthor drm/panthor: Clean up FW version information display 2025-03-05 14:15:04 +00:00
pl111
qxl drm/connector: make mode_valid take a const struct drm_display_mode 2025-01-07 12:45:19 +02:00
radeon drm/radeon: fix typo in atombios.h 2025-04-21 10:54:28 -04:00
renesas drm/bridge: Pass full state to atomic_disable 2025-02-19 16:59:12 +01:00
rockchip drm/rockchip: lvds: lower log severity for missing pinctrl settings 2025-03-04 16:59:58 +01:00
scheduler Linux 6.14-rc6 2025-03-12 09:43:12 +10:00
solomon drm/ssd130x: ensure ssd132x pitch is correct 2025-01-16 10:48:47 +01:00
sprd drm-misc-next for 6.14: 2024-12-13 08:48:09 +10:00
sti drm/connector: make mode_valid take a const struct drm_display_mode 2025-01-07 12:45:19 +02:00
stm drm/stm: move to devm_platform_ioremap_resource() usage 2025-02-26 15:27:07 +01:00
sun4i drm-misc-next for 6.14: 2024-12-13 08:48:09 +10:00
tegra drm/atomic: Let drivers decide which planes to async flip 2025-02-14 00:54:29 +02:00
tests drm/format-helper: Add conversion from XRGB8888 to BGR888 2025-03-03 16:13:33 +01:00
tidss drm/tidss: Fix typos 2025-01-24 09:41:01 +02:00
tilcdc drm-misc-next for 6.14: 2024-12-13 08:48:09 +10:00
tiny Short summary of fixes pull: 2025-03-24 17:52:28 +10:00
ttm drm/ttm: Add helpers for shrinking 2025-03-05 17:08:59 +01:00
tve200 drm-misc-next for 6.14: 2024-12-13 08:48:09 +10:00
udl
v3d drm/v3d: Add clock handling 2025-02-12 09:55:50 -03:00
vboxvideo drm/vboxvideo: Remove unused hgsmi_cursor_position 2025-02-28 09:05:10 +01:00
vc4 drm/vc4: hdmi: Fix some NULL vs IS_ERR() bugs 2025-03-03 14:25:14 +01:00
vgem
virtio drm/virtio: Add drm_panic support 2025-02-09 20:36:51 +03:00
vkms Linux 6.14-rc6 2025-03-12 09:43:12 +10:00
vmwgfx Merge drm/drm-next into drm-misc-next 2025-02-06 13:47:32 +01:00
xe drm/xe: Use correct type width for alignment in fb pinning code 2025-03-12 20:56:58 -07:00
xen
xlnx drm/bridge: Pass full state to atomic_disable 2025-02-19 16:59:12 +01:00
Kconfig UAPI Changes: 2025-03-11 10:26:17 +10:00
Makefile UAPI Changes: 2025-03-11 10:26:17 +10:00
drm_atomic.c
drm_atomic_helper.c drm/atomic-helper: Add a note in drm_atomic_helper_reset_crtc() kernel-doc 2025-02-21 10:57:21 +01:00
drm_atomic_state_helper.c
drm_atomic_uapi.c drm/atomic: Let drivers decide which planes to async flip 2025-02-14 00:54:29 +02:00
drm_auth.c
drm_blend.c
drm_bridge.c drm/bridge: Change parameter name of drm_atomic_bridge_chain_enable() 2025-02-19 16:59:20 +01:00
drm_buddy.c drm/buddy: Add a testcase to verify the multiroot fini 2025-01-14 20:43:19 +05:30
drm_cache.c
drm_client.c
drm_client_event.c drm/client: Send pending hotplug events after resume 2025-03-05 21:48:49 +01:00
drm_client_modeset.c drm/client: Handle tiled displays better 2025-01-21 11:41:05 +01:00
drm_color_mgmt.c
drm_connector.c Linux 6.13 2025-01-23 14:42:21 +01:00
drm_crtc.c drm: add clone mode check for CRTC 2025-01-08 01:39:58 +02:00
drm_crtc_helper.c
drm_crtc_helper_internal.h drm/connector: make mode_valid take a const struct drm_display_mode 2025-01-07 12:45:19 +02:00
drm_crtc_internal.h
drm_damage_helper.c drm/damage-helper: add const qualifier in drm_atomic_helper_damage_merged() 2025-03-03 14:45:40 +02:00
drm_debugfs.c drm/debugfs: fix printk format for bridge index 2025-02-17 14:17:53 +01:00
drm_debugfs_crc.c
drm_displayid.c
drm_displayid_internal.h
drm_draw.c
drm_draw_internal.h
drm_drv.c drm: Introduce device wedged event 2025-02-13 12:15:43 -05:00
drm_dumb_buffers.c
drm_edid.c drm/connector: add mutex to protect ELD from concurrent access 2024-12-16 18:02:07 +02:00
drm_edid_load.c
drm_eld.c
drm_encoder.c
drm_exec.c
drm_fb_dma_helper.c drm/fb-dma-helper: Test for imported buffers with drm_gem_is_imported() 2025-03-06 08:59:17 +01:00
drm_fb_helper.c drm/fb-helper: Remove struct drm_fb_helper.fb_probe 2025-03-05 21:48:50 +01:00
drm_fbdev_dma.c drm/fbdev-dma: Add shadow buffering for deferred I/O 2025-02-27 09:37:55 +01:00
drm_fbdev_shmem.c
drm_fbdev_ttm.c
drm_file.c drm/file: Add fdinfo helper for printing regions with prefix 2025-02-07 15:23:36 +01:00
drm_flip_work.c
drm_format_helper.c drm/format-helper: Add conversion from XRGB8888 to BGR888 2025-03-03 16:13:33 +01:00
drm_fourcc.c
drm_framebuffer.c
drm_gem.c drm/gem: Test for imported GEM buffers with helper 2025-03-06 08:58:27 +01:00
drm_gem_atomic_helper.c
drm_gem_dma_helper.c drm/gem-dma: Use dma_buf from GEM object instance 2025-03-06 08:59:01 +01:00
drm_gem_framebuffer_helper.c drm/gem-framebuffer: Use dma_buf from GEM object instance 2025-03-06 08:59:14 +01:00
drm_gem_shmem_helper.c drm/gem-shmem: Use dma_buf from GEM object instance 2025-03-06 08:59:07 +01:00
drm_gem_ttm_helper.c
drm_gem_vram_helper.c
drm_gpusvm.c drm/gpusvm: Fix kernel-doc 2025-03-12 20:53:47 -07:00
drm_gpuvm.c
drm_internal.h
drm_ioc32.c
drm_ioctl.c
drm_kms_helper_common.c
drm_lease.c
drm_managed.c drm/managed: Add DRM-managed alloc_ordered_workqueue 2025-01-21 10:32:31 +01:00
drm_mipi_dbi.c drm/mipi-dbi: Test for imported buffers with drm_gem_is_imported() 2025-03-06 08:59:20 +01:00
drm_mipi_dsi.c drm/mipi-dsi: stop passing non struct drm_device to drm_err() and friends 2025-03-04 17:00:24 +02:00
drm_mm.c
drm_mode_config.c drm/connector: Add FIXME for GETRESOURCES ioctl wrt. uninited connectors 2024-12-17 15:43:04 +02:00
drm_mode_object.c
drm_modes.c Linux 6.13-rc6 2025-01-10 14:24:17 +10:00
drm_modeset_helper.c
drm_modeset_lock.c
drm_of.c drm: of: drm_of_find_panel_or_bridge: move misplaced comment 2025-02-17 14:17:55 +01:00
drm_panel.c drm/bridge: panel: forbid initializing a panel with unknown connector type 2025-02-17 14:17:59 +01:00
drm_panel_backlight_quirks.c
drm_panel_orientation_quirks.c drm: panel-orientation-quirks: Add quirk for OneXPlayer Mini (Intel) 2025-02-17 09:19:07 +01:00
drm_panic.c drm/panic: Better binary encoding in QR code 2025-02-07 17:52:09 +01:00
drm_panic_qr.rs drm/panic: Better binary encoding in QR code 2025-02-07 17:52:09 +01:00
drm_pci.c
drm_plane.c
drm_plane_helper.c
drm_prime.c drm/prime: Use dma_buf from GEM object instance 2025-03-06 08:59:36 +01:00
drm_print.c
drm_privacy_screen.c
drm_privacy_screen_x86.c
drm_probe_helper.c drm/probe-helper: Call connector detect functions in single helper 2025-01-14 11:20:49 +01:00
drm_property.c
drm_rect.c
drm_self_refresh_helper.c
drm_simple_kms_helper.c
drm_suballoc.c
drm_syncobj.c
drm_sysfs.c
drm_trace.h
drm_trace_points.c
drm_vblank.c
drm_vblank_work.c treewide: Introduce kthread_run_worker[_on_cpu]() 2025-01-08 18:15:03 +01:00
drm_vma_manager.c
drm_writeback.c drm: writeback: Fix kernel doc name 2025-02-20 15:02:09 +01:00