Nvidia cable detection problems (was [PATCH] amd74xx: don'tconfigure udma mode higher than BIOS did)

From: Alan
Date: Mon Feb 05 2007 - 09:22:25 EST


> > Also another case you broke is kexec.
>
> 1. If kexec is done while either of amd74xx or pata_amd is loaded, the
> currently configured mode is what the kexeced kernel would use as
> reference. If the port has been slowed down during operation, yeah, it
> would be sub-optimal but again the worst can happen is udma33.

So we now have an exciting "well kexec might work but here is a new
random weirdness to screw people who it hit".

> CK804 IDE, at least mine, reports 80c in a lot of cases where it
> shouldn't. I dunno the reason but it also makes drives confused about
> cable type. Maybe it has the wrong capacitor attached or something.
> This is A8N-E from ASUS, probably one of the popular ones using nf4.

I take it this was how you came to find every cable related bug while
trying to work out what was going on ?

> When that happens, libata EH does its job and slows the interface to
> udma33 after quite a few error messages. On IDE, if this happens, the
> drive is put into PIO mode making the machine painful to use.

No the IDE layer does DMA changedown fine, well apart from all the
error/timer races in the old IDE code.

> Googling... I'm listing a few which seem similar.

All of which are before you fixed the drive side stuff

> http://search.luky.org/linux-kernel.2005/msg30919.html
> http://www.centos.org/modules/newbb/viewtopic.php?topic_id=4662
> http://blog.gmane.org/gmane.linux.bios/month=20060601/page=6

And the third is LinuxBIOS so you've actually not fixed anything for that
one.

> Please keep in mind that no one has reported driver side detection is
> wrong in all these years even when in some cases we just assume 80c on
> host side and depended on driver side detection (amd74xx UDMA66
> controllers), but I'm pretty sure it has caused some griefs out in the wild.

Yep.

> I agree with you that this is a hack and ugly as hell. I don't like it
> either, but it solves an existing problem which could have and possibly
> will hit many users. So, I think this problem should at least be
> verified. If it's just my BIOS/motherboard that's crazy, I have no
> problem forgetting about this.

It certainly seems to be Nvidia specific, so perhaps Nvidia can provide
more details on the Nforce4 cable detection ? As with a lot of Nvidia
stuff there was much reverse engineering involved in the original code
base.

And if its a specific board or couple of boards then we should perhaps
use DMI to match them specifically.

> So, anyone with CK804 (a.k.a NF4) up for some testing?

If it still goes I've got a rather iffy NF3 but not an NF4 handy.

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