During DWC3 MSM probe, if extcon and usb role switch are both undefined,
the mode will be set to peripheral. However, in case EUD is defined, then
the extcon parameter will be non-null, and the probe routine will avoid
setting the default mode into peripheral, even though there is no valid
source for notifying cable events.
In case of when EUD is registered as the EXTCON device, continue to allow
setting the default mode as peripheral mode, as it does not send cable
events to DWC3 MSM. This is useful bringup scenarios where UCSI role
switch is not ready, but EUD is enabled.
Change-Id: I82263a125f67560558236356ddc733301c586de3
Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
This change fixes below items
1. Update cluster governors's now time stamp if CPU is of same cluster
2. Remove unnecessary condition from CPU idle state select
3. Skip updating cpu prediction history when sleep is disabled
Change-Id: I3f2870adf0b4005ca8cd02f2d355647a9c4ecd1a
Signed-off-by: Maulik Shah <quic_mkshah@quicinc.com>
CPUidle was disabled during suspend to avoid runtime PM not updating
the cluster genpd sd counter post late suspend phase.
The issue is now fixed with commit a2bd7be12b ("PM: sleep: Fix runtime
PM based cpuidle support").
Remove the changes so CPU idle states can be allowed post late suspend
stage.
Change-Id: Ie9f01a49326a560e579f34b6412989c573ce6094
Signed-off-by: Maulik Shah <quic_mkshah@quicinc.com>
Enable the download mode driver and turn on the default flag to enable
dump collection in case of panic or error conditions.
Change-Id: I7d8f5ec0269062bb1875f2212f9252cc24dd2e4c
Signed-off-by: Guru Das Srinagesh <quic_gurus@quicinc.com>
Enable watchdog and related configs for pineapple SoC.
Change-Id: Iba6e12856f4c201a3f64a6773266c42645a58fb9
Signed-off-by: Guru Das Srinagesh <quic_gurus@quicinc.com>
Following error is seen:
"devfreq 1d84000.ufshc: dvfs failed with (-22) error"
Following entries need to support 403Mhz, 201.5Mhz and 100Mhz:
- SYS1CLK_1US_REG
- DME_VS_CORE_CLK_CTRL.MAX_CORE_CLK_1US_CYCLES
- PA_VS_CORE_CLK_40NS_CYCLES.
Enable clock scaling.
Change-Id: I61d16f55d57d27e6884dc1e00eb8f70120082976
Signed-off-by: Asutosh Das <quic_asutoshd@quicinc.com>
Enable the GLINK PKT and GLINK PROBE drivers to provide rpmsg glink
access to userspace.
Change-Id: I5d74241425cb935f33e8567abc33defbb4360da0
Signed-off-by: Chris Lew <quic_clew@quicinc.com>
Expose a direct interface for the signal interface from the glink
transport. This is required for tethered data call functionality. This
change should be reverted once the patch to add the signal interface
into rpmsg is merged upstream.
Change-Id: I1df466579352660a276312a304c9eac88f113c60
Signed-off-by: Chris Lew <quic_clew@quicinc.com>
Unblock threads waiting for space in the smem fifo when the peer remote
processor reset is detected. This will allow processes to unblock and
cleanup instead of waiting for a 10 second timeout.
Change-Id: I1a033a81424dd0c40dd4aa709c4fb9a89e2fa124
Signed-off-by: Chris Lew <quic_clew@quicinc.com>
The glink rx done function can be called from both soft irq and hard
irq context. To avoid any potential deadlock scenarios, use the irq
save and restore variants of the spin locks.
Change-Id: Id85367226a16db1c0e44f8e00c7b7f74f4c8b8fd
Signed-off-by: Chris Lew <quic_clew@quicinc.com>
Move the glink packet driver from soc/qcom to rpmsg. The RPMSG char
driver is under rpmsg and the glink packet driver mirrors the RPMSG
char driver.
Change-Id: I4d1c5abbe656e4c54da74769067d35cd513f3b75
Signed-off-by: Chris Lew <quic_clew@quicinc.com>
Add snapshot from msm-5.15 to support in UFS to
exercise data encryption flow using wrapped keys.
commit b9c7626e6 ("Enable qrtr-mhi transport for VM").
Change-Id: I2d24d300ea90209c4833bc834dfb6a505ec6f063
Signed-off-by: Gaurav Kashyap <quic_gaurkash@quicinc.com>
Enable panel event notifier driver for pineapple gki defconfig.
Change-Id: I7ada21d7420c0eafcae01289b223d9fa4df40d0b
Signed-off-by: Bruce Levy <quic_blevy@quicinc.com>
Enable mem_buf along with the DMA-BUF carveout heap, in order to allow
mem_buf users to compile their code.
Change-Id: Ic8e581b9e9c4b293d0ab1c560e231ae53da72283
Signed-off-by: Chris Goldsworthy <quic_cgoldswo@quicinc.com>
Add a case in the wcd939x i2c driver for connecting a headset microphone
via the USB subsystem. Update corresponding header file.
Change-Id: Ia01804a8ffde36d055a65c11692cef20297e30ca
Signed-off-by: Sam Rainey <quic_rainey@quicinc.com>
This patch is required for qrtr communication for attaches
over mhi.
Change-Id: I625c91590d0d080000a0aecd2a0ebeabb0ef6478
Signed-off-by: Deepak Kumar Singh <quic_deesin@quicinc.com>
Signed-off-by: Tony Truong <quic_truong@quicinc.com>
Add i2c_transfer and regulator_bulk_enable to the ABI list
to be used in the wcd usbss i2c driver.
Change-Id: I045618c55e63b91d3a316967a9ab942f7e658f45
Signed-off-by: Phani Kumar Uppalapati <quic_phaniu@quicinc.com>
The IPA modules can likely be probed much before the USB GSI function is
initialized by userspace. If the IPA ready callback is received before
configFS is initialized, then the wait_for_ipa_ready completion will be
reset, leading to subsequent GSI bind timeouts, since IPAM only notifies at
the IPA probe time.
Change-Id: I6e31a368a68635d5eed0f0d9b99526ae998f2bbb
Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
mdwc->dwc3 is seen NULL when dwc3_msm_notify_event() is getting
called from dwc3 driver's probe context as mdwc->dwc3 is being
initialized later. Actual call flow is as below:
of_platform_populate()
--> dwc3_probe()
--> dwc3_gadget_core_init_mode()
--> dwc3_gadget_init()
--> usb_add_gadget()
--> check_pending_gadget_drivers()
--> udc_bind_to_driver()
--> dwc3_gadget_pullup()
--> __dwc3_gadget_start()
--> entry___dwc3_gadget_start()
--> dwc3_msm_notify_event(DWC3_CONTROLLER_SOFT_RESET)
--> dwc3_device_core_soft_reset()
As reference to dwc3 is already available, and there is no specific
handling perform with dwc3_device_core_soft_reset() other than
reconfiguring USB GSI endpoint related event buffers. Fix this issue
by invoking dwc3_msm_notify_event() with DWC3_GSI_EVT_BUF_SETUP and
remove usage of dwc3_device_core_soft_reset() API, and use passed
dwc3 reference instead of trying to access mdwc->dwc3.
Change-Id: I0b9dcc6148bebbcc3f8399c7ada4e3e298fb260f
Signed-off-by: Mayank Rana <quic_mrana@quicinc.com>
Due to a newly added sequence to issue a core soft reset before enabling
the pullup, the GSI event buffers also need to be reset as well:
commit 0066472de1 ("usb: dwc3: Issue core soft reset before enabling
run/stop").
Failure to do so will result in a SMMU fault, showing that the DWC3
controller is attempting to access a FAR=0x0.
Add a kretprobe to gadget start, as that is executed before enabling
run/stop, so that we can initialize the GSI event buffers properly.
Change-Id: I612bfcd24bba54b5c5850950838f5ad53523045a
Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>