From: Marek Vasut <marex@denx.de>
To: Abhinav Kumar <quic_abhinavk@quicinc.com>,
neil.armstrong@linaro.org, Amit Pundir <amit.pundir@linaro.org>,
Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Cc: Jagan Teki <jagan@amarulasolutions.com>,
dri-devel@lists.freedesktop.org, Robert Foss <rfoss@kernel.org>,
Andrzej Hajda <andrzej.hajda@intel.com>,
Jonas Karlman <jonas@kwiboo.se>,
Jernej Skrabec <jernej.skrabec@gmail.com>,
Michael Walle <michael@walle.cc>,
Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
linux-arm-msm <linux-arm-msm@vger.kernel.org>,
Linux regressions mailing list <regressions@lists.linux.dev>,
freedreno <freedreno@lists.freedesktop.org>
Subject: Re: [PATCH 2/2] drm/bridge: lt9611: Do not generate HFP/HBP/HSA and EOT packet
Date: Wed, 12 Jul 2023 19:41:08 +0200 [thread overview]
Message-ID: <961b4747-c9f1-a31c-c33c-475b4803f832@denx.de> (raw)
In-Reply-To: <4396d197-f16f-92bd-727c-eb8c78016198@quicinc.com>
On 7/9/23 03:03, Abhinav Kumar wrote:
>
>
> On 7/7/2023 1:47 AM, Neil Armstrong wrote:
>> On 07/07/2023 09:18, Neil Armstrong wrote:
>>> Hi,
>>>
>>> On 06/07/2023 11:20, Amit Pundir wrote:
>>>> On Wed, 5 Jul 2023 at 11:09, Dmitry Baryshkov
>>>> <dmitry.baryshkov@linaro.org> wrote:
>>>>>
>>>>> [Adding freedreno@ to cc list]
>>>>>
>>>>> On Wed, 5 Jul 2023 at 08:31, Jagan Teki
>>>>> <jagan@amarulasolutions.com> wrote:
>>>>>>
>>>>>> Hi Amit,
>>>>>>
>>>>>> On Wed, Jul 5, 2023 at 10:15 AM Amit Pundir
>>>>>> <amit.pundir@linaro.org> wrote:
>>>>>>>
>>>>>>> Hi Marek,
>>>>>>>
>>>>>>> On Wed, 5 Jul 2023 at 01:48, Marek Vasut <marex@denx.de> wrote:
>>>>>>>>
>>>>>>>> Do not generate the HS front and back porch gaps, the HSA gap and
>>>>>>>> EOT packet, as these packets are not required. This makes the
>>>>>>>> bridge
>>>>>>>> work with Samsung DSIM on i.MX8MM and i.MX8MP.
>>>>>>>
>>>>>>> This patch broke display on Dragonboard 845c (SDM845) devboard
>>>>>>> running
>>>>>>> AOSP. This is what I see
>>>>>>> https://people.linaro.org/~amit.pundir/db845c-userdebug/v6.5-broken-display/PXL_20230704_150156326.jpg.
>>>>>>> Reverting this patch fixes this regression for me.
>>>>>>
>>>>>> Might be msm dsi host require proper handling on these updated
>>>>>> mode_flags? did they?
>>>>>
>>>>> The msm DSI host supports those flags. Also, I'd like to point out
>>>>> that the patch didn't change the rest of the driver code. So even if
>>>>> drm/msm ignored some of the flags, it should not have caused the
>>>>> issue. Most likely the issue is on the lt9611 side. I's suspect that
>>>>> additional programming is required to make it work with these flags.
>>>>
>>>> I spent some time today on smoke testing these flags (individually and
>>>> in limited combination) on DB845c, to narrow down this breakage to one
>>>> or more flag(s) triggering it. Here are my observations in limited
>>>> testing done so far.
>>>>
>>>> There is no regression with MIPI_DSI_MODE_NO_EOT_PACKET when enabled
>>>> alone and system boots to UI as usual.
>>>>
>>>> MIPI_DSI_MODE_VIDEO_NO_HFP always trigger the broken display as in the
>>>> screenshot[1] shared earlier as well.
>>>>
>>>> Adding either of MIPI_DSI_MODE_VIDEO_NO_HSA and
>>>> MIPI_DSI_MODE_VIDEO_NO_HBP always result in no display, unless paired
>>>> with MIPI_DSI_MODE_VIDEO_NO_HFP and in that case we get the broken
>>>> display as reported.
>>>>
>>>> In short other than MIPI_DSI_MODE_NO_EOT_PACKET flag, all other flags
>>>> added in this commit break the display on DB845c one way or another.
>>>
>>> I think the investigation would be to understand why samsung-dsim
>>> requires
>>> such flags and/or what are the difference in behavior between MSM DSI
>>> and samsung DSIM
>>> for those flags ?
>>>
>>> If someone has access to the lt9611 datasheet, so it requires
>>> HSA/HFP/HBP to be
>>> skipped ? and does MSM DSI and samsung DSIM skip them in the same way ?
>>
>> I think there's a mismatch, where on one side this flags sets the link
>> in LP-11 while
>> in HSA/HFP/HPB while on the other it completely removes those blanking
>> packets.
>>
>> The name MIPI_DSI_MODE_VIDEO_NO_HBP suggests removal of HPB, not LP-11
>> while HPB.
>> the registers used in both controllers are different:
>> - samsung-dsim: DSIM_HBP_DISABLE_MODE
>> - msm dsi: DSI_VID_CFG0_HBP_POWER_STOP
>>
>> The first one suggest removing the packet, while the second one
>> suggests powering
>> off the line while in the blanking packet period.
>>
>> @Abhinav, can you comment on that ?
>>
>
> I dont get what it means by completely removes blanking packets in DSIM.
MIPI_DSI_MODE_VIDEO_NO_HFP means the HBP period is just skipped by DSIM.
Maybe there is a need for new set of flags which differentiate between
HBP skipped (i.e. NO HBP) and HBP LP11 ?
> It should be replacing those periods with LP11 too.
>
> The traffic mode being used on this bridge is
> MIPI_DSI_MODE_VIDEO_SYNC_PULSE which is "Non-Burst Mode with Sync Pulses".
>
> As per this traffic mode in the DSI spec,
>
> "Normally, periods shown as HSA (Horizontal Sync Active), HBP
> (Horizontal Back Porch) and HFP (Horizontal Front Porch) are filled by
> Blanking Packets, with lengths (including packet overhead) calculated
> to match the period specified by the peripheral’s data sheet.
> Alternatively, if there is sufficient time to transition from HS to LP
> mode and back again, a timed interval in LP mode may substitute for a
> Blanking Packet, thus saving power. During HSA, HBP and HFP periods, the
> bus should stay in the LP-11 state."
>
> So we can either send the blanking packets or transition to LP state and
> those 3 flags are controlling exactly that during those periods for MSM
> driver.
>
> If you stop sending the blanking packets, you need to replace that gap
> with LP.
I don't think that's what MIPI_DSI_MODE_VIDEO_NO_HBP means, the way I
understand MIPI_DSI_MODE_VIDEO_NO_HBP is that it skips the HBP
completely. So if you want HBP, then do not set
MIPI_DSI_MODE_VIDEO_NO_HBP . And if you want LP11 during HBP, that is I
think up to the controller (or maybe another new flag?).
> One reason I can think of why this could break with MSM is perhaps we do
> not have sufficient time in those periods for the LP-HS transition like
> the spec has written.
>
> 1) What is the resolution which is getting broken on db845c with this? I
> would like to know the full drm_display_mode for it to see how much time
> we have in those periods. Is any resolution working or all are broken.
>
> 2) I also do not completely get the last line of the DSI spec on this
> traffic mode. Is it suggesting that we *must* use only LP11 for those
> periods in this traffic mode? I need to check little more on that.
> Because if thats the case the change is doing just that and we need to
> investigate the MSM failure little more. If not and its indeed optional
> to save power like the DSI spec says, then its weird why DSIM should be
> blank without that too.
[...]
next prev parent reply other threads:[~2023-07-12 17:41 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20230403221233.500485-1-marex@denx.de>
[not found] ` <20230403221233.500485-2-marex@denx.de>
2023-07-05 4:45 ` [PATCH 2/2] drm/bridge: lt9611: Do not generate HFP/HBP/HSA and EOT packet Amit Pundir
2023-07-05 5:30 ` Jagan Teki
2023-07-05 5:39 ` Dmitry Baryshkov
2023-07-05 5:46 ` Jagan Teki
2023-07-05 7:31 ` Marek Vasut
2023-07-06 9:20 ` Amit Pundir
2023-07-07 7:18 ` Neil Armstrong
2023-07-07 8:47 ` Neil Armstrong
2023-07-08 15:40 ` Marek Vasut
2023-07-08 15:53 ` Dmitry Baryshkov
2023-07-08 19:39 ` Marek Vasut
2023-07-08 19:40 ` Dmitry Baryshkov
2023-07-08 19:47 ` Marek Vasut
2023-07-09 1:03 ` Abhinav Kumar
2023-07-12 17:41 ` Marek Vasut [this message]
2023-07-13 18:09 ` Abhinav Kumar
2023-07-13 18:28 ` Marek Vasut
2023-07-13 18:34 ` Abhinav Kumar
2023-07-14 6:11 ` Amit Pundir
2023-07-26 10:09 ` Linux regression tracking (Thorsten Leemhuis)
2023-08-02 8:39 ` neil.armstrong
2023-08-02 12:25 ` Marek Vasut
2023-08-02 13:08 ` neil.armstrong
2023-08-02 17:25 ` Marek Vasut
2023-08-02 17:49 ` Abhinav Kumar
2023-08-02 18:46 ` Marek Vasut
2023-07-13 18:37 ` Jagan Teki
2023-07-08 14:08 ` Linux regression tracking (Thorsten Leemhuis)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=961b4747-c9f1-a31c-c33c-475b4803f832@denx.de \
--to=marex@denx.de \
--cc=Laurent.pinchart@ideasonboard.com \
--cc=amit.pundir@linaro.org \
--cc=andrzej.hajda@intel.com \
--cc=dmitry.baryshkov@linaro.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=freedreno@lists.freedesktop.org \
--cc=jagan@amarulasolutions.com \
--cc=jernej.skrabec@gmail.com \
--cc=jonas@kwiboo.se \
--cc=linux-arm-msm@vger.kernel.org \
--cc=michael@walle.cc \
--cc=neil.armstrong@linaro.org \
--cc=quic_abhinavk@quicinc.com \
--cc=regressions@lists.linux.dev \
--cc=rfoss@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).