[PATCH v2 1/3] usb: dwc3: add ST dwc3 glue layer to manage dwc3 HC

Peter Griffin peter.griffin at linaro.org
Wed Jul 23 07:33:23 PDT 2014


Hi Felipe,

Thanks for reviewing, see my comments inline: -

> > > Just use {read,write}l_relaxed() directly.
> > 
> > Ok, unabstracted in v3
> 
> no, no... all other glues add their own local helpers for register
> access. This is good for tracing, it's very easy to add a tracepoint to
> this sort of function and get very low overhead tracing of every
> register access.

I've put the IO accessors back in for V3

> > They are just bit setting macros, I've converted them over to use BIT macro now,
> > so it no longer takes a parameter.
> 
> the macros are better, but make them upper case as everybody else.

Fixed in v3.


> > I've asked ST how this value was derirved and why. It came from validation. 
> > The docs don't mention that it is necessary, and removing it
> > seems to have no ill effects. So I've removed this udelay in v3.
> 
> make sure to test with many, many iterations just to make sure.

Yes will do, I've been booting my board all day, and so far no failures.

> > Ok. Do the DT folks have any comment on this?
> 
> look at the child's dr-mode property instead of adding your own.

Thanks for the hint, now using dr-mode binding in V3 :-)
 
> 
> > > > +	dwc3_data->glue_base = devm_request_and_ioremap(dev, res);
> 
> use devm_ioremap_resource()

Fixed in V3

> > Your right, this was wrong. It was some legacy code which is
> > unnecessary and I've removed this in v3.
> 
> if you're going for DT, why don't you create the parent and the child
> from DT as omap/exynos/qcom are doing ?

Now creating parent and child from DT like OMAP in v3

> > > > +	reset_control_assert(dwc3_data->rstc_pwrdn);
> > > > +
> > > > +	pinctrl_pm_select_sleep_state(dev);
> 
> pinctrl will select sleep and default states automatically for you.

I've left this in v3, as greping around I couldn't see how that could happen automatically.

Also I just double checked with linusw on irc who confirmed that the only state which is 
ever auto-selected is "default". All other states, as well as going back to default
state need to be explicitly called.

Hope thats ok.

regards,

Peter.



More information about the linux-arm-kernel mailing list