On Thu, 20 Aug 2020 at 19:49, Paul Boddie paul@boddie.org.uk wrote:
On Thursday, 20 August 2020 10:19:45 CEST H. Nikolaus Schaller wrote:
Yes, it works!!!
It still doesn't work for me. I still get "Input not supported" from my monitor. It is a DVI monitor connected via a HDMI adapter, but EDID probing works and, as I noted previously, the HDMI/LCDC can be made to work (and obviously did work in the 3.18 kernel).
This means the dw_hdmi encoder driver is still not good enough to support your adapter. I haven't yet compared v3.18 vendor with our version, but I'm afraid that the dw_hdmi stack has probably changed quite a bit, so a comparison will be difficult.
The natural debug path for me would be to checkout v3.18, connect your DVI monitor and make a dump of all the dw_hdmi registers, then make the same dump for our mainline kernel -- making sure we are comparing the same mode.
I used my usual recipe for kernel compilation:
ARCH=mips CROSS_COMPILE=mipsel-linux-gnu- make ci20_defconfig ARCH=mips CROSS_COMPILE=mipsel-linux-gnu- make menuconfig ARCH=mips CROSS_COMPILE=mipsel-linux-gnu- make -j8 uImage ARCH=mips CROSS_COMPILE=mipsel-linux-gnu- make -j8 modules ARCH=mips CROSS_COMPILE=mipsel-linux-gnu- make -j8 dtbs sudo sh -c 'INSTALL_MOD_PATH=nn ARCH=mips CROSS_COMPILE=mipsel-linux-gnu- \ make modules_install' sudo sh -c 'INSTALL_PATH=nn/boot ARCH=mips CROSS_COMPILE=mipsel-linux-gnu- \ make dtbs_install' sudo cp arch/mips/boot/uImage nn/boot/
This was with a snapshot archive made from the following changeset:
b911b4883bfe4f7fa753ac2ff42b25fa6b3055e2
I downloaded it from here:
https://gitlab.collabora.com/linux/0day/-/tree/jz4780-drm-hdmi-v5.9-rc1
(I was going to clone the repository late last night, but it was taking a long time and I also didn't want to clone everything yet again.)
If you want to avoid cloning the same things over and over you can use git-clone --reference. And if you want to checkout just a single branch, git now has --single-branch.
For instance, (assuming a torvalds/ local repo):
git clone -b letux/jz4780-hdmi-v4 --single-branch git://git.goldelico.com/letux-kernel.git --reference torvalds/ letux
There are some unexpected things related to CONFIG settings on my setup (maybe missing modules) but for the first time I can see the boot log on the panel.
This needs some more investigation, but seems at least a good start.
Yes it is!
I can now git diff the code and the CONFIG.
So it seems we have indeed a breakthrough.
Thanks to all who did contribute (even behind the scenes in the DRM subsystem), Nikolaus
Before trying this new branch, I did try and tidy up the branch I had been working on. I didn't notice all the changes and the new ingenic-drm-drv.c file, having assumed that not much would have changed in the DRM driver.
Nevertheless, my attempts at integrating the different branches can be found in the paulb-jz4780-ci20-hdmi-5.9-rc1 branch, mentioned earlier.
It would be nice to reconcile the JZ4780 support with the evolving upstream support, accommodating the extended descriptors and the extra register usage.
I think that's already done in the patches I've cleaned up. The only thing left to check is plane offset and overlay enablement.
Paul
P.S. I noticed a few problems with the 5.9-rc1 branches such as powering down not actually removing the power and, in my own branch, networking not working reliably (or maybe even at all), with the tedious progress indicator never terminating in the boot sequence. So, once again, it is another case of half a step forwards and about three steps back.
Life (and kernel) is like this: sometimes you need to take three steps back to make a jump forward :-)