Parallel charging requires the device to wake up when entering taper
charging state in order to reduce the parallel charger's FCC. Enable
the chg-state-change irq as a wakeup source.
Parallel charging requires the device to wake up when the USB ICL
changes in order to enable or disable. Enable the usbin-icl-change
irq as a wakeup source.
When a change is detected on the Type-C CC pins the device should wake
up to handle the change. Enable the type-c-change irq as a wakeup
source.
When VBUS is detected the device should wake up to adjust the state of
DP/DM to allow for proper APSD. Enable the usbin-plugin irq as a wakeup
source.
When APSD finishes the device should wake up to notify the USB, and PD
drivers. Enable the usbin-src-change irq as a wakeup source.
CRs-Fixed: 1030478
Change-Id: I7cdc08d973b5ea711c877f7f2eabbe0fdbbf6fa0
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
Setup hypervisor permissions for MSA0. Only WLAN
hardware has access to MSA0 memory.
CRs-Fixed: 1014777
Change-Id: Ica695e355a82ab9ca1998d656475f94fa2a37904
Signed-off-by: Yuanyuan Liu <yuanliu@codeaurora.org>
This change fixes a buffer overflow issue during
venus version write to a local buffer.
CRs-Fixed: 944588
Change-Id: Id97f89debbd8d160a8ef624ae0c1be16c47d3270
Signed-off-by: Arun Menon <avmenon@codeaurora.org>
__dwc3_gadget_ep_disable API doing memset 0 with size
set to DWC3_TRB_NUM. Number of TRBs allocated for gsi
endpoints are less than DWC3_TRB_NUM. This results in
to memory corruption. Fix this bug by introducing
num_trbs member in dwc3_ep structure to save number of
trbs allocated in a dma pool upon dma pool creation.
Ep disable operation will use num_trbs of a dwc3_ep to
perform memset 0.
Change-Id: I94b5865ca22b4e1fde0d2cd8dcb218906327a916
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
The v3 arbiter removes the security checks and moves them to SMMU
drivers outside the scope of this driver. So reset the mode call
back for v3 similar to v1.
Change-Id: I043178382cd90515063d09f526bd3e94f8ed5fc3
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
smd_data_ch_close sets local_legacy to false even when close_ack is
not called, this even doesn't allow process_reopen_event to call
close_ack.
smd_data_ch_close set local_legacy to false only when it sends
close_ack, otherwise it will be set to false by process_reopen_event
on sending close_ack.
CRs-Fixed: 1020947
Change-Id: I1353f3a8e625803e6317bc543b7125ce52daa49c
Signed-off-by: Dhoat Harpal <hdhoat@codeaurora.org>
Synchronization is absent between SSR and intent request, which
result in dead lock scenerio.
ssr_sync rcu lock is used to synchronize intent request and SSR.
CRs-Fixed: 1025593
Change-Id: I1ac06aace8d79ad92d2b48cfb51e1394ef68906c
Signed-off-by: Dhoat Harpal <hdhoat@codeaurora.org>
Support MSM clock controller config to allow MSM devices to use the clock
controller.
Change-Id: Iae2cf922e8a69979ea353bf7353304f9be7405ce
Signed-off-by: Taniya Das <tdas@codeaurora.org>
This change enables the QSEED3 bypass mode in driver, until now if
scaling was not required driver was falling back to default configuration.
This change checks if scaling is not required on VIG pipes, driver only
programs the pixel extension and configures the bypass mode in QSEED3.
This change also corrects the LUT configurations for separable and
circular filters.
Change-Id: I17c8c3e422fd62feaada978ac2be48f891417db0
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
CRs-Fixed: 1036019, 1039433
Support cluster frequency scaling up to 2092.8 MHz for the Gold
cluster of the msmcobalt chip. Add the necessary OSM LUT and
expose these frequencies to the CPUfreq device.
CRs-Fixed: 1040128
Change-Id: Ib96cc4bcb47d034d9a314de8c1973f2d55106518
Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
Battery health shows 'good' in the ranges of both cold and
overheat temperatures. This change fixes a bug in its
get_prop function.
CRs-Fixed: 1040848
Change-Id: If6e6f60170cfb4769456de4c4428831a29489da2
Signed-off-by: Harry Yang <harryy@codeaurora.org>
When AD backlight attenuation feature is not enabled, the backlight
send to panel doesn't need to go through the backlight linearization
and inverse linearization.
Also set ad_bl_level to the current panel backlight level when AD
is enabled the first time and reset the ad_bl_level to 0 when AD
is disabled.
Change-Id: If96eccd817ecee6eae5fcc56fda29197b8b9f50d
Signed-off-by: Ping Li <pingli@codeaurora.org>
The continuous splash screen use case requires that we don't touch the
MMSS SMR registers during probe. Enable the option for skipping the
check for msmcobalt.
CRs-Fixed: 1037857
Change-Id: I1d522796d1dc0c73f7fe068c0964a9b5d1a09285
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
When continuous splash screen feature is enabled, the display needs to
be kept alive during the kernel boot up. For video mode panels, frame
data needs to be continuously fetched from the framebuffer memory which
requires BIMC SMMU GDSC to remain on. Add proxy vote for this GDSC to
prevent it from being turned off until the display driver hand off can
be executed.
CRs-Fixed: 1037857
Change-Id: Idef763153cdce4e59684da872520eb0cb0b1434d
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
When continuous splash screen feature is enabled, the DSI PLL
is configured in the bootloader and left on when the kernel boots
up. When the PLL clocks are handed off, the VCO rate needs to be
computed back from the registers. Fix bugs in the current
implementation for calculating the VCO rate.
CRs-Fixed: 1037857
Change-Id: I8905b91f26a66d26959fb109480f0390851cbdb4
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
USB bus suspend with remote wakeup allowed case:
1. SUSPEND interrupt received from controller on USB bus suspend
2. gsi_suspend() blocks ringing of doorbell by USB controller to IPA GSI
and schedule usb_ipa_w work with event EVNT_SUSPEND
3. ipa_work_handler() work handler makes sure that USB GSI interface is
into IDLE state and calls ipa_usb_xdci_suspend() to put IPA GSI related
channel into suspend state and allow turning of IPA's clock
5. ipa_work_handler() decrements PM usage count, allow USB to go into LPM
6. USB controller driver turns off USB clocks and put into LPM
USB bus resume with remote wakeup allowed case:
1. WAKEUP interrupt received from controller on USB bus resume
2. USB controller driver turns on USB clocks
3. gsi_resume() increments PM usage count and schedule usb_ipa_w work with
event EVENT_RESUME
4. ipa_work_handler() work handler calls ipa_usb_xdci_resume() to resume
IPA GSI related channel and turning on IPA's clock
5. ipa_work_handler() unblocks ringing of doorbell by USB controller to
IPA GSI
In above USB bus resume case using specific host with ECM functionality,
host is able to send PING or data packets equal to prepared number of TRBs
(currently 7) on USB EP OUT successfully before above resume step 5 then
GSI ignores rang doorbell as WRITE pointer updating last consumed TRB is
already gone through full cycle. This results into data stall. Hence to fix
this issue increase number of TRBs used with USB OUT endpoint from 7 to 31
for USB ECM function with GSI accelerated path. This helps to have always
pending TRBs with USB controller and ringing of doorbell is not missed by
GSI once above resume step 5 is completed.
Also ECM doesn't support aggregation. Hence fix out aggregation size param.
CRs-Fixed: 1023149
Change-Id: Ife0f265b65fda92a99f5170154da6cb4c6b113b7
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
This allows APPS USB XHCI driver to offload the USB audio
ISOC data transfer to remote processor. USB audio QMI driver
starts a QMI service to communicate with remote processor to
exchange audio stream related information.
Change-Id: Ib771c685b3245878413cd78d20451a0dcfdfda63
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Remove ISENSE control code from kernel,
GPMU Firmware is doing that now.
Change-Id: I34471bb36248bc47b4b5c4b7f4bc54d6bab6ec28
CRs-Fixed: 973565
Signed-off-by: Oleg Perelet <operelet@codeaurora.org>
Disable deprecated UID_STATS configuration in
preparation for removing the option from KConfig.
Change-Id: I496093bbc2125afbac58e83e38113af90858f1e7
CRs-Fixed: 1035969
Signed-off-by: Bryse Flowers <bflowers@codeaurora.org>
Add suspend/resume support in ICNSS driver.
CRs-Fixed: 1040309
Change-Id: I2776af4b633832ea8a930275481593f4b9d3bce3
Signed-off-by: Yuanyuan Liu <yuanliu@codeaurora.org>
Update the open-loop and closed-loop voltage margin adjustments
for the VDD_APC1 rail in agreement with hardware characterization.
For open-loop, add 8 mV margin for LowSVS and 52 mV margin for
Turbo fused corners. For closed-loop, add 50 mV margin for
the Turbo fused corner.
CRs-Fixed: 1039620
Change-Id: Ib4ee0e9432bb6f2916416e2826d5590e98f9d426
Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
Implement get function for App Type mixer control in
pcm and compress driver. Returns app type, ACDB ID,
and sample rate in use for FE ID.
Change-Id: I4972de893a638f2482c37796dd1718628526351d
Signed-off-by: Ben Romberger <bromberg@codeaurora.org>