Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Sep 2003 00:56:46 +0900
From:      Hiroyuki Aizu <eyes@navi.org>
To:        freebsd-current@freebsd.org
Subject:   Re: ATAng suspend/resume support broken
Message-ID:  <20030902005646.7f9cc963.eyes@navi.org>
In-Reply-To: <20030828215209.T41901@root.org>
References:  <20030828215209.T41901@root.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.

--Multipart_Tue__2_Sep_2003_00:56:46_+0900_082cd000
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

Hi.

On Thu, 28 Aug 2003 21:57:24 -0700 (PDT)
Nate Lawson <nate@root.org> wrote:

> With today's ATAng, I can suspend my laptop but when I resume, the system
> hangs.  I'll try to get the exact dmesg with a serial console since
> syscons gets screwed up by resuming (this is normal behavior).  In any
> case, my laptop hangs with the drive light on while trying to reset the
> ata controller.  I can't enter DDB.  By reverting just the ATAng commit to
> 2003/08/23, suspend and resume work well.  Here is my dmesg from a working
> suspend/resume...
> 
> -Nate

My laptop has same behavior. So I compare ATAng with ATAold and solve this
problem. I found re-init routine must necessary at wakeup. 
I made patches and attach to this mail.

These three are patches for re-init. At least, this works for my machine.
ata-all.c.diff
ata-all.h.diff
ata-disk.c.diff

And I make one more patch "ata-lowlevel.c.diff".
The Reason is ATAng code fonund ghost device on slave at resume time like this.

ad1: 8994829560181951MB <\M^?\M-%\M^?\M-%\M^?\M-%\M^?\M-%\M^?\M-%\M^?\M-%\M^?\M-
%\M^?\M-%\M^?\M-%\M^?\M-%\M^?\M-%\M^?\M-%\M^?\M-%\M^?\M-%\M^?\M-%\M^?\M-%\M^?\M-
%\M^?\M-%\M^?\M-%\M^?\M-%> [676635847171814/165/165] at ata0-slave UDMA66

Mysteriously, ATAold and ATAng code using variable "ostat[01]" that save status 
before reset channel. I'm not familier with ATA, so maybe I'm 
misunderstanding.

Please consider these patches.

At last, I can sleep (-.-)
--
Hiroyuki Aizu

--Multipart_Tue__2_Sep_2003_00:56:46_+0900_082cd000
Content-Type: application/octet-stream;
 name="ata-all.c.diff"
Content-Disposition: attachment;
 filename="ata-all.c.diff"
Content-Transfer-Encoding: base64

LS0tIGF0YS1hbGwuYy5vcmlnCU1vbiBTZXAgIDEgMjI6MjI6MTkgMjAwMworKysgYXRhLWFsbC5j
CVR1ZSBTZXAgIDIgMDA6MTY6MjkgMjAwMwpAQCAtMjU3LDYgKzI1NywxMyBAQAogCWlmICgobmV3
ZGV2ICYgKEFUQV9BVEFfU0xBVkUgfCBBVEFfQVRBUElfU0xBVkUpKSAmJgogCSAgICBjaC0+ZGV2
aWNlW1NMQVZFXS5hdHRhY2gpCiAJICAgIGNoLT5kZXZpY2VbU0xBVkVdLmF0dGFjaCgmY2gtPmRl
dmljZVtTTEFWRV0pOworICAgIH0gZWxzZSB7CisJaWYgKChjaC0+ZGV2aWNlcyAmIChBVEFfQVRB
X01BU1RFUiB8IEFUQV9BVEFQSV9NQVNURVIpKSAmJgorCSAgICBjaC0+ZGV2aWNlW01BU1RFUl0u
cmVpbml0KQorCSAgICBjaC0+ZGV2aWNlW01BU1RFUl0ucmVpbml0KCZjaC0+ZGV2aWNlW01BU1RF
Ul0pOworCWlmICgoY2gtPmRldmljZXMgJiAoQVRBX0FUQV9TTEFWRSB8IEFUQV9BVEFQSV9TTEFW
RSkpICYmCisJICAgIGNoLT5kZXZpY2VbU0xBVkVdLnJlaW5pdCkKKwkgICAgY2gtPmRldmljZVtT
TEFWRV0ucmVpbml0KCZjaC0+ZGV2aWNlW1NMQVZFXSk7CiAgICAgfQogI2lmZGVmIERFVl9BVEFQ
SUNBTQogICAgIGF0YXBpX2NhbV9yZWluaXRfYnVzKGNoKTsK

