aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
diff options
context:
space:
mode:
authorPhilipp Stanner <[email protected]>2025-02-11 11:14:23 +0000
committerPhilipp Stanner <[email protected]>2025-02-12 10:59:52 +0000
commit796a9f55a8d1d85387b973df9a06cbf4bc2d6327 (patch)
tree4b245e0b57dd34f449d5dc8aaa91bc7a08494341 /drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
parentdrm: ensure drm headers are self-contained and pass kernel-doc (diff)
downloadkernel-796a9f55a8d1d85387b973df9a06cbf4bc2d6327.tar.gz
kernel-796a9f55a8d1d85387b973df9a06cbf4bc2d6327.zip
drm/sched: Use struct for drm_sched_init() params
drm_sched_init() has a great many parameters and upcoming new functionality for the scheduler might add even more. Generally, the great number of parameters reduces readability and has already caused one missnaming, addressed in: commit 6f1cacf4eba7 ("drm/nouveau: Improve variable name in nouveau_sched_init()"). Introduce a new struct for the scheduler init parameters and port all users. Reviewed-by: Liviu Dudau <[email protected]> Acked-by: Matthew Brost <[email protected]> # for Xe Reviewed-by: Boris Brezillon <[email protected]> # for Panfrost and Panthor Reviewed-by: Christian Gmeiner <[email protected]> # for Etnaviv Reviewed-by: Frank Binns <[email protected]> # for Imagination Reviewed-by: Tvrtko Ursulin <[email protected]> # for Sched Reviewed-by: MaĆ­ra Canal <[email protected]> # for v3d Reviewed-by: Danilo Krummrich <[email protected]> Reviewed-by: Lizhi Hou <[email protected]> # for amdxdna Signed-off-by: Philipp Stanner <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_device.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_device.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index d100bb7a137c..6800f72fafd2 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -2823,6 +2823,12 @@ static int amdgpu_device_fw_loading(struct amdgpu_device *adev)
static int amdgpu_device_init_schedulers(struct amdgpu_device *adev)
{
+ struct drm_sched_init_args args = {
+ .ops = &amdgpu_sched_ops,
+ .num_rqs = DRM_SCHED_PRIORITY_COUNT,
+ .timeout_wq = adev->reset_domain->wq,
+ .dev = adev->dev,
+ };
long timeout;
int r, i;
@@ -2848,12 +2854,12 @@ static int amdgpu_device_init_schedulers(struct amdgpu_device *adev)
break;
}
- r = drm_sched_init(&ring->sched, &amdgpu_sched_ops, NULL,
- DRM_SCHED_PRIORITY_COUNT,
- ring->num_hw_submission, 0,
- timeout, adev->reset_domain->wq,
- ring->sched_score, ring->name,
- adev->dev);
+ args.timeout = timeout;
+ args.credit_limit = ring->num_hw_submission;
+ args.score = ring->sched_score;
+ args.name = ring->name;
+
+ r = drm_sched_init(&ring->sched, &args);
if (r) {
DRM_ERROR("Failed to create scheduler on ring %s.\n",
ring->name);