Commit graph

874,520 commits

Author SHA1 Message Date
Hemant Kumar
66a6e72914 usb: dwc3: Issue core soft reset upon controller halt failure
In case of composition switch there is a possibility of run/stop
bit gets cleared in the middle of a control transfer. If controller
has cached a SETUP packet but not yet written it to ep0 TRB, controller
halt fails even if there are no pending events in event ring. As part of
pull up enable run/stop bit gets set and control transfer starts, due to
that controller writes cached SETUP packet to ep0 TRB and triggers xfer
completion. Since run/stop bit is set Host issues bus reset and end
transfer and Halt are issued on ep0 because ep0 is not in SETUP phase.
However this does not recover the controller's ep0 state machine. As a
result controller is unable to handle SET ADDRESS SETUP packet issued by
host.

Before completing data stage of control transfer if vbus disconnects
controller halt fails even after issuing end transfer cmd on ep0 IN.
There is a possibility of race between controller accessing the ep0
buffer from cached TRB which was queued in data stage of control
transfer and end xfer command completion. This is resulting into
accessing of TRB buffer after controller halt failure by this time
buffer is already unmapped by dwc3_remove_requests().

Fix above issues by issuing core soft reset if control halt fails to
prevent controller from accessing cached TRB buffer. Also move issuing
of end xfer command for ep0 IN before un-mapping the ep0 TRB buffer in
case ep0 state is not in SETUP phase in dwc3_remove_requests().

Change-Id: Ie159e06a2537afcc9deee3f6670aac5d66b97b90
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Signed-off-by: Elson Roy Serrao <eserrao@codeaurora.org>
2019-11-20 14:37:57 -08:00
Udipto Goswami
78ee3623ad usb: gadget: Prevent race between composite_setup & USB disconnect
While doing usb disconnect the ep0 is disabled, therefore
when composite_setup tries to queue on ep0 endpoint,
the operation result in race between the two functions
leading slab poison error since the request is already freed.
Fix this by disabling irqs, introducing flush for any
pending works to be cleared and enabling the irqs back.

Change-Id: I82f7a428929905762bae17dedbe717e0110155c5
Signed-off-by: Udipto Goswami <ugoswami@codeaurora.org>
2019-11-20 14:33:55 -08:00
Pratham Pratap
58450a28b9 usb: dwc3: gadget: Clear pending events when stopping controller
After clearing run/stop bit there might be events still pending
with the controller which will not allow the controller to be
halted. Fix this by simply clearing GEVNTCOUNT(n) by reading and
writing back the counts.

Change-Id: Id93df8effe73b1765cced65590679b7df6c232da
Signed-off-by: Pratham Pratap <prathampratap@codeaurora.org>
2019-11-20 14:33:55 -08:00
qctecmdr
ae3eacab9f Merge "usb: phy: Remove unused register offsets" 2019-11-20 12:53:48 -08:00
qctecmdr
4f35bba296 Merge "msm: ipa: Bus Scaling/Interconnect Migration" 2019-11-20 12:13:55 -08:00
qctecmdr
2e0893d913 Merge "soc: qcom: Add Kconfig dependency for SENSORS_SSC" 2019-11-19 16:50:03 -08:00
qctecmdr
40bc59439e Merge "msm: adsprpc: fix compilation errors in fastrpc driver on lahaina" 2019-11-19 16:10:53 -08:00
Mayank Rana
6699b963bc usb: phy: Remove unused register offsets
Remove unused register offset related enums as those are not used
for configuration within USB PHY driver. This helps to reduce
number of register offset value need to pass from devicetree with
USB QMP PHY device node.

Change-Id: Ia0581c3dc8210bfaac9a7318eb75e1ffa35440b6
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2019-11-19 13:50:28 -08:00
Bojun Pan
f7b08d17f7 msm: ipa: replace dma_zalloc_coherent()
dma_zalloc_coherent() is no longer needed and get deprecated as it has
no users because dma_alloc_coherent() already zeroes out memory for us.

Change-Id: Ibd49d7afce8caaa7b2b6aed61884b307674f9a59
Signed-off-by: Bojun Pan <bojunp@codeaurora.org>
2019-11-19 10:38:48 -08:00
Jun-Hyung Kwon
22c4526d07 soc: qcom: Add Kconfig dependency for SENSORS_SSC
SENSORS_SSC module is dependent on the SSR subsystem
so, update Kconfig dependency details.

