dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: Marek Vasut <marex@denx.de>
To: Paulo Pavacic <pavacic.p@gmail.com>
Cc: neil.armstrong@linaro.org, conor+dt@kernel.org,
	krzysztof.kozlowski+dt@linaro.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	robh+dt@kernel.org, Jagan Teki <jagan@amarulasolutions.com>,
	sam@ravnborg.org, Maya Matuszczyk <maccraft123mc@gmail.com>
Subject: Re: [PATCH v4 3/3] drm/panel-fannal-c3004: Add fannal c3004 DSI panel
Date: Wed, 12 Jul 2023 15:42:05 +0200	[thread overview]
Message-ID: <45488dcc-226e-1e7c-c681-c1d9be17bcbb@denx.de> (raw)
In-Reply-To: <CAO9szn1QdB5WGshuyCOGqb0qbBWHqoikeiMkk+bNGhAF5TX5ew@mail.gmail.com>

On 7/12/23 14:07, Paulo Pavacic wrote:
> Hello all,
> 
> sub, 8. srp 2023. u 14:53 Marek Vasut <marex@denx.de> napisao je:
>>
>> On 7/7/23 17:26, Paulo Pavacic wrote:
>>> Hello Marek,
>>
>> Hi,
>>
>>> čet, 6. srp 2023. u 17:26 Marek Vasut <marex@denx.de> napisao je:
>>>>
>>>> On 7/6/23 17:18, Paulo Pavacic wrote:
>>>>> Hello Linus,
>>>>>
>>>>> čet, 22. lip 2023. u 10:22 Linus Walleij <linus.walleij@linaro.org> napisao je:
>>>>>>
>>>>>> On Wed, Jun 21, 2023 at 5:09 PM Paulo Pavacic <pavacic.p@gmail.com> wrote:
>>>>>>
>>>>>>> A lot of modifications to st7701 are required. I believe it would
>>>>>>> result in a driver that doesn't look or work the same. e.g compare
>>>>>>> delays between initialization sequences of panel-fannal-c3004 and
>>>>>>> panel-st7701. I think it would be optimal to create st7701s driver and
>>>>>>> have special handling for st7701s panels. If there was a flag for
>>>>>>> whether panel is st7701 or st7701s it would end up looking like a
>>>>>>> mess.
>>>>>>
>>>>>> What matters is if the original authors of the old st7701 driver are
>>>>>> around and reviewing and testing patches at all. What we need is
>>>>>> active maintainers. (Added Jagan, Marek & Maya).
>>>>>>
>>>>>> I buy the reasoning that the st7701s is perhaps substantially different
>>>>>> from st7701.
>>>>>>
>>>>>> If st7701s is very different then I suppose it needs a separate driver,
>>>>>> then all we need to to name the driver properly, i.e.
>>>>>> panel-sitronix-st7701s.c.
>>>>>
>>>>> I had in person talk with Paul Kocialkowski and I have concluded that
>>>>> this is the best solution.
>>>>> I believe I should rename it to st7701s due to the hardware changes. I
>>>>> would like to create V5 patch with driver renamed to st7701s.
>>>>> Please let me know if you agree / disagree.
>>>>
>>>> If I recall it right, the ST7701 and ST7701S are basically the same
>>>> chip, aren't they ?
>>>
>>> I'm currently exploring all the differences. There aren't a lot of
>>> differences, but there are some.
>>> So far I can see that default register values are different, new
>>> previously unused registers are now used and there has been some
>>> reordering of how info is placed in registers [1] (data bits are in
>>> different order). Moreover, instructions to some commands have been
>>> changed and meaning of what data bits mean [2][3]. Also, new features
>>> have been added [2]; there is now PCLKS 3 for example.
>>>
>>> You can see few differences in following images. Same images were
>>> attached in this mail:
>>> [1] https://ibb.co/NmgbZmy - GAMACTRL_st7701.png
>>> [2] https://ibb.co/G79y235 - PCLKS2.png
>>
>> Ouch. I wonder if this is still something that can be abstracted out
>> with some helper accessor functions like:
>>
>> if (model == ST7701)
>>     write something
>> else
>>     write the other layout
>>
>> Or whether it makes sense to outright have a separate driver. The later
>> would introduce duplication, but maybe that much duplication is OK.
> 
> I would like to create new driver because panel-st7701 seems to be
> outdated and is using non-standard macro (ST7701_WRITE()

There is no such macro:

$ git grep ST7701_WRITE drivers/gpu/drm/panel/ | wc -l
0

There never was such a macro used in the driver either, are you sure you 
are not using some hacked up patched downstream fork of the driver ?

$ git log -p next/master -- 
drivers/gpu/drm/panel/panel-sitronix-st7701.c | grep ST7701_WRITE | wc -l
0

> ) and for me
> it is crashing kernel 5.15.

