[PATCH v3 00/56] Convert DSI code to use drm_mipi_dsi and drm_panel

H. Nikolaus Schaller hns at goldelico.com
Mon Nov 16 09:16:18 UTC 2020


Hi Tomi,
I hope you had a good weekend.

And I have added back the CC: list because I think we have progress after our internal discussion and only one issue remaining.

> Am 13.11.2020 um 15:49 schrieb Tomi Valkeinen <tomi.valkeinen at ti.com>:
> 
> On 13/11/2020 16:41, H. Nikolaus Schaller wrote:
>> Hi Tomi,
>> 
>>> Am 13.11.2020 um 14:38 schrieb Tomi Valkeinen <tomi.valkeinen at ti.com>:
>>> 
>>> On 13/11/2020 15:35, H. Nikolaus Schaller wrote:
>>> 
>>>> So I'd say dsi_vc_send_short() fails if dsi_vc_enable_hs(0, 0) and not dsi_vc_enable_hs(0, 1)
>>> 
>>> Oh, forgot to mention this: remove MIPI_DSI_MODE_LPM from the panel driver.
>> 
>> Yes! This makes sending the init sequence work.
>> 
>> I just have failures from w677l_read() but that may be the panel driver wrapper code.
> 
> Ok, great! It would be good to have reads working too.

I have fixed it. The call to mipi_dsi_dcs_read() was wrong.

> That way we can know for sure if the commands
> go back and forth correctly (e.g. verify the panel version ID).

I can now read registers. Panel version ID is nonsense but I know that it was before.
Maybe they did not flash it during production since I only read 0x40,0x00,0x00.
But we can read it.

> 
>> If I remove all read commands (they are not necessary for operation), there are no error
>> messages and everything succeeds. I have a /dev/fb0.
>> 
>> But I have no picture yet.
>> 
>> Initially I thought that it was just the missing code to handle an external PWM backlight.
>> But even with (and backlight working), I have just a framebuffer with black screen.
>> 
>> Anyways, I think we are very close. And this is a great step forwards so that I need a
>> break...
>> 
>> Maybe I manage to consolidate the panel driver code before v5.10-rc4 arrives. This
>> would give a freshly merged letux tree.
> 
> Usually backlight glow is visible even if there's no picture.

Well, it did not turn the PWM on at all. Now this works as well.

Still I have no picture. But the readout of the register 0x45 (scan line) shows varying
values. Therefore I think the vsync is running and incrementing the scan line counter.

> But a comparison between the old, working driver, with dsi debugs enabled, may give some hints. A
> DISPC & DSI reg dump for both cases may also give hints.

I have a script to mount debugfs and dump registers. Results are attached.

Significant difference seem to be in:

DISPC_TIMING_H(LCD)
DSI_CLK_CTRL
DSI_VM_TIMING1
DSI_VM_TIMING6
DSI_VC_CTRL(0)
DSI_VC_CTRL(1)
DSI_DSIPHY_CFG2

The consolidated panel driver code is here:

	https://git.goldelico.com/?p=letux-kernel.git;a=shortlog;h=refs/heads/letux/boe-w677-dsi-panel-v2

Well, not yet clean for upstreaming but functionally much better than before.

What I have hacked is to mask out MIPI_DSI_MODE_LPM in mipi_dsi_attach(). This
can/will be replaced if your series can handle it.

BR,
Nikolaus

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: dsi-new.txt
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20201116/27e4e779/attachment-0002.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: dsi-oldi.txt
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20201116/27e4e779/attachment-0003.txt>
-------------- next part --------------




More information about the dri-devel mailing list