[U-Boot] [PATCH] pci: tegra: fix DM conversion issues on Tegra20

Tom Warren TWarren at nvidia.com
Wed May 4 22:25:00 CEST 2016


I'll add it to u-boot-tegra/master for the next PR.

> -----Original Message-----
> From: Stephen Warren [mailto:swarren at wwwdotorg.org]
> Sent: Wednesday, May 04, 2016 12:00 PM
> To: Tom Warren <TWarren at nvidia.com>
> Cc: u-boot at lists.denx.de; Simon Glass <sjg at chromium.org>; Stephen Warren
> <swarren at nvidia.com>
> Subject: Re: [U-Boot] [PATCH] pci: tegra: fix DM conversion issues on Tegra20
> 
> On 04/20/2016 03:46 PM, Stephen Warren wrote:
> > From: Stephen Warren <swarren at nvidia.com>
> >
> > Tegra20's PCIe controller has a couple of quirks. There are
> > workarounds in the driver for these, but they don't work after the DM
> conversion:
> >
> > 1) The PCI_CLASS value is wrong in HW.
> >
> > This is worked around in pci_tegra_read_config() by patching up the
> > value read from that register. Pre-DM, the PCIe core always read this
> > via a 16-bit access to the 16-bit offset 0xa. With DM, 32-bit accesses
> > are used, so we need to check for offset 0x8 instead. Mask the offset
> > value back to 32-bit alignment to make this work in all cases.
> >
> > 2) Accessing devices other than dev 1 causes a data abort.
> >
> > Pre-DM, this was worked around in pci_skip_dev(), which the PCIe core
> > code called during enumeration while iterating over a bus. The DM PCIe
> > core doesn't use this function. Instead, enhance
> > tegra_pcie_conf_address() to validate the bdf being accessed, and refuse to
> access invalid devices.
> > Since pci_skip_dev() isn't used, delete it.
> >
> > I've also validated that both these WARs are only needed for Tegra20,
> > by testing on Tegra30/Cardhu and Tegra124/Jetson TKx. So, compile them
> > in conditionally.
> >
> > Fixes: e81ca88451cf ("dm: tegra: pci: Convert tegra boards to driver
> > model for PCI")
> > Signed-off-by: Stephen Warren <swarren at nvidia.com>
> 
> TomW, I'd like to make sure this one gets into the upcoming release, since it's a
> functional bug-fix.
-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------


More information about the U-Boot mailing list