aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/atom.c
diff options
context:
space:
mode:
authorDaniele Ceraolo Spurio <[email protected]>2025-09-05 23:56:33 +0000
committerRodrigo Vivi <[email protected]>2025-09-18 00:23:47 +0000
commit26caeae9fb482ec443753b4e3307e5122b60b850 (patch)
tree3b2b7cafbf4b772add804c3d2f94cb8f1913b0f8 /drivers/gpu/drm/amd/amdgpu/atom.c
parentdrm/xe: Fix error handling if PXP fails to start (diff)
downloadkernel-26caeae9fb482ec443753b4e3307e5122b60b850.tar.gz
kernel-26caeae9fb482ec443753b4e3307e5122b60b850.zip
drm/xe/guc: Set RCS/CCS yield policy
All recent platforms (including all the ones officially supported by the Xe driver) do not allow concurrent execution of RCS and CCS workloads from different address spaces, with the HW blocking the context switch when it detects such a scenario. The DUAL_QUEUE flag helps with this, by causing the GuC to not submit a context it knows will not be able to execute. This, however, causes a new problem: if RCS and CCS queues have pending workloads from different address spaces, the GuC needs to choose from which of the 2 queues to pick the next workload to execute. By default, the GuC prioritizes RCS submissions over CCS ones, which can lead to CCS workloads being significantly (or completely) starved of execution time. The driver can tune this by setting a dedicated scheduling policy KLV; this KLV allows the driver to specify a quantum (in ms) and a ratio (percentage value between 0 and 100), and the GuC will prioritize the CCS for that percentage of each quantum. Given that we want to guarantee enough RCS throughput to avoid missing frames, we set the yield policy to 20% of each 80ms interval. v2: updated quantum and ratio, improved comment, use xe_guc_submit_disable in gt_sanitize Fixes: d9a1ae0d17bd ("drm/xe/guc: Enable WA_DUAL_QUEUE for newer platforms") Signed-off-by: Daniele Ceraolo Spurio <[email protected]> Cc: Matthew Brost <[email protected]> Cc: John Harrison <[email protected]> Cc: Vinay Belgaumkar <[email protected]> Reviewed-by: John Harrison <[email protected]> Tested-by: Vinay Belgaumkar <[email protected]> Link: https://lore.kernel.org/r/[email protected] (cherry picked from commit 88434448438e4302e272b2a2b810b42e05ea024b) Signed-off-by: Rodrigo Vivi <[email protected]> [Rodrigo added #include "xe_guc_submit.h" while backporting]
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/atom.c')
0 files changed, 0 insertions, 0 deletions