--Multipart_Tue__2_Sep_2003_00:56:46_+0900_082cd000
Content-Type: application/octet-stream;
 name="ata-all.h.diff"
Content-Disposition: attachment;
 filename="ata-all.h.diff"
Content-Transfer-Encoding: base64

LS0tIGF0YS1hbGwuaC5vcmlnCU1vbiBBdWcgMjUgMjA6MTM6MDQgMjAwMworKysgYXRhLWFsbC5o
CVR1ZSBTZXAgIDIgMDA6MTU6MTQgMjAwMwpAQCAtMjE4LDYgKzIxOCw3IEBACiAgICAgdm9pZAkJ
CSpzb2Z0YzsJCS8qIHB0ciB0byBzb2Z0YyBmb3IgZGV2aWNlICovCiAgICAgdm9pZAkJCSgqYXR0
YWNoKShzdHJ1Y3QgYXRhX2RldmljZSAqYXRhZGV2KTsKICAgICB2b2lkCQkJKCpkZXRhY2gpKHN0
cnVjdCBhdGFfZGV2aWNlICphdGFkZXYpOworICAgIHZvaWQJCQkoKnJlaW5pdCkoc3RydWN0IGF0
YV9kZXZpY2UgKmF0YWRldik7CiAgICAgdm9pZAkJCSgqc3RhcnQpKHN0cnVjdCBhdGFfZGV2aWNl
ICphdGFkZXYpOwogICAgIGludAkJCQlmbGFnczsKICNkZWZpbmUJCUFUQV9EX1VTRV9DSFMJCTB4
MDAwMQo=

--Multipart_Tue__2_Sep_2003_00:56:46_+0900_082cd000
Content-Type: application/octet-stream;
 name="ata-disk.c.diff"
Content-Disposition: attachment;
 filename="ata-disk.c.diff"
Content-Transfer-Encoding: base64

LS0tIGF0YS1kaXNrLmMub3JpZwlNb24gQXVnIDI1IDE4OjAxOjQ5IDIwMDMKKysrIGF0YS1kaXNr
LmMJVHVlIFNlcCAgMiAwMDoxNTozMSAyMDAzCkBAIC01NSw2ICs1NSw3IEBACiAKIC8qIHByb3Rv
dHlwZXMgKi8KIHN0YXRpYyB2b2lkIGFkX2RldGFjaChzdHJ1Y3QgYXRhX2RldmljZSAqKTsKK3N0
YXRpYyB2b2lkIGFkX3JlaW5pdChzdHJ1Y3QgYXRhX2RldmljZSAqKTsKIHN0YXRpYyB2b2lkIGFk
X3N0YXJ0KHN0cnVjdCBhdGFfZGV2aWNlICopOwogc3RhdGljIHZvaWQgYWRfZG9uZShzdHJ1Y3Qg
YXRhX3JlcXVlc3QgKik7CiBzdGF0aWMgZGlza19vcGVuX3QgYWRvcGVuOwpAQCAtMTUyLDYgKzE1
Myw3IEBACiAKICAgICAvKiBzZXR1cCB0aGUgZnVuY3Rpb24gcHRycyAqLwogICAgIGF0YWRldi0+
ZGV0YWNoID0gYWRfZGV0YWNoOworICAgIGF0YWRldi0+cmVpbml0ID0gYWRfcmVpbml0OwogICAg
IGF0YWRldi0+c3RhcnQgPSBhZF9zdGFydDsKICAgICBhdGFkZXYtPnNvZnRjID0gYWRwOwogCkBA
IC0yMDIsNiArMjA0LDE5IEBACiAgICAgYXRhZGV2LT5zb2Z0YyA9IE5VTEw7CiAgICAgYXRhZGV2
LT5mbGFncyA9IDA7CiAgICAgZnJlZShhZHAsIE1fQUQpOworfQorCitzdGF0aWMgdm9pZAorYWRf
cmVpbml0KHN0cnVjdCBhdGFfZGV2aWNlICphdGFkZXYpCit7CisgICAgc3RydWN0IGFkX3NvZnRj
ICphZHAgPSBhdGFkZXYtPnNvZnRjOworCisgICAgYXRhX2NvbnRyb2xjbWQoYXRhZGV2LCBBVEFf
U0VUX01VTFRJLCAwLCAwLCAoYWRwLT5tYXhfaW9zaXplIC8gREVWX0JTSVpFKSk7CisKKyAgICBp
ZiAoYXRhX2RtYSAmJiBhdGFkZXYtPmNoYW5uZWwtPmRtYSkKKyAgICAgICAgYXRhZGV2LT5zZXRt
b2RlKGF0YWRldiwgQVRBX0RNQV9NQVgpOworICAgIGVsc2UKKyAgICAgICAgYXRhZGV2LT5zZXRt
b2RlKGF0YWRldiwgQVRBX1BJT19NQVgpOwogfQogCiBzdGF0aWMgaW50Cg==

