Date: Fri, 17 Apr 2009 19:31:12 +0300 From: Andriy Gapon <avg@freebsd.org> To: freebsd-acpi@freebsd.org Subject: Re: run resume code only for S1-S4 states Message-ID: <49E8AED0.1090008@freebsd.org> In-Reply-To: <49E61986.7040709@root.org> References: <49DB639A.4090504@icyb.net.ua> <49DCF5C2.60805@root.org> <49DDF906.8090400@icyb.net.ua> <49DF3CA4.1090309@freebsd.org> <49E4B2A7.3020302@freebsd.org> <49E61986.7040709@root.org>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------000200060802010801030105 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit An updated version of the patch, the only difference is: do-while(0) is gone, breaks are replaces with gotos, indentation is reduced. Per Nate's request I am calling for people with SMP systems to test if powering off via power button still works with this change. It's desirable to test power off at least two times to increase a chance of non-BSP CPU being used. -- Andriy Gapon --------------000200060802010801030105 Content-Type: text/plain; name="acpi_s5.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="acpi_s5.diff" ZGlmZiAtLWdpdCBhL3N5cy9kZXYvYWNwaWNhL2FjcGkuYyBiL3N5cy9kZXYvYWNwaWNhL2Fj cGkuYwppbmRleCA1MGI4NGE1Li42NDc3MTI1IDEwMDY0NAotLS0gYS9zeXMvZGV2L2FjcGlj YS9hY3BpLmMKKysrIGIvc3lzL2Rldi9hY3BpY2EvYWNwaS5jCkBAIC0yNDgyLDYgKzI0ODIs OSBAQCBhY3BpX0VudGVyU2xlZXBTdGF0ZShzdHJ1Y3QgYWNwaV9zb2Z0YyAqc2MsIGludCBz dGF0ZSkKIAogICAgIEFDUElfRlVOQ1RJT05fVFJBQ0VfVTMyKChjaGFyICopKHVpbnRwdHJf dClfX2Z1bmNfXywgc3RhdGUpOwogCisgICAgaWYgKHN0YXRlIDwgQUNQSV9TVEFURV9TMSB8 fCBzdGF0ZSA+IEFDUElfU1RBVEVfUzUpCisJcmV0dXJuX0FDUElfU1RBVFVTIChBRV9CQURf UEFSQU1FVEVSKTsKKwogICAgIC8qIFJlLWVudHJ5IG9uY2Ugd2UncmUgc3VzcGVuZGluZyBp cyBub3QgYWxsb3dlZC4gKi8KICAgICBzdGF0dXMgPSBhY3BpX3NsZWVwX2Rpc2FibGUoc2Mp OwogICAgIGlmIChBQ1BJX0ZBSUxVUkUoc3RhdHVzKSkgewpAQCAtMjQ4OSw2ICsyNDkyLDE1 IEBAIGFjcGlfRW50ZXJTbGVlcFN0YXRlKHN0cnVjdCBhY3BpX3NvZnRjICpzYywgaW50IHN0 YXRlKQogCXJldHVybiAoc3RhdHVzKTsKICAgICB9CiAKKyAgICBpZiAoc3RhdGUgPT0gQUNQ SV9TVEFURV9TNSkgeworCS8qCisJICogU2h1dCBkb3duIGNsZWFubHkgYW5kIHBvd2VyIG9m Zi4gIFRoaXMgd2lsbCBjYWxsIHVzIGJhY2sgdGhyb3VnaCB0aGUKKwkgKiBzaHV0ZG93biBo YW5kbGVycy4KKwkgKi8KKwlzaHV0ZG93bl9uaWNlKFJCX1BPV0VST0ZGKTsKKwlyZXR1cm5f QUNQSV9TVEFUVVMgKEFFX09LKTsKKyAgICB9CisKICNpZmRlZiBTTVAKICAgICB0aHJlYWRf bG9jayhjdXJ0aHJlYWQpOwogICAgIHNjaGVkX2JpbmQoY3VydGhyZWFkLCAwKTsKQEAgLTI1 MDIsOTIgKzI1MTQsNzQgQEAgYWNwaV9FbnRlclNsZWVwU3RhdGUoc3RydWN0IGFjcGlfc29m dGMgKnNjLCBpbnQgc3RhdGUpCiAgICAgbXR4X2xvY2soJkdpYW50KTsKIAogICAgIHNscF9z dGF0ZSA9IEFDUElfU1NfTk9ORTsKLSAgICBzd2l0Y2ggKHN0YXRlKSB7Ci0gICAgY2FzZSBB Q1BJX1NUQVRFX1MxOgotICAgIGNhc2UgQUNQSV9TVEFURV9TMjoKLSAgICBjYXNlIEFDUElf U1RBVEVfUzM6Ci0gICAgY2FzZSBBQ1BJX1NUQVRFX1M0OgotCXN0YXR1cyA9IEFjcGlHZXRT bGVlcFR5cGVEYXRhKHN0YXRlLCAmVHlwZUEsICZUeXBlQik7Ci0JaWYgKHN0YXR1cyA9PSBB RV9OT1RfRk9VTkQpIHsKLQkgICAgZGV2aWNlX3ByaW50ZihzYy0+YWNwaV9kZXYsCi0JCQkg ICJTbGVlcCBzdGF0ZSBTJWQgbm90IHN1cHBvcnRlZCBieSBCSU9TXG4iLCBzdGF0ZSk7Ci0J ICAgIGJyZWFrOwotCX0gZWxzZSBpZiAoQUNQSV9GQUlMVVJFKHN0YXR1cykpIHsKLQkgICAg ZGV2aWNlX3ByaW50ZihzYy0+YWNwaV9kZXYsICJBY3BpR2V0U2xlZXBUeXBlRGF0YSBmYWls ZWQgLSAlc1xuIiwKLQkJCSAgQWNwaUZvcm1hdEV4Y2VwdGlvbihzdGF0dXMpKTsKLQkgICAg YnJlYWs7Ci0JfQorICAgIHN0YXR1cyA9IEFjcGlHZXRTbGVlcFR5cGVEYXRhKHN0YXRlLCAm VHlwZUEsICZUeXBlQik7CisgICAgaWYgKHN0YXR1cyA9PSBBRV9OT1RfRk9VTkQpIHsKKwlk ZXZpY2VfcHJpbnRmKHNjLT5hY3BpX2RldiwKKwkJICAgICAgIlNsZWVwIHN0YXRlIFMlZCBu b3Qgc3VwcG9ydGVkIGJ5IEJJT1NcbiIsIHN0YXRlKTsKKwlnb3RvIGJhY2tvdXQ7CisgICAg fSBlbHNlIGlmIChBQ1BJX0ZBSUxVUkUoc3RhdHVzKSkgeworCWRldmljZV9wcmludGYoc2Mt PmFjcGlfZGV2LCAiQWNwaUdldFNsZWVwVHlwZURhdGEgZmFpbGVkIC0gJXNcbiIsCisJCSAg ICAgIEFjcGlGb3JtYXRFeGNlcHRpb24oc3RhdHVzKSk7CisJZ290byBiYWNrb3V0OworICAg IH0KIAotCXNjLT5hY3BpX3NzdGF0ZSA9IHN0YXRlOworICAgIHNjLT5hY3BpX3NzdGF0ZSA9 IHN0YXRlOwogCi0JLyogRW5hYmxlIGFueSBHUEVzIGFzIGFwcHJvcHJpYXRlIGFuZCByZXF1 ZXN0ZWQgYnkgdGhlIHVzZXIuICovCi0JYWNwaV93YWtlX3ByZXBfd2FsayhzdGF0ZSk7Ci0J c2xwX3N0YXRlID0gQUNQSV9TU19HUEVfU0VUOworICAgIC8qIEVuYWJsZSBhbnkgR1BFcyBh cyBhcHByb3ByaWF0ZSBhbmQgcmVxdWVzdGVkIGJ5IHRoZSB1c2VyLiAqLworICAgIGFjcGlf d2FrZV9wcmVwX3dhbGsoc3RhdGUpOworICAgIHNscF9zdGF0ZSA9IEFDUElfU1NfR1BFX1NF VDsKIAotCS8qCi0JICogSW5mb3JtIGFsbCBkZXZpY2VzIHRoYXQgd2UgYXJlIGdvaW5nIHRv IHNsZWVwLiAgSWYgYXQgbGVhc3Qgb25lCi0JICogZGV2aWNlIGZhaWxzLCBERVZJQ0VfU1VT UEVORCgpIGF1dG9tYXRpY2FsbHkgcmVzdW1lcyB0aGUgdHJlZS4KLQkgKgotCSAqIFhYWCBO b3RlIHRoYXQgYSBiZXR0ZXIgdHdvLXBhc3MgYXBwcm9hY2ggd2l0aCBhICd2ZXRvJyBwYXNz Ci0JICogZm9sbG93ZWQgYnkgYSAicmVhbCB0aGluZyIgcGFzcyB3b3VsZCBiZSBiZXR0ZXIs IGJ1dCB0aGUgY3VycmVudAotCSAqIGJ1cyBpbnRlcmZhY2UgZG9lcyBub3QgcHJvdmlkZSBm b3IgdGhpcy4KLQkgKi8KLQlpZiAoREVWSUNFX1NVU1BFTkQocm9vdF9idXMpICE9IDApIHsK LQkgICAgZGV2aWNlX3ByaW50ZihzYy0+YWNwaV9kZXYsICJkZXZpY2Vfc3VzcGVuZCBmYWls ZWRcbiIpOwotCSAgICBicmVhazsKLQl9Ci0Jc2xwX3N0YXRlID0gQUNQSV9TU19ERVZfU1VT UEVORDsKKyAgICAvKgorICAgICAqIEluZm9ybSBhbGwgZGV2aWNlcyB0aGF0IHdlIGFyZSBn b2luZyB0byBzbGVlcC4gIElmIGF0IGxlYXN0IG9uZQorICAgICAqIGRldmljZSBmYWlscywg REVWSUNFX1NVU1BFTkQoKSBhdXRvbWF0aWNhbGx5IHJlc3VtZXMgdGhlIHRyZWUuCisgICAg ICoKKyAgICAgKiBYWFggTm90ZSB0aGF0IGEgYmV0dGVyIHR3by1wYXNzIGFwcHJvYWNoIHdp dGggYSAndmV0bycgcGFzcworICAgICAqIGZvbGxvd2VkIGJ5IGEgInJlYWwgdGhpbmciIHBh c3Mgd291bGQgYmUgYmV0dGVyLCBidXQgdGhlIGN1cnJlbnQKKyAgICAgKiBidXMgaW50ZXJm YWNlIGRvZXMgbm90IHByb3ZpZGUgZm9yIHRoaXMuCisgICAgICovCisgICAgaWYgKERFVklD RV9TVVNQRU5EKHJvb3RfYnVzKSAhPSAwKSB7CisJZGV2aWNlX3ByaW50ZihzYy0+YWNwaV9k ZXYsICJkZXZpY2Vfc3VzcGVuZCBmYWlsZWRcbiIpOworCWdvdG8gYmFja291dDsKKyAgICB9 CisgICAgc2xwX3N0YXRlID0gQUNQSV9TU19ERVZfU1VTUEVORDsKIAotCS8qIElmIHRlc3Rp bmcgZGV2aWNlIHN1c3BlbmQgb25seSwgYmFjayBvdXQgb2YgZXZlcnl0aGluZyBoZXJlLiAq LwotCWlmIChhY3BpX3N1c3BfYm91bmNlKQotCSAgICBicmVhazsKKyAgICAvKiBJZiB0ZXN0 aW5nIGRldmljZSBzdXNwZW5kIG9ubHksIGJhY2sgb3V0IG9mIGV2ZXJ5dGhpbmcgaGVyZS4g Ki8KKyAgICBpZiAoYWNwaV9zdXNwX2JvdW5jZSkKKwlnb3RvIGJhY2tvdXQ7CiAKLQlzdGF0 dXMgPSBBY3BpRW50ZXJTbGVlcFN0YXRlUHJlcChzdGF0ZSk7Ci0JaWYgKEFDUElfRkFJTFVS RShzdGF0dXMpKSB7Ci0JICAgIGRldmljZV9wcmludGYoc2MtPmFjcGlfZGV2LCAiQWNwaUVu dGVyU2xlZXBTdGF0ZVByZXAgZmFpbGVkIC0gJXNcbiIsCi0JCQkgIEFjcGlGb3JtYXRFeGNl cHRpb24oc3RhdHVzKSk7Ci0JICAgIGJyZWFrOwotCX0KLQlzbHBfc3RhdGUgPSBBQ1BJX1NT X1NMUF9QUkVQOworICAgIHN0YXR1cyA9IEFjcGlFbnRlclNsZWVwU3RhdGVQcmVwKHN0YXRl KTsKKyAgICBpZiAoQUNQSV9GQUlMVVJFKHN0YXR1cykpIHsKKwlkZXZpY2VfcHJpbnRmKHNj LT5hY3BpX2RldiwgIkFjcGlFbnRlclNsZWVwU3RhdGVQcmVwIGZhaWxlZCAtICVzXG4iLAor CQkgICAgICBBY3BpRm9ybWF0RXhjZXB0aW9uKHN0YXR1cykpOworCWdvdG8gYmFja291dDsK KyAgICB9CisgICAgc2xwX3N0YXRlID0gQUNQSV9TU19TTFBfUFJFUDsKIAotCWlmIChzYy0+ YWNwaV9zbGVlcF9kZWxheSA+IDApCi0JICAgIERFTEFZKHNjLT5hY3BpX3NsZWVwX2RlbGF5 ICogMTAwMDAwMCk7CisgICAgaWYgKHNjLT5hY3BpX3NsZWVwX2RlbGF5ID4gMCkKKwlERUxB WShzYy0+YWNwaV9zbGVlcF9kZWxheSAqIDEwMDAwMDApOwogCi0JaWYgKHN0YXRlICE9IEFD UElfU1RBVEVfUzEpIHsKLQkgICAgYWNwaV9zbGVlcF9tYWNoZGVwKHNjLCBzdGF0ZSk7Cisg ICAgaWYgKHN0YXRlICE9IEFDUElfU1RBVEVfUzEpIHsKKwlhY3BpX3NsZWVwX21hY2hkZXAo c2MsIHN0YXRlKTsKIAotCSAgICAvKiBSZS1lbmFibGUgQUNQSSBoYXJkd2FyZSBvbiB3YWtl dXAgZnJvbSBzbGVlcCBzdGF0ZSA0LiAqLwotCSAgICBpZiAoc3RhdGUgPT0gQUNQSV9TVEFU RV9TNCkKLQkJQWNwaUVuYWJsZSgpOwotCX0gZWxzZSB7Ci0JICAgIEFDUElfRElTQUJMRV9J UlFTKCk7Ci0JICAgIHN0YXR1cyA9IEFjcGlFbnRlclNsZWVwU3RhdGUoc3RhdGUpOwotCSAg ICBpZiAoQUNQSV9GQUlMVVJFKHN0YXR1cykpIHsKLQkJZGV2aWNlX3ByaW50ZihzYy0+YWNw aV9kZXYsICJBY3BpRW50ZXJTbGVlcFN0YXRlIGZhaWxlZCAtICVzXG4iLAotCQkJICAgICAg QWNwaUZvcm1hdEV4Y2VwdGlvbihzdGF0dXMpKTsKLQkJYnJlYWs7Ci0JICAgIH0KKwkvKiBS ZS1lbmFibGUgQUNQSSBoYXJkd2FyZSBvbiB3YWtldXAgZnJvbSBzbGVlcCBzdGF0ZSA0LiAq LworCWlmIChzdGF0ZSA9PSBBQ1BJX1NUQVRFX1M0KQorCSAgICBBY3BpRW5hYmxlKCk7Cisg ICAgfSBlbHNlIHsKKwlBQ1BJX0RJU0FCTEVfSVJRUygpOworCXN0YXR1cyA9IEFjcGlFbnRl clNsZWVwU3RhdGUoc3RhdGUpOworCWlmIChBQ1BJX0ZBSUxVUkUoc3RhdHVzKSkgeworCSAg ICBkZXZpY2VfcHJpbnRmKHNjLT5hY3BpX2RldiwgIkFjcGlFbnRlclNsZWVwU3RhdGUgZmFp bGVkIC0gJXNcbiIsCisJCQkgIEFjcGlGb3JtYXRFeGNlcHRpb24oc3RhdHVzKSk7CisJICAg IGdvdG8gYmFja291dDsKIAl9Ci0Jc2xwX3N0YXRlID0gQUNQSV9TU19TTEVQVDsKLQlicmVh azsKLSAgICBjYXNlIEFDUElfU1RBVEVfUzU6Ci0JLyoKLQkgKiBTaHV0IGRvd24gY2xlYW5s eSBhbmQgcG93ZXIgb2ZmLiAgVGhpcyB3aWxsIGNhbGwgdXMgYmFjayB0aHJvdWdoIHRoZQot CSAqIHNodXRkb3duIGhhbmRsZXJzLgotCSAqLwotCXNodXRkb3duX25pY2UoUkJfUE9XRVJP RkYpOwotCXN0YXR1cyA9IEFFX09LOwotCWJyZWFrOwotICAgIGNhc2UgQUNQSV9TVEFURV9T MDoKLSAgICBkZWZhdWx0OgotCXN0YXR1cyA9IEFFX0JBRF9QQVJBTUVURVI7Ci0JYnJlYWs7 CiAgICAgfQorICAgIHNscF9zdGF0ZSA9IEFDUElfU1NfU0xFUFQ7CiAKICAgICAvKgogICAg ICAqIEJhY2sgb3V0IHN0YXRlIGFjY29yZGluZyB0byBob3cgZmFyIGFsb25nIHdlIGdvdCBp biB0aGUgc3VzcGVuZAogICAgICAqIHByb2Nlc3MuICBUaGlzIGhhbmRsZXMgYm90aCB0aGUg ZXJyb3IgYW5kIHN1Y2Nlc3MgY2FzZXMuCiAgICAgICovCitiYWNrb3V0OgogICAgIHNjLT5h Y3BpX25leHRfc3N0YXRlID0gMDsKICAgICBpZiAoc2xwX3N0YXRlID49IEFDUElfU1NfR1BF X1NFVCkgewogCWFjcGlfd2FrZV9wcmVwX3dhbGsoc3RhdGUpOwpAQCAtMjYwOSw4ICsyNjAz LDcgQEAgYWNwaV9FbnRlclNsZWVwU3RhdGUoc3RydWN0IGFjcGlfc29mdGMgKnNjLCBpbnQg c3RhdGUpCiAjZW5kaWYKIAogICAgIC8qIEFsbG93IGFub3RoZXIgc2xlZXAgcmVxdWVzdCBh ZnRlciBhIHdoaWxlLiAqLwotICAgIGlmIChzdGF0ZSAhPSBBQ1BJX1NUQVRFX1M1KQotCXRp bWVvdXQoYWNwaV9zbGVlcF9lbmFibGUsIHNjLCBoeiAqIEFDUElfTUlOSU1VTV9BV0FLRVRJ TUUpOworICAgIHRpbWVvdXQoYWNwaV9zbGVlcF9lbmFibGUsIHNjLCBoeiAqIEFDUElfTUlO SU1VTV9BV0FLRVRJTUUpOwogCiAgICAgLyogUnVuIC9ldGMvcmMucmVzdW1lIGFmdGVyIHdl IGFyZSBiYWNrLiAqLwogICAgIGlmIChkZXZjdGxfcHJvY2Vzc19ydW5uaW5nKCkpCg== --------------000200060802010801030105--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49E8AED0.1090008>