Change-Id: Iaba55723485d038c11931ac8914665af35a26a3e
Signed-off-by: Jun-Hyung Kwon <junhyung@codeaurora.org>
2019-11-19 10:14:09 -08:00
qctecmdr
853c797061 Merge "iommu/arm-smmu: Fix atomic domain attribute check" 2019-11-19 09:21:04 -08:00
qctecmdr
210912b3d0 Merge "clk: qcom: gcc: Fix num_parent count for gcc_usb3 clk init data" 2019-11-19 08:47:09 -08:00
qctecmdr
5c4ea15131 Merge "ASoC: core: add debug log for cpu dais" 2019-11-19 08:12:42 -08:00
qctecmdr
127294a128 Merge "ASoC: msm: Add compressed TX and passthrough support" 2019-11-18 21:08:04 -08:00
qctecmdr
9b94944cd7 Merge "firmware: qcom_scm: Support SCM calls before qcom_scm probe" 2019-11-18 20:10:14 -08:00
qctecmdr
87e461a5b0 Merge "firmware: qcom_scm: Enable legacy convention in qcom_scm-64.c" 2019-11-18 19:35:17 -08:00
qctecmdr
6b47d58c25 Merge "firmware: qcom_scm: Merge legacy and SMCCC conventions" 2019-11-18 19:01:22 -08:00
qctecmdr
20b5b6d1ce Merge "firmware: qcom_scm-32: Add device argument to atomic calls" 2019-11-18 18:26:09 -08:00
Edgar Flores
7861f442de msm: adsprpc: fix compilation errors in fastrpc driver on lahaina
Update APIs used in fastrpc driver according to the new function
signatures on the Lahaina branch.

Change-Id: I979e116ab7e7019e4f17e84f1672f6c8bb30e2e8
Signed-off-by: Edgar Flores <edgarf@codeaurora.org>
2019-11-18 17:58:58 -08:00
qctecmdr
ec7edb6fa6 Merge "firmware: qcom_scm-32: Create common legacy atomic call" 2019-11-18 17:54:15 -08:00
Isaac J. Manjarres
008a22d3e9 iommu/arm-smmu: Fix atomic domain attribute check
When checking if a domain is a atomic or not, the driver code
will take the bitwise AND of the 64-bit domain attributes field
and a bitmask with bit 32 set. This value is then implicitly cast
to an int, which truncates the upper 32 bits--losing the bit
that indicates if the domain is atomic or not--and based on
that int, we determine if the domain is atomic, which will
vacuously be false.

Instead, check if the bitwise AND operation yields a non-zero
value when determining if a domain is atomic or not to prevent
any truncation errors.

Change-Id: I96753035b47b848bc4d1e8029c8f3f46e03f8c67
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Signed-off-by: George Shen <sqiao@codeaurora.org>
2019-11-18 17:26:51 -08:00
qctecmdr
76465eebbb Merge "msm: ipa: Added an option to enable NAPI in 11ad" 2019-11-18 15:26:20 -08:00
qctecmdr
fcea949d55 Merge "msm: ipa3: Fix to memory allocation failure" 2019-11-18 14:51:15 -08:00
qctecmdr
31d355bad1 Merge "msm: ipa: add a thin parsing option for status packets" 2019-11-18 14:16:16 -08:00
qctecmdr
0550e27090 Merge "firmware: qcom_scm-32: Fill SMCCC register in qcom_scm_call" 2019-11-18 13:40:15 -08:00
Amir Levy
207c5a6707 msm: ipa: add a thin parsing option for status packets
In the LAN rx data path the status packet was parsed twice
but in the second time it parsed not all the info was needed.
So we added a function that is tailored for that scenario
to improve performance.

Acked-by: Tal Gelbard <tgelbard@qti.qualcomm.com>
Change-Id: I8a1755ba62cee4147941b5949c2b223fe76415b2
Signed-off-by: Amir Levy <alevy@codeaurora.org>
2019-11-18 14:50:26 +02:00
Amir Levy
b4a0d6f786 msm: ipa: Added an option to enable NAPI in 11ad
Added a flag in the 11ad driver to indicate if NAPI is
enabled in the LAN RX Datapath. In case the flag is true
the 11ad driver will now use napi_gro_receive instead of
netif_rx_ni, meaning the GRO feature is also enabled
with this change.

Acked-by: Tal Gelbard <tgelbard@qti.qualcomm.com>
Change-Id: I5c6cb3e08c29c4b79cdcbc9e4d3acb485156a607
Signed-off-by: Amir Levy <alevy@codeaurora.org>
2019-11-18 11:12:30 +02:00
Meng Wang
4eb38d792f ASoC: core: add debug log for cpu dais
Add debug log to show which CPU dai is not registered
during bootup.

Change-Id: Ia6324edec64ff6e7ee08a0b292259c8ffb70d20e
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2019-11-18 15:55:10 +08:00
Ashok Vuyyuru
c210ced674 msm: ipa4: Update mask and shift values for aggr force close register
Because of not updated mask and shift value, IPA HW not able to
process the forcce close command and asserting with invalid command
offset. Add changes to update mask and shift values for aggregation
force close register.

