linux-arm-msm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andrzej Hajda <a.hajda@samsung.com>
To: Nicolas Boichat <drinkcat@chromium.org>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Neil Armstrong <narmstrong@baylibre.com>,
	David Airlie <airlied@linux.ie>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	dri-devel <dri-devel@lists.freedesktop.org>,
	Thierry Reding <thierry.reding@gmail.com>,
	Sam Ravnborg <sam@ravnborg.org>,
	Emil Velikov <emil.velikov@collabora.com>,
	linux-samsung-soc@vger.kernel.org,
	Joonyoung Shim <jy0922.shim@samsung.com>,
	Krzysztof Kozlowski <krzk@kernel.org>,
	Chun-Kuang Hu <chunkuang.hu@kernel.org>,
	Jonas Karlman <jonas@kwiboo.se>,
	linux-arm-msm@vger.kernel.org,
	"moderated list:ARM/Mediatek SoC support" 
	<linux-mediatek@lists.infradead.org>,
	Rikard Falkeborn <rikard.falkeborn@gmail.com>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Sean Paul <sean@poorly.run>, Xin Ji <xji@analogixsemi.com>,
	linux-arm Mailing List <linux-arm-kernel@lists.infradead.org>,
	Jernej Skrabec <jernej.skrabec@siol.net>,
	Rajendra Nayak <rnayak@codeaurora.org>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Seung-Woo Kim <sw0312.kim@samsung.com>,
	lkml <linux-kernel@vger.kernel.org>,
	Robert Foss <robert.foss@linaro.org>,
	Kyungmin Park <kyungmin.park@samsung.com>,
	freedreno@lists.freedesktop.org
Subject: Re: [PATCH] drm/dsi: Add _NO_ to MIPI_DSI_* flags disabling features
Date: Mon, 22 Feb 2021 08:20:33 +0100	[thread overview]
Message-ID: <a804b8eb-3c79-4753-670c-cd5c2dfbc3a4@samsung.com> (raw)
In-Reply-To: <CANMq1KALq+C2GD2uRohKpwvkDC05-fHyo=_WoHwnsKNjgcSfEQ@mail.gmail.com>

Hi Nicolas,

W dniu 22.02.2021 o 06:31, Nicolas Boichat pisze:
> On Mon, Feb 22, 2021 at 3:08 AM Laurent Pinchart
> <laurent.pinchart@ideasonboard.com> wrote:
>> Hi Nicolas,
>>
>> Thank you for the patch.
>>
>> On Thu, Feb 11, 2021 at 11:33:55AM +0800, Nicolas Boichat wrote:
>>> Many of the DSI flags have names opposite to their actual effects,
>>> e.g. MIPI_DSI_MODE_EOT_PACKET means that EoT packets will actually
>>> be disabled. Fix this by including _NO_ in the flag names, e.g.
>>> MIPI_DSI_MODE_NO_EOT_PACKET.
>>>
>>> Signed-off-by: Nicolas Boichat <drinkcat@chromium.org>
>> This looks good to me, it increases readability.
>>
>> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>>
>> Please however see the end of the mail for a comment.


Reviewed-by: Andrzej Hajda <andrzej.hajda@samsung.com>

And comment at the end.

