lkml.org 
[lkml]   [2017]   [Oct]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [alsa-devel] [PATCH 04/14] soundwire: Add MIPI DisCo property helpers
On Thu, Oct 19, 2017 at 11:02:02AM +0200, Takashi Iwai wrote:
> On Thu, 19 Oct 2017 05:03:20 +0200,
> Vinod Koul wrote:
> >
> > + slave->ops = drv->ops;
> > +
> > ret = drv->probe(slave, id);
> > if (ret) {
> > dev_err(dev, "Probe of %s failed: %d\n", drv->name, ret);
> > return ret;
> > }
> >
> > + /* device is probed so let's read the properties now */
> > + if (slave->ops && slave->ops->read_prop)
> > + slave->ops->read_prop(slave);
> > +
> > + /*
> > + * Check for valid clk_stop_timeout, use DisCo worst case value of
> > + * 300ms
> > + */
> > + if (slave->prop.clk_stop_timeout == 0)
> > + slave->prop.clk_stop_timeout = 300;
> > +
> > + slave->bus->clk_stop_timeout = max_t(u32, slave->bus->clk_stop_timeout,
> > + slave->prop.clk_stop_timeout);
>
> Isn't it racy?
> Also what happens after removing a driver? The clk_stop_timeout is
> kept high?

Well the spec mandates 300 as worst case, in practice this _should_ be
lesser. I need to double check on behaviour of clock stop on driver removal.
We need to keep in mind that multiple Slaves can be on a bus and removal
maybe from one of them, so we may not do clock stop.

> > +
> > +int sdw_slave_read_dpn(struct sdw_slave *slave,
> > + struct sdw_dpn_prop *dpn, int count, int ports, char *type)
>
> Missing comment for a public API function.

Ah missed this one. It was made public for debug, lets make it static now :)

--
~Vinod

\
 
 \ /
  Last update: 2017-10-22 17:34    [W:0.153 / U:0.504 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site