[<prev] [next>] [day] [month] [year] [list]
Message-ID: <5bc3b4d9-1bbb-479a-64f4-768f47075ec0@kali.org>
Date: Thu, 17 Feb 2022 16:16:42 -0600
From: Steev Klimaszewski <steev@...i.org>
To: Sandeep Maheswaram <quic_c_sanm@...cinc.com>,
Pavan Kondeti <quic_pkondeti@...cinc.com>
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Felipe Balbi <balbi@...nel.org>,
Stephen Boyd <swboyd@...omium.org>,
Doug Anderson <dianders@...omium.org>,
Matthias Kaehlcke <mka@...omium.org>,
Mathias Nyman <mathias.nyman@...el.com>,
linux-arm-msm@...r.kernel.org, linux-usb@...r.kernel.org,
linux-kernel@...r.kernel.org, quic_ppratap@...cinc.com
Subject: Re: [PATCH v10 6/6] usb: dwc3: qcom: Enable the interrupts during
probe
Hi Sandeep,
On 2/17/22 12:05 AM, Sandeep Maheswaram wrote:
>
> Hi Steev,
>
> On 2/16/2022 3:21 PM, Steev Klimaszewski wrote:
>> That does allow it to boot, however.... it breaks USB.
>>
>> [ 2.013325] genirq: Setting trigger mode 3 for irq 35 failed
>> (gic_set_type+0x0/0x1b0)
>> [ 2.014063] dwc3-qcom a6f8800.usb: dp_hs_phy_irq failed: -22
>> [ 2.014134] dwc3-qcom a6f8800.usb: failed to setup IRQs, err=-22
>> [ 2.014351] dwc3-qcom: probe of a6f8800.usb failed with error -22
>> [ 2.018496] genirq: Setting trigger mode 3 for irq 39 failed
>> (gic_set_type+0x0/0x1b0)
>> [ 2.019124] dwc3-qcom a8f8800.usb: dp_hs_phy_irq failed: -22
>> [ 2.019193] dwc3-qcom a8f8800.usb: failed to setup IRQs, err=-22
>> [ 2.019372] dwc3-qcom: probe of a8f8800.usb failed with error -22
>>
>> steev@...itless:~$ lsusb
>> steev@...itless:~$
>>
>>
>> -- steev
>>
> Can you try with only IRQ_TYPE_EDGE_RISING as you are using GIC
> interrupts where IRQ_TYPE_EDGE_FALLING may not be supported
>
> diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi
> b/arch/arm64/boot/dts/qcom/sdm845.dtsi
> index 0d6286d..ee3b031 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
> @@ -3796,8 +3796,8 @@
>
> interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
> <GIC_SPI 486 IRQ_TYPE_LEVEL_HIGH>,
> - <GIC_SPI 488 IRQ_TYPE_LEVEL_HIGH>,
> - <GIC_SPI 489 IRQ_TYPE_LEVEL_HIGH>;
> + <GIC_SPI 488 IRQ_TYPE_EDGE_RISING>,
> + <GIC_SPI 489 IRQ_TYPE_EDGE_RISING>;
> interrupt-names = "hs_phy_irq", "ss_phy_irq",
> "dm_hs_phy_irq",
> "dp_hs_phy_irq";
>
> @@ -3844,8 +3844,8 @@
>
> interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
> <GIC_SPI 487 IRQ_TYPE_LEVEL_HIGH>,
> - <GIC_SPI 490 IRQ_TYPE_LEVEL_HIGH>,
> - <GIC_SPI 491 IRQ_TYPE_LEVEL_HIGH>;
> + <GIC_SPI 490 IRQ_TYPE_EDGE_RISING>,
> + <GIC_SPI 491 IRQ_TYPE_EDGE_RISING>;
> interrupt-names = "hs_phy_irq", "ss_phy_irq",
> "dm_hs_phy_irq",
> "dp_hs_phy_irq";
> Regards
>
> Sandeep
>
With this change, and with either EDGE_RISING or EDGE_BOTH in the lenovo
yoga c630 dts, it does indeed boot. Leaving LEVEL_HIGH in the c630, it
does also boot, but there is a delay of about 30 seconds (I'm assuming
interrupt storm?) during the boot.
-- steev
Powered by blists - more mailing lists