[PATCH] drm/panel: Add prepare_prev_first flag to Visionox VTDR6130
Abhinav Kumar
quic_abhinavk at quicinc.com
Thu Aug 10 16:26:42 UTC 2023
Hi Neil
On 8/3/2023 10:19 AM, Jessica Zhang wrote:
>
>
> On 7/31/2023 6:00 AM, Neil Armstrong wrote:
>> Hi,
>>
>> On 26/07/2023 00:56, Jessica Zhang wrote:
>>> Due to a recent introduction of the pre_enable_prev_first bridge flag
>>> [1],
>>> the panel driver will be probed before the DSI is enabled, causing the
>>> DCS commands to fail to send.
>>>
>>> Ensure that DSI is enabled before panel probe by setting the
>>> prepare_prev_first flag for the panel.
>>
>> Well this is specific to MSM DSI driver, it's not related at all to
>> the panel.
>
I dont fully agree this is a MSM DSI driver specific thing.
If the panel can send its commands in its enable() callback, then this
flag need not be set.
When a panel sends its DCS commands in its pre_enable() callback, any
DSI controller will need to be ON before that otherwise DCS commands
cannot be sent.
With this in mind, may I know why is this a MSM change and not a panel
change?
As per my discussion with Dmitry during the last sync up, we were
aligned on this expectation.
Thanks
Abhinav
> Hi Neil,
>
> I think there might be some confusion caused by the commit message --
> instead of "enabled before panel probe", it should be "enabled before
> panel pre_enable()" as the panel on commands are sent during prepare(),
> which is matched to bridge pre_enable().
>
> IIRC the general rule is that the panel driver should set the
> prepare_prev_first flag if the on commands are sent during pre_enable(),
> so I'll keep the code change but correct the commit message if that's ok
> with you.
>
> Thanks,
>
> Jessica Zhang
>
>>
>> Neil
>>
>>>
>>> [1] commit 4fb912e5e190 ("drm/bridge: Introduce pre_enable_prev_first
>>> to alter bridge init order")
>>>
>>> Fixes: 2349183d32d8 ("drm/panel: add visionox vtdr6130 DSI panel
>>> driver")
>>> Signed-off-by: Jessica Zhang <quic_jesszhan at quicinc.com>
>>> ---
>>> drivers/gpu/drm/panel/panel-visionox-vtdr6130.c | 1 +
>>> 1 file changed, 1 insertion(+)
>>>
>>> diff --git a/drivers/gpu/drm/panel/panel-visionox-vtdr6130.c
>>> b/drivers/gpu/drm/panel/panel-visionox-vtdr6130.c
>>> index bb0dfd86ea67..e1363e128e7e 100644
>>> --- a/drivers/gpu/drm/panel/panel-visionox-vtdr6130.c
>>> +++ b/drivers/gpu/drm/panel/panel-visionox-vtdr6130.c
>>> @@ -296,6 +296,7 @@ static int visionox_vtdr6130_probe(struct
>>> mipi_dsi_device *dsi)
>>> dsi->format = MIPI_DSI_FMT_RGB888;
>>> dsi->mode_flags = MIPI_DSI_MODE_VIDEO |
>>> MIPI_DSI_MODE_NO_EOT_PACKET |
>>> MIPI_DSI_CLOCK_NON_CONTINUOUS;
>>> + ctx->panel.prepare_prev_first = true;
>>> drm_panel_init(&ctx->panel, dev, &visionox_vtdr6130_panel_funcs,
>>> DRM_MODE_CONNECTOR_DSI);
>>>
>>> ---
>>> base-commit: 28a5c036b05fc5c935cc72d76abd3589825ea9cd
>>> change-id: 20230717-visionox-vtdr-prev-first-e00ae02eec9f
>>>
>>> Best regards,
>>
More information about the dri-devel
mailing list