Thanks for releasing your patch. I have tested it with my SiS737 chipset
and noticed the following:
(please note - I may well not know what I am talking about)
My chipset is UDMA100 capable, but with your patch, no DMA was available
by default (yes, I have CONFIG_BLK_DEV_IDEDMA=y)
I think I know whats wrong, but I'm not certain. I was expecting
pci_init_sis5513() to find the device SiS735, but it finds SiS5513
instead. (I understand that SiS735 is the host bridge, whereas SiS5513 is
the ide interface) Is my thinking correct?
I did a nasty hack to get the device recognised as SiS735, and all is
fine. I haven't posted my patch for this since I don't know the Right fix.
The second problem I had was an OOPS when doing "cat /proc/ide/sis" . I
think I have tracked this down, and I believe the attached patch fixes it.
(applied on top of your patch, obviously) (works for me, but please let
me know if it is nonsense.)
Regards,
Martin Garton.
--- linux-2.4.17-sispatches/drivers/ide/sis5513.c Sun Jan 27 14:01:18 2002
+++ linux-2.4.17-martin/drivers/ide/sis5513.c Sun Jan 27 14:06:25 2002
@@ -314,7 +314,8 @@
case ATA_16: /* confirmed */
case ATA_33:
case ATA_66: p += sprintf(p, active_time[(reg01 & 0x07) >> 4]); break;
- case ATA_100: p += sprintf(p, active_time[(reg00 & 0x70)]); break;
+ case ATA_100: p += sprintf(p, active_time[(reg00 & 0x07)]); break;
+
case ATA_133:
default: p += sprintf(p, "133+ ?"); break;
}
@@ -324,7 +325,7 @@
case ATA_16:
case ATA_33:
case ATA_66: p += sprintf(p, active_time[(reg11 & 0x07) >> 4]); break;
- case ATA_100: p += sprintf(p, active_time[(reg10 & 0x70)]); break;
+ case ATA_100: p += sprintf(p, active_time[(reg10 & 0x07)]); break;
case ATA_133:
default: p += sprintf(p, "133+ ?"); break;
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/