Re: sis.patch.20020123_1

From: Lionel Bouton (Lionel.Bouton@inet6.fr)
Date: Mon Jan 28 2002 - 05:54:08 EST


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/



This archive was generated by hypermail 2b29 : Thu Jan 31 2002 - 21:00:49 EST