The sleep/wake state batch requests are saved in a linked list and
flushed along with other sleep/wake request when entering system low
power modes. Caches are flushed only if the state flag is marked dirty.
A race situation could cause the batch sleep/wake requests to not be
flushed. Here is how this could happen -
- Interconnect driver (ICC) invalidates the sleep/wake requests
- RSC driver clears the TCSes (BCM, VRM, ARC sleep votes cleared)
- ICC sends an active state response-required request
- RSC driver sends the AMC request
- RPMH waits on the response, calls wait_for_completion
- Scheduler schedules idle thread
- cpuidle enters cluster idle state
- RPMH flushes cache and marks cache clean
(no BCM votes in TCS)
- RSC driver receives IRQ response
- RPMH calls complete()
- ICC worker thread resumes execution
- ICC driver calls RPMH driver with updated sleep and wake votes
- RPMH caches the request, *cache is NOT marked dirty*
- Scheduler schedules idle thread
- cpuidle enters cluster idle state
- Cache is clean and nothing to flush
- CPU enters idle
=>ICC sleep/wake votes are not sent
Fix this by dirtying the cache state even when caching batch requests.
Change-Id: I7613e665d181f8abb27915d622442e7b981f9fcc
Signed-off-by: Lina Iyer <ilina@codeaurora.org>
Use Vmax from play effect in haptics_set_gain() only if the effect
is valid. Otherwise, use Vmax from the haptics configuration instead.
Change-Id: I7ec0f8c869096bccb26f7fda0057e3db3a51225d
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Debugfs support for loopback is obsolete. This is
not supported on current or future platforms.
Remove it from debugfs to prevent any security issues
as it allows to access DDR.
Change-Id: I499588e9e28430c4358d2d8e2364430c1acab82e
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
ignore lahaina-qgki-consolidate_defconfig file generated
by GKI scripts as this file auto-generated at build time.
Change-Id: I3edbbbf90b581642da81993a49fdc5264a4324a3
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
consolidate fragment contains the all the debug features
on top of qgki fragment for regular debugging and debug
fragment contains memory debug features. Add support for
fragement merging support in the both generate_defconfig.sh
and fragement_menuconfig.sh scripts.
Change-Id: Iea90997eca060fdf86cd9da08106e7cf11460b21
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
Add initial consolidate defconfig fragment for the lahaina SoC.
Consolidate fragement contains all debug features needed on
top of lahaina_QGKI.config fragement and these flags should not
show significant performance impact. lahaina_debug.config fragment
contains memory debug features, which shows the performance
impact. This enables intenal testing to use the images based on
lahaina-qgki-consoldiate_defconfig defconfig instead of
lahaina-qgki_defconfig defconfig.
Change-Id: I3982e84dbe77abaf3afd741426f6f74ab2db1544
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
Add support to assign static GPII0 for I2C LA Touch usecase on Lahaina.
Change-Id: Ib0ea811626796825e280bf77f04ef68ab5f833a8
Signed-off-by: Vipin Deep Kaur <vkaur@codeaurora.org>