[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180625162156.GC2404@vkoul-mobl>
Date: Mon, 25 Jun 2018 21:51:56 +0530
From: Vinod <vkoul@...nel.org>
To: Srinivas Kandagatla <srinivas.kandagatla@...aro.org>
Cc: gregkh@...uxfoundation.org, broonie@...nel.org,
sdharia@...cinc.com, linux-kernel@...r.kernel.org,
linux-arm-msm@...r.kernel.org, alsa-devel@...a-project.org,
ctatlor97@...il.com
Subject: Re: [PATCH 1/2] slimbus: stream: add stream support
On 25-06-18, 11:11, Srinivas Kandagatla wrote:
> > > +struct slim_stream_runtime *slim_stream_allocate(struct slim_device *dev,
> > > + const char *name)
> > > +{
> > > + struct slim_stream_runtime *rt;
> > > + unsigned long flags;
> > > +
> > > + rt = kzalloc(sizeof(*rt), GFP_KERNEL);
> > > + if (!rt)
> > > + return ERR_PTR(-ENOMEM);
> > > +
> > > + rt->name = kasprintf(GFP_KERNEL, "slim-%s", name);
> > > + if (!rt->name) {
> > > + kfree(rt);
> > > + return ERR_PTR(-ENOMEM);
> > > + }
> > > +
> > > + rt->dev = dev;
> > > + rt->state = SLIM_STREAM_STATE_ALLOCATED;
> > > + spin_lock_irqsave(&dev->stream_list_lock, flags);
> > > + list_add_tail(&rt->node, &dev->stream_list);
> > > + spin_unlock_irqrestore(&dev->stream_list_lock, flags);
> >
> > Any reason for _irqsave variant? Do you expect stream APIs to be called
> > from ISR?We can move to non irqsave variant here, as i do not see a case
> > where
> this list would be interrupted from irq context.
That's interesting can you please describe how?
Also, won't it be modified from bottom half...
> > > +/*
> > > + * slim_stream_enable() - Enable a prepared SLIMbus Stream
> >
> > Do you want to check if it is already prepared ..?
> Yep, I think most of the code needs similar state machine check, I will add
> this in next version.
so if you are tying to snd stream states then I don't think you need a
state machine here. ALSA already does that for you so you can skip it :D
--
~Vinod
Powered by blists - more mailing lists