Re: [PATCH char-misc-next 11/19] dma: Add support to program MIC x100 status descriptiors

From: Vinod Koul
Date: Thu Aug 20 2015 - 01:18:12 EST


On Mon, Jul 27, 2015 at 04:58:17PM -0700, Ashutosh Dixit wrote:
> +/* Program a status descriptor with phys as address and value to be written */
> +static int mic_dma_do_status_update(struct mic_dma_chan *ch, dma_addr_t phys,
> + u64 value)
> +{
> + int ret = mic_dma_avail_desc_ring_space(ch, 4);
> +
> + if (ret < 0)
> + return ret;
> + ret = 0;
?
> + mic_dma_prep_status_desc(&ch->desc_ring[ch->head],
> + value, phys, false);
> + mic_dma_hw_ring_inc_head(ch);
> + return ret;

return 0 then?

> +}
> +
> static inline void mic_dma_issue_pending(struct dma_chan *ch)
> {
> struct mic_dma_chan *mic_ch = to_mic_dma_chan(ch);
> @@ -287,9 +310,28 @@ mic_dma_prep_memcpy_lock(struct dma_chan *ch, dma_addr_t dma_dest,
> return NULL;
>
> spin_lock(&mic_ch->prep_lock);
> + if (len == 8) {
magic number?

> + /*
> + * This is a hack to program status descriptor since
> + * DMA engine API doesn't have support for this.
> + */
what do you mean by programming status descriptor, what do you need to
program?

--
~Vinod

--
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/