The mmap(2) functionality of kgsl is no longer used, and it had a
bug that would crash the kernel when mmap(2) was called with
"odd" parameters. So we have removed the mmap functionality.
If for some reason in the future you want to resurrect this,
make sure memdesc is properly initialized in all paths through
the kgsl_mmap() routine.
Signed-off-by: Ken Sumrall <ken@android.com>
Changes include:
* May scale up to intermediate speeds after scaling down, rather than
scale to max speed and then only scale down until max speed needed.
* Tweaked thresholds at which max speed requested (previously CPU must
have been 100% busy since idle exit timer started, now will go max if at
least 85% busy) and default minimum sample time raised to 80ms. Tweaking
based on UI tests, still in progress.
* SMP fixes.
* Fixed attempted multiple delete of sysfs group on governor stop.
Set a just-in-case-CPU-goes-busy-again timer even if nr_running == 0 at
timer function run time, but cancel if that CPU goes idle (and don't
re-arm timer if that CPU is currently idle).
* Re-evaluate speed if a CPU goes idle while above min speed (and no timer
currently set) in case the platform requires all CPUs to be at the same
speed.
* Realtime workqueues disappeared upstream, convert speed up workqueue to
a realtime task. Average scheduling latency measured significantly less
than WQ_HIGHPRI.
* Timers are not deferrable, must wake CPU from idle, since we now
re-evaluate speed for idle CPUs.
* CPU load is computed from higher of short-term load since idle exit vs.
long-term load since last frequency change, to avoid dropping speed
during temporary dips in load on long-term-busy CPU.
* Avoid 1 CPU starting new idle exit load eval interval in a race with
timer running on another CPU.
* New fugly debugging printfs should be reworked or go away eventually.
Change-Id: I606b5c1850637c35a7814309df12362d5c044825
via: https://review.source.android.com//#change,15809
kgsl_sharedmem_init/kgsl_sharedmem_close only need to be called once,
so move them to the the module load and close functions so they can be
available through the life of the module.
For most people the driver works good. I checked the coefficients and the pd_m for the 1230 Battery is correct, so the voltage calculating is ok.
We need a other test to check the pd_t value for the voltage temperatur correction. Still no battery detection. Wince can detect it, we have to find out how this works.