>>
>>> ---
>>> I considered adding _DISABLE_ instead, but that'd make the
>>> flag names a big too long.
>>>
>>> Generated with:
>>> flag=MIPI_DSI_MODE_VIDEO_HFP; git grep $flag | cut -f1 -d':' | \
>>>    xargs -I{} sed -i -e "s/$flag/MIPI_DSI_MODE_VIDEO_NO_HFP/" {}
>>> flag=MIPI_DSI_MODE_VIDEO_HBP; git grep $flag | cut -f1 -d':' | \
>>>    xargs -I{} sed -i -e "s/$flag/MIPI_DSI_MODE_VIDEO_NO_HBP/" {}
>>> flag=MIPI_DSI_MODE_VIDEO_HSA; git grep $flag | cut -f1 -d':' | \
>>>    xargs -I{} sed -i -e "s/$flag/MIPI_DSI_MODE_VIDEO_NO_HSA/" {}
>>> flag=MIPI_DSI_MODE_EOT_PACKET; git grep $flag | cut -f1 -d':' | \
>>>    xargs -I{} sed -i -e "s/$flag/MIPI_DSI_MODE_NO_EOT_PACKET/" {}
>>> (then minor format changes)
>> Ever tried coccinelle ? :-)
> Fun project for next time ,-)
>
>>>   drivers/gpu/drm/bridge/adv7511/adv7533.c             | 2 +-
>>>   drivers/gpu/drm/bridge/analogix/anx7625.c            | 2 +-
>>>   drivers/gpu/drm/bridge/cdns-dsi.c                    | 4 ++--
>>>   drivers/gpu/drm/bridge/tc358768.c                    | 2 +-
>>>   drivers/gpu/drm/exynos/exynos_drm_dsi.c              | 8 ++++----
>>>   drivers/gpu/drm/mcde/mcde_dsi.c                      | 2 +-
>>>   drivers/gpu/drm/mediatek/mtk_dsi.c                   | 2 +-
>>>   drivers/gpu/drm/msm/dsi/dsi_host.c                   | 8 ++++----
>>>   drivers/gpu/drm/panel/panel-asus-z00t-tm5p5-n35596.c | 2 +-
>>>   drivers/gpu/drm/panel/panel-dsi-cm.c                 | 2 +-
>>>   drivers/gpu/drm/panel/panel-elida-kd35t133.c         | 2 +-
>>>   drivers/gpu/drm/panel/panel-khadas-ts050.c           | 2 +-
>>>   drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c   | 2 +-
>>>   drivers/gpu/drm/panel/panel-leadtek-ltk500hd1829.c   | 2 +-
>>>   drivers/gpu/drm/panel/panel-novatek-nt35510.c        | 2 +-
>>>   drivers/gpu/drm/panel/panel-osd-osd101t2587-53ts.c   | 2 +-
>>>   drivers/gpu/drm/panel/panel-samsung-s6d16d0.c        | 2 +-
>>>   drivers/gpu/drm/panel/panel-samsung-s6e63j0x03.c     | 2 +-
>>>   drivers/gpu/drm/panel/panel-samsung-s6e63m0-dsi.c    | 2 +-
>>>   drivers/gpu/drm/panel/panel-samsung-s6e8aa0.c        | 4 ++--
>>>   drivers/gpu/drm/panel/panel-sharp-ls043t1le01.c      | 2 +-
>>>   drivers/gpu/drm/panel/panel-simple.c                 | 2 +-
>>>   drivers/gpu/drm/panel/panel-sony-acx424akp.c         | 2 +-
>>>   drivers/gpu/drm/panel/panel-xinpeng-xpp055c272.c     | 2 +-
>>>   include/drm/drm_mipi_dsi.h                           | 8 ++++----
>>>   25 files changed, 36 insertions(+), 36 deletions(-)
>>>
>>> []
>>> diff --git a/include/drm/drm_mipi_dsi.h b/include/drm/drm_mipi_dsi.h
>>> index 360e6377e84b..ba91cf22af51 100644
>>> --- a/include/drm/drm_mipi_dsi.h
>>> +++ b/include/drm/drm_mipi_dsi.h
>>> @@ -119,15 +119,15 @@ struct mipi_dsi_host *of_find_mipi_dsi_host_by_node(struct device_node *node);
>>>   /* enable hsync-end packets in vsync-pulse and v-porch area */
>>>   #define MIPI_DSI_MODE_VIDEO_HSE              BIT(4)
>> We're mixing bits that enable a feature and bits that disable a feature.
>> Are these bits defined in the DSI spec, or internal to DRM ? In the
>> latter case, would it make sense to standardize on one "polarity" ? That
>> would be a more intrusive change in drivers though.
> Yes, that'd require auditing every single code path and reverse the
> logic as needed. I'm not volunteering for that ,-P (hopefully the
> current change is still an improvement).
>
> Hopefully real DSI experts can comment (Andrzej?), I think the default
> are sensible settings?

Hehe, "real DSI expert" :), ok I've read spec few times :)

If I remember correctly the spec did not prioritizes these modes, specs 
are publicly available if somebody want to check it feel free.

These values were taken from defaults for Exynos DSI, as nobody at the 
time has better idea.

We could try to optimize it by looking for example in different dsi 
hosts defaults, or maybe dsi devices, but I am not sure if it is worth time.

This solution is good for me.


Regards

Andrzej


>
>
>>>   /* disable hfront-porch area */
>>> -#define MIPI_DSI_MODE_VIDEO_HFP              BIT(5)
>>> +#define MIPI_DSI_MODE_VIDEO_NO_HFP   BIT(5)
>>>   /* disable hback-porch area */
>>> -#define MIPI_DSI_MODE_VIDEO_HBP              BIT(6)
>>> +#define MIPI_DSI_MODE_VIDEO_NO_HBP   BIT(6)
>>>   /* disable hsync-active area */
>>> -#define MIPI_DSI_MODE_VIDEO_HSA              BIT(7)
>>> +#define MIPI_DSI_MODE_VIDEO_NO_HSA   BIT(7)
>>>   /* flush display FIFO on vsync pulse */
>>>   #define MIPI_DSI_MODE_VSYNC_FLUSH    BIT(8)
>>>   /* disable EoT packets in HS mode */
>>> -#define MIPI_DSI_MODE_EOT_PACKET     BIT(9)
>>> +#define MIPI_DSI_MODE_NO_EOT_PACKET  BIT(9)
>>>   /* device supports non-continuous clock behavior (DSI spec 5.6.1) */
>>>   #define MIPI_DSI_CLOCK_NON_CONTINUOUS        BIT(10)
>>>   /* transmit data in low power */
>> --
>> Regards,
>>
>> Laurent Pinchart
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://protect2.fireeye.com/v1/url?k=e6f0d6d2-b96befef-e6f15d9d-0cc47a31309a-f4be6a0935319c2d&q=1&e=5e175166-1972-4f28-a483-e9a65c07e25f&u=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Fdri-devel
>

  reply	other threads:[~2021-02-22  7:22 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-11  3:33 [PATCH] drm/dsi: Add _NO_ to MIPI_DSI_* flags disabling features Nicolas Boichat
2021-02-12  9:04 ` Robert Foss
2021-02-16  6:31 ` Chun-Kuang Hu
2021-02-18  6:14 ` Xin Ji
2021-02-18 19:35 ` [Freedreno] " abhinavk
2021-02-21 19:08 ` Laurent Pinchart
2021-02-22  5:31   ` Nicolas Boichat
2021-02-22  7:20     ` Andrzej Hajda [this message]
2021-02-22 11:00       ` Nicolas Boichat
2021-03-01  8:59 ` Linus Walleij
2021-03-03 10:31   ` Nicolas Boichat
2021-06-28 11:10     ` Linus Walleij
2021-06-28 23:44       ` Nicolas Boichat

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=a804b8eb-3c79-4753-670c-cd5c2dfbc3a4@samsung.com \
    --to=a.hajda@samsung.com \
    --cc=airlied@linux.ie \
    --cc=chunkuang.hu@kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=drinkcat@chromium.org \
    --cc=emil.velikov@collabora.com \
    --cc=freedreno@lists.freedesktop.org \
    --cc=jernej.skrabec@siol.net \
    --cc=jonas@kwiboo.se \
    --cc=jy0922.shim@samsung.com \
    --cc=krzk@kernel.org \
    --cc=kyungmin.park@samsung.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=matthias.bgg@gmail.com \
    --cc=narmstrong@baylibre.com \
    --cc=rikard.falkeborn@gmail.com \
    --cc=rnayak@codeaurora.org \
    --cc=robert.foss@linaro.org \
    --cc=sam@ravnborg.org \
    --cc=sean@poorly.run \
    --cc=sw0312.kim@samsung.com \
    --cc=thierry.reding@gmail.com \
    --cc=tzimmermann@suse.de \
    --cc=viresh.kumar@linaro.org \
    --cc=xji@analogixsemi.com \
    /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).