Update sensor id flag for sdm630 such that thermal
client can obtain the HW ID for the available
temperature sensors (TSENS) with sensor ID details.
Change-Id: I70a1c7e4a420dc41591f021da499efe10b7fd6ae
Signed-off-by: Rama Krishna Phani A <rphani@codeaurora.org>
in kgsl_pwrscale_init(), add missing NULL check for kgsl_midframe
to avoid further accessing, in case if memory is not available.
Change-Id: If6a4e59d4675fe67aefc63d7f8251f4d28ddeec5
Signed-off-by: Rajesh Kemisetti <rajeshk@codeaurora.org>
Enable NAP state for A512 GPU to save power.
Change-Id: I3c643c90d39ab33c11146b5864b20c14bc9a339a
Signed-off-by: Rajesh Kemisetti <rajeshk@codeaurora.org>
Enable retention of memory and periphery logics for
GPU core clock. If the setting is not done then GPU
might get stale data while switching from NAP to
ACTIVE and which leads to page faults or hangs.
Clock settings need to be handled by client drivers only
and hence do it in KGSL driver.
Change-Id: Iea3fd720e2a0eda9f6ee719177a8898bc2bd75e4
Signed-off-by: Rajesh Kemisetti <rajeshk@codeaurora.org>
On sdm660, VDDIO needs 1.8V and LDO11 is voted for 1.88V
which is causing higher power numbers. Update the vote
correctly for LDO11.
Change-Id: Id6178d312394a4c4bebb77659f6eb7e21574137b
Signed-off-by: Ashish Garg <ashigarg@codeaurora.org>
Add msm-core device to run power and temperature
calculation on the cores.
Change-Id: I35045e2dd96d9bf498cf8889eadf0959b345884a
Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
This exports a new cfg80211_stop_iface() function.
This is intended for driver internal interface
combination management and channel switching.
Due to locking issues (it re-enters driver) the
call is asynchronous and uses cfg80211 event
list/worker.
CRs-Fixed: 1114710
Change-Id: I2784dc34b6a20fbe8697473e37cacf8edd35deca
Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
Git-commit: f04c22033c
[rsirasan@codeaurora.org: Resolved merge conflicts]
Signed-off-by: Rajeev Kumar Sirasanagandla <rsirasan@codeaurora.org>
Qualcomm Technologies Inc vendor specific wlan driver (qcacld-3.0)
internally supports wow mode and is enabled by default.
Currently, cfg80211 subsystem and wpa_supplicant is not aware of
qcacld-3.0 internal support for wowlan, due to which wpa_supplicant
is issuing disconnect on suspend, resulting in wowlan failure.
To fix this, avoid disconnect on suspend.
CRs-Fixed: 2001614
Change-Id: I8e369fe61fd2715d2de9dcfb637ebb53f044b501
Signed-off-by: Rajeev Kumar Sirasanagandla <rsirasan@codeaurora.org>
Below is the synchronization issue between unmount and kjournald2
contexts, which results into use after free issue in kjournald2().
Fix this issue by using journal->j_state_lock to synchronize the
wait_event() done in journal_kill_thread() and the wake_up() done
in kjournald2().
TASK 1:
umount cmd:
|--jbd2_journal_destroy() {
|--journal_kill_thread() {
write_lock(&journal->j_state_lock);
journal->j_flags |= JBD2_UNMOUNT;
...
write_unlock(&journal->j_state_lock);
wake_up(&journal->j_wait_commit); TASK 2 wakes up here:
kjournald2() {
...
checks JBD2_UNMOUNT flag and calls goto end-loop;
...
end_loop:
write_unlock(&journal->j_state_lock);
journal->j_task = NULL; --> If this thread gets
pre-empted here, then TASK 1 wait_event will
exit even before this thread is completely
done.
wait_event(journal->j_wait_done_commit, journal->j_task == NULL);
...
write_lock(&journal->j_state_lock);
write_unlock(&journal->j_state_lock);
}
|--kfree(journal);
}
}
wake_up(&journal->j_wait_done_commit); --> this step
now results into use after free issue.
}
Change-Id: I7487aff6f946544cfcfc38a9f28769be762e3969
Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>