Re: Problems with Freescale DMA driver

From: Timur Tabi
Date: Tue Sep 23 2008 - 12:10:27 EST


(Removing various CC:'s since this thread is changing topic)

Ira Snyder wrote:

> I hope that makes sense. I can post the code if anyone would like to see
> it. It is not ready for mainline inclusion yet, but it is in a fairly
> good state.

Well, it's a bit goofy, but it does make sense. Since you don't have an actual
single-function PCI device, you need to use the MPC8349's DMA controller.

I don't see where you need the ability to reserve a DMA channel, though. You're
using fsldma.c as its intended.

> Ok. I was just wondering, since drivers/dma/fsl_dma.c has some code that
> appears to handle external master. It is 85XX specific though. There are
> no users in the kernel tree showing example uses.

Indeed it does. It looks like a feature that was thrown in but never given much
thought or testing. It appears that the current code just lets you turn on the
external master pause bit in the MR register, but there's nothing to make sure
that it actually works in a meaningful way. If there's a queue of transfers for
a given channel, I don't see where the fsldma avoids stalled queues.

--
Timur Tabi
Linux kernel developer at Freescale
--
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/