It seems that the latest binaries available from Google rely on PVR DDK1.8. Currently we only have kernel source for PVR DDK1.7 in the TILT tree. Perhaps we should create a topic branch from the PVR DDK1.8 code in the AOSP kernel, and use the Google binarie for our Android release, since I see none forthcoming to Linaro in the immediate future. Maybe we can convince Nicholas to move the Ubuntu binaries in the PPA up to the same release; Andy and/or I can explore that with him.

scott, as of today, there is no DDK1.8 that works with X11. hence we cannot move Ubuntu to 1.8. we are tracking this internally, but it requires engineering effort to make the transition, and there is no good reason and no resources to do it now (except to align ubuntu and android DDK which is not a must have as of today for us).

also the DDK1.7 was especially made to allow a reuse of the kernel driver between Android and Ubuntu (Motorola BIONIC is the reason why this happens...), there is no reason to believe that the DDK1.8 will offer that too...

However, the linaro kernel includes the PVR driver for GB indeed (DDK1.7) but for Ubuntu we use an external PVR module that is provided as an out-of-driver. so you might be able to update the in-tree PVR to 1.8 without impacting Ubuntu images at all.

that said, I believe that GFX in ICS will require much more drivers than just PVR. there are new dss features in the ICS OMAP kernel, as well as new components such as dsscomp or ion which is required for GFX in ICS.

I would definitely recommend that we main a common base kernel used for Ubuntu and put the Android stuff in another branch as I am not sure if the android bits will impact Ubuntu GFX... it might be able to be managed with flags eventually, but let's start with a branch.

> However, the linaro kernel includes the PVR driver for GB indeed
> (DDK1.7) but for Ubuntu we use an external PVR module that is provided
> as an out-of-driver. so you might be able to update the in-tree PVR to
> 1.8 without impacting Ubuntu images at all.
>

This was what I was proposing as a general rule:
1. in-kernel module == android
2. out-of-kernel tree == ubuntu would definitely recommend that we main a
common base kernel used for

Ubuntu and put the Android stuff in another branch as I am not sure if
> the android bits will impact Ubuntu GFX... it might be able to be
> managed with flags eventually, but let's start with a branch.
>

I would prefer if we default to use the same branch and only start
branching off
after good evaluation and knowing that there are issues (rather than
suspecting).

> Ubuntu and put the Android stuff in another branch as I am not sure if
> > the android bits will impact Ubuntu GFX... it might be able to be
> > managed with flags eventually, but let's start with a branch.
> >
>
> I would prefer if we default to use the same branch and only start
> branching off
> after good evaluation and knowing that there are issues (rather than
> suspecting).

you can make a common branch, but there will be lots of #ifdef in display
driver in the board config file and that will make the code less manageable
and more difficult to rebase..

also this bug is about GFX, but soon we will talk about MM h/w, and here
again it will be very difficult and cumbersome to maintain a single code
base.

in any case 2 branch with clean code or 1 branch with #ifdef, it's still 2
code base ;-)

I'm proposing we add an in kernel module for PVR for Android as a topic branch used only for Android.

Nicholas is suggesting we may need further topic branches (dss, dsscomp, etc) for Android as well.

>> DDK1.7 was especially made to allow a reuse of the kernel driver between Android and Ubuntu
>> (Motorola BIONIC is the reason why this happens...), there is no reason to believe that the DDK1.8
>> will offer that too...

Not sure if DDK1.8 will have a kernel driver that is reusable between Android and Ubuntu. Nicholas, were you trying to say 1.7 was a one off, and re-usability won't be a feature in DDK1.8?

We can't default to the same branch. The Android stuff won't work in Ubuntu (no X11 support). Also we will need to keep the Ubuntu stuff working consistently, as TI plans to use 3.2 for their next customer release in early January. If anything is going to be broken, it has to be Android, not Ubuntu per our obligations in the SOW.

Guys we have been working on this for nearly a week now trying to extract everything from omapzoom. I spent a couple of days on it and handed it over to Jassi with my notes.

However it seems despite omapzoom seems to have appropriate set of ingredients, it is not workable with 'mr0' userland libs for ics and Vishal advises us to go mine from Android's Panda tree instead.

I wouldn't assume this will bear any fruit in the next week or two for 11.12, it is a very large and ugly job that has already defeated several people. In addition, we not only transplant to tracking which is its own challenge, but on top of quite different dss there which will demand a lot of integration action, overlay apis and dssconp were obvious differenes but there are lots more.

Also we know from previous work there is very very unlikely to be any commonality between sgx for android and vanilla. So we already deal with that well by having in-tree sgx in its own topic that ubuntu never sees and use out-of-tree sgx build for ubuntu.

That technique can get expensive if overused because it multiplies the number of output trees for test, however it's powerful enough to deal with dss changes / additions on top of current tracking entirely in the sgx topic, so no worries there at least (worries everywhere else on this one though). Similarly this is why we're unfazed about supporting 2.0 and 3.0 mm stuff together, we would build the tree twice once with each kind of topics.