Re: [PATCH v1 3/3] usb: musb: dsps: handle babble condition for dsps platform

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Wed, May 29, 2013 at 06:37:04PM +0530, Ravi Babu wrote:
> @@ -428,6 +436,29 @@ static int dsps_musb_exit(struct musb *musb)
>  	return 0;
>  }
>  
> +static void dsps_musb_restart(struct musb *musb)
> +{
> +	struct device *dev = musb->controller;
> +	struct dsps_glue *glue = dev_get_drvdata(dev->parent);
> +	const struct dsps_musb_wrapper *wrp = glue->wrp;
> +	void __iomem *reg_base = musb->ctrl_base;
> +
> +	/* Reset the musb */
> +	dsps_writel(reg_base, wrp->control, (1 << wrp->reset));
> +	udelay(100);
> +
> +	/* Stop the on-chip PHY and its PLL. */
> +	usb_phy_vbus_off(musb->xceiv);
> +	udelay(100);
> +
> +	/* Start the on-chip PHY and its PLL. */
> +	usb_phy_vbus_on(musb->xceiv);
> +	udelay(100);
> +
> +	/* reinit the endpoint fifo table and restart musb */
> +	musb_restart(musb);

everything here, except for the glue reset, is generic. The thing is
that I don't really think the IP needs to be reset to recover from
babble.

Babble is a valid error condition, it's not even fatal right.

-- 
balbi

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux