if i2s module probe before dma module, dma chan resources are not ready.
use dma_request_slave_channel to reinitialize dma chan if not ready.
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
If EDID is not valid, list following common format:
1920x1080p-60
1920x1080p-50
1280x720p-60
1280x720p-50
720px576p-50
720px480p-60
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
If input 3dmode is not list in EDID, we print a
warning log and send it to sink, no longer return
error.
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
In EDID 3D descriptor, 3d information is after
4K format. But we did not increase the offset of
3d content if 4K format is zero, which make 3d
information error.
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
If input 3dmode is not list in EDID, we print a
warning log and send it to sink, no longer return
error.
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
In EDID 3D descriptor, 3d information is after
4K format. But we did not increase the offset of
3d content if 4K format is zero, which make 3d
information error.
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
New version Android will never call EPOLLWAKEUP or EVIOCSSUSPENDBLOCK.
So we need add wake lock in driver.
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
Doing a Exponential moving average per nr_running++/-- does not
guarantee a fixed sample rate which induces errors if there are lots of
threads being enqueued/dequeued from the rq (Linpack mt). Instead of
keeping track of the avg, the scheduler now keeps track of the integral
of nr_running and allows the readers to perform filtering on top.
Implemented a proper exponential moving average for the runnables
governor and a straight 100ms average for the balanced governor. Tweaked
the thresholds for the runnables governor to minimize latency. Also,
decreased sample_rate for the runnables governor to the absolute minimum
of 10msecs.
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
On device_busy, the runnable governor stops its sample timer and cancels
any queued runnable_work. However, it is possible for the cpuquiet
platform driver to call device_busy on cpuquiet_quiesence/wake_cpu calls
which can be invoked from the queued runnable_worker thread. This will
lead to the runnable_worker thread waiting infinitely on it self
finishing in cancel_work_sync.
Fix this by removing the cancel_work_sync call as it isn't necessary
because the worker doesn't requeue it self. Stopping the timer is
sufficient.
Bug 200002511
Change-Id: Ic69061b12d4dbb96b259ed9b62a0475271bd36d0
Signed-off-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
(cherry picked from commit b9a2a2cfa91d14935fdef626517d738399af4e4d)
Reviewed-on: http://git-master/r/415315
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
Reviewed-by: Kerwin Wan <kerwinw@nvidia.com>
Added sysfs node that exposes the nr_runnable threshold at which cores
are quiesenced/woken up. To write into this node:
echo 1core# 2core# ... n_core# > nr_run_thresholds
Bug 1427140
Change-Id: I7cabd63692cf92f7fe8d1064437b1d73002d4ba5
Signed-off-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-on: http://git-master/r/369017
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
Runnables govenror will now work properly for any number of cpus as
defined by NR_CPUS. Switched the ordering of nr_run_threshold init to
ensure that array is initialized correctly to UINT_MAX for NR_CPUS-1 cpu.
Bug 1427140
Change-Id: Ic612406ceaf80dd7e0b6693906df339f8b6512aa
Signed-off-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-on: http://git-master/r/369016
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Peter Boonstoppel <pboonstoppel@nvidia.com>
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>