Re: [PATCH v4 01/32] xhci: add support to allocate several interrupters

From: Greg KH
Date: Tue Jul 25 2023 - 01:35:50 EST


On Mon, Jul 24, 2023 at 07:33:45PM -0700, Wesley Cheng wrote:
> From: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx>
>
> Modify the XHCI drivers to accommodate for handling multiple event rings in
> case there are multiple interrupters. Add the required APIs so clients are
> able to allocate/request for an interrupter ring, and pass this information
> back to the client driver. This allows for users to handle the resource
> accordingly, such as passing the event ring base address to an audio DSP.
> There is no actual support for multiple MSI/MSI-X vectors.
>
> Factoring out XHCI interrupter APIs and structures done by Wesley Cheng, in
> order to allow for USB class drivers to utilze them.
>
> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx>
> Co-developed-by: Wesley Cheng <quic_wcheng@xxxxxxxxxxx>
> Signed-off-by: Wesley Cheng <quic_wcheng@xxxxxxxxxxx>
> ---
> arch/arm64/boot/dts/qcom/sm8350.dtsi.rej | 14 ++++
> arch/arm64/configs/defconfig.rej | 24 ++++++
> drivers/usb/host/xhci-debugfs.c | 2 +-
> drivers/usb/host/xhci-mem.c | 93 ++++++++++++++++++++++--
> drivers/usb/host/xhci-ring.c | 2 +-
> drivers/usb/host/xhci.c | 49 ++++++++-----
> drivers/usb/host/xhci.h | 77 +-------------------
> include/linux/usb/xhci-intr.h | 86 ++++++++++++++++++++++
> 8 files changed, 245 insertions(+), 102 deletions(-)
> create mode 100644 arch/arm64/boot/dts/qcom/sm8350.dtsi.rej
> create mode 100644 arch/arm64/configs/defconfig.rej
> create mode 100644 include/linux/usb/xhci-intr.h
>
> diff --git a/arch/arm64/boot/dts/qcom/sm8350.dtsi.rej b/arch/arm64/boot/dts/qcom/sm8350.dtsi.rej
> new file mode 100644
> index 000000000000..e96ef1120160
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/sm8350.dtsi.rej
> @@ -0,0 +1,14 @@
> +--- arch/arm64/boot/dts/qcom/sm8350.dtsi
> ++++ arch/arm64/boot/dts/qcom/sm8350.dtsi
> +@@ -2254,9 +2254,9 @@
> + iommus = <&apps_smmu 0x0 0x0>;
> + snps,dis_u2_susphy_quirk;
> + snps,dis_enblslpm_quirk;
> +- phys = <&usb_1_hsphy>, <&usb_1_qmpphy QMP_USB43DP_USB3_PHY>;
> ++ phys = <&usb_1_hsphy>, <&usb_1_qmpphy>;
> + phy-names = "usb2-phy", "usb3-phy";
> +-
> ++ dr_mode = "host";
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> diff --git a/arch/arm64/configs/defconfig.rej b/arch/arm64/configs/defconfig.rej

<snip>

I think you need to look at this patch series a bit better and clean it
up before sending it out. These files obviously are not going to work,
and prevent any of this from being able to be applied or tested by any
bots or test systems :(

I've stopped here in my review of this series (except for the obvious
global symbol name comment.)

thanks,

greg k-h