Message ID | 20241011104142.1181773-4-quic_qianyu@quicinc.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Add support for PCIe3 on x1e80100 | expand |
On Fri, Oct 11, 2024 at 03:41:37AM -0700, Qiang Yu wrote: > Document 'global' SPI interrupt along with the existing MSI interrupts so > that QCOM PCIe RC driver can make use of it to get events such as PCIe > link specific events, safety events, etc. Describe the hardware, not what the driver will do. > > Though adding a new interrupt will break the ABI, it is required to > accurately describe the hardware. That's poor reason. Hardware was described and missing optional piece (because according to your description above everything was working fine) is not needed to break ABI. Sorry, if your driver changes the ABI for this poor reason. NAK. Best regards, Krzysztof
On 11/10/2024 16:33, Krzysztof Kozlowski wrote: > On Fri, Oct 11, 2024 at 03:41:37AM -0700, Qiang Yu wrote: >> Document 'global' SPI interrupt along with the existing MSI interrupts so >> that QCOM PCIe RC driver can make use of it to get events such as PCIe >> link specific events, safety events, etc. > > Describe the hardware, not what the driver will do. > >> >> Though adding a new interrupt will break the ABI, it is required to >> accurately describe the hardware. > > That's poor reason. Hardware was described and missing optional piece > (because according to your description above everything was working > fine) is not needed to break ABI. > > Sorry, if your driver changes the ABI for this poor reason. > > NAK. > Plus you did not test DTS, not fixed existing users. That's v6, so we assume you already know how to test it and do the testing before posting new versions. Best regards, Krzysztof
On October 11, 2024 8:03:58 PM GMT+05:30, Krzysztof Kozlowski <krzk@kernel.org> wrote: >On Fri, Oct 11, 2024 at 03:41:37AM -0700, Qiang Yu wrote: >> Document 'global' SPI interrupt along with the existing MSI interrupts so >> that QCOM PCIe RC driver can make use of it to get events such as PCIe >> link specific events, safety events, etc. > >Describe the hardware, not what the driver will do. > >> >> Though adding a new interrupt will break the ABI, it is required to >> accurately describe the hardware. > >That's poor reason. Hardware was described and missing optional piece >(because according to your description above everything was working >fine) is not needed to break ABI. > Hardware was described but not completely. 'global' IRQ let's the controller driver to handle PCIe link specific events like Link up, Link down etc... They improve user experience like the driver can use those interrupts to start bus enumeration on its own. So breaking the ABI for good in this case. >Sorry, if your driver changes the ABI for this poor reason. > Is the above reasoning sufficient? - Mani >NAK. > >Best regards, >Krzysztof > மணிவண்ணன் சதாசிவம்
On 11/10/2024 17:42, Manivannan Sadhasivam wrote: > > > On October 11, 2024 8:03:58 PM GMT+05:30, Krzysztof Kozlowski <krzk@kernel.org> wrote: >> On Fri, Oct 11, 2024 at 03:41:37AM -0700, Qiang Yu wrote: >>> Document 'global' SPI interrupt along with the existing MSI interrupts so >>> that QCOM PCIe RC driver can make use of it to get events such as PCIe >>> link specific events, safety events, etc. >> >> Describe the hardware, not what the driver will do. >> >>> >>> Though adding a new interrupt will break the ABI, it is required to >>> accurately describe the hardware. >> >> That's poor reason. Hardware was described and missing optional piece >> (because according to your description above everything was working >> fine) is not needed to break ABI. >> > > Hardware was described but not completely. 'global' IRQ let's the controller driver to handle PCIe link specific events like Link up, Link down etc... They improve user experience like the driver can use those interrupts to start bus enumeration on its own. So breaking the ABI for good in this case. > >> Sorry, if your driver changes the ABI for this poor reason. >> > > Is the above reasoning sufficient? I tried to look for corresponding driver change, but could not, so maybe there is no ABI break in the first place. Above explanation is good, but still feels like improvement and device could work without global clock. Best regards, Krzysztof
On October 11, 2024 9:14:31 PM GMT+05:30, Krzysztof Kozlowski <krzk@kernel.org> wrote: >On 11/10/2024 17:42, Manivannan Sadhasivam wrote: >> >> >> On October 11, 2024 8:03:58 PM GMT+05:30, Krzysztof Kozlowski <krzk@kernel.org> wrote: >>> On Fri, Oct 11, 2024 at 03:41:37AM -0700, Qiang Yu wrote: >>>> Document 'global' SPI interrupt along with the existing MSI interrupts so >>>> that QCOM PCIe RC driver can make use of it to get events such as PCIe >>>> link specific events, safety events, etc. >>> >>> Describe the hardware, not what the driver will do. >>> >>>> >>>> Though adding a new interrupt will break the ABI, it is required to >>>> accurately describe the hardware. >>> >>> That's poor reason. Hardware was described and missing optional piece >>> (because according to your description above everything was working >>> fine) is not needed to break ABI. >>> >> >> Hardware was described but not completely. 'global' IRQ let's the controller driver to handle PCIe link specific events like Link up, Link down etc... They improve user experience like the driver can use those interrupts to start bus enumeration on its own. So breaking the ABI for good in this case. >> >>> Sorry, if your driver changes the ABI for this poor reason. >>> >> >> Is the above reasoning sufficient? > >I tried to look for corresponding driver change, but could not, so maybe >there is no ABI break in the first place. Here it is: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4581403f67929d02c197cb187c4e1e811c9e762a Above explanation is good, but >still feels like improvement and device could work without global clock. > It is certainly an improvement but provides a nice user experience as the devices will be enumerated when they get plugged into the slot (like hotplug). Otherwise, users have to rescan the bus every time they plug a device. Also when the device gets removed, driver could retrain the link if link went to a bad state. Otherwise, link will remain in the broken state requiring users to unload/load the driver again. - Mani மணிவண்ணன் சதாசிவம்
On 11/10/2024 17:51, Manivannan Sadhasivam wrote: > > > On October 11, 2024 9:14:31 PM GMT+05:30, Krzysztof Kozlowski <krzk@kernel.org> wrote: >> On 11/10/2024 17:42, Manivannan Sadhasivam wrote: >>> >>> >>> On October 11, 2024 8:03:58 PM GMT+05:30, Krzysztof Kozlowski <krzk@kernel.org> wrote: >>>> On Fri, Oct 11, 2024 at 03:41:37AM -0700, Qiang Yu wrote: >>>>> Document 'global' SPI interrupt along with the existing MSI interrupts so >>>>> that QCOM PCIe RC driver can make use of it to get events such as PCIe >>>>> link specific events, safety events, etc. >>>> >>>> Describe the hardware, not what the driver will do. >>>> >>>>> >>>>> Though adding a new interrupt will break the ABI, it is required to >>>>> accurately describe the hardware. >>>> >>>> That's poor reason. Hardware was described and missing optional piece >>>> (because according to your description above everything was working >>>> fine) is not needed to break ABI. >>>> >>> >>> Hardware was described but not completely. 'global' IRQ let's the controller driver to handle PCIe link specific events like Link up, Link down etc... They improve user experience like the driver can use those interrupts to start bus enumeration on its own. So breaking the ABI for good in this case. >>> >>>> Sorry, if your driver changes the ABI for this poor reason. >>>> >>> >>> Is the above reasoning sufficient? >> >> I tried to look for corresponding driver change, but could not, so maybe >> there is no ABI break in the first place. > > Here it is: > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4581403f67929d02c197cb187c4e1e811c9e762a > > Above explanation is good, but >> still feels like improvement and device could work without global clock. So there is no ABI break in the first place... Commit is misleading. >> > > It is certainly an improvement but provides a nice user experience as the devices will be enumerated when they get plugged into the slot (like hotplug). Otherwise, users have to rescan the bus every time they plug a device. Also when the device gets removed, driver could retrain the link if link went to a bad state. Otherwise, link will remain in the broken state requiring users to unload/load the driver again. OK Best regards, Krzysztof
On 10/12/2024 12:06 AM, Krzysztof Kozlowski wrote: > On 11/10/2024 17:51, Manivannan Sadhasivam wrote: >> >> On October 11, 2024 9:14:31 PM GMT+05:30, Krzysztof Kozlowski <krzk@kernel.org> wrote: >>> On 11/10/2024 17:42, Manivannan Sadhasivam wrote: >>>> >>>> On October 11, 2024 8:03:58 PM GMT+05:30, Krzysztof Kozlowski <krzk@kernel.org> wrote: >>>>> On Fri, Oct 11, 2024 at 03:41:37AM -0700, Qiang Yu wrote: >>>>>> Document 'global' SPI interrupt along with the existing MSI interrupts so >>>>>> that QCOM PCIe RC driver can make use of it to get events such as PCIe >>>>>> link specific events, safety events, etc. >>>>> Describe the hardware, not what the driver will do. >>>>> >>>>>> Though adding a new interrupt will break the ABI, it is required to >>>>>> accurately describe the hardware. >>>>> That's poor reason. Hardware was described and missing optional piece >>>>> (because according to your description above everything was working >>>>> fine) is not needed to break ABI. >>>>> >>>> Hardware was described but not completely. 'global' IRQ let's the controller driver to handle PCIe link specific events like Link up, Link down etc... They improve user experience like the driver can use those interrupts to start bus enumeration on its own. So breaking the ABI for good in this case. >>>> >>>>> Sorry, if your driver changes the ABI for this poor reason. >>>>> >>>> Is the above reasoning sufficient? >>> I tried to look for corresponding driver change, but could not, so maybe >>> there is no ABI break in the first place. >> Here it is: >> >> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4581403f67929d02c197cb187c4e1e811c9e762a >> >> Above explanation is good, but >>> still feels like improvement and device could work without global clock. > So there is no ABI break in the first place... Commit is misleading. OK, will remove the description about ABI break in commit message. But may I know in which case ABI will be broken by adding an interrupt in bingdings and what ABI will be broken? > >> It is certainly an improvement but provides a nice user experience as the devices will be enumerated when they get plugged into the slot (like hotplug). Otherwise, users have to rescan the bus every time they plug a device. Also when the device gets removed, driver could retrain the link if link went to a bad state. Otherwise, link will remain in the broken state requiring users to unload/load the driver again. > OK Thanks Mani for your detailed explaination. Can I reword commit message like this: Qcom PCIe RC controllers are capable of generating 'global' SPI interrupt to the host CPU. This interrupt can be used by the device driver to handle PCIe link specific events such as Link up and Link down, which give the driver a chance to start bus enumeration on its own when link is up and initiate link training if link went to a bad state. This provides a nice user experience. Hence, document it in the binding along with the existing MSI interrupts. Thanks, Qiang > > Best regards, > Krzysztof >
On 14/10/2024 09:50, Qiang Yu wrote: > > On 10/12/2024 12:06 AM, Krzysztof Kozlowski wrote: >> On 11/10/2024 17:51, Manivannan Sadhasivam wrote: >>> >>> On October 11, 2024 9:14:31 PM GMT+05:30, Krzysztof Kozlowski <krzk@kernel.org> wrote: >>>> On 11/10/2024 17:42, Manivannan Sadhasivam wrote: >>>>> >>>>> On October 11, 2024 8:03:58 PM GMT+05:30, Krzysztof Kozlowski <krzk@kernel.org> wrote: >>>>>> On Fri, Oct 11, 2024 at 03:41:37AM -0700, Qiang Yu wrote: >>>>>>> Document 'global' SPI interrupt along with the existing MSI interrupts so >>>>>>> that QCOM PCIe RC driver can make use of it to get events such as PCIe >>>>>>> link specific events, safety events, etc. >>>>>> Describe the hardware, not what the driver will do. >>>>>> >>>>>>> Though adding a new interrupt will break the ABI, it is required to >>>>>>> accurately describe the hardware. >>>>>> That's poor reason. Hardware was described and missing optional piece >>>>>> (because according to your description above everything was working >>>>>> fine) is not needed to break ABI. >>>>>> >>>>> Hardware was described but not completely. 'global' IRQ let's the controller driver to handle PCIe link specific events like Link up, Link down etc... They improve user experience like the driver can use those interrupts to start bus enumeration on its own. So breaking the ABI for good in this case. >>>>> >>>>>> Sorry, if your driver changes the ABI for this poor reason. >>>>>> >>>>> Is the above reasoning sufficient? >>>> I tried to look for corresponding driver change, but could not, so maybe >>>> there is no ABI break in the first place. >>> Here it is: >>> >>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4581403f67929d02c197cb187c4e1e811c9e762a >>> >>> Above explanation is good, but >>>> still feels like improvement and device could work without global clock. >> So there is no ABI break in the first place... Commit is misleading. > OK, will remove the description about ABI break in commit message. But may Describe real effects. You got comments about ABI impact before, right? So if you remove this, how previous feedback is addressed? > I know in which case ABI will be broken by adding an interrupt in bingdings > and what ABI will be broken? Users of ABI stop working. Best regards, Krzysztof
On Fri, Oct 11, 2024 at 06:06:02PM +0200, Krzysztof Kozlowski wrote: > On 11/10/2024 17:51, Manivannan Sadhasivam wrote: > > > > > > On October 11, 2024 9:14:31 PM GMT+05:30, Krzysztof Kozlowski <krzk@kernel.org> wrote: > >> On 11/10/2024 17:42, Manivannan Sadhasivam wrote: > >>> > >>> > >>> On October 11, 2024 8:03:58 PM GMT+05:30, Krzysztof Kozlowski <krzk@kernel.org> wrote: > >>>> On Fri, Oct 11, 2024 at 03:41:37AM -0700, Qiang Yu wrote: > >>>>> Document 'global' SPI interrupt along with the existing MSI interrupts so > >>>>> that QCOM PCIe RC driver can make use of it to get events such as PCIe > >>>>> link specific events, safety events, etc. > >>>> > >>>> Describe the hardware, not what the driver will do. > >>>> > >>>>> > >>>>> Though adding a new interrupt will break the ABI, it is required to > >>>>> accurately describe the hardware. > >>>> > >>>> That's poor reason. Hardware was described and missing optional piece > >>>> (because according to your description above everything was working > >>>> fine) is not needed to break ABI. > >>>> > >>> > >>> Hardware was described but not completely. 'global' IRQ let's the controller driver to handle PCIe link specific events like Link up, Link down etc... They improve user experience like the driver can use those interrupts to start bus enumeration on its own. So breaking the ABI for good in this case. > >>> > >>>> Sorry, if your driver changes the ABI for this poor reason. > >>>> > >>> > >>> Is the above reasoning sufficient? > >> > >> I tried to look for corresponding driver change, but could not, so maybe > >> there is no ABI break in the first place. > > > > Here it is: > > > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4581403f67929d02c197cb187c4e1e811c9e762a > > > > Above explanation is good, but > >> still feels like improvement and device could work without global clock. > > So there is no ABI break in the first place... Commit is misleading. > It increases the 'minItems' to 9 from 8, how come it is not an ABI break? - Mani
On 14/10/2024 11:02, Manivannan Sadhasivam wrote: > On Fri, Oct 11, 2024 at 06:06:02PM +0200, Krzysztof Kozlowski wrote: >> On 11/10/2024 17:51, Manivannan Sadhasivam wrote: >>> >>> >>> On October 11, 2024 9:14:31 PM GMT+05:30, Krzysztof Kozlowski <krzk@kernel.org> wrote: >>>> On 11/10/2024 17:42, Manivannan Sadhasivam wrote: >>>>> >>>>> >>>>> On October 11, 2024 8:03:58 PM GMT+05:30, Krzysztof Kozlowski <krzk@kernel.org> wrote: >>>>>> On Fri, Oct 11, 2024 at 03:41:37AM -0700, Qiang Yu wrote: >>>>>>> Document 'global' SPI interrupt along with the existing MSI interrupts so >>>>>>> that QCOM PCIe RC driver can make use of it to get events such as PCIe >>>>>>> link specific events, safety events, etc. >>>>>> >>>>>> Describe the hardware, not what the driver will do. >>>>>> >>>>>>> >>>>>>> Though adding a new interrupt will break the ABI, it is required to >>>>>>> accurately describe the hardware. >>>>>> >>>>>> That's poor reason. Hardware was described and missing optional piece >>>>>> (because according to your description above everything was working >>>>>> fine) is not needed to break ABI. >>>>>> >>>>> >>>>> Hardware was described but not completely. 'global' IRQ let's the controller driver to handle PCIe link specific events like Link up, Link down etc... They improve user experience like the driver can use those interrupts to start bus enumeration on its own. So breaking the ABI for good in this case. >>>>> >>>>>> Sorry, if your driver changes the ABI for this poor reason. >>>>>> >>>>> >>>>> Is the above reasoning sufficient? >>>> >>>> I tried to look for corresponding driver change, but could not, so maybe >>>> there is no ABI break in the first place. >>> >>> Here it is: >>> >>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4581403f67929d02c197cb187c4e1e811c9e762a >>> >>> Above explanation is good, but >>>> still feels like improvement and device could work without global clock. >> >> So there is no ABI break in the first place... Commit is misleading. >> > > It increases the 'minItems' to 9 from 8, how come it is not an ABI break? Interface changed but all known users are still working, right? "Break" means something does not work, something is affected. I might be missing here something, of course, but I simply do not see any affected user here. Best regards, Krzysztof
On October 14, 2024 2:56:58 PM GMT+05:30, Krzysztof Kozlowski <krzk@kernel.org> wrote: >On 14/10/2024 11:02, Manivannan Sadhasivam wrote: >> On Fri, Oct 11, 2024 at 06:06:02PM +0200, Krzysztof Kozlowski wrote: >>> On 11/10/2024 17:51, Manivannan Sadhasivam wrote: >>>> >>>> >>>> On October 11, 2024 9:14:31 PM GMT+05:30, Krzysztof Kozlowski <krzk@kernel.org> wrote: >>>>> On 11/10/2024 17:42, Manivannan Sadhasivam wrote: >>>>>> >>>>>> >>>>>> On October 11, 2024 8:03:58 PM GMT+05:30, Krzysztof Kozlowski <krzk@kernel.org> wrote: >>>>>>> On Fri, Oct 11, 2024 at 03:41:37AM -0700, Qiang Yu wrote: >>>>>>>> Document 'global' SPI interrupt along with the existing MSI interrupts so >>>>>>>> that QCOM PCIe RC driver can make use of it to get events such as PCIe >>>>>>>> link specific events, safety events, etc. >>>>>>> >>>>>>> Describe the hardware, not what the driver will do. >>>>>>> >>>>>>>> >>>>>>>> Though adding a new interrupt will break the ABI, it is required to >>>>>>>> accurately describe the hardware. >>>>>>> >>>>>>> That's poor reason. Hardware was described and missing optional piece >>>>>>> (because according to your description above everything was working >>>>>>> fine) is not needed to break ABI. >>>>>>> >>>>>> >>>>>> Hardware was described but not completely. 'global' IRQ let's the controller driver to handle PCIe link specific events like Link up, Link down etc... They improve user experience like the driver can use those interrupts to start bus enumeration on its own. So breaking the ABI for good in this case. >>>>>> >>>>>>> Sorry, if your driver changes the ABI for this poor reason. >>>>>>> >>>>>> >>>>>> Is the above reasoning sufficient? >>>>> >>>>> I tried to look for corresponding driver change, but could not, so maybe >>>>> there is no ABI break in the first place. >>>> >>>> Here it is: >>>> >>>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4581403f67929d02c197cb187c4e1e811c9e762a >>>> >>>> Above explanation is good, but >>>>> still feels like improvement and device could work without global clock. >>> >>> So there is no ABI break in the first place... Commit is misleading. >>> >> >> It increases the 'minItems' to 9 from 8, how come it is not an ABI break? > >Interface changed but all known users are still working, right? "Break" >means something does not work, something is affected. Hmm. I thought you were referring to the DTS warnings (for old DTS) that come out of these changes. But for kernel ABI, yes there is no breakage. Sorry for the confusion. - Mani > I might be missing >here something, of course, but I simply do not see any affected user here. > >Best regards, >Krzysztof > > மணிவண்ணன் சதாசிவம்
On 10/14/2024 5:41 PM, Manivannan Sadhasivam wrote: > > On October 14, 2024 2:56:58 PM GMT+05:30, Krzysztof Kozlowski <krzk@kernel.org> wrote: >> On 14/10/2024 11:02, Manivannan Sadhasivam wrote: >>> On Fri, Oct 11, 2024 at 06:06:02PM +0200, Krzysztof Kozlowski wrote: >>>> On 11/10/2024 17:51, Manivannan Sadhasivam wrote: >>>>> >>>>> On October 11, 2024 9:14:31 PM GMT+05:30, Krzysztof Kozlowski <krzk@kernel.org> wrote: >>>>>> On 11/10/2024 17:42, Manivannan Sadhasivam wrote: >>>>>>> >>>>>>> On October 11, 2024 8:03:58 PM GMT+05:30, Krzysztof Kozlowski <krzk@kernel.org> wrote: >>>>>>>> On Fri, Oct 11, 2024 at 03:41:37AM -0700, Qiang Yu wrote: >>>>>>>>> Document 'global' SPI interrupt along with the existing MSI interrupts so >>>>>>>>> that QCOM PCIe RC driver can make use of it to get events such as PCIe >>>>>>>>> link specific events, safety events, etc. >>>>>>>> Describe the hardware, not what the driver will do. >>>>>>>> >>>>>>>>> Though adding a new interrupt will break the ABI, it is required to >>>>>>>>> accurately describe the hardware. >>>>>>>> That's poor reason. Hardware was described and missing optional piece >>>>>>>> (because according to your description above everything was working >>>>>>>> fine) is not needed to break ABI. >>>>>>>> >>>>>>> Hardware was described but not completely. 'global' IRQ let's the controller driver to handle PCIe link specific events like Link up, Link down etc... They improve user experience like the driver can use those interrupts to start bus enumeration on its own. So breaking the ABI for good in this case. >>>>>>> >>>>>>>> Sorry, if your driver changes the ABI for this poor reason. >>>>>>>> >>>>>>> Is the above reasoning sufficient? >>>>>> I tried to look for corresponding driver change, but could not, so maybe >>>>>> there is no ABI break in the first place. >>>>> Here it is: >>>>> >>>>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4581403f67929d02c197cb187c4e1e811c9e762a >>>>> >>>>> Above explanation is good, but >>>>>> still feels like improvement and device could work without global clock. >>>> So there is no ABI break in the first place... Commit is misleading. >>>> >>> It increases the 'minItems' to 9 from 8, how come it is not an ABI break? >> Interface changed but all known users are still working, right? "Break" >> means something does not work, something is affected. > Hmm. I thought you were referring to the DTS warnings (for old DTS) that come out of these changes. But for kernel ABI, yes there is no breakage. I really see dts warning after dtbs checking and since global irq is to improve user experience and device could still work without it, will keep the 'minItems' as 8 and set 'maxItems' as 9. Thanks Qiang > > Sorry for the confusion. > > - Mani > >> I might be missing >> here something, of course, but I simply do not see any affected user here. >> >> Best regards, >> Krzysztof >> >> > மணிவண்ணன் சதாசிவம்
On 10/14/2024 4:25 PM, Krzysztof Kozlowski wrote: > On 14/10/2024 09:50, Qiang Yu wrote: >> On 10/12/2024 12:06 AM, Krzysztof Kozlowski wrote: >>> On 11/10/2024 17:51, Manivannan Sadhasivam wrote: >>>> On October 11, 2024 9:14:31 PM GMT+05:30, Krzysztof Kozlowski <krzk@kernel.org> wrote: >>>>> On 11/10/2024 17:42, Manivannan Sadhasivam wrote: >>>>>> On October 11, 2024 8:03:58 PM GMT+05:30, Krzysztof Kozlowski <krzk@kernel.org> wrote: >>>>>>> On Fri, Oct 11, 2024 at 03:41:37AM -0700, Qiang Yu wrote: >>>>>>>> Document 'global' SPI interrupt along with the existing MSI interrupts so >>>>>>>> that QCOM PCIe RC driver can make use of it to get events such as PCIe >>>>>>>> link specific events, safety events, etc. >>>>>>> Describe the hardware, not what the driver will do. >>>>>>> >>>>>>>> Though adding a new interrupt will break the ABI, it is required to >>>>>>>> accurately describe the hardware. >>>>>>> That's poor reason. Hardware was described and missing optional piece >>>>>>> (because according to your description above everything was working >>>>>>> fine) is not needed to break ABI. >>>>>>> >>>>>> Hardware was described but not completely. 'global' IRQ let's the controller driver to handle PCIe link specific events like Link up, Link down etc... They improve user experience like the driver can use those interrupts to start bus enumeration on its own. So breaking the ABI for good in this case. >>>>>> >>>>>>> Sorry, if your driver changes the ABI for this poor reason. >>>>>>> >>>>>> Is the above reasoning sufficient? >>>>> I tried to look for corresponding driver change, but could not, so maybe >>>>> there is no ABI break in the first place. >>>> Here it is: >>>> >>>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4581403f67929d02c197cb187c4e1e811c9e762a >>>> >>>> Above explanation is good, but >>>>> still feels like improvement and device could work without global clock. >>> So there is no ABI break in the first place... Commit is misleading. >> OK, will remove the description about ABI break in commit message. But may > Describe real effects. You got comments about ABI impact before, right? > So if you remove this, how previous feedback is addressed? Global interrupt is parsed as optional in driver, so there is no ABI break, will write this in commit message. Thanks Qiang > > >> I know in which case ABI will be broken by adding an interrupt in bingdings >> and what ABI will be broken? > Users of ABI stop working. > > Best regards, > Krzysztof >
diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie-x1e80100.yaml b/Documentation/devicetree/bindings/pci/qcom,pcie-x1e80100.yaml index a9db0a231563..2c0e01fc0ab8 100644 --- a/Documentation/devicetree/bindings/pci/qcom,pcie-x1e80100.yaml +++ b/Documentation/devicetree/bindings/pci/qcom,pcie-x1e80100.yaml @@ -46,8 +46,8 @@ properties: - const: cnoc_sf_axi # Config NoC PCIe1 AXI clock interrupts: - minItems: 8 - maxItems: 8 + minItems: 9 + maxItems: 9 interrupt-names: items: @@ -59,6 +59,7 @@ properties: - const: msi5 - const: msi6 - const: msi7 + - const: global resets: minItems: 1 @@ -130,9 +131,10 @@ examples: <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>, - <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>; + <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "msi0", "msi1", "msi2", "msi3", - "msi4", "msi5", "msi6", "msi7"; + "msi4", "msi5", "msi6", "msi7", "global"; #interrupt-cells = <1>; interrupt-map-mask = <0 0 0 0x7>; interrupt-map = <0 0 0 1 &intc 0 0 0 149 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
Document 'global' SPI interrupt along with the existing MSI interrupts so that QCOM PCIe RC driver can make use of it to get events such as PCIe link specific events, safety events, etc. Though adding a new interrupt will break the ABI, it is required to accurately describe the hardware. Signed-off-by: Qiang Yu <quic_qianyu@quicinc.com> --- .../devicetree/bindings/pci/qcom,pcie-x1e80100.yaml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)