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

Tomi Valkeinen
2020-11-06T15:05:05Z

On 06/11/2020 16:37, Tomi Valkeinen wrote:
> On 05/11/2020 20:56, H. Nikolaus Schaller wrote:
>>
>>> Am 05.11.2020 um 19:28 schrieb Tomi Valkeinen <tomi.valkeinen@ti.com>:
>>>
>>> On 05/11/2020 20:14, H. Nikolaus Schaller wrote:
>>>>
>>>>> Am 05.11.2020 um 18:36 schrieb Tomi Valkeinen <tomi.valkeinen@ti.com>:
>>>>>
>>>>> Hi,
>>>>>
>>>>> On 05/11/2020 19:15, H. Nikolaus Schaller wrote:
>>>>>
>>>>>> Next, I migrated my long waiting mipi_dsi/drm_panel driver conversion for
>>>>>> the panel of the Pyra handheld (omap 5 based) to compile on 5.10-rc2. And
>>>>>> I followed the latest existing panel-orisetech-otm8009a.c which uses a
>>>>>> similar video mode controller and mipi-dsi.
>>>>>>
>>>>>> That one seems to be used by arch/arm/boot/dts/stm32f469-disco.dts.
>>>>>>
>>>>>> Unfortunately my panel driver is not even loaded by drm/omap so I can't
>>>>>> debug. Does this set of drm/omap drivers need a modification of the device
>>>>>> tree? If yes, which one?
>>>>>
>>>>> omapdrm doesn't load the panel drivers. If not even your panel's probe is called, then it hints at
>>>>> DT and/or driver's compatible string issue. The panel's probe should get called even if omapdrm is
>>>>> not loaded at all.
>>>>
>>>> Well, I use the same device tree that loads the old driver...
>>>
>>> Yeah, I was mistaken above. With DSI the panel (may be) a child of the DSI host, so it will affect.
>>>
>>> Can you give pointers to the panel driver source and relevant dts files? BOE BTL507212-W677L?
>>
>> Yes. It is (now)
>>
>> drivers/gpu/drm/panel/panel-boe-btl507212-w677l.c
>>
>> and
>>
>> arch/arm/boot/dts/omap5-letux-cortex15-common.dtsi (for the basic dsi definitions)
>> arch/arm/boot/dts/pyra-display.dtsi (for the specific display)
>>
>> All this is merged by some arch/arm/boot/dts/omap5-letux-cortex15-v5.3+pyra-v5.2.dts
>
> I took the driver and make my omap4-sdp dts to use it. It probes for me, but stop after that:
>
> [ 119.346374] omapdss_dss 58000000.dss: supply vdda_video not found, using dummy regulator
> [ 119.358398] DSS: OMAP DSS rev 4.0
> [ 119.680053] panel-dsi-cm 58004000.encoder.0: failed to get video timing, using defaults
> [ 119.695709] panel-dsi-cm 58004000.encoder.0: supply vpnl not found, using dummy regulator
> [ 119.711242] panel-dsi-cm 58004000.encoder.0: supply vddi not found, using dummy regulator
> [ 119.769470] panel-btl507212-w677l 58005000.encoder.0: w677l_probe
> [ 119.779388] panel-btl507212-w677l 58005000.encoder.0: w677l_probe ok
> [ 119.846679] omapdss_dss 58000000.dss: bound 58001000.dispc (ops dispc_component_ops [omapdrm])
> [ 119.858673] omapdss_dss 58000000.dss: bound 58004000.encoder (ops dsi_component_ops [omapdrm])
> [ 119.882629] omapdss_dss 58000000.dss: bound 58005000.encoder (ops dsi_component_ops [omapdrm])
> [ 119.902069] omapdss_dss 58000000.dss: bound 58006000.encoder (ops hdmi4_component_ops [omapdrm])
> [ 119.962066] dmm 4e000000.dmm: initialized all PAT entries
> [ 120.014770] panel-btl507212-w677l 58005000.encoder.0: w677l_get_modes
>
> I didn't debug yet where it's hanging. So you're not even getting the probe?

Oh, it's stuck in a loop trying to calculate suitable timings. It doesn't find it, as I'm running on
omap4, with just 2 datalanes instead of 4 which the panel needs. Looks like the code could use some
improvement there.

Anyway, possibly on omap5 it goes fine.

Tomi