Re: [RFC PATCHv2 2/7] OMAP SSI: Introducing OMAP SSI driver
From: Sebastien Jan
Date: Tue May 18 2010 - 10:02:31 EST
On Tuesday 18 May 2010 11:07:20 Carlos Chinea wrote:
[cut]
> > > + val |= __raw_readl(omap_ssi->sys +
> > > SSI_MPU_ENABLE_REG(port->num, 0)); + __raw_writel(val,
> > > omap_ssi->sys +
> > > SSI_MPU_ENABLE_REG(port->num, 0)); +
> > > + msg->status = HSI_STATUS_COMPLETED;
> > > + msg->actual_len = sg_dma_len(msg->sgt.sgl);
> > > + spin_unlock(&omap_ssi->lock);
> > > +}
> >
> > Don't you need to check the queue related to this transfer at this point,
> > to start the potentially next queued transfer on the same channel?
> > (calling ssi_start_transfer(), like in ssi_pio_complete()?)
>
> No this is done in ssi_pio_complete(). Notice that we do not call the
> complete callback at any point here. We just arm the pio interrupt for
> that channel and transfer direction. AFAIK, this is the SW logic
> expected by the OMAP SSI HW.
Ok, though I would not expect the interrupt to fire in an Rx scenario as the
fifo would have already been emptied by the DMA for this transfer (unless you
rely on the next transfer initiated by the peer to make the Rx interrupt fire
on this channel?)?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/