From: Gabe Black on
Hi,

The TI XIO2000A/XIO2200A PCIe-PCI bridge (VID: 104C, DID: 8231)
erroneously handles fast back-to-back transfers on its subordinate bus
segment. The behavior is seen when there are multiple devices
downstream and transfers from both devices result in a fast b2b
transfer. This confuses the PCIe-PCI bridge and results in data
corruption.

One way to work around the buggy bridge would be to disable fast b2b
transfers on any device on the subordinate bus-segment by writing the
appropriate bits in the device's pci-configspace command register.

Are there any suggestions on how this might be handled? Should this
be addressed in the kernel?

Thanks,
Gabe Black
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Arjan van de Ven on
On Tue, 22 Sep 2009 14:01:06 -0500
Gabe Black <gabebblack(a)gmail.com> wrote:

> Hi,
>
> The TI XIO2000A/XIO2200A PCIe-PCI bridge (VID: 104C, DID: 8231)
> erroneously handles fast back-to-back transfers on its subordinate bus
> segment. The behavior is seen when there are multiple devices
> downstream and transfers from both devices result in a fast b2b
> transfer. This confuses the PCIe-PCI bridge and results in data
> corruption.
>
> One way to work around the buggy bridge would be to disable fast b2b
> transfers on any device on the subordinate bus-segment by writing the
> appropriate bits in the device's pci-configspace command register.
>
> Are there any suggestions on how this might be handled? Should this
> be addressed in the kernel?

sounds like this is worth a PCI quirk in the kernel...


--
Arjan van de Ven Intel Open Source Technology Centre
For development, discussion and tips for power savings,
visit http://www.lesswatts.org
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Gabe Black on
On Tue, Sep 22, 2009 at 2:11 PM, Arjan van de Ven <arjan(a)infradead.org> wrote:
>
> sounds like this is worth a PCI quirk in the kernel...
>

Is there documentation on how one would go about writing a "PCI quirk"?

Thanks,
Gabe
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Arjan van de Ven on
On Tue, 22 Sep 2009 14:37:16 -0500
Gabe Black <gabebblack(a)gmail.com> wrote:

> On Tue, Sep 22, 2009 at 2:11 PM, Arjan van de Ven
> <arjan(a)infradead.org> wrote:
> >
> > sounds like this is worth a PCI quirk in the kernel...
> >
>
> Is there documentation on how one would go about writing a "PCI
> quirk"?
>

I would look at the existing quirks in the drivers/pci/quirks.c file...
plenty of good (or bad, depending on how you look at it) examples...

--
Arjan van de Ven Intel Open Source Technology Centre
For development, discussion and tips for power savings,
visit http://www.lesswatts.org
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Jesse Barnes on
On Tue, 22 Sep 2009 22:07:47 +0200
Arjan van de Ven <arjan(a)infradead.org> wrote:

> On Tue, 22 Sep 2009 14:37:16 -0500
> Gabe Black <gabebblack(a)gmail.com> wrote:
>
> > On Tue, Sep 22, 2009 at 2:11 PM, Arjan van de Ven
> > <arjan(a)infradead.org> wrote:
> > >
> > > sounds like this is worth a PCI quirk in the kernel...
> > >
> >
> > Is there documentation on how one would go about writing a "PCI
> > quirk"?
> >
>
> I would look at the existing quirks in the drivers/pci/quirks.c
> file... plenty of good (or bad, depending on how you look at it)
> examples...

Gabe, did you figure out how to do this? Do you need any more help?

--
Jesse Barnes, Intel Open Source Technology Center
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/