Re: PXA2xx SPI controller updated for 2.6.16-rc1?

From: Stephen Street
Date: Thu Jan 19 2006 - 12:03:44 EST


On Thu, 2006-01-19 at 10:51 +0000, David Vrabel wrote:
> Stephen,
>
> Do you have a version of the PXA2xx SPI contoller driver more recent
> that the one posted at the end of October 2005? There are some SPI (and
> other) API changes required for 2.6.16-rc1.
>
I'm working on it now. I expect to have something with in the week. I
had some user space problems bringing up 2.6.15 which has cause some
delay.

> I've attached my attempt (PIO works but DMA doesn't) if it's of any use.
>
> The patch also:
> - includes support for the different clock on the PXA27x
> - calculates the correct clock divisor (at least on the PXA27x...)
> - allows null_cs_control for PIO transfer.
>
I will review and integrate you changes. THANKS!

> I'm currently using SSP3 on the PXA27x with the slave chip select GPIO
> line configured as SSPSFRM3 instead of a GPIO. This works fine provided
> that each spi_message consists of a single spi_transfer. With more than
> one transfer they're not back-to-back and SSPSFRM3 is deasserted
> between transfers.
I believe this is the correct SSP in SPI mode behavior for PXA2xx.

>
> It looks like you're waiting for the transmit buffer in the controller
> to empty before switching to the next transfer. Is it possible to
> switch to the next transfer immediatly upon exhausting the transfer's
> tx_buf? Perhaps (in the DMA case) by chaining several DMA descriptors
> together?
DMA descriptor chaining the next optimization for the driver. I want to
get the driver cleaned up, tested and posted before starting this.

>
> At the higher SPI clock rates available on the PXA27x (up to 13 MHz with
> the internal clock) PIO mode doesn't seem to feed the transmit buffer
> fast enough resulting in gaps between each byte/word of the transfer. I
> would assume using DMA would not show this?
Correct, I think the PXA2xx even states this in the docs.

Thanks your input, I really appreciate it. I will send you my updates
ASAP. Most likely a 2.6.15 version quickly follow by a 2.6.16-rc
version.

Stephen

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