There is no point in having code and logging whose only purpose is to
notify developers of incorrect usage of the API while bringing up a new
driver. Lets simply return an error and let the developers figure it out.

Signed-off-by: Tvrtko Ursulin <[email protected]>
Cc: Christian König <[email protected]>
Cc: Danilo Krummrich <[email protected]>
Cc: Matthew Brost <[email protected]>
Cc: Philipp Stanner <[email protected]>
---
 drivers/gpu/drm/scheduler/sched_main.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/scheduler/sched_main.c 
b/drivers/gpu/drm/scheduler/sched_main.c
index aba5545033ac..bb89c169d553 100644
--- a/drivers/gpu/drm/scheduler/sched_main.c
+++ b/drivers/gpu/drm/scheduler/sched_main.c
@@ -1102,6 +1102,9 @@ int drm_sched_init(struct drm_gpu_scheduler *sched, const 
struct drm_sched_init_
 {
        int i;
 
+       if (sched->sched_rq)
+               return -EINVAL;
+
        sched->ops = args->ops;
        sched->credit_limit = args->credit_limit;
        sched->name = args->name;
@@ -1117,13 +1120,6 @@ int drm_sched_init(struct drm_gpu_scheduler *sched, 
const struct drm_sched_init_
                dev_err(sched->dev, "%s: num_rqs cannot be greater than 
DRM_SCHED_PRIORITY_COUNT\n",
                        __func__);
                return -EINVAL;
-       } else if (sched->sched_rq) {
-               /* Not an error, but warn anyway so drivers can
-                * fine-tune their DRM calling order, and return all
-                * is good.
-                */
-               dev_warn(sched->dev, "%s: scheduler already initialized!\n", 
__func__);
-               return 0;
        }
 
        if (args->submit_wq) {
-- 
2.55.0

Reply via email to