Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1665723
| From | Bjorn Helgaas <helgaas@kernel.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH v3] PCI: Workaround wrong flags completions for IDT switch |
| Date | 2017-06-14 13:40 +0200 |
| Message-ID | <tSeOu-4BC-5@gated-at.bofh.it> (permalink) |
| References | (1 earlier) <tRFnI-7CW-7@gated-at.bofh.it> <tRXui-2gn-9@gated-at.bofh.it> <tRYTn-31j-3@gated-at.bofh.it> <tS2ki-5dw-17@gated-at.bofh.it> <tS3q1-5Rb-1@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Tue, Jun 13, 2017 at 07:19:57PM -0400, James Puthukattukaran wrote: > > On Jun 13, 2017, at 6:14 PM, Bjorn Helgaas <helgaas@kernel.org> wrote: > >> On Tue, Jun 13, 2017 at 02:30:55PM -0400, james puthukattukaran wrote: > >>> On 6/13/2017 1:00 PM, Yinghai Lu wrote: > >>>> On Mon, Jun 12, 2017 at 2:48 PM, Bjorn Helgaas <helgaas@kernel.org> wrote: > >>>>> On Fri, Jun 09, 2017 at 04:16:17PM -0700, Yinghai Lu wrote: > >>>>> From: James Puthukattukaran <james.puthukattukaran@oracle.com> > >>>>> > >>>>> The IDT switch incorrectly flags an ACS source violation on a read config > >>>>> request to an end point device on the completion (IDT 89H32H8G3-YC, > >>>>> errata #36) even though the PCI Express spec states that completions are > >>>>> never affected by ACS source violation (PCI Spec 3.1, Section 6.12.1.1). > >>>> Can you include a URL where this erratum is published? If not, can > >>>> you include the actual erratum text here? > >> > >> Here's the errata text > >> ------------------------------------ > >> Item #36 - Downstream port applies ACS Source Validation to > >> Completions “Section 6.12.1.1" of the PCI Express Base > >> Specification 3.1 states that completions are never affected by > >> ACS Source Validation. However, completions received by a > >> downstream port of the PCIe switch from a device that has not yet > >> captured a PCIe bus number are incorrectly dropped by ACS source > >> validation by the switch downstream port. > >> > >> Workaround: Issue a CfgWr1 to the downstream device before > >> issuing the first CfgRd1 to the device. This allows the > >> downstream device to capture its bus number; ACS source > >> validation no longer stops completions from being forwarded by > >> the downstream port. It has been observed that Microsoft Windows > >> implements this workaround already; however, some versions of > >> Linux and other operating systems may not. > > > > This doesn't mention anything about disabling ACS. Issuing a > > config write to devices downstream of an IDT bridge sounds simpler > > than what this patch does. Why don't you do that? > > The issue is how will we know is the config write succeeds if the > device is not ready? I thought it was simpler to disable acs for the > sake of the read and when we know that the device is ready ( returns > vendor id from read), it's ready for subsequent config write. If that's a problem, it sounds like the errata text is wrong or at least incomplete. If disabling ACS SV is required, the errata text should mention it. But I don't think it is a problem. Per PCIe r3.1, sec 2.3.2, if a Root Complex receives a CRS completion for a Configuration Write, it must re-issue the request. Or did you actually try that and find that it didn't work? Bjorn
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH v3] PCI: Workaround wrong flags completions for IDT switch Yinghai Lu <yinghai@kernel.org> - 2017-06-10 01:20 +0200
Re: [PATCH v3] PCI: Workaround wrong flags completions for IDT switch Bjorn Helgaas <helgaas@kernel.org> - 2017-06-12 23:50 +0200
Re: [PATCH v3] PCI: Workaround wrong flags completions for IDT switch Yinghai Lu <yinghai@kernel.org> - 2017-06-13 19:10 +0200
Re: [PATCH v3] PCI: Workaround wrong flags completions for IDT switch james puthukattukaran <james.puthukattukaran@oracle.com> - 2017-06-13 20:40 +0200
Re: [PATCH v3] PCI: Workaround wrong flags completions for IDT switch Bjorn Helgaas <helgaas@kernel.org> - 2017-06-14 00:20 +0200
Re: [PATCH v3] PCI: Workaround wrong flags completions for IDT switch James Puthukattukaran <james.puthukattukaran@oracle.com> - 2017-06-14 01:30 +0200
Re: [PATCH v3] PCI: Workaround wrong flags completions for IDT switch Bjorn Helgaas <helgaas@kernel.org> - 2017-06-14 13:40 +0200
Re: [PATCH v3] PCI: Workaround wrong flags completions for IDT switch James Puthukattukaran <james.puthukattukaran@oracle.com> - 2017-06-14 20:10 +0200
Re: [PATCH v3] PCI: Workaround wrong flags completions for IDT switch Bjorn Helgaas <helgaas@kernel.org> - 2017-06-15 22:00 +0200
Re: [PATCH v3] PCI: Workaround wrong flags completions for IDT switch Bjorn Helgaas <helgaas@kernel.org> - 2017-06-14 00:20 +0200
csiph-web