Date: Tue, 15 Apr 2008 06:20:03 GMT From: "Andrey V. Elsukov" <bu7cher@yandex.ru> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/122368: [ata]: Failure to support SATA/PATA drives on 6.3 and 7.0 -- Nvidia nForce4 chipset Message-ID: <200804150620.m3F6K3hA000308@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/122368; it has been noted by GNATS.
From: "Andrey V. Elsukov" <bu7cher@yandex.ru>
To: swallace@reply1.sdwmail.homeunix.org
Cc: bug-followup@FreeBSD.org,
=?UTF-8?B?U8O4cmVuIFNjaG1pZHQ=?= <sos@FreeBSD.org>
Subject: Re: kern/122368: [ata]: Failure to support SATA/PATA drives on 6.3
and 7.0 -- Nvidia nForce4 chipset
Date: Tue, 15 Apr 2008 10:11:09 +0400
This is a multi-part message in MIME format.
--------------040708080409080902070607
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Steven Wallace wrote:
> I have the same problem on my system with an Nforce4 chipset.
> I just applied the patch to a 6.3-STABLE system with no effect.
Now this patch is in CURRENT.
> Oh, one more clue is if you boot 6.3 with this failure and then go back
> to 6.2R, it will also fail. One has to POWER CYCLE the system
> and then 6.2R will work.
It's strange. I had similar problem with nfe(4) some time ago.
As i remember it was initialization problem.
> Ata_nvidia_allocate is being called during controller initialization.
ata_nvidia_chipinit did first part of initialization.
> It appears it does not even call ata_nvidia_status. I inserted a printf
> statement to display some status, but I see no message.
ata_nvidia_status only called when an interrupt arrives.
> To get the system to boot, you must use the “disable ACPI” option
> (unfortunately this also disables my 2^nd CPU). Then my printf message
> gets displayed.
> With acpi disabled, I get alternating messages:
> Ata_nvidia_status: istatus=1 shift=0 offset=440 return=>1
> Ata_nvidia_status: istatus=0 shift=16 offset=440 return=>0
> Why with ACPI enabled cause ata_nvidia_status not to be called?
Did you try to boot last CURRENT snapshot? Maybe it is ACPI problem?
Also, can you try attached patch?
I slightly modified ata_phy_reset function, which is responsible
for device detection and also I added some debug printfs.
--
WBR, Andrey V. Elsukov
--------------040708080409080902070607
Content-Type: text/plain;
name="sata_phy_reset.diff"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="sata_phy_reset.diff"
SW5kZXg6IHNyYy9zeXMvZGV2L2F0YS9hdGEtY2hpcHNldC5jCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNT
IGZpbGU6IC9uY3ZzL3NyYy9zeXMvZGV2L2F0YS9hdGEtY2hpcHNldC5jLHYKcmV0cmlldmlu
ZyByZXZpc2lvbiAxLjIxNgpkaWZmIC11IC1wIC1yMS4yMTYgYXRhLWNoaXBzZXQuYwotLS0g
c3JjL3N5cy9kZXYvYXRhL2F0YS1jaGlwc2V0LmMJMTQgQXByIDIwMDggMTg6MzQ6MjQgLTAw
MDAJMS4yMTYKKysrIHNyYy9zeXMvZGV2L2F0YS9hdGEtY2hpcHNldC5jCTE1IEFwciAyMDA4
IDA1OjU4OjQzIC0wMDAwCkBAIC0zMjksMTcgKzMyOSwyMiBAQCBhdGFfc2F0YV9waHlfcmVz
ZXQoZGV2aWNlX3QgZGV2KQogewogICAgIHN0cnVjdCBhdGFfY2hhbm5lbCAqY2ggPSBkZXZp
Y2VfZ2V0X3NvZnRjKGRldik7CiAgICAgaW50IGxvb3AsIHJldHJ5OwotCi0gICAgaWYgKChB
VEFfSURYX0lOTChjaCwgQVRBX1NDT05UUk9MKSAmIEFUQV9TQ19ERVRfTUFTSykgPT0gQVRB
X1NDX0RFVF9JRExFKQotCXJldHVybiBhdGFfc2F0YV9jb25uZWN0KGNoKTsKKyAgICB1X2lu
dDMyX3Qgc2MsIHNzOwogCiAgICAgZm9yIChyZXRyeSA9IDA7IHJldHJ5IDwgMTA7IHJldHJ5
KyspIHsKIAlmb3IgKGxvb3AgPSAwOyBsb29wIDwgMTA7IGxvb3ArKykgewotCSAgICBBVEFf
SURYX09VVEwoY2gsIEFUQV9TQ09OVFJPTCwgQVRBX1NDX0RFVF9SRVNFVCk7CisJICAgIEFU
QV9JRFhfT1VUTChjaCwgQVRBX1NDT05UUk9MLCBBVEFfU0NfREVUX1JFU0VUIHwKKwkJCQkJ
ICAgQVRBX1NDX0lQTV9ESVNfUEFSVElBTCB8CisJCQkJCSAgIEFUQV9TQ19JUE1fRElTX1NM
VU1CRVIpOwogCSAgICBhdGFfdWRlbGF5KDEwMCk7Ci0JICAgIGlmICgoQVRBX0lEWF9JTkwo
Y2gsIEFUQV9TQ09OVFJPTCkgJiBBVEFfU0NfREVUX01BU0spID09IAotCQlBVEFfU0NfREVU
X1JFU0VUKQorCisJICAgIHNjID0gQVRBX0lEWF9JTkwoY2gsIEFUQV9TQ09OVFJPTCk7CisJ
ICAgIGlmICgoc2MgJiBBVEFfU0NfREVUX01BU0spID09IEFUQV9TQ19ERVRfUkVTRVQpCiAJ
CWJyZWFrOworCisJICAgIGlmIChib290dmVyYm9zZSkKKwkJZGV2aWNlX3ByaW50ZihkZXYs
ICJzYXRhX3BoeV9yZXNldDogcmVzZXR0aW5nLiBzYyA9IDB4JTA4eCwiCisJCQkJIiByZXRy
eSA9ICVkLCBsb29wID0gJWRcbiIsIHNjLCByZXRyeSwgbG9vcCk7CiAJfQogCWF0YV91ZGVs
YXkoNTAwMCk7CiAJZm9yIChsb29wID0gMDsgbG9vcCA8IDEwOyBsb29wKyspIHsKQEAgLTM0
NywxMCArMzUyLDIxIEBAIGF0YV9zYXRhX3BoeV9yZXNldChkZXZpY2VfdCBkZXYpCiAJCQkJ
CSAgIEFUQV9TQ19JUE1fRElTX1BBUlRJQUwgfAogCQkJCQkgICBBVEFfU0NfSVBNX0RJU19T
TFVNQkVSKTsKIAkgICAgYXRhX3VkZWxheSgxMDApOwotCSAgICBpZiAoKEFUQV9JRFhfSU5M
KGNoLCBBVEFfU0NPTlRST0wpICYgQVRBX1NDX0RFVF9NQVNLKSA9PSAwKQorCSAgICBzYyA9
IEFUQV9JRFhfSU5MKGNoLCBBVEFfU0NPTlRST0wpOworCSAgICBpZiAoKHNjICYgQVRBX1ND
X0RFVF9NQVNLKSA9PSBBVEFfU0NfREVUX0lETEUpCiAJCXJldHVybiBhdGFfc2F0YV9jb25u
ZWN0KGNoKTsKKworCSAgICBzcyA9IEFUQV9JRFhfSU5MKGNoLCBBVEFfU1NUQVRVUyk7CisJ
ICAgIGlmIChib290dmVyYm9zZSkKKwkJZGV2aWNlX3ByaW50ZihkZXYsICJzYXRhX3BoeV9y
ZXNldDogcmVzdW1pbmcuIHNjID0gMHglMDh4LCAiCisJCQkJInNzID0gMHglMDh4LCByZXRy
eSA9ICVkLCBsb29wID0gJWRcbiIsCisJCQkJc2MsIHNzLCByZXRyeSwgbG9vcCk7CiAJfQog
ICAgIH0KKworICAgIGlmIChzcyAmIEFUQV9TU19ERVRfREVWX1BSRVNFTlQpCisJcmV0dXJu
IGF0YV9zYXRhX2Nvbm5lY3QoY2gpOworCiAgICAgcmV0dXJuIDA7CiB9CiAKQEAgLTI0Nzks
NiArMjQ5NSwxNCBAQCBhdGFfaW50ZWxfMzEyNDRfdGZfd3JpdGUoc3RydWN0IGF0YV9yZXF1
CiBzdGF0aWMgdm9pZAogYXRhX2ludGVsXzMxMjQ0X3Jlc2V0KGRldmljZV90IGRldikKIHsK
KyAgICBzdHJ1Y3QgYXRhX2NoYW5uZWwgKmNoID0gZGV2aWNlX2dldF9zb2Z0YyhkZXYpOwor
CisgICAgLyogVGhlIHdvcmstYXJvdW5kIGZvciBlcnJhdGEgIzEgZm9yIHRoZSAzMTI0NCBz
YXlzIHRoYXQgd2UgbXVzdAorICAgICAqIHdyaXRlIDAgdG8gdGhlIHBvcnQgZmlyc3QgdG8g
YmUgc3VyZSBvZiBjb3JyZWN0bHkgaW5pdGlhbGl6aW5nCisgICAgICogdGhlIGRldmljZS4g
KFRha2VuIGZyb20gTmV0QlNEKQorICAgICAqLworICAgIEFUQV9JRFhfT1VUTChjaCwgQVRB
X1NDT05UUk9MLCAwKTsKKwogICAgIGlmIChhdGFfc2F0YV9waHlfcmVzZXQoZGV2KSkKIAlh
dGFfZ2VuZXJpY19yZXNldChkZXYpOwogfQo=
--------------040708080409080902070607--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200804150620.m3F6K3hA000308>
