Re: UDMA66 without proper cable?

From: Peter Steiner (p.steiner@t-online.de)
Date: Thu May 25 2000 - 17:17:17 EST


Bernhard Brueck <bernhard@brueck.muc.de> wrote:

> Bus 0, device 0, function 0:
> Host bridge: Acer Laboratories Inc. [ALi] M1541 (rev 4).
> Master Capable. Latency=64.
> Non-prefetchable 32 bit memory at 0xe0000000 [0xe3ffffff].
> ...
> Bus 0, device 15, function 0:
> IDE interface: Acer Laboratories Inc. [ALi] M5229 IDE (rev 193).
> Master Capable. Latency=32. Min Gnt=2.Max Lat=4.
> I/O at 0xd000 [0xd00f].

Same here. I don't think the board is ATA-66 capable. I bought it about
1.5 years ago and the manual tells just something about UDMA-33.

Is there some code missing? In alim15x3.c I can see:

static byte cable_80_pin[2] = { 0, 0 };
...
unsigned int __init ata66_ali15x3 (ide_hwif_t *hwif)
...
             if (m5229_revision >= 0xC2) {
...
                      if (!(tmpbyte & 0x01)) cable_80_pin[0] = 1;
...

But cable_80_pin is static and not read anywhere. m5229_revision is
most likely 0xC1 and thus cable_80_pin[0] should be 0 anyway. At the
end of that function is another cable detection that is unconditional:

        pci_read_config_byte(dev, 0x4a, &tmpbyte);
        ata66 = (!(tmpbyte & ata66mask)) ? 1 : 0;

If ata66 is not supported at all, the appropriate bits may default to
0, which would be misinterpreted.

Peter

-- 
  _   x    ___   p.steiner@t-online.de (Peter Steiner)
 / \_/_\_ /,--' Linux User #55148 (http://counter.li.org/)
 \/>'~~~~//
   \_____/ perl -e'while(<>){s/=\n//g;s/=([\dA-F]{2})/chr(hex($1))/eg;print;}'

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed May 31 2000 - 21:00:15 EST