lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 13 Jul 2023 19:18:49 +0200
From:   Sebastian Reichel <sebastian.reichel@...labora.com>
To:     linux-pci@...r.kernel.org, linux-rockchip@...ts.infradead.org,
        Serge Semin <fancer.lancer@...il.com>
Cc:     Jingoo Han <jingoohan1@...il.com>,
        Gustavo Pimentel <gustavo.pimentel@...opsys.com>,
        Bjorn Helgaas <bhelgaas@...gle.com>,
        Lorenzo Pieralisi <lpieralisi@...nel.org>,
        Krzysztof WilczyƄski <kw@...ux.com>,
        Rob Herring <robh@...nel.org>,
        Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
        Conor Dooley <conor+dt@...nel.org>,
        Heiko Stuebner <heiko@...ech.de>,
        Shawn Lin <shawn.lin@...k-chips.com>,
        Simon Xue <xxm@...k-chips.com>, devicetree@...r.kernel.org,
        linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
        Sebastian Reichel <sebastian.reichel@...labora.com>,
        kernel@...labora.com
Subject: [PATCH v2 1/3] dt-bindings: PCI: dwc: rockchip: Fix interrupt-names issue

The RK356x (and RK3588) have 5 ganged interrupts. For example the
"legacy" interrupt combines "inta/intb/intc/intd" with a register
providing the details.

Currently the binding is not specifying these interrupts resulting
in a bunch of errors for all rk356x boards using PCIe.

Fix this by specifying the interrupts and add them to the example
to prevent regressions.

Signed-off-by: Sebastian Reichel <sebastian.reichel@...labora.com>
---
 .../bindings/pci/rockchip-dw-pcie.yaml        | 18 +++++
 .../devicetree/bindings/pci/snps,dw-pcie.yaml | 76 ++++++++++++++++++-
 2 files changed, 93 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/pci/rockchip-dw-pcie.yaml b/Documentation/devicetree/bindings/pci/rockchip-dw-pcie.yaml
index a4f61ced5e88..aad53c7d8485 100644
--- a/Documentation/devicetree/bindings/pci/rockchip-dw-pcie.yaml
+++ b/Documentation/devicetree/bindings/pci/rockchip-dw-pcie.yaml
@@ -60,6 +60,17 @@ properties:
       - const: aux
       - const: pipe
 
+  interrupts:
+    maxItems: 5
+
+  interrupt-names:
+    items:
+      - const: sys
+      - const: pmc
+      - const: msg
+      - const: legacy
+      - const: err
+
   msi-map: true
 
   num-lanes: true
@@ -108,6 +119,7 @@ unevaluatedProperties: false
 
 examples:
   - |
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
 
     bus {
         #address-cells = <2>;
@@ -127,6 +139,12 @@ examples:
                           "aclk_dbi", "pclk",
                           "aux";
             device_type = "pci";
+            interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
+                         <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>,
+                         <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>,
+                         <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
+                         <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;
+            interrupt-names = "sys", "pmc", "msg", "legacy", "err";
             linux,pci-domain = <2>;
             max-link-speed = <2>;
             msi-map = <0x2000 &its 0x2000 0x1000>;
diff --git a/Documentation/devicetree/bindings/pci/snps,dw-pcie.yaml b/Documentation/devicetree/bindings/pci/snps,dw-pcie.yaml
index 1a83f0f65f19..973bf8f2730d 100644
--- a/Documentation/devicetree/bindings/pci/snps,dw-pcie.yaml
+++ b/Documentation/devicetree/bindings/pci/snps,dw-pcie.yaml
@@ -193,9 +193,83 @@ properties:
           oneOf:
             - description: See native "app" IRQ for details
               enum: [ intr ]
+        - description:
+            Combined legacy interrupt, which is used to signal the following
+            interrupts
+              * inta
+              * intb
+              * intc
+              * intd
+          const: legacy
+        - description:
+            Combined system interrupt, which is used to signal the following
+            interrupts
+              * phy_link_up
+              * dll_link_up
+              * link_req_rst_not
+              * hp_pme
+              * hp
+              * hp_msi
+              * link_auto_bw
+              * link_auto_bw_msi
+              * bw_mgt
+              * bw_mgt_msi
+              * edma_wr
+              * edma_rd
+              * dpa_sub_upd
+              * rbar_update
+              * link_eq_req
+              * ep_elbi_app
+          const: sys
+        - description:
+            Combined PM interrupt, which is used to signal the following
+            interrupts
+              * linkst_in_l1sub
+              * linkst_in_l1
+              * linkst_in_l2
+              * linkst_in_l0s
+              * linkst_out_l1sub
+              * linkst_out_l1
+              * linkst_out_l2
+              * linkst_out_l0s
+              * pm_dstate_update
+          const: pmc
+        - description:
+            Combined message interrupt, which is used to signal the following
+            interrupts
+              * ven_msg
+              * unlock_msg
+              * ltr_msg
+              * cfg_pme
+              * cfg_pme_msi
+              * pm_pme
+              * pm_to_ack
+              * pm_turnoff
+              * obff_idle
+              * obff_obff
+              * obff_cpu_active
+          const: msg
+        - description:
+            Combined error interrupt, which is used to signal the following
+            interrupts
+              * aer_rc_err
+              * aer_rc_err_msi
+              * rx_cpl_timeout
+              * tx_cpl_timeout
+              * cor_err_sent
+              * nf_err_sent
+              * f_err_sent
+              * cor_err_rx
+              * nf_err_rx
+              * f_err_rx
+              * radm_qoverflow
+          const: err
+
     allOf:
       - contains:
-          const: msi
+          enum:
+            - msi
+            - msg
 
 additionalProperties: true
 
-- 
2.40.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