Re: libata pata_pdc2027x success on sparc64

From: Sergei Shtylyov
Date: Thu Jul 27 2006 - 12:34:15 EST


Albert Lee wrote:

In contrast, the old IDE pdc202xx_new driver had lots
of problems with CRC errors causing it to disable DMA.

Hm, from my experience it usually falls back to UltraDMA/44 and then
the thing startrt working...

I wasn't able to manually tune it above udma3 without
getting more errors. This isn't sparc64-specific: I've
had similar negative experience with the old IDE Promise
drivers in a PowerMac.

This happens because the "old" driver misses the PLL calibration code.
You may want to try these Albert's patches:

It looks like they were never considered for accepting into the kernel
while they succesfully solve this issue. Maybe Albert could try pushing
them into -mm tree once more?

The libata version has three improvements compared to the IDE version.

1. The PLL calibration patches in the above URLs (for IDE)
still need more improvement as done in the pdc_read_counter()
of the libata version.

Indeed. When backporting your patches to 2.6.10, I've added alike function, so can generate an extra patch against those.

2. The Promise 2027x adapters check the "set features - xfer mode"
and set the timing register automatically. However, the automatically
set values are not correct under 133MHz. Libata has a hook
pdc2027x_post_set_mode() to set the values back by software.

You probably forgot -- the last mentioned patch was all about it. :-)

3. ATAPI DMA is supported (please see pdc2027x_check_atapi_dma()).
Maybe we also need to add this to the IDE version.

Wouldn't hurt. :-)

Currently I have no time to update the IDE pdc202xx_new driver.

I'll probably take this on then, starting with pushing this half-buried stuff into -mm tree.

Also as Alan said, we have no maintainer for the IDE layer at this time.
So, if ok, please try to use the libata-based driver.

WBR, Sergei
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at