Some of user space daemon like ADB queries endpoint descriptor using
ioctl to know wMaxPacketSize value. Based on wMaxPacketSize value it
queues additional buffer to read zero length packet if expected read
buffer size is multiple of wMaxPacketSize. Currently driver is missing
handling for super speed plus case which results into sending full
speed related USB endpoint descriptor (i.e. wMaxPacketSize 64 bytes).
Hence when adbd is expecting 64 bytes packet from host, it queues one
more additional buffer. This results into mismatch of ADB command and
response when multiple ADB commands are used and causing different ADB
related stability issues. Fix this issue adding super speed plus check
with FUNCTIONFS_ENDPOINT_DESC ioctl command.
Change-Id: I9416295c07c2d98f9d32df43d7e506f975da15a2
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
This change updates USB function drivers to assign SSP descriptors
using usb_assign_descriptors() API. USB SSP descriptors are needed
to enumerate these functions as different composite device in
super speed plus mode.
Change-Id: Iea4d623afb2bf572358d1cc1d0673f20f2d7d5aa
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
CONFIG_QCOM_SPMI_TEMP_ALARM is incorrectly disabled in
lahaina_QGKI.config and lahaina_debug.config. Remove this
disablement so that the SPMI temp alarm driver is compiled
in both GKI and QGKI builds.
Change-Id: I2f54dae62dabe50758974c70f39f713141d16d8f
Signed-off-by: David Collins <collinsd@codeaurora.org>
The SMMU consumer requires to enable/disable the
GPU_CC_HLOS1_VOTE_SMMU_CLK, add support for same.
Change-Id: I1ef969bba510ea5354c213c99390a3754f0a0766
Signed-off-by: Vivek Aknurwar <viveka@codeaurora.org>
Make v6 updates on ufshcd-qti.c to match the updates
in ufshcd.c. Also compile UFS crypto when using
ufshcd-qti.
Change-Id: I1799b9b7f0aeee2cb76599403ae8461457a3fcd2
Signed-off-by: Gaurav Kashyap <gaurkash@codeaurora.org>
Add configuration changes in lahaina to support MSM PCIe and MHI
HOST driver.
Change-Id: If6fbbaf3f8efb04566dba2a61a6c4f79dd391515
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
This allows to compile PCIe MSM driver as one module. As part
of that remove Kconfig option PCI_MSM_MSI.
Change-Id: I225b880a01cfc7b480486d7d7db9fabe86256f52
Signed-off-by: Tony Truong <truong@codeaurora.org>
DP driver needs to use both USB SS lane in some use case. Hence
to release USB SS lane, add dwc3_msm_release_ss_lane() API which
performs below operations:
i. Stop USB host mode
ii. Start USB host mode into high speed mode if USB host mode
was active.
dwc3_msm_release_ss_lane() API is blocking call, and will comeback
once above both operations are performed.
Change-Id: I56df606914a613bfe4b76298b0041a66fc74878d
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
CVP firmware introduced new feature to support releasing user
allocated persistent buffers. Added support in kernel.
Change-Id: Ifcd35c328ebfbb961247bf45e2e72222bd3e425b
Signed-off-by: George Shen <sqiao@codeaurora.org>
Since eCP will need these register writes as well, instead
of exporting a function set_secvid, move these register writes
to respective target specific functions which are common to
both eCP enabled and disabled configurations. This also helps
get rid of the register offset definitions.
Change-Id: I2faa996901c746e7277dc2fdc272b9eb76e13e9c
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
With eCP, we will no longer be using the dispatcher. And
we will have different first open functions depending on
whether eCP is enabled or disabled. Hence, move dispatcher
init to first open so that dispatcher is initialized only when
eCP is not enabled.
Change-Id: Ia65807dcfed65a4b810b886f71beb4c5ba30abb1
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
We need APRIV enabled for eCP as well. But eCP doesn't
call into a6xx_rb_start. Move it to a more generic function
which is called by eCP as well.
Change-Id: I3014bee48145ab5b7c54f01854fe520d9a6db0a6
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
We should not be doing anything specific to preemption like
accessing preemption buffers in a6xx_start as a6xx_start is
called for both eCP and non eCP paths.
Change-Id: Ia7f9e7a54bcbbb6365ddd1f621e1c582faabd962
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
With eCP, kgsl will not be allocating these buffers or anything
related to the ringbuffers. Move this to init time so that this
only gets called when eCP is disabled.
Change-Id: I3c492581d904e35e4a58931bdd1f6e83546a3d2c
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
Make sure the power up register list is allocated only
once and not every time a6xx_init gets called.
Change-Id: Ifc46c6307886d3911788001c05640c0029706fc4
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
As the name suggests, the first_open is called when the device
is opened for the first time. And last_close is called when last
device instance is closed. This helps with differentiating eCP
and non eCP open within adreno namespace.
Change-Id: Idfbb487313d8be4de9d9785dbcdfb479dbab969e
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
Add a function to find the context bank a pagetable is attached
to.
Change-Id: I967c77e9d2f761440f28973485a8ce02c7d27dce
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
The for loop in dwc3_msm_update_bus_bw() was using a NULL
condition rather than against ARRAY_SIZE(mdwc->icc_paths).
This can result in an out-of-bounds access if the memory
just beyond the array also happens to be non-zero.
Change-Id: Ib1f003f774b125a156ceb0070cd9d98a4d1f03ee
Signed-off-by: Jack Pham <jackp@codeaurora.org>