Re: [PATCH v3 09/56] drm/omap: dsi: drop virtual channel logic

Tomi Valkeinen
2020-11-09T08:20:21Z

On 09/11/2020 10:14, Laurent Pinchart wrote:
> Hi Tomi and Sebastian,
>
> Thank you for the patch.
>
> On Thu, Nov 05, 2020 at 02:02:46PM +0200, Tomi Valkeinen wrote:
>> From: Sebastian Reichel <sebastian.reichel@collabora.com>
>>
>> This drops the virtual channel logic. Afterwards DSI clients
>> request their channel number and get the virtual channel with
>> the same number or -EBUSY if already in use.
>
> It could be useful to explain the reason for this patch (which, if I
> understand the patch correctly, is to replace dynamic allocation of
> virtual channels with a fixed allocation by the DSI panel, I assume
> because dynamic allocation isn't actually useful ?).

Yes, I can elaborate on that in v4. I also just sent a separate mail about it.

>> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
>> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
>> ---
>> .../gpu/drm/omapdrm/displays/panel-dsi-cm.c | 11 ++---
>> drivers/gpu/drm/omapdrm/dss/dsi.c | 46 ++++---------------
>> drivers/gpu/drm/omapdrm/dss/omapdss.h | 4 +-
>> 3 files changed, 12 insertions(+), 49 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
>> index 8b2e80129bd8..ea76a89d1833 100644
>> --- a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
>> +++ b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
>> @@ -768,19 +768,12 @@ static int dsicm_connect(struct omap_dss_device *src,
>> struct device *dev = &ddata->pdev->dev;
>> int r;
>>
>> - r = src->ops->dsi.request_vc(src, &ddata->channel);
>> + r = src->ops->dsi.request_vc(src, ddata->channel);
>> if (r) {
>> dev_err(dev, "failed to get virtual channel\n");
>> return r;
>> }
>>
>> - r = src->ops->dsi.set_vc_id(src, ddata->channel, TCH);
>> - if (r) {
>> - dev_err(dev, "failed to set VC_ID\n");
>> - src->ops->dsi.release_vc(src, ddata->channel);
>> - return r;
>> - }
>> -
>> ddata->src = src;
>> return 0;
>> }
>> @@ -1215,6 +1208,8 @@ static int dsicm_probe_of(struct platform_device *pdev)
>> struct display_timing timing;
>> int err;
>>
>> + ddata->channel = TCH;
>
> I'd drop the macro, but no big deal.
>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

It's dropped in a later patch.

Tomi