Re: [PATCH] 4xx: Add check_link to struct ppc4xx_pciex_hwops
From: Ayman El-Khashab <hidden>
Date: 2011-07-12 17:46:17
From: Ayman El-Khashab <hidden>
Date: 2011-07-12 17:46:17
On Fri, Jul 01, 2011 at 04:44:24PM +1000, Tony Breeds wrote:
All current pcie controllers unconditionally use SDR to check the link and poll for reset.
I was able to apply this patch and then modify the 460SX to work correctly, so I think it is fine. There is only 1 comment below. So how does one supply a patch atop another patch? Best, Ayman
+static int __init ppc4xx_pciex_port_reset_sdr(struct ppc4xx_pciex_port *port)
+{
+ printk(KERN_INFO "PCIE%d: Checking link...\n",
+ port->index);Its not a functional problem, but this printk belongs in the check link if anywhere rather than the reset.
+
+ /* Wait for reset to complete */
+ if (ppc4xx_pciex_wait_on_sdr(port, PESDRn_RCSSTS, 1 << 20, 0, 10)) {
+ printk(KERN_WARNING "PCIE%d: PGRST failed\n",
+ port->index);
+ return -1;
+ }
+ return 0;
+}