Re: libata pata_pdc2027x success on sparc64



Albert Lee writes:
Sergei Shtylyov wrote:
Hello.

Mikael Pettersson 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:

http://marc.theaimsgroup.com/?t=110992452800002&r=1&w=2
http://marc.theaimsgroup.com/?t=110992471500002&r=1&w=2
http://marc.theaimsgroup.com/?t=110992490100002&r=1&w=2
http://marc.theaimsgroup.com/?t=111019238400003&r=1&w=2

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?


Hi,

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.

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.

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

Do you know how large the difference is between the 20267 (old driver)
and the 20269 (new driver) in the areas touched by these patches?
Long ago I tried a 20267 PCI card in my PowerMac, and it had the same
issues that the 20269 card had. So I'm interested in porting the
calibration/timing fixes to pdc202xx_old.c.

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



Relevant Pages

  • Re: libata pata_pdc2027x success on sparc64
    ... of problems with CRC errors causing it to disable DMA. ... This happens because the "old" driver misses the PLL calibration code. ... The libata version has three improvements compared to the IDE version. ...
    (Linux-Kernel)
  • [git pull] IDE (a.k.a. "zombie") updates #2
    ... Conversion of ide-{cd,floppy} to new IDE debugging macros. ... sgiioc4 host driver fixes. ... drop 'timeout' and 'expiry' arguments from ide_pc_intr ... Add a special packet command request to the tail of the request queue, ...
    (Linux-Kernel)
  • [git patches] IDE updates part #5
    ... Palmchip BK3710 IDE driver ... int stat, err, sense_key; ... + * After each failed packet command we issue a request sense command and retry ...
    (Linux-Kernel)
  • PROBLEM: Buffer I/O error on device hdg1, system freeze.
    ... ide: failed opcode was: unknown ... # APM BIOS Support ... the floppy tape device driver ... PS/2 Mouse Controller at irq 12 ...
    (Linux-Kernel)
  • [git pull] IDE updates [part 2]
    ... Old bast-ide driver removal (we use PATA platform support now) from Ben Dooks. ... Conversion of more host drivers to use struct ide_port_info. ... ide: remove unused XFER_UDMA_SLOW ...
    (Linux-Kernel)