--Multipart_Tue__2_Sep_2003_00:56:46_+0900_082cd000
Content-Type: application/octet-stream;
 name="ata-lowlevel.c.diff"
Content-Disposition: attachment;
 filename="ata-lowlevel.c.diff"
Content-Transfer-Encoding: base64

LS0tIGF0YS1sb3dsZXZlbC5jLm9yaWcJTW9uIFNlcCAgMSAyMDoxMzoyMSAyMDAzCisrKyBhdGEt
bG93bGV2ZWwuYwlUdWUgU2VwICAyIDAwOjE1OjIwIDIwMDMKQEAgLTU5MSw3ICs1OTEsNyBAQAog
ICAgIGlmICghbWFzaykKIAlyZXR1cm47CiAKLSAgICBpZiAobWFzayAmIDB4MDEgJiYgb3N0YXQw
ICE9IDB4MDAgJiYKKyAgICBpZiAobWFzayAmIDB4MDEgJiYgc3RhdDAgIT0gMHgwMCAmJgogICAg
ICAgICAhKGNoLT5kZXZpY2VzICYgKEFUQV9BVEFfTUFTVEVSIHwgQVRBX0FUQVBJX01BU1RFUikp
KSB7CiAJQVRBX0lEWF9PVVRCKGNoLCBBVEFfRFJJVkUsIEFUQV9EX0lCTSB8IEFUQV9NQVNURVIp
OwogCURFTEFZKDEwKTsKQEAgLTYwNCw3ICs2MDQsNyBAQAogCWlmIChlcnIgIT0gMHg1OCAmJiBs
c2IgPT0gMHhhNSkKIAkgICAgY2gtPmRldmljZXMgfD0gQVRBX0FUQV9NQVNURVI7CiAgICAgfQot
ICAgIGlmIChtYXNrICYgMHgwMiAmJiBvc3RhdDEgIT0gMHgwMCAmJgorICAgIGlmIChtYXNrICYg
MHgwMiAmJiBzdGF0MSAhPSAweDAwICYmCiAJIShjaC0+ZGV2aWNlcyAmIChBVEFfQVRBX1NMQVZF
IHwgQVRBX0FUQVBJX1NMQVZFKSkpIHsKIAlBVEFfSURYX09VVEIoY2gsIEFUQV9EUklWRSwgQVRB
X0RfSUJNIHwgQVRBX1NMQVZFKTsKIAlERUxBWSgxMCk7Cg==

--Multipart_Tue__2_Sep_2003_00:56:46_+0900_082cd000--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030902005646.7f9cc963.eyes>