Re: [PATCH v4 3/3] drm/panel-fannal-c3004: Add fannal c3004 DSI panel

From: Marek Vasut
Date: Wed Jul 12 2023 - 13:25:59 EST


On 7/12/23 17:10, Paulo Pavacic wrote:

Hi,

[...]

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 ?

I meant ST7701_DSI() macro; It can be replaced with
mipi_dsi_generic_write_seq from kernel 6.3. Sorry for the confusion.

OK

$ 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

I will try backporting those patches to 5.15 and applying them to see
whether it will then work with initialization sequences provided in
this merge request just to be sure not to have duplication. We are
still working on transitioning to newer kernel so for the time being
I'm using mostly 5.15.

On 5.15 kernel I have following kernel panic only with st7701 from the
panel drivers I have tried:

[ 20.255322] Kernel panic - not syncing: Asynchronous SError Interrupt
[ 20.255326] CPU: 1 PID: 36 Comm: kworker/1:1 Tainted: G O
5.15.77-5.15.77-2.1.0 #1

The latest 5.15.y is 5.15.120 , can you re-test on that version ?

[ 20.255330] Hardware name: XXX i.MX8XX board:XXX (DT)

Is this some NXP downstream kernel fork with thousands of extra patches?
The version string 2.1.0 looks very much like NXP versioning scheme ...

[...]