Re: Lay common foundation to make PVR/SGX work without hacks on OMAP34xx, OMAP36xx, AM335x and potentially OMAP4, OMAP5

From: Adam Ford
Date: Mon Aug 19 2019 - 15:43:29 EST


On Wed, Aug 14, 2019 at 3:56 AM H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> wrote:
>
> Hi all,
>
> > Am 17.07.2019 um 12:51 schrieb Merlijn Wajer <merlijn@xxxxxxxxxx>:
> >
> > Hi,
> >
> > On 10/03/2019 08:07, H. Nikolaus Schaller wrote:
> >>
> >>> Am 10.03.2019 um 00:14 schrieb Merlijn Wajer <merlijn@xxxxxxxxxx>:
> >>>
> >>> Hi,
> >>>
> >>> On 15/02/2019 14:09, H. Nikolaus Schaller wrote:
> >>>
> >>>>>> At least I can download and start firmware. I just have to find a way to fix the omaplfb so that it works
> >>>>>> with our omapdrm based panels to runs the CLipBlit test [1] on modern kernels...
> >>>>>
> >>>>> Maybe you can compare with what we have here:
> >>>>> https://github.com/maemo-leste/n9xx-linux/tree/pvr-wip-4.15.7/drivers/gpu/pvr
> >>>>
> >>>> I'll take a look into it especially how omaplfb is done.
> >>>>
> >>>> First observation is that there is a "flat" tree while I am working on a structured one...
> >>>> But that is just a marginal difference (mainly significant for Makefile writers).
> >>>
> >>> I've ported the Maemo Leste kernel + pvr to 5.0 and it seems to work:
> >>> https://github.com/maemo-leste/n9xx-linux/commits/pvr-wip-5.0.y
> >>>
> >>> Should I add this as maemo-leste-n900-5.0 branch (or something) to
> >>> https://github.com/openpvrsgx-devgroup/linux_openpvrsgx ?
> >>
> >> Yes, that would be nice to be able to easily compare stuff.
> >
> > I've just pushed the Maemo Leste v5.1 branch + patches here:
> >
> > https://github.com/openpvrsgx-devgroup/linux_openpvrsgx/tree/n900/v5.1-patch
> >
> > This works on N900 with X, but it doesn't use DRM yet. I'm wondering
> > what a next logical step would be: to try and modules to load/probe on
> > another device (I have a droid4 or a Pandaboard ES rev B1), or to try
> > and get DRM PowerVR to work on the N900, with omapdrmfb and dri3wsegl.
> >
> > For either path, I'll probably need some help. Any updates from anyone
> > else? Maybe we should list things people can work - perhaps document
> > progress in github issues. (Mailing list is also fine, BTW)
> >
> > Cheers,
> > Merlijn
> >
>
> I also have pushed good news to
>
> https://github.com/openpvrsgx-devgroup/linux_openpvrsgx/tree/letux-pvr
>
> Thanks to the help from the Pyra community, I was able to get a (binary) reference
> implementation using DRM that works on Pyra/OMAP5. At least the gles1test1.

just a question,

If DRM is working, does that mean it works without needing the overhead of X?

adam
>
> With that reference setup I was able to fix my Makefiles for the staging/pvr implementation.
>
> I have tested that it works with v4.19.66 and v5.3-rc4 (LPAE build of the LetuxOS kernel tree)
> on the Pyra.
>
> In which areas does this tree go beyond the TI SDK/IMG DDK 1.14?
>
> * includes internal API fixes for kernels up to v5.3
> * lives in drivers/staging/pvr/1.14.3699939 - so that we can ask for inclusion in linux-next
> * has Kconfig and Makefiles for in-kernel configuration (no separate build system)
> * builds separate kernel modules for omap3430, omap3630, am335x, omap4, omap5, dra7 etc.
> pvrsrvkm
> e.g. pvrsrvkm_omap_omap5_sgx544_116
> * the correct kernel module is automatically probed by matching .compatible in device tree
> so that the code is multi-platform friendly
> * includes SoC integration for OMAP3/4/5 and has some preliminary bindings documentation
> * code base should also support JZ4780/CI20 and some Intel Atom processors (CedarView, Poulsbo)
> * has got a ToDo to describe what should be done during staging phase
>
> https://github.com/openpvrsgx-devgroup/linux_openpvrsgx/blob/letux/latest-pvr/drivers/staging/pvr/TODO
>
> My plans for the next steps are:
>
> * do more testing (e.g. X11, kmscube)
> * check if and/or how it can run on am335x (BeagleBone) or OMAP3 (e.g. GTA04, OpenPandora)
> * try a JZ480/CI20 build (unfortuantely I have no HDMI there with mainline kernels and I am
> missing the user-space libraries for MIPS).
>
> BR,
> Nikolaus
>