Have you based all the aforementioned discussion and argumentation on 
year and half old Linux 5.15.y code base too ?

If so, you are missing many patches:

$ git log --oneline --no-merges v5.15..next/master -- 
drivers/gpu/drm/panel/panel-sitronix-st7701.c
5a2854e577dc2 drm: panel: Add orientation support for st7701
e89838968ee44 drm: panel: Add Elida KD50T048A to Sitronix ST7701 driver
c62102165dd79 drm/panel/panel-sitronix-st7701: Remove panel on DSI 
attach failure
49ee766b364ed drm/panel/panel-sitronix-st7701: Clean up CMDnBKx selection
c1cdee9b685a1 drm/panel/panel-sitronix-st7701: Fix RTNI calculation
57b2efce45ef5 drm/panel/panel-sitronix-st7701: Add Densitron 
DMT028VGHMCMI-1A TFT
42542c7904cf2 drm/panel/panel-sitronix-st7701: Split GIP and init sequences
83b7a8e7e88e7 drm/panel/panel-sitronix-st7701: Parametrize voltage and 
timing
de2b4917843cd drm/panel/panel-sitronix-st7701: Infer horizontal pixel 
count from TFT mode
82f9cee25598a drm/panel/panel-sitronix-st7701: Adjust porch control 
bitfield name
1ba85119afb5e drm/panel/panel-sitronix-st7701: Infer vertical line count 
from TFT mode
779c84fea3dbd drm/panel/panel-sitronix-st7701: Make gamma correction TFT 
specific
7fa8e07128ed6 drm/panel/panel-sitronix-st7701: Make voltage supplies 
common to ST7701
a6c225be3da7e drm/panel/panel-sitronix-st7701: Enable DSI burst mode, 
LPM, non-continuous clock
6f481afe220d3 drm/panel/panel-sitronix-st7701: Make DSI mode flags 
common to ST7701
79abca2b39900 drm/mipi-dsi: Make remove callback return void

> Does anyone have similar issues with it?

No, I am using it in production.

  reply	other threads:[~2023-07-12 13:42 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-07 15:11 [PATCH v4 0/3] drm/panel: add fannal c3004 panel Paulo Pavacic
2023-06-07 15:11 ` [PATCH v4 1/3] dt-bindings: add fannal vendor prefix Paulo Pavacic
2023-06-07 15:11 ` [PATCH v4 2/3] dt-bindings: display: panel: add fannal,c3004 Paulo Pavacic
2023-06-07 15:11 ` [PATCH v4 3/3] drm/panel-fannal-c3004: Add fannal c3004 DSI panel Paulo Pavacic
2023-06-15 19:54   ` Linus Walleij
2023-06-16  9:57     ` Paulo Pavacic
2023-06-16 11:43       ` Linus Walleij
2023-06-16 12:31         ` Paulo Pavacic
2023-06-16 12:52           ` Linus Walleij
2023-06-21 15:08             ` Paulo Pavacic
2023-06-22  8:22               ` Linus Walleij
2023-07-06 15:18                 ` Paulo Pavacic
2023-07-06 15:26                   ` Marek Vasut
2023-07-07 15:26                     ` Paulo Pavacic
2023-07-08 11:07                       ` Marek Vasut
2023-07-12 12:07                         ` Paulo Pavacic
2023-07-12 13:42                           ` Marek Vasut [this message]
2023-07-12 15:10                             ` Paulo Pavacic
2023-07-12 17:25                               ` Marek Vasut
2023-09-05  8:32                                 ` Paulo
2023-07-08  7:11                     ` Paulo Pavačić
2023-07-08  8:22                 ` Jagan Teki

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=45488dcc-226e-1e7c-c681-c1d9be17bcbb@denx.de \
    --to=marex@denx.de \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=jagan@amarulasolutions.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maccraft123mc@gmail.com \
    --cc=neil.armstrong@linaro.org \
    --cc=pavacic.p@gmail.com \
    --cc=robh+dt@kernel.org \
    --cc=sam@ravnborg.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).