The PROTM suspend buffer is only needed if the group is going to use PROTM in the first place, so let's not assume we need one until we're being asked to.
Reviewed-by: Boris Brezillon <[email protected]> Reviewed-by: Steven Price <[email protected]> Reviewed-by: Liviu Dudau <[email protected]> Signed-off-by: Ketil Johnsen <[email protected]> --- drivers/gpu/drm/panthor/panthor_sched.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/drivers/gpu/drm/panthor/panthor_sched.c b/drivers/gpu/drm/panthor/panthor_sched.c index 3bd6be9407097..db801705f0d27 100644 --- a/drivers/gpu/drm/panthor/panthor_sched.c +++ b/drivers/gpu/drm/panthor/panthor_sched.c @@ -3641,9 +3641,11 @@ static void add_group_kbo_sizes(struct panthor_device *ptdev, if (drm_WARN_ON(&ptdev->base, ptdev != group->ptdev)) return; - group->fdinfo.kbo_sizes += group->suspend_buf->obj->size; - group->fdinfo.kbo_sizes += group->protm_suspend_buf->obj->size; group->fdinfo.kbo_sizes += group->syncobjs->obj->size; + group->fdinfo.kbo_sizes += group->suspend_buf->obj->size; + + if (group->protm_suspend_buf) + group->fdinfo.kbo_sizes += group->protm_suspend_buf->obj->size; for (i = 0; i < group->queue_count; i++) { queue = group->queues[i]; @@ -3724,14 +3726,6 @@ int panthor_group_create(struct drm_file *file, goto err_put_group; } - suspend_size = csg_iface->control->protm_suspend_size; - group->protm_suspend_buf = panthor_fw_alloc_suspend_buf_mem(ptdev, suspend_size); - if (IS_ERR(group->protm_suspend_buf)) { - ret = PTR_ERR(group->protm_suspend_buf); - group->protm_suspend_buf = NULL; - goto err_put_group; - } - group->syncobjs = panthor_kernel_bo_create(ptdev, group->vm, group_args->queues.count * sizeof(struct panthor_syncobj_64b), -- 2.43.0
