Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 25 Jul 2008 13:59:49 +0400
From:      "Andrey V. Elsukov" <bu7cher@yandex.ru>
To:        Sean Bruno <sbruno@miralink.com>
Cc:        freebsd-drivers@freebsd.org, =?UTF-8?B?U8O4cmVuIFNjaG1pZHQ=?= <sos@FreeBSD.org>
Subject:   Re: ATA patch for RELENG_6 ... a patch looking for a good home
Message-ID:  <4889A415.1060309@yandex.ru>
In-Reply-To: <4839F473.6070109@miralink.com>
References:  <4839F473.6070109@miralink.com>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------040205090903030903000307
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Sean Bruno wrote:
> I got this patch a while ago and I don't see it appearing in RELENG_6
> yet.  Can someone "sheperd" this along or point out why it's not 
> acceptable?
> 
> This patch was generated by a failure to boot correctly off of a compact
> flash IDE module from Transcend.
> 
> Index: dev/ata/ata-chipset.c
> ===================================================================
> --- dev/ata/ata-chipset.c       (.../FreeBSD_RELENG_6_13APR07/src/sys)
> (revision 5436)
> +++ dev/ata/ata-chipset.c       (.../miralink.FreeBSD.6/src/sys)
> (revision 5436)
> @@ -2059,7 +2059,8 @@
>            atadev->mode = ATA_SA150;
>     }
>     else {
> -       mode = ata_limit_mode(dev, mode, ATA_UDMA5);
> +       /*mode = ata_limit_mode(dev, mode, ATA_UDMA5);*/
> +       mode = ata_check_80pin(dev, ATA_UDMA5);
>        if (!ata_controlcmd(dev, ATA_SETFEATURES, ATA_SF_SETXFER, 0, mode))
>            atadev->mode = mode;
>     }

Hi, Soren and Sean.

What you think about attached patch?
It can resolve your problem and shouldn't break anything.
With this patch you can set mode in /boot/device.hints, for
example:
hint.ad.0.mode="UDMA33"
hint.ad.1.mode="UDMA100"

These limits work only on boot stage, after boot completed you can
change mode via atacontrol.

-- 
WBR, Andrey V. Elsukov

--------------040205090903030903000307
Content-Type: text/plain;
 name="ata_limit_mode_from_device_hints.diff.txt"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
	filename="ata_limit_mode_from_device_hints.diff.txt"

