Subject: BestComm ATA task on MPC52xx

From: Marian Balakowicz <[email-masked]>
Date: Sat, 02 Jun 2007 01:04:49 +0200

Hi,

I am working on bringing up a DMA support for ATA controller on MPC52xx
and I am facing problems for which I am not pretty sure what the actual
root cause is.

There was a John Rigby's patch last year, which was based on arch/ppc
and drivers/ide (mpc52xx_ide.c). I use arch/powerpc and adopted to
libata version of mpc52xx_ide.c which is now merged to vanilla and is
called pata_mpc52xx.c. On top of this I have John Rigby's modifications
converted from ide to libata. Problems appear with the first DMA
transfer attempt, which happens during a driver probe when partition
table is read. There shall be a interrupt signaling a transfer end and
the handler (not present in John Rigby's code) should do the transfer
closing. But the interrupt is not received and after the cmd timeouts it
looks like ATA controller registers, BestComm registers, buffer
descriptors and BestComm ATA task variables are unchanged. So, it seems
that for some reason ATA BestComm task did not run/do it's job.

Did anyone had any success with ATA DMA on 52xx? Or maybe hear about
newer version of the ATA BestComm task, or some useful ways of debugging
BestComm stuff? I am planning to post my working code but need a day or
two to clean it up a little.

Thanks,
Marian