Add the minimum and maximum fps supported and enable dynamic
fps and esd for fhd video mode panel. Enable ESD, ULPS for
NT and Truly command mode panels. Enable partial update for
truly fhd command mode panel.
Change-Id: I0fe5502d74903e13544603154e853f4b486ca7be
Signed-off-by: Ashish Garg <ashigarg@codeaurora.org>
OLEDB driver needs the LAB_VREG_OK status to program the PD_CTL
register after the oledb module is enabled. As this status register
is not accessible from the OLEDB driver, register a notifier callback
with LABIBB driver to get LAB_VREG_OK status.
Change-Id: I85009688a2accb6246135d22e08ee21fb8296f62
Signed-off-by: Kiran Gunda <kgunda@codeaurora.org>
With QUP in shared mode, enabling and disabling the
resources in runtime pm will cause failure of
transactions over the QUP that are running on other
execution environment. To avoid the failure
enable/disable gpios and clocks of QUP per transfer.
Also move the clock prepare and unprepare calls
to runtime pm APIs from the transfer API to
reduce the latencies in the transactions.
Change-Id: Ic697cdc544405d86ec7c675922c18c00fec451a6
Signed-off-by: Dilip Kota <dkota@codeaurora.org>
Signed-off-by: Shrey Vijay <shreyv@codeaurora.org>
Add sub-device node to allow mba to be able to load in carveout
memory region for SDM660.
Change-Id: I0e9932a0a779a66b7a3d4b682a60885cb7d799c5
Signed-off-by: Gaurav Kohli <gkohli@codeaurora.org>
This reverts commit 3e47c53624 ("firmware_class: Add an
additional path to fw_path list").
Adding /firmware/images entry in fw_path is introducing selinux
denials as the access was happening under the client process
context. Removing the entry from fw_path structure.
Change-Id: I359f8defe49595a7e53558992080cb94eba42451
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
Commit dbca823c25bf ("f_gsi: Don't send end xfer command when USB is
into U3 state") consolidated below usecases path for RNDIS:
1. USB RNDIS adaptor disable/enable case
2. USB RNDIS suspend/resume case
3. USB cable connect case
Due to USB GSI endpoints are getting disabled as part of above usecase
1 i.e. adaptor disable, it is required to reconfigure and re-enable USB
GSI endpoints when adaptor is enabled. USB GSI endpoints are re-configured
but not re-enabled for above usecase 3 although it is already configured
and enabled as pat of set_alt(1). Hence USB GSI endpoint are partially
configured causing no USB data transfer between USB GSI and IPA GSI which
fails IP address assignment. Fix this issue by making sure that USB GSI
endpoints are not reconfigured in above usecase 3.
CRs-Fixed: 1095920
Change-Id: I67068bac21274d715f61f9e5b83fae54e2c8e22d
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
It is recommended to avoid sending end xfer command with USB GSI
endpoint when USB is into U3 state (i.e. bus suspended) as USB
controller may hang. USB GSI driver sends end xfer command with
suspend implementation when remote wakeup is not allowed. Hence
update IPA driver about remote wakeup status to suspend or
disconnect IPA GSI channel whereas remove sending end xfer command
to USB controller when remote wakeup is not allowed.
CRs-Fixed: 1077546
Change-Id: I3ac3714ccaf4ac9f16c26f59b9550aa825483344
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
USB function driver uses usb_gadget_autopm_get() API to increments
USB controller device's PM runtime usage and child count, and also
expects that USB controller is resumed. Late suspend disables USB
controller device's PM runtime functionality by incrementing
disable_depth count and early resume enables it back once system is
resumed. This results into pm_runtime_get_sync() returning -EACCESS
when APPS is power collapsed and it is resuming due to USB bus resume
case. usb_gadget_autopm_get() API is decrementing device's PM runtime
usage count if it receives error value from pm_runtime_get_sync() API.
USB function driver doesn't check return value which results into
continuing USB operation. On next bus suspend, it decrements usage count
although it was not incremented in previous resume case which makes PM
runtime usage count negative. This can cause multiple issues as below:
1. USB bus resume may take more time causing host re-enumerating USB
gadget device
2. Unclock register access on remote wakeup case
3. USB host mode enumeration may fail due to dwc3 device usage count
is negative.
Fix this issue by making usb ipa wq as freezable workqueue which will
make sure that ipa_work_handler() work is executed only after system is
resumed and USB controller device's PM runtime is enabled.
CRs-Fixed: 1075002, 1074383
Change-Id: I300d1a0081fafcbef3c00c63cddd49be54a651e5
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
usb_func_ep_queue() returns -EAGAIN if usb is function suspended and
successfully remote wakeup is performed. This change fixes error
handling with USB GSI function driver to make sure caller knows that
request is actually queued or not from this context. This makes sure
that USB request is queued once USB host has resumed USB bus.
CRs-Fixed: 1033093
Change-Id: I3f3cb1b6b42530bfa93e0d4badacfe651b6bbb4c
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
Unregister glink notification handle after SSR as otherwise it results
in the link up notification to be skipped resulting in incorrectly
completing the port open notification.
Change-Id: I668de44163a702faade1f170a74f66fb5a0c5571
Signed-off-by: Sathish Ambley <sathishambley@codeaurora.org>
Increment GSI command timeout. This is needed since during Q6 GSI FW
authentication GSI HW is disabled and the response for the HW may be
delayed.
CRs-Fixed:
Change-Id: Ia9ed0f0163abbfd3e242c38a9aea084c1c37e8fd
Signed-off-by: Gidon Studinski <gidons@codeaurora.org>:
This change adds the validation of qseed3 params before programming
the registers. This check would prevent any wrong configuration on
the vig src pipes.
CRs-Fixed: 2008489
Change-Id: If05d95349ba437332778a378804e6dd373ba2beb
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
Add mutex around qseecom_set_client_mem_param to prevent an
ioctl thread modifying and corrupting data which is being
processed by another ioctl in the other thread
Change-Id: I0cfb8afab4001c2913be693dfe44c761b9568893
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
In order to support multiple instances of mhi_uci
net devices, add platform device support. Platform
specific information can be specified in the device
tree and used in the driver. Also create separate debug
log buffer per client to make debugging easier.
CRs-Fixed: 1086301
Change-Id: Ibfc9b7bb36e5d10a56c9b72494806419383b72f6
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
In case of user PD restart requests from clients, return a separate error
code if PDR is disabled on subsystem. This is so that clients can
distinguish it from other error cases and take appropriate action.
CRs-Fixed: 2011758
Change-Id: Ifac7779455a3984de97a4e3e2f33bd74c5148cab
Signed-off-by: Puja Gupta <pujag@codeaurora.org>
The call to kasprintf() can fail, with a failure to
allocate memory. Handle the condition appropriately.
CRs-Fixed: 1014400
Change-Id: I83d3a6c8bdfd7a104b88a3bedd50f49faeecd97a
Signed-off-by: Hanumant Singh <hanumant@codeaurora.org>
When pil loading done through user space helper, there is a possibility
that signal could be pending on thread that initiated the pil, which would
lead to pil failure. To avoid this issue, move pil loading for ADSP, SLPI
and CDSP to separate workqueue in respective loader drivers.
Change-Id: Ie60a7eba7c52ac1565ce166d0e367379cce0b03e
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
Averaging 10 die temperature samples reduces error caused by
a trim issue.
Change-Id: Ie0b9477c121df92544280b8e322c2205c680f6eb
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
700Khz is not a harmonic of the digital clock and is optimal enough
for all vbus ranges. Running the smb in the non harmonic freq range
is required for correct TDIE adc reporting.
Change-Id: Ib70d64cd72b7408474fd64df287f6404d3749764
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
During continuous splash handoff the pipes are unstaged and the
timing engine is being turned off. But this change is not
being flushed. Right after that we release the splash memory
and this sometimes causes a memory fault. This change adds
the necessary flush.
Change-Id: Ia78359fd8159a7217ffc4f0192788f295ac3504c
Signed-off-by: Rajkumar Subbiah <rsubbia@codeaurora.org>
Add placeholders for the KGSL power limit functions if
CONFIG_QCOM_KGSL is not enabled in the kernel config.
Change-Id: Ic0dedbad15b54cd8c3eba1b0649cb23193dbc16c
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>