make GKI change for shmbridge and temporarily disable
this feature in HYP.
Change-Id: I2e8835d8a68090123ee43247eedc0fbcebd3db21
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
This change adds USB PHY drivers for high speed and super speed/plus
functionality on QTI MSM platforms. This snapshot is taken as of
msm-4.19 commit <8197f81ffc14> ("Merge "msm: kgsl: Correct HFI
acknowledgment failure condition"").
Change-Id: Iede74fa0fd037a0741ee3269d78adb372600ea8d
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
This change adds snapshot of USB BAM driver which allows USB BAM to
communicate with other peripherals' (e.g. QDSS or IPA) BAM.
This snapshot is taken as of msm-4.19 kernel commit <b318a6e04625>
("Merge "msm: ipa4: Fix to use common PM handle for coalescing and
default pipe"").
Change-Id: I747e4defab668d44bdc956e318492dd30880a166
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
This change adds USB CDEV function driver which creates USB
character device to provide DUN and NMEA functionality.
This snapshot is taken as of msm-4.19 commit 104eef6e1fe8 ("platform:
msm: Remove unused local count variable").
Change-Id: I2a20aec1c21a506f8981e907bc0f0f58fff7fe58
Signed-off-by: Jack Pham <jackp@codeaurora.org>
This USB CCID function driver will be a transport layer between the
userspace CCID component and the Windows Host. Data and control
commands from the Windows Host will be sent to the userspace component
and vice-versa. This snapshot is taken as of msm-4.19 commit 104eef6e1fe8
("platform: msm: Remove unused local count variable").
Change-Id: I47301a318cb04c814699abf3e5ed5a9aecd7fbee
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
The spss-util driver provides utilities required for the Secure
Processor Subsystem (SPSS). It provides the fuse state for key selection
and the SPSS HW version.
Add snapshot for spss-util driver from msm-4.19 commit a7793b40172f
("soc: qcom: spss_utils: fix spss SSR when IAR not active").
Change-Id: I6531cae56cec9d062fa03c573bcd70207d10f1a2
Signed-off-by: Konstantin Dorfman <kdorfman@codeaurora.org>
SWAO msr has been moved to SWAO csr. Add the support in driver
to program it.
Change-Id: Ied618265a117a5fcd385524e1ec9aa4ce4e84deb
Signed-off-by: Tingwei Zhang <tingwei@codeaurora.org>
If cable disconnects before data stage completion dwc3_remove_requests()
gets called for ep0 in and out but dwc3_ep0_complete_data() does not
get called. dwc3_ep0_complete_data() function resets TRB enqueue count
to 0. As a result upon next cable connect start transfer is called with
wrong TRB address because trb_enqueue is set to 1. Since this TRB was
completed in the past, HWO bit is cleared for this TRB. This results into
usb enumeration failure due to control transfer stall. Fix this issue
by issuing end transfer command on control endpoints after ep0 requests
are removed for IN and OUT and reset trb_enqueue counters to 0.
Change-Id: Ic5364f11372d85ec7c133024dc48bbc5d848ebf4
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Signed-off-by: Jack Pham <jackp@codeaurora.org>
Consider a case of quick pull-up disable after pull-up is enabled.
If a SETUP packet comes after bus reset event followed by connection
done event, there is a possibility of race between
composite_dev_cleanup() freeing cdev->req called from
configfs_composite_unbind() and composite_setup() storing req pointer
to stack. This causes use after free of cdev->req. Fix this issue by
disabling the irq before clearing the run-stop bit so that interrupt
handling for setup packet is prevented. In order to prevent running
bottom half check pullups_connected flag in dwc3_interrupt and ack
the generated events and return. Also flush the bottom half work
if there was any work pending before disabling dwc3 irq.
Change-Id: I979da8536bd6766153e25cf6120f00f348427a72
Signed-off-by: Chandana Kishori Chiluveru <cchiluve@codeaurora.org>
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Signed-off-by: Jack Pham <jackp@codeaurora.org>
gadget_driver can become null if gadget_stop is called while any other
gadget callbacks are in progress. As gadget callbacks needs to release
spinlock before the callback, store the local copy of gadget_driver to
avoid the race with gadget_stop.
Change-Id: I7f0cbf9af3e3b286f2826647f08215f29f699de1
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
Signed-off-by: Jack Pham <jackp@codeaurora.org>
Spurious suspend event may arrive before CONNECT DONE, which
may unnecessarily notify to the charger to reduce current
draw to 2mA, only to revert back to 100mA on the subsequent
reset & connection. Instead, only enable the SUSPEND event
interrupt after the initial CONNECT DONE event is handled.
Change-Id: I41e2ff5d9b693757e06059c98fbe8b3a3878abdd
Signed-off-by: Jack Pham <jackp@codeaurora.org>
debugfs_create_dir() returns NULL when second directory is created
with same name gsi-epin. Without checking return value
dwc3_debugfs_create_endpoint_dir() creates endpoint files with parent
as NULL. This would create files in root dir /sys/kernel/debug which
remains there even after calling debugfs_remove_recursive() from
dwc3_debugfs_exit(). Due to probe deferral dwc3 endpoints get freed
up and re-allocated. As a result accessing endpoint files created in
root dir causes access to stale dwc3 endpoint pointer. Hence check
return value for debugfs_create_dir and do not create files for NULL
parent.
Change-Id: I44b65b77f35be1a52e71db2184a359887c25c8c9
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Signed-off-by: Jack Pham <jackp@codeaurora.org>