Patchwork [1/1] usb: ehci-fsl: set INCR8 mode only on MPC512x

login
register
mail settings
Submitter Tiejun Chen
Date April 24, 2013, 2:55 a.m.
Message ID <1366772110-9620-1-git-send-email-tiejun.chen@windriver.com>
Download mbox | patch
Permalink /patch/239038/
State Rejected
Delegated to: Anatolij Gustschin
Headers show

Comments

Tiejun Chen - April 24, 2013, 2:55 a.m.
commit 761bbcb7, "usb: ehci-fsl: set INCR8 mode for system bus interface
on MPC512x", introduced to fix one MPC5121e (M36P) Errata by setting
INCR8 mode for system bus interface on MPC512x, but we should make sure
this is only valid for MPC512x like other parts of this commit. Otherwise
this would issue other platforms as abnormal without this similar Errata.

Signed-off-by: Tiejun Chen <tiejun.chen@windriver.com>
---
 drivers/usb/host/ehci-fsl.c |   10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
Tiejun Chen - April 24, 2013, 3:13 a.m.
Sorry, please ignore this temporarily since looks this is already covered in tree.

I will look further into this to send another version.

Tiejun

On 04/24/2013 10:55 AM, Tiejun Chen wrote:
> commit 761bbcb7, "usb: ehci-fsl: set INCR8 mode for system bus interface
> on MPC512x", introduced to fix one MPC5121e (M36P) Errata by setting
> INCR8 mode for system bus interface on MPC512x, but we should make sure
> this is only valid for MPC512x like other parts of this commit. Otherwise
> this would issue other platforms as abnormal without this similar Errata.
>
> Signed-off-by: Tiejun Chen <tiejun.chen@windriver.com>
> ---
>   drivers/usb/host/ehci-fsl.c |   10 +++++++++-
>   1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/usb/host/ehci-fsl.c b/drivers/usb/host/ehci-fsl.c
> index d81d2fc..f4f2a7b 100644
> --- a/drivers/usb/host/ehci-fsl.c
> +++ b/drivers/usb/host/ehci-fsl.c
> @@ -509,7 +509,15 @@ static int ehci_fsl_mpc512x_drv_resume(struct device *dev)
>   	ehci_writel(ehci, ISIPHYCTRL_PXE | ISIPHYCTRL_PHYE,
>   		    hcd->regs + FSL_SOC_USB_ISIPHYCTRL);
>
> -	ehci_writel(ehci, SBUSCFG_INCR8, hcd->regs + FSL_SOC_USB_SBUSCFG);
> +	if (of_device_is_compatible(dev->parent->of_node,
> +				    "fsl,mpc5121-usb2-dr")) {
> +		/*
> +		 * set SBUSCFG:AHBBRST so that control msgs don't
> +		 * fail when doing heavy PATA writes.
> +		 */
> +		ehci_writel(ehci, SBUSCFG_INCR8,
> +			    hcd->regs + FSL_SOC_USB_SBUSCFG);
> +	}
>
>   	/* restore EHCI registers */
>   	ehci_writel(ehci, pdata->pm_command, &ehci->regs->command);
>
Anatolij Gustschin - April 24, 2013, 5:55 a.m.
On Wed, 24 Apr 2013 10:55:10 +0800
Tiejun Chen <tiejun.chen@windriver.com> wrote:

> commit 761bbcb7, "usb: ehci-fsl: set INCR8 mode for system bus interface
> on MPC512x", introduced to fix one MPC5121e (M36P) Errata by setting
> INCR8 mode for system bus interface on MPC512x, but we should make sure
> this is only valid for MPC512x like other parts of this commit. Otherwise

NAK. It is already only valid for MPC512x.

> this would issue other platforms as abnormal without this similar Errata.

This setting is in the ehci_fsl_mpc512x_drv_resume() function which is
not called on other platforms.

Thanks,

Anatolij
Tiejun Chen - April 24, 2013, 6:40 a.m.
On 04/24/2013 01:55 PM, Anatolij Gustschin wrote:
> On Wed, 24 Apr 2013 10:55:10 +0800
> Tiejun Chen <tiejun.chen@windriver.com> wrote:
>
>> commit 761bbcb7, "usb: ehci-fsl: set INCR8 mode for system bus interface
>> on MPC512x", introduced to fix one MPC5121e (M36P) Errata by setting
>> INCR8 mode for system bus interface on MPC512x, but we should make sure
>> this is only valid for MPC512x like other parts of this commit. Otherwise
>
> NAK. It is already only valid for MPC512x.
>
>> this would issue other platforms as abnormal without this similar Errata.
>
> This setting is in the ehci_fsl_mpc512x_drv_resume() function which is
> not called on other platforms.

Yes, I already notice this and also send a notification to ignore this improper 
patch immediately ;-)

Thanks,

Tiejun

Patch

diff --git a/drivers/usb/host/ehci-fsl.c b/drivers/usb/host/ehci-fsl.c
index d81d2fc..f4f2a7b 100644
--- a/drivers/usb/host/ehci-fsl.c
+++ b/drivers/usb/host/ehci-fsl.c
@@ -509,7 +509,15 @@  static int ehci_fsl_mpc512x_drv_resume(struct device *dev)
 	ehci_writel(ehci, ISIPHYCTRL_PXE | ISIPHYCTRL_PHYE,
 		    hcd->regs + FSL_SOC_USB_ISIPHYCTRL);
 
-	ehci_writel(ehci, SBUSCFG_INCR8, hcd->regs + FSL_SOC_USB_SBUSCFG);
+	if (of_device_is_compatible(dev->parent->of_node,
+				    "fsl,mpc5121-usb2-dr")) {
+		/*
+		 * set SBUSCFG:AHBBRST so that control msgs don't
+		 * fail when doing heavy PATA writes.
+		 */
+		ehci_writel(ehci, SBUSCFG_INCR8,
+			    hcd->regs + FSL_SOC_USB_SBUSCFG);
+	}
 
 	/* restore EHCI registers */
 	ehci_writel(ehci, pdata->pm_command, &ehci->regs->command);