[HD2 Android NAND Development] securecrt:
HWA Kernel for HD2​

My kernel is based on Tytyung's r2.5 base

and mix the KGSL driver from Code Aurora

This is a DEV thread. the latest code may cause some problems.

HTC HD2 is still the KING!!!!

My GIT Repository​

Notes:

1. this kernel can't be used in CM7 ROM

2. the current(before 27 Apr 2012) existing android4.0 ROMs can not directly use this kernel, becasue they are not using the correct libs to match the latest KGSL driver.

Update: 4 MAY 2012

Rick_1995 back port all the KGSL , MDP from 2.6.38 to tytung's 2.6.32 and the latest build can be found here: link

Update: 13 MAY 2012

Rick_1995 and tytung made some more progress : link

Update: 19 JUN 2012

Memory tweaks : link

msm: kgsl: Add support for the preamble context flag link

Update: 21 JUN 2012

backport the following items from the latest KGSL driver: link

msm: kgsl: let postmortem dump find context switch IBs

msm: kgsl: fix size checking in adreno_find_region

msm: kgsl: Set default value of wait_timeout in the adreno_dev struct

msm: kgsl: Make sure WPTR reg is updated properly

msm: kgsl: fix error handling in adreno_waittimestamp()

msm: kgsl: let postmortem dump find context switch IBs

22 JUN 2012 update link

msm: kgsl: remove readl/writel use for dma memory

msm: kgsl: convert sg allocation to vmalloc

msm: kgsl: Allocate physical pages instead of using vmalloc

msm: kgsl: make cffdump work with the MMU enabled

msm: kgsl: Add ION as an external memory source

msm: kgsl: Fixup per-process memory statistics

msm: kgsl: Make sure kmemleak tool does not report incorrect mem leak.

msm: kgsl: Add a new property to IOCTL_KGSL_DEVICE_GETPROPERTY

msm: kgsl: Poke regularly in adreno_idle

msm: kgsl: increase valid timestamp range

msm: kgsl: flush outer cache for alloc_page() pages

msm: kgsl: Add a constant for adreno_ringbuffer_issuecmds flags

Important Tips : don't turn on the Settings->Developer options-> Force GPU rendering

Turn on this option will cause problem.

23 JUN 2012 update link

change back the pmem size to 32MB adsp_pmem to 41MB this is the default configuration, It seems resolved the crash problem with DesireC GPU libs.

In this version I have already include the DesireC gpu libs in the zip file.

With the new GPU libs the Chrome Browser is very smooth, the hardware H.264 decoder is working.

25 JUN 2012 update

need more people to do the new GPU libs test link

25 JULY 2012 update link

1. ignore the version check in Qdsp6 Vdec which can prevent some crash when the vdec being used.

2. msm: kgsl: Write the retired timestamp on resume

3. msm: kgsl: handle larger instruction store for adreno225

4. msm: kgsl: Add support for the A3XX family of GPUs

5. reduced the PMEM_ADSP size as the HW decoder still can't work on HD2 (now we have 420MB memory for userspace)

6. msm: kgsl: Update the GMEM and istore size for A320

7. msm: kgsl: return correct error code for unknown ioctls

8. msm: kgsl: handle all indirect buffer types in postmortem

9. msm: kgsl: Detach memory objects from a process ahead of destroy time

10. msm: kgsl: Find a mem_entry by way of a GPU address and a pagetable base

11. msm: kgsl: Cleanup header file macros

12. msm: kgsl: Add GMEM size configuration in gpu list

13. msm: kgsl: don't clear gpuaddr when unmapping global mappings

14. msm: kgsl: Do not dereference pointer before checking against NULL

add new GPU libs

31 JULY 2012 link

ics & jellybean HWA kernel updates

1. msm: kgsl: Change name of vmalloc allocator

2. msm: kgsl: Map a guard page on the back of GPU MMU regions

3. msm: kgsl: Optimize page_alloc allocations

4.msm: kgsl: Add markers to identify IB sequence start and end

5.msm: kgsl: rework ib checking

jellybean

1. include: checkout msm_mdp from ics_chocolate

6 AUG 2012 link

JellyBean Kernel

1. msm: kgsl: Add per context timestamp

2. net: netfilter: enable bandwidth control (data limit)

3. update base to tytung r3.3

7 AUG 2012 link

Jellybean Kernel

1.base: genlock: Remove genlock_release_lock and associated ioctl

2.base: genlock: allow synchronization with a single gralloc handle

3.base: genlock: remove BIT macro usage

7 AUG 2012 link

Jellybean Kernel

1. Fixed data limit

15 AUG 2012 link

ics

base: genlock: Remove genlock_release_lock and associated ioctl

base: genlock: allow synchronization with a single gralloc handle

base: genlock: remove BIT macro usage

ics & jellybean

Staging: android: binder: Don't call dump_stack in binder_vma_open

Staging: android: binder: Fix crashes when sharing a binder file between processes

drivers:staging:android Typos: fix some comments that have typos in them.

fs: Remove missed ->fds_bits from cessation use of fd_set structs internally

Staging:android: Change type for binder_debug_no_lock switch to bool

Staging: android: binder: Fix use-after-free bug

staging: android: lowmemorykiller: sysfs node and notifications

android, lowmemorykiller: remove task handoff notifier

staging: android: lowmemorykiller: Fix task_struct leak

staging: android/lowmemorykiller: Don't unregister notifier from atomic context

staging: android, lowmemorykiller: convert to use oom_score_adj

staging: android/lowmemorykiller: Do not kill kernel threads

staging: android/lowmemorykiller: No need for task->signal check

staging: android/lowmemorykiller: Better mm handling

staging: android/lowmemorykiller: Don't grab tasklist_lock

staging: android: lowmemorykiller: Don't wait more than one second for a process to die

Staging: android: fixed 80 characters warnings in lowmemorykiller.c

staging: android: lowmemorykiller: Ignore shmem pages in page-cache

staging: android: lowmemorykiller: Remove bitrotted codepath

staging: android: lowmemkiller: Substantially reduce overhead during reclaim

staging: android: lowmemorykiller: Don't try to kill the same pid over and over

android: logger: Allow a UID to read it's own log entries

staging: logger: hold mutex while removing reader

staging: android: logger: clarify non-update of w_off in do_write_log_from_user

staging: android: logger: clarify code in clock_interval

staging: android: logger: reorder prepare_to_wait and mutex_lock

staging: android: logger: simplify and optimize get_entry_len

staging: android: logger: Change logger_offset() from macro to function

Staging: android: fixed white spaces coding style issue in logger.c

android: logger: bump up the logger buffer sizes

pmem: Check for valid virtual address while flushing

pmem: Correctly account for aligned blocks

pmem_adsp (user-space) as non-cached

pmem_venc (user-space) as non-cached

change MSM_NAND_DMA_BUFFER_SIZE to SZ_1M

23 AUG 2012 link

ics & jellybean

ksm: remove unswappable max_kernel_pages …

ksm: fix bad user data when swapping

thp: ksm: free swap when swapcache page is replaced

staging: zram: fix zram locking

Staging: zram: Replace mutex lock by a R/W semaphore

Staging: zram: Add a missing GFP_KERNEL specifier in zram_init_device()

mm/ksm.c is doing an unneeded _notify in write_protect_page.

ksm: check for ERR_PTR from follow_page()

vmalloc(): adjust gfp mask passed on nested vmalloc() invocation

staging:lowmemkiller add Fudgeswap

drivers/mmc/host/msm-sdcc: remove dead config options

mmc: msm_sdcc: Fix possible circular locking dependency warning

mmc: msm_sdcc: Add prog done interrupt support

mmc: msm_sdcc: Fix bug in PIO mode when data size is not word aligned

mmc: msm: fix dma usage not to use internal APIs

mmc: change clock from 50Mhz to 64Mhz PCLK

mmc: change NR_SG from 32 to 128 for better performance

staging: Add Snappy compression support to zram

disable KSM for unstable reason while zram is enabled.

24 SEP 2012 link

ICS & JB

ashmem: Implement read(2) in ashmem driver

ashmem: Fix ASHMEM_SET_PROT_MASK.

ashmem: Support lseek(2) in ashmem driver

ashmem: Fix the build failure when OUTER_CACHE is enabled

ashmem: Fix ashmem vm range comparison to stop roll-over

Disabling Gentle Fair Sleepers improve UI responsiveness.

base: genlock: handle error while creating lock/handle inode

base: genlock: add magic to protect attach from non-genlock file

base: genlock: protect kref counting with spinlock

Staging: android: binder: Add some missing binder_stat_br calls

tweak iosched for better android performance

JB

video: msm: add mdp version to id string,and put a bogus panel id

Great thanks to Xylograph , dorimanx , Rick_1995, tytung and all of the guys who is reading this thread.

If you like my work please don't hesitate to press the Thanks button. :)