Displaying 4 results from an estimated 4 matches for "v3d_bin".
2025 Jan 23
2
[PATCH] drm/sched: Use struct for drm_sched_init() params
...s not my component, so?
Whatever we'll do will be simpler than the existing code, though. Right
now no reader can see at first glance whether all those schedulers are
identically parametrized or not.
P.
>
> Best Regards,
> - Ma?ra
>
> > +
> > +static int
> > +v3d_bin_sched_init(struct v3d_dev *v3d)
> > +{
> > + struct drm_sched_init_params params;
> > +
> > + v3d_common_sched_init(¶ms, v3d->drm.dev);
> > + params.ops = &v3d_bin_sched_ops;
> > + params.name = "v3d_bin";
> > +
> > + return d...
2025 Jan 22
1
[PATCH] drm/sched: Use struct for drm_sched_init() params
...*v3d, enum
v3d_queue, and sched_ops as arguments (instead of one function per
queue)? You can get the name of the scheduler by concatenating "v3d_" to
the return of v3d_queue_to_string().
I believe it would make the code much simpler.
Best Regards,
- Ma?ra
> +
> +static int
> +v3d_bin_sched_init(struct v3d_dev *v3d)
> +{
> + struct drm_sched_init_params params;
> +
> + v3d_common_sched_init(¶ms, v3d->drm.dev);
> + params.ops = &v3d_bin_sched_ops;
> + params.name = "v3d_bin";
> +
> + return drm_sched_init(&v3d->queue[V3D_BIN...
2025 Jan 23
0
[PATCH] drm/sched: Use struct for drm_sched_init() params
...t; +
>> ? int
>> ? v3d_sched_init(struct v3d_dev *v3d)
>> ? {
>> -?????? int hw_jobs_limit = 1;
>> -?????? int job_hang_limit = 0;
>> -?????? int hang_limit_ms = 500;
>> ???????? int ret;
>>
>> -?????? ret = drm_sched_init(&v3d->queue[V3D_BIN].sched,
>> -??????????????????????????? &v3d_bin_sched_ops, NULL,
>> -??????????????????????????? DRM_SCHED_PRIORITY_COUNT,
>> -??????????????????????????? hw_jobs_limit, job_hang_limit,
>> -??????????????????????????? msecs_to_jiffies(hang_limit_ms), NULL,
>> -???...
2025 Jan 22
5
[PATCH] drm/sched: Use struct for drm_sched_init() params
...the system_wq. */
+ params->num_rqs = DRM_SCHED_PRIORITY_COUNT;
+ params->credit_limit = 1;
+ params->hang_limit = 0;
+ params->timeout = msecs_to_jiffies(500);
+ params->timeout_wq = NULL; /* Use the system_wq. */
+ params->score = NULL;
+ params->dev = dev;
+}
+
+static int
+v3d_bin_sched_init(struct v3d_dev *v3d)
+{
+ struct drm_sched_init_params params;
+
+ v3d_common_sched_init(¶ms, v3d->drm.dev);
+ params.ops = &v3d_bin_sched_ops;
+ params.name = "v3d_bin";
+
+ return drm_sched_init(&v3d->queue[V3D_BIN].sched, ¶ms);
+}
+
+static int...