Change-Id: I19164a32c6a5d49fb005c4a09eb95a23a5d4b6ec
Signed-off-by: Ashok Vuyyuru <avuyyuru@codeaurora.org>
2019-11-17 10:07:50 -08:00
qctecmdr
7db9be171f Merge "firmware: qcom_scm-32: Use qcom_scm_desc in non-atomic calls" 2019-11-16 06:18:21 -08:00
qctecmdr
fe159bfa5a Merge "firmware: qcom_scm-32: Use SMC arch wrappers" 2019-11-16 05:42:55 -08:00
qctecmdr
37d4fdf777 Merge "firmware: qcom_scm-64: Improve SMC convention detection" 2019-11-16 05:07:59 -08:00
qctecmdr
9a5a88e8e4 Merge "firmware: qcom_scm-64: Fill SMC registers in qcom_scm_call_smccc" 2019-11-16 04:29:15 -08:00
qctecmdr
1e486afe4d Merge "firmware: qcom_scm-64: Remove qcom_scm_call_do_smccc" 2019-11-16 03:45:29 -08:00
qctecmdr
1bf368ea9f Merge "firmware: qcom_scm-64: Add SCM results to descriptor" 2019-11-16 03:01:59 -08:00
qctecmdr
2fecbc3812 Merge "firmware: qcom_scm-64: Move svc/cmd/owner into qcom_scm_desc" 2019-11-16 02:27:45 -08:00
qctecmdr
dc9a5781ad Merge "firmware: qcom_scm: Remove unused qcom_scm_get_version" 2019-11-16 01:46:20 -08:00
qctecmdr
25a16eb963 Merge "firmware: qcom_scm: Order functions, definitions by svc/cmd" 2019-11-16 01:12:08 -08:00
qctecmdr
ac0d8084e8 Merge "firmware: qcom_scm: Apply consistent naming scheme to command IDs" 2019-11-16 00:39:01 -08:00
qctecmdr
1951d5023d Merge "firmware: qcom_scm-64: Make SMCCC macros less magical" 2019-11-15 23:57:19 -08:00
qctecmdr
86d26b10fa Merge "firmware: qcom_scm: Add funcnum IDs" 2019-11-15 23:24:20 -08:00
qctecmdr
0115d870b8 Merge "firmware: qcom_scm: Rename macros and structures" 2019-11-15 22:48:28 -08:00
qctecmdr
01982fba17 Merge "firmware/qcom_scm: Add scm call to handle smmu errata" 2019-11-15 22:06:18 -08:00
qctecmdr
2c87407cf7 Merge "msm: ipa4: Fix to overcome KW issues" 2019-11-15 20:26:53 -08:00
qctecmdr
47acbf95eb Merge "soc: qcom: secure_buffer: Add missing dma_unmap_single" 2019-11-15 18:49:04 -08:00
Vivek Aknurwar
8d32c33ec4 clk: qcom: gcc: Fix num_parent count for gcc_usb3 clk init data
Fix num_parent count for gcc_usb3 clk init data.

Change-Id: Icceee06388ca9976d7f713b56afbd7011008a386
Signed-off-by: Vivek Aknurwar <viveka@codeaurora.org>
2019-11-15 18:41:20 -08:00
Praveen Kurapati
59ed200680 msm: ipa3: Fix to memory allocation failure
During IPA shutdown the allocation for memory request fails.
Add changes in IPA to not sleep while memory allocation.

Change-Id: I0adb09e32970ff1d67c3249bb9d3c9dbdc970a8a
Signed-off-by: Praveen Kurapati <pkurapat@codeaurora.org>
2019-11-16 08:06:59 +05:30
qctecmdr
7165f40b45 Merge "arm64: defconfig: Enable CVP driver" 2019-11-15 18:10:52 -08:00
George Shen
293f99a9cf arm64: defconfig: Enable CVP driver
Enable CVP driver for Lahaina.

Change-Id: I7ee692c24595ac3c436203c9ebb12c1b9844da68
Signed-off-by: George Shen <sqiao@codeaurora.org>
2019-11-15 14:45:33 -08:00
Chris Goldsworthy
903fe10e59 soc: qcom: secure_buffer: Add missing dma_unmap_single
Add a missing dma_unmap_single() that was accidentally deleted when adding
tracepoints in the secure_buffer driver.

Change-Id: I8159bee354b4debffb2a55165d2e543d5979daff
Signed-off-by: Chris Goldsworthy <cgoldswo@codeaurora.org>
2019-11-15 14:08:45 -08:00