ARM: dts: msm: Add dependency of iommu node on USB driver

Currently, wait_for_device_probe api added before dwc3_probe
is called in core_init which is suppose to ensure that in case
the child is getting teared down, the userspace doesn't get to
write UDC and do gadget_start.

However, wait_for_device_probe api makes sure that the driver wait
until all probes are completed. Ideally, it wouldn't be a problem
but in cases of other driver's probe fails, usb would be affected
here even though usb isn't at fault.

Fix this by making a dummy-dependency on smmu node since the original
intention of the patch was to make sure if smmu driver was probed
successfully, then only proceed for child driver's probe.

Change-Id: Id05797f8dcd26783e3c0eab4facf4f4672790fe6
Signed-off-by: Udipto Goswami <quic_ugoswami@quicinc.com>
Signed-off-by: Ke Du <quic_kedu@quicinc.com>
This commit is contained in:
Ke Du
2024-05-30 17:46:26 +08:00
parent 2a02476b93
commit ac218ced98
4 changed files with 25 additions and 1 deletions

View File

@@ -55,6 +55,12 @@
0x144 /* GSI_RING_BASE_ADDR_H */ 0x144 /* GSI_RING_BASE_ADDR_H */
0x1a4>; /* GSI_IF_STS */ 0x1a4>; /* GSI_IF_STS */
/*
* Establish dependency on smmu driver so that depopulate path of
* deferred probe doesn't run into existing bug in smmu driver.
*/
dummy-supply = <&apps_smmu>;
dwc3@4e00000 { dwc3@4e00000 {
compatible = "snps,dwc3"; compatible = "snps,dwc3";
reg = <0x4e00000 0xcd00>; reg = <0x4e00000 0xcd00>;

View File

@@ -53,6 +53,12 @@
<&aggre1_noc MASTER_USB3_0 &cnoc2 SLAVE_IPA_CFG>, <&aggre1_noc MASTER_USB3_0 &cnoc2 SLAVE_IPA_CFG>,
<&gem_noc MASTER_APPSS_PROC &cnoc2 SLAVE_USB3_0>; <&gem_noc MASTER_APPSS_PROC &cnoc2 SLAVE_USB3_0>;
/*
* Establish dependency on smmu driver so that depopulate path of
* deferred probe doesn't run into existing bug in smmu driver.
*/
dummy-supply = <&apps_smmu>;
dwc3_0: dwc3@a600000 { dwc3_0: dwc3@a600000 {
compatible = "snps,dwc3"; compatible = "snps,dwc3";
reg = <0x0 0xa600000 0x0 0xd800>; reg = <0x0 0xa600000 0x0 0xd800>;

View File

@@ -1,6 +1,6 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
/* /*
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved. * Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
*/ */
#include <dt-bindings/clock/qcom,gcc-pineapple.h> #include <dt-bindings/clock/qcom,gcc-pineapple.h>
@@ -58,6 +58,12 @@
<&aggre1_noc MASTER_USB3_0 &config_noc SLAVE_IPA_CFG>, <&aggre1_noc MASTER_USB3_0 &config_noc SLAVE_IPA_CFG>,
<&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_USB3_0>; <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_USB3_0>;
/*
* Establish dependency on smmu driver so that depopulate path of
* deferred probe doesn't run into existing bug in smmu driver.
*/
dummy-supply = <&apps_smmu>;
dwc3@a600000 { dwc3@a600000 {
compatible = "snps,dwc3"; compatible = "snps,dwc3";
reg = <0xa600000 0xd93c>; reg = <0xa600000 0xd93c>;

View File

@@ -59,6 +59,12 @@
0x144 /* GSI_RING_BASE_ADDR_H */ 0x144 /* GSI_RING_BASE_ADDR_H */
0x1a4>; /* GSI_IF_STS */ 0x1a4>; /* GSI_IF_STS */
/*
* Establish dependency on smmu driver so that depopulate path of
* deferred probe doesn't run into existing bug in smmu driver.
*/
dummy-supply = <&apps_smmu>;
dwc3_0: dwc3@a600000 { dwc3_0: dwc3@a600000 {
compatible = "snps,dwc3"; compatible = "snps,dwc3";
reg = <0x0 0xa600000 0x0 0xd93c>; reg = <0x0 0xa600000 0x0 0xd93c>;