Add DCVS plan to support new GPU frequencies and voltage corners
on msmcobalt v2.
CRs-Fixed: 1056661
Change-Id: Ie0bde4d908189da86077b69be52c51f2a35596a8
Signed-off-by: George Shen <sqiao@codeaurora.org>
Add separate voter clocks for controlling the mmss_camss_jpeg0_clk
from two clients on MSMCOBALT.
CRs-Fixed: 1049594
Change-Id: I530e35054fd512574bca9e5937317099f58d2bb6
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
Add support for querying maximum available system current
for the flash.
Change-Id: I63e40a5dc33e783951c0e946e85c7ca4a970cab4
Signed-off-by: Sureshnaidu Laveti <lsuresh@codeaurora.org>
Adapt IPA driver code where it has different handling
according to IPA H/W version, to support IPAv3.5 and
IPAv3.5.1 H/W versions.
Change-Id: I2e5bd023d643d2fbba32f226c5eb85c39b620f3b
CRs-fixed: 1055677
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
The kernel panic could happen in CPU interrupt context. CPR3 panic
callback function does ioremap which cannot be executed in an interrupt
context. Fix the issue by doing a ioremap during driver initialization.
CRs-Fixed: 1056786
Change-Id: I191127fafb26bcf10ea25f972fe5af122debf292
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
Add initial device trees for msmcobalt QRD SKUK board.
Change-Id: I9426d3651c704fbef302c6d49170c9e996cb9179
Signed-off-by: Xiaogang Cui <xiaogang@codeaurora.org>
Add support for USB atomic notifier callbacks when host controller
drivers reports death of controller on some fatal error.
Current implementation doesn't help to recover from this condition.
Controller platform drivers can register for this callback and take
necessary steps to reset and add hcd again.
CRs-fixed: 1048766
Change-Id: Ie9064e669424096fee8c35cddccab29faf60cc6b
Signed-off-by: Manu Gautam <mgautam@codeaurora.org>
Get msmfalcon defconfigs up to date with msmcobalt
defconfigs, in order to bring in all the latest changes.
Change-Id: Ia670dab963bd337bf3aa395e15f4ec8e8f213e1c
Signed-off-by: Srinivas Ramana <sramana@codeaurora.org>
Add null pointer exception check for pointers which
may be NULL after memory allocation failure and may
be deferenced.
This patch is propagated from msm-3.18 kernel.
'commit 5c6aa1bb97a3 ("input: ft5x06_ts: add NULL
pointer check")'
Change-Id: Ied34d548bff27f8f6da9f4c81896e4505cdce218
Signed-off-by: Sarada Prasanna Garnayak <c_sgarna@codeaurora.org>
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
If Hibern8 enter/exit fails and we also see some UIC errors at the same
time, we would see following 2 recovery paths running in parallel to
restore the host and device communication.
Context-1: ufshcd_uic_hibern8_exit() -> ufshcd_link_recovery() ->
ufshcd_reset_and_restore()
Context-2: ufshcd_err_handler()->ufshcd_reset_and_restore()
This change fixes this race by making the ufshcd_link_recovery() to wait
for the already scheduled ufshcd_err_handler() to finish running and then
schedule the error handler again to make sure that host-device link is
reestablished.
While we are fixing the above race, similar race could happen between
ufshcd_eh_host_reset_handler() and ufshcd_err_handler() hence fix the
error handling in ufshcd_eh_host_reset_handler() same way as fixed in
ufshcd_link_recovery().
CRs-fixed: 1037647
Change-Id: Ic7a17a907e70122968c324e3cbe6e0421c28a2c9
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
When device switch to suspend state the gpio and pinctrl need to be
configured properly to prevent the touch controller current leakage in
device suspend state. The pinctrl must be configure first before
the gpio configuration. Select the pinctrl sleep state and after that
in gpio configuration part free both IRQ and reset gpio, and also set
direction of reset gpio to be input. If the gpio and pinctrl is not in
proper state the touch controller will not switch to the deep sleep state
and it will start consume current during the device suspend state.
To prevent this leakage current issue, pinctrl and gpio must be
configured properly.
This patch is propagated from msm-3.18 kernel.
'commit 494eae39f2a4 ("input: ft5x06_ts: pinctrl and gpio config in
suspend/resume path")'
Also cleared checkpatch errors on msm-3.18 kernel.
Change-Id: I0ec72bbbf12320ad22608522d1250614c6686fe3
Signed-off-by: Sarada Prasanna Garnayak <c_sgarna@codeaurora.org>
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
The uapi directory should only contain userspace visible
definitions, move everything else to the regular include directory.
Change-Id: I33a2f4511eef540c979a3880e7926cbe6cadafe6
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
Signed-off-by: Rupesh Tatiya <rtatiya@codeaurora.org>
devm_pinctrl_get() does not release the ownership of mux function
of pins in the associated pin-group whenever a failure occurs in
driver probe routine. i.e struct pin_desc's mux_owner field is
still marked as being in use after a failure occurs in probe.
As a result of this, if another driver tries to acquire the
ownership of same pin, it gets an error while applying that
setting. To fix this, explicitly release the mux function
ownership of the the pin, by adding a new pin-group in pinctrl
DT and a new pinctrl state in touch device's DT node. This new
pin-group does not have a function setting (qcom,pin-func property).
This new state is explicitly activated during a probe failure
and driver remove routine to release the mux function ownership.
The patch also reorganizes the pinctrl related code in driver.
This patch is propagated from msm-3.18 kernel.
'commit f09a0560dde9 ("input: focaltech: release pinctrl resources
on probe failure")'
Change-Id: I16a97fefc64dd171deb800b481aa74a797c9ad55
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
Focaltech touch controller does not go to sleep in suspend because
the pinctrl operation inadvertently resets the touch controller.
Remove the pinctrl operation in suspend and resume callback to
prevent this spurious reset.
This patch is propagated from msm-3.18 kernel.
'commit 7e2ea02b16de ("input: ft5x06_ts: fix the Focaltech CTP
current leakage issue")'
CRs-Fixed: 1046961
Change-Id: Ifa02c0287195d7ce55fb2d8ac49ec1c8ae5baec9
Signed-off-by: Mao Li <maol@codeaurora.org>
Migrate the Focaltech driver to use pinctrl framework for GPIO
configuration so that driver is compatible with targets that
use and targets that don't use pinctrl framework.
This patch is propagated from 3.18 kernel
'commit 266d1fe0f630 ("input: ft5x06_ts: add support for
pinctrl framework")'
Change-Id: I84fc2a6d30f831b4b054780b107ce105614855ea
Signed-off-by: Mao Li <maol@codeaurora.org>
Upgrade the firmware only if same vendor id is found both in existing
fw and new fw to be upgraded.
This patch is propagated from 3.18 kernel
'commit dba19fc86781 ("input: ft5x06_ts: check vendor id before
upgrade FT firmware")'
Change-Id: Idfc50da45891a1475ac6b35d80c7d725607cbf81
Signed-off-by: Mao Li <maol@codeaurora.org>
upgarde firmware on the touch controller when the new firmware
version is geater than the current firmware version. Update the
firmware version id after successful firmware update. skip
firmware update when device is in suspend state.
This patch is propagated from msm-3.18 kernel
'commit 8399308e570e ("input: touchscreen: change the focaltech
firmware upgrade method")'
CRs-Fixed: 1046961
Change-Id: Ic462f6483887a3654665852e58ae9891de9f5eff
Signed-off-by: Sarada Prasanna Garnayak <c_sgarna@codeaurora.org>
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
The firmware image format is changed in CTP FT6436. Also vendor
id and version id are read from fw image from a different offset
as compared to previous controllers. The driver is updated to
support the new image format.
This patch is propagated from msm-3.18 kernel
'commit 6146c68f81b4 ("input: ft5x06_ts: add support for firmware
update for CTP FT6X36")'
Change-Id: I465fdfa73e56e8fc4bbfdde980c558e4715d6d08
Signed-off-by: Mao Li <maol@codeaurora.org>
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
This patch removes the usage of deprecated apis like
usleep(), __devexit_p, etc.
This is a propagated patch from 3.18 kernel
'commit 20482b216b8a ("input: ft5x06_ts: remove
deprecated apis in 3.18 kernel")'
Change-Id: I77cedabdb234a643f96427f051038faad31bfdcf
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
When CONFIG_PM is not defined, there are some compilation errors,
because it introduces undeclared touch suspend and resume function.
This patch is propagated from 3.18 kernel
'commit a144428c6e02 ("input: ft5x06: add support when CONFIG_PM
is not defined")'
Change-Id: I869bd41270ea240c671e5478126a61d4ff2088dc
Signed-off-by: Chun Zhang <chunz@codeaurora.org>
Threaded IRQs without primary handler need to be requested with
IRQF_ONESHOT, otherwise the request will fail. This patch adds the
IRQF_ONESHOT to the focaltech touchscreen driver where it is
missing.
This patch is propagated from 3.18 kernel
'commit 4e8b58e99bf7 ("input: touchscreen: request threaded-only
IRQs with IRQF_ONESHOT")'
Change-Id: I429f48126bd5d28c6dbf6ba846175d5e643dd436
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
Force firmware update cannot work when touchscreen controller
cannot report correct family ID. If touchscreen is does not work
in correct state and it reports wrong family ID, it cannot be
recovered by force update, this change use family ID from device
tree instead of read from controller register to fix this issue.
This patch is propagated from 3.18 kernel
'commit a85789530620 ("input: touchscreen: ft5x06: fix firmware
force update issue")'
Change-Id: I85d24bfc68a7777053c15f28a84027260c68cebd
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
FT5336 use new firmware bootloader, current driver cannot update
its firmware. Driver needs update to support this new firmware
bootloader.
This patch is propagated from 3.18 kernel
'commit 740d7b108461 ("input: touchscreen: ft5x06: add FT5336
firmware update support")'
CRs-Fixed: 1046961
Change-Id: I5c210097a6b3daedce52c4dda806c698cda63968
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
Use the external display as a wrapper for operations making
it necessary for clients to only need a pointer to the external
display platform device. The external display will implement the
book keeping required to map operations to the correct display
interface.
CRs-Fixed: 1009284
Change-Id: I1f817e0c720dda0a9b1778f6aad653218ff9be60
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
Fix the OFF path for display-port driver when cable is
disconnected. Check for link clock status before accessing
any of the mainlink registers. Use common mutex for
DP_ON and DP_OFF sequence. Remove the resource vote
when PLL is diabled.
Change-Id: I9b81f79043b4ea7355b99ba9d8347d79bed10153
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
Add support for multi-part hdcp2p2 messages which will be used
by the Display Port (DP) driver to communicate with the sink. For
each message sent/received, the HDCP library will add information
related to how message is broken down into parts. This
information is used by the DP driver during the authentication
process.
Change-Id: I22cc2f3fee518fa3d29af11fa277dad4da4db728
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
IPA v3.5 and v3.5.1 introduces changes to several IPA registers.
Some registers have new fields, some fields are shifted and
others are removed.
This change updates IPAHAL to support these changes.
CRs-fixed: 1055677
Change-Id: I2046318ba40beca75bdc2f40554fc9a458da5581
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
Add IPA MHI test suite to IPA driver. Different
tests are being added to cover different IPA
MHI functionalities.
Change-Id: If97793a3af6c2d460468432c7bee93583cc34a55
CRs-Fixed: 1040200
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
Fixing IPA unclocked access when reading IPA_SHARED_MEM_SIZE
register. The read is part of a debug logic to print the
content of different registers.
CRs-fixed: 1052110
Change-Id: I2f04d861d98af2cf4009a1f746d91e9e9923ce42
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
Enable smcinvoke driver so that TZ apps and client can communicate
using new MINK architecture.
Change-Id: I4e869d276ce4e8ecfe35a9ffe6892a6b586fe372
Signed-off-by: Dinesh K Garg <dineshg@codeaurora.org>
SMCInvoke driver is a misc driver to support communication between
secure and non-secure world, based on new capability based model.
Earlier, QSEECom driver had several problems such as exposing many
interfaces to accomplish various tasks on secure world side. Ideally,
driver should work as transparent as possible and provide just
tunnel to communicate between secure and non secure world. SMCInvoke
driver aims to achieve that.
Change-Id: I439f8ad817ba66210c934115979c276577194c11
Signed-off-by: Dinesh K Garg <dineshg@codeaurora.org>
Add qfprom and hdcp register addresses to display port
device so that it can run the hdcp 1.x protocol.
Change-Id: Ib28eb08cc3c8a45a0e87ae1c4f84c904e66652f6
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
This change is to enable native DSD playback and enable native playback
of clips with sampling rate multiple of 44.1KHz.
Add slimbus_2_rx backend dai-link for native DSD (Direct Stream Digital)
audio and 44.1KHz multiples playback.
CRs-Fixed: 1056422
Change-Id: Ib038cf81f29e00c08def789f8f186ca4615d45fc
Signed-off-by: Preetam Singh Ranawat <apranawat@codeaurora.org>
Use runtime PM to manage the PCLK ("amba_pclk") instead of handling clk
directly.
The AMBA bus core will unprepare and disable the clock when device is
unused.
Change-Id: Id03ea9d622905393f81a9d4cafc111029ef6852d
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
Add support for WLAN recovery in cases of WLAN Protection Domain
(PD) down and Modem Sub System Restart (SSR).
CRs-fixed: 1056412
Change-Id: Ie3b012b524ef24c48937c0bb388cac656c3ebcf8
Signed-off-by: Prashanth Bhatta <bhattap@codeaurora.org>
Restructure code to handle dual vfe cases in a more streamline
manner. Instead of using 2 streams in case of dual vfe only
1 stream is used and the vfe devices are added under the
stream. All stream operations that refer to vfe will operate
on all the vfe devices present under stream. It is now not
nessasary to check whether dual vfe is used in multiple places
to decide which hardware needs to be updated, instead just
loop through the list of vfe hardware under the stream
Change-Id: I40ba5c9fe8bf96f81fc5256042b4a70731520e1d
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
Add trace events to control aborting CoreSight trace
dynamically based on module parameter.
Coresight driver will dump any trace present in the current sink
in case we hit a kernel panic, user fault or an undefined instruction.
Change-Id: Iee1ccf5cbd7b767753a3115c0570e63fbe2aa8f3
Signed-off-by: Satyajit Desai <sadesai@codeaurora.org>
Clear SP-PBL interrupt in case of error in PBL to avoid having storm
of interrupts.
CRs-Fixed: 1057085
Change-Id: I96bfd93ea5016a9c48f97262dbb0b5b63e07233d
Signed-off-by: Puja Gupta <pujag@codeaurora.org>