SW5kZXg6IHNyYy9zeXMvZGV2L2F0YS9hdGEtYWxsLmMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmls
ZTogL25jdnMvc3JjL3N5cy9kZXYvYXRhL2F0YS1hbGwuYyx2CnJldHJpZXZpbmcgcmV2aXNp
b24gMS4yODkKZGlmZiAtdSAtYiAtcCAtcjEuMjg5IGF0YS1hbGwuYwotLS0gc3JjL3N5cy9k
ZXYvYXRhL2F0YS1hbGwuYwkxMSBKdW4gMjAwOCAwNjo0NDo1OCAtMDAwMAkxLjI4OQorKysg
c3JjL3N5cy9kZXYvYXRhL2F0YS1hbGwuYwkyNSBKdWwgMjAwOCAwOTo1NDo1MiAtMDAwMApA
QCAtODg5LDYgKzg4OSwyOCBAQCBhdGFfbW9kZTJzdHIoaW50IG1vZGUpCiAgICAgfQogfQog
CitzdGF0aWMgaW50CithdGFfc3RyMm1vZGUoY29uc3QgY2hhciAqc3RyKQoreworCWlmICgh
c3RybmNhc2VjbXAoc3RyLCAiQklPU1BJTyIsIDcpKSByZXR1cm4gQVRBX1BJTzsKKwlpZiAo
IXN0cm5jYXNlY21wKHN0ciwgIlBJTzAiLCA0KSkgcmV0dXJuIEFUQV9QSU8wOworCWlmICgh
c3RybmNhc2VjbXAoc3RyLCAiUElPMSIsIDQpKSByZXR1cm4gQVRBX1BJTzE7CisJaWYgKCFz
dHJuY2FzZWNtcChzdHIsICJQSU8yIiwgNCkpIHJldHVybiBBVEFfUElPMjsKKwlpZiAoIXN0
cm5jYXNlY21wKHN0ciwgIlBJTzMiLCA0KSkgcmV0dXJuIEFUQV9QSU8zOworCWlmICghc3Ry
bmNhc2VjbXAoc3RyLCAiUElPNCIsIDQpKSByZXR1cm4gQVRBX1BJTzQ7CisJaWYgKCFzdHJu
Y2FzZWNtcChzdHIsICJXRE1BMiIsIDUpKSByZXR1cm4gQVRBX1dETUEyOworCWlmICghc3Ry
bmNhc2VjbXAoc3RyLCAiVURNQTIiLCA1KSkgcmV0dXJuIEFUQV9VRE1BMjsKKwlpZiAoIXN0
cm5jYXNlY21wKHN0ciwgIlVETUEzMyIsIDYpKSByZXR1cm4gQVRBX1VETUEyOworCWlmICgh
c3RybmNhc2VjbXAoc3RyLCAiVURNQTQiLCA1KSkgcmV0dXJuIEFUQV9VRE1BNDsKKwlpZiAo
IXN0cm5jYXNlY21wKHN0ciwgIlVETUE2NiIsIDYpKSByZXR1cm4gQVRBX1VETUE0OworCWlm
ICghc3RybmNhc2VjbXAoc3RyLCAiVURNQTUiLCA1KSkgcmV0dXJuIEFUQV9VRE1BNTsKKwlp
ZiAoIXN0cm5jYXNlY21wKHN0ciwgIlVETUExMDAiLCA3KSkgcmV0dXJuIEFUQV9VRE1BNTsK
KwlpZiAoIXN0cm5jYXNlY21wKHN0ciwgIlVETUE2IiwgNSkpIHJldHVybiBBVEFfVURNQTY7
CisJaWYgKCFzdHJuY2FzZWNtcChzdHIsICJVRE1BMTMzIiwgNykpIHJldHVybiBBVEFfVURN
QTY7CisJaWYgKCFzdHJuY2FzZWNtcChzdHIsICJCSU9TRE1BIiwgNykpIHJldHVybiBBVEFf
RE1BOworCXJldHVybiAtMTsKK30KKwogaW50CiBhdGFfcG1vZGUoc3RydWN0IGF0YV9wYXJh
bXMgKmFwKQogewpAQCAtOTU1LDYgKzk3NywxOSBAQCBhdGFfbGltaXRfbW9kZShkZXZpY2Vf
dCBkZXYsIGludCBtb2RlLCBpCiAgICAgaWYgKG1heG1vZGUgJiYgbW9kZSA+IG1heG1vZGUp
CiAJbW9kZSA9IG1heG1vZGU7CiAKKyAgICBpZiAoYXRhX2RlbGF5ZWRfYXR0YWNoKSB7CisJ
ZHJpdmVyX3QgKmRydiA9IGRldmljZV9nZXRfZHJpdmVyKGRldik7CisJY29uc3QgY2hhciAq
c3RyID0gTlVMTDsKKwlpbnQgbTsKKworCWlmIChkcnYgJiYgcmVzb3VyY2Vfc3RyaW5nX3Zh
bHVlKGRydi0+bmFtZSwgYXRhZGV2LT51bml0LAorCQkJCSJtb2RlIiwgJnN0cikgPT0gMCkg
eworCSAgICBtID0gYXRhX3N0cjJtb2RlKHN0cik7CisJICAgIGlmIChtID49IEFUQV9QSU8p
CisJCW1vZGUgPSBtOworCX0KKyAgICB9CisKICAgICBpZiAobW9kZSA+PSBBVEFfVURNQTAg
JiYgYXRhX3Vtb2RlKCZhdGFkZXYtPnBhcmFtKSA+IDApCiAJcmV0dXJuIG1pbihtb2RlLCBh
dGFfdW1vZGUoJmF0YWRldi0+cGFyYW0pKTsKIAo=
--------------040205090903030903000307--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4889A415.1060309>