From owner-freebsd-current@FreeBSD.ORG Mon Sep 1 08:56:50 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2BED116A4BF for ; Mon, 1 Sep 2003 08:56:50 -0700 (PDT) Received: from st68.arena.ne.jp (st68.arena.ne.jp [203.138.213.2]) by mx1.FreeBSD.org (Postfix) with SMTP id 8F4A743FCB for ; Mon, 1 Sep 2003 08:56:48 -0700 (PDT) (envelope-from eyes@navi.org) Received: (qmail 7477 invoked by SAV 20030829.17); 2 Sep 2003 00:56:47 +0900 Received: from unknown (HELO localhost) (219.164.183.154) by st68.arena.ne.jp with SMTP; 2 Sep 2003 00:56:47 +0900 Date: Tue, 2 Sep 2003 00:56:46 +0900 From: Hiroyuki Aizu To: freebsd-current@freebsd.org Message-Id: <20030902005646.7f9cc963.eyes@navi.org> In-Reply-To: <20030828215209.T41901@root.org> References: <20030828215209.T41901@root.org> Organization: navi.org X-Mailer: Sylpheed version 0.9.4 (GTK+ 1.2.10; i386-portbld-freebsd5.1) Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Multipart_Tue__2_Sep_2003_00:56:46_+0900_082cd000" Subject: Re: ATAng suspend/resume support broken X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Sep 2003 15:56:50 -0000 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 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--