The size of the settings, copied from userspace, is directly checked
in msm_cci_data_queue with CCI_I2C_MAX_WRITE. This might cause
out of bound access in function msm_cci_data_queue as the max size is
MAX_I2C_REG_SET. Hence adding check on the size in flash driver itself.
Change-Id: Iaf8b62815282386af58d1b111876cc80411385a0
CR fixed: 2062894
Signed-off-by: Rahul Sharma <sharah@codeaurora.org>
Signed-off-by: Andy Sun <bins@codeaurora.org>
On A5XX GPU hardware clock gating needs to be turned off before
reading certain GPU registers via AHB. Turn off HWCG before calling
adreno_show() to safely dump all the registers without a system hang.
Change-Id: Ic0dedbad550ab5d414cea7837672e586a7acd370
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Remember if the A5XX hardware clock gating is currently
enabled or disabled to avoid inadvertently enabling it.
Change-Id: Ic0dedbada3734a257ac966c041d06695f3521ad4
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Enabling and disabling the power at various points in the ->show()
call flow may have detrimental effects. For all targets make sure
power is on before reading any register and leave it on until we are
all done.
Change-Id: Ic0dedbad4d37a11634174105fc3ee6fe3713a143
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
The generic msm_gpu_pm_resume/msm_gpu_pm_suspend functions have
built-in reference counting but the a5xx specific functions
are doing unconditional a5xx specific setup / teardown that
would behave very badly if they were not accompanied by an
actual power up / power down.
Change-Id: Ic0dedbad549c4ea9a5c68b0ca43eb98e0449d54b
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Immediately deinit MHI after powerup failure will clear all the
MHI context so it won't be able to enter RDDM state to collect
firmware RAM dump. Leave the cleanup to SSR shutdown routine.
Change-Id: Ibbbe3ffe3c471f69dd4fc89d7cfaf57f1f899a92
CRs-fixed: 2059087
Signed-off-by: Yue Ma <yuem@codeaurora.org>
Necessary documentation and driver changes for few
custom GPIOs to support depth sensor.
Change-Id: Id545a25b31e29a3f017acc1a65ad00250da72ca6
Signed-off-by: Vijay kumar Tumati <vtumati@codeaurora.org>
Add the check against negative or invalid firmware size passed
by the userspace thread in firmware setup sysfs write operation.
Update the datatype of the variable which holds the firmware size
passed by userspace thread during firmware setup and WLAN calibration
data update process.
CRs-Fixed: 2072966
Change-Id: I8c84ad0d1b0a5f44a39c9c5b228734b0f693e8dd
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
Power management irq wakeup mode is by default disabled.
Calling irq_set_irq_wake() on a disabled irq causes warning.
Remove irq_set_irq_wake() function from mdm_enable/disable_irqs
functions and set it once in probe.
Change-Id: Ib7f49ae101e6dc04790649d408c1722df8da8bd2
Signed-off-by: Arun KS <arunks@codeaurora.org>
Remove the HW SOC-based step-charging logic and enable
SW based step-charging.
The SW based step-charging uses the periodic WD bark
IRQ to notify the battery properties. The bark-time
can be changes using the property 'qcom,wd-bark-time-secs'
'qcom,step-charging-enable' enables the feature.
Change-Id: Ib162f3eb3f98a4e7f144bedc8c8cea40fbf6137a
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
Send a KOBJ_CHANGE uevent when creating the wil6210 sysfs directory.
This is mainly needed so selinux policy rules will be applied when
the wil6210 module is dynamically loaded.
Change-Id: I4220c551b8792d419db7a380b16f3c87204be22a
Signed-off-by: Lior David <liord@codeaurora.org>
Move mixer control queue handling to be part of
playback stream in DSP transcode loopback driver.
CRs-Fixed: 2076617
Change-Id: Ia8067237f80d509f969cf454f5afa08aaa6b0e52
Signed-off-by: Siddartha Shaik <sshaik@codeaurora.org>
Currently the code makes liberal use of macros that print a log message
(with pr_err or pr_debug) and then passes the same string on to the
IPC logging mechanism. The problem is that it doesn't actually end up
being the same string in the binary. Using pr_err or one of its friends
appends the KERN_* code to the front of the string with the pre-processor
and the IPC logger just uses the passed in string. Every string used by
the macros ends up appearing twice in the binary, once with KERN_*
prepended and the other not.
This change fix this duplication issue by appending KERN_* to the front
of the IPC logger.
Change-Id: Ibfdf9edf6e243d13cacf1a45838a88e287a684be
Signed-off-by: Yuanyuan Liu <yuanliu@codeaurora.org>