[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