[U-Boot] U-boot hangs on imx6 pci driver

Marek Vasut
2014-05-27T14:56:31Z

On Tuesday, May 27, 2014 at 04:43:08 PM, David M?ller (ELSOFT AG) wrote:
> Marek Vasut wrote:
> > Take a look at SR# 1-1347946851 in the FSL internal bug tracker. It
> > looks like the PCIe IP core implementation in the MX6 is bugged in my
> > opinion.
>
> Are there any publicly available info regarding this SR?

Scrubbed the irrelevant bits:

-->8--
Please find a defect report below for the i.MX6DL PCI express driver in current
Linux 3.10.17-1.0.0-ga released by Freescale:

Priority: High

Issue Type: Defect Report
Problem Category: Freescale Software
Problem Domain: Serial Connectivity

Project Name: Freescale SabreSDP
Industry Segment: Industrial

Target Processor: i.MX6DL Processors
Target HW Platform: i.MX6DL SabreSDP
Target OS: Linux
Target Software Package: Linux imx_3.10.17_1.0.0_ga

PC Host System O/S, Version: Not Applicable in this case

Reproducibility: Rarely
Steps to Reproduce:
Prep:
1) Take MX6DL SabreSDP platform
2) Attach Intel i210 PCI express card
3) Install BSP with kernel 3.10.17-1.0.0-ga onto SD card
4) Boot the platform and confirm the i210 is recognized

Test:
1) Power on the MX6DL SabreSDP
2) Boot the kernel
3) Verify the SabreSDP recognized the i210
4) When the platform reaches the init process, trigger a software-reboot
5) The software-reboot will put the platform back into U-Boot, so the SabreSDP
will again continue from step 2) by booting the kernel automatically.

Test steps 2)...5) must be performed at least 10000 times.

Expected Results:
10000 of 10000 times, the PCI express i210 card will be recognized by the
platform. The PCI express link will always reliably come up.

Observed Results:
After some hundreds of the soft-reboot cycles, the i210 is not recognized.
This is caused by the PCI express link failing to come up. We see "link never
came up" message in the kernel log.

Description:
We perform the test above -- soft-restarting the MX6DL SabreSDP platform with
Linux 3.10.17-1.0.0-ga in quick sequences. We would expect for the PCIe link
to reliably come up in all of the 10000 cycles, but in some of those cycles,
the link fails to come up.

Can you please confirm/replicate the issue and provide us with a fix ?
--8<--

Best regards,
Marek Vasut