[Samsung Galaxy SL i9003] Adi_Pat:
PROJECT: Backport essential OMAP drivers from OMAPZOOM 3.0.y Kernel into our 2.6.35 Source

Firstly, I would like to thank dhiru1602 for his CM9/CM10 builds in which he fixed up a lot of bugs single-handedly.

Also, thanks to rocker529 who helped me in this Project.

Me, and rocker529 have been working on this project for the last few weeks, and we have made some progress.

Since backporting Kernel 3.0 wasn't possible on our GT-i9003, I contacted dhiru1602 regarding what could be done in order to have a fully working CM9/CM10 port. Since, the OMAPZOOM Kernels would refuse to boot and no news about the LG Optimus Black Kernel Sources I decided to work on this.

According to my study/research and after a talk with dhiru.

The following would be needed to fix up all Video decoding/recording , camera, lag, HW Composer issues with our present CM9/CM10 builds.

We need-

Implementation of ION Memory Allocator.

What is ION?

ION is a generalized memory manager that Google introduced in the Android 4.0 ICS (Ice Cream Sandwich) release to address the issue of fragmented memory management interfaces across different Android devices. There are at least three, probably more, PMEM-like interfaces. On Android devices using NVIDIA Tegra, there is "NVMAP"; on Android devices using TI OMAP, there is "CMEM"; and on Android devices using Qualcomm MSM, there is "PMEM" . All three SoC vendors are in the process of switching to ION.

You can read more documentation here: http://lwn.net/Articles/480055/

Our progress:

We managed to backport all the ION drivers including our OMAP Specific ION Allocator driver. Fixed up all the errors. It will compile, even managed to get it to boot. However, the required sysfs enteries seem to be missing at /dev/ion . All that I get is some enteries in /debug/ion .

This could possibly be due to improper changes made to our board-latona. We need to initialize ion properly when our board initializes(omap_ion_init() and omap_register_ion() ) which I have failed to do due to no possibility of getting logs on splash screen when the Kernel is loaded.This port also required to new memblock drivers from Linux 3.0 which I have backported.

You can take a look at the changes at my github, please point out if I have missed out anything

Implementation of DSSCOMP-

A: DSSCOMP is needed to make our OMAP HW Composer to work. I have merged all the possible necessary drivers needed for dsscomp. Firstly, dsscomp needs implementation of OMAP ION. Despite of this, we have managed to fix up all the compile errors encountered in our Kernel Source. The driver will compile, but will not boot since ION is not working. Also, it does not go past the boot screen so there are no chances of getting a log.

Again, you can look at my github to see what I have done.

Besides this, we had to backport a LOT of stuff from the OMAPZOOM 3.0 Kernel ! You can take a look at the changes I have made in detail at my github repo..

If I have missed out something, or if I am doing something wrong please help. If we can manage to fix this we could possibly have a stable CM9/CM10 in future.

Please keep this thread [DEV-ONLY] and avoid posting noob questions.

Thanks.