Hi all, I am still fighting to get our DSI panel on OMAP5 working again with 4.20-rc.
Am 20.11.2018 um 10:17 schrieb H. Nikolaus Schaller hns@goldelico.com:
Hi,
Am 19.11.2018 um 15:18 schrieb Sebastian Reichel sre@kernel.org:
Hi,
So how can I debug the panel->enable()? Where should it be called from dss core? Then I could check the conditions to call enable().
This is called in omap_encoder_enable(). For debugging I suggest to add "drm.debug=0xf" kernel argument. "drm/omap: don't check dispc timings for DSI" fixes a similar problem for panel-dsi-cm.
I have checked that and it looks all reasonable and I did enable the same on the 4.19 kernel and they are basically the same (some not obviously significant diffs in sequence or connector numbers).
We now have added Sebastian's latest patches and found a small bug in our panel driver that prevented it from being enabled in v4.20-rc.
And we also include: * drm/omap: Work around missing DISPC in runtime PM handlers
Now the driver becomes enabled, sends DCS commands to the panel and receives register values.
But panel still stays (almost) black and shows no image.
Somtimes there are errors:
[ 20.852710] DSI: omapdss DSI error: VC(0) busy when trying to configure it! [ 20.852714] DSI: omapdss DSI error: VC(1) busy when trying to configure it! [ 20.852718] DSI: omapdss DSI error: VC(2) busy when trying to configure it! [ 20.852721] DSI: omapdss DSI error: VC(3) busy when trying to configure it!
On other occasions we can see a single vertical line displayed which appears to show some X11 or framebuffer content. At least it changes if we launch e.g. xterm and changes back if we stop it.
Now I have tried to use the debugfs to read out the omapdss registers and compare with 4.19.10 (where the panel works).
There is a strange issue with dsi1.
Firstly, /sys/kernel/debug/omapdss/clk does not include the DSI1 clocks. Therefore I can't check if dividers etc. are correct.
And trying to read dsi1_regs ends in a NULL pointer dereference in dsi_runtime_get() called from dsi_dump_dsi_regs().
I have attached both logs.
Please check if you can see something there.
DSI panel Driver code is here:
http://git.goldelico.com/?p=letux-kernel.git;a=blob;f=drivers/gpu/drm/omapdr...
BR and thanks, Nikolaus