Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: PXA2x0 DMAC alignment check



kiyohara@ wrote:

> My pxa255 machine happens error when start write DMA to MMC.
> Error message is
> 
> pxamci0: couldn't start dma xfer. (error=14)
> 
> This reason is fault alignment on pxadmac.  It checks alignment
> to 8bytes boundary always.  But PXA255/270 datasheets describing
> 4byte allowed, if internal peripherals.

Looks okay, but have a few comments:

 - it's better to put some comments about DMA alignment constraints
   as you mentioned above
 - inconsistent use of nsegs vs xd->xd_nsegs
 - I wonder if we should bother to check periph_end; I guess DMA xfer
   across peripherals appearntly invalid, if so periph_end check could
   be KASSERT() or inside #ifdef DIAGNOSTIC?

> However pxa2x0 DMAC has more constraints for alignment.
> We need more check?

No idea, but different problems should be handled separately, I think.
("best or nothing" strategy is always bad ;-p)

It's still worth to put XXX comments about such unhandled constraints,
though.

---
Izumi Tsutsui


Home | Main Index | Thread Index | Old Index