Just one minor issue. Check below. On 12/21/2012 07:39 PM, Terje Bergstrom wrote: > Add support for host1x client modules, and host1x channels to submit > work to the clients. The work is submitted in GEM CMA buffers, so > this patch adds support for them. > > Signed-off-by: Terje Bergstrom <tbergstrom at nvidia.com> > --- [...] > +/* > + * Begin a cdma submit > + */ > +int host1x_cdma_begin(struct host1x_cdma *cdma, struct host1x_job *job) > +{ > + struct host1x *host1x = cdma_to_host1x(cdma); > + > + mutex_lock(&cdma->lock); > + > + if (job->timeout) { > + /* init state on first submit with timeout value */ > + if (!cdma->timeout.initialized) { > + int err; > + err = host1x->cdma_op.timeout_init(cdma, > + job->syncpt_id); > + if (err) { > + mutex_unlock(&cdma->lock); > + return err; > + } > + } > + } > + if (!cdma->running) > + host1x->cdma_op.start(cdma); > + > + cdma->slots_free = 0; > + cdma->slots_used = 0; > + cdma->first_get = host1x->cdma_pb_op.putptr(&cdma->push_buffer); > + > + trace_host1x_cdma_begin(job->ch->dev->name);
Seems missing "mutex_unlock(&cdma->lock);" here. > + return 0; > +} [...] > + > #endif /* _TRACE_HOST1X_H */ > > /* This part must be outside protection */ >