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!!!!
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
- 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
- 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.
Last edited: