Messages in this thread | | | Date | Mon, 28 Jan 2002 11:54:08 +0100 | From | Lionel Bouton <> | Subject | Re: sis.patch.20020123_1 |
| |
On Sun, Jan 27, 2002 at 04:59:43PM +0100, Daniela Engert wrote: > Your chipset cannot be detected by the surrent SiS IDE patch because it > takes a list based approach to find supported chips and their > capabilities rather than a more intelligent detection scheme (I've sent > Lionel code which shows how to do that).
I didn't even know about SiS737 before! I guess I won't rely on SiSHostChipInfo in v0.14. I'll check your code next week (skying starting tomorrow).
> >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. > > You just thave to add it to the device list. There are other chips > missing as well. > > > 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; > > The problem is that the calculation of the index into the active time > table is incorrect in *all* three lines above! In the ATA66 case the > shift is wrong and causes an zero value regardless of the register > setting. In the "old" ATA100 case the index is calculated from the > correct bits but is missing the shift by four from the line above; > because of the too large index you see the OOPS. The "new" ATA100 case > is wrong because it takes the wrong bits into calculation.
Ooops. Corrected in the last patch.
http://inet6.dyn.dhs.org/sponsoring/sis5513/sis.patch.20020128_1
LB. - 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/
| |