From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anchal Agarwal Subject: [RFC PATCH 07/12] xen-netfront: add callbacks for PM suspend and hibernation support Date: Tue, 12 Jun 2018 20:56:14 +0000 Message-ID: <20180612205619.28156-8-anchalag@amazon.com> References: <20180612205619.28156-1-anchalag@amazon.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: jgross@suse.com, len.brown@intel.com, eduval@amazon.com, vallish@amazon.com, netdev@vger.kernel.org, fllinden@amazon.com, kamatam@amazon.com, rjw@rjwysocki.net, linux-kernel@vger.kernel.org, anchalag@amazon.com, cyberax@amazon.com, pavel@ucw.cz, linux-pm@vger.kernel.org, xen-devel@lists.xenproject.org, boris.ostrovsky@oracle.com, guruanb@amazon.com, roger.pau@citrix.com To: , , , Return-path: In-Reply-To: <20180612205619.28156-1-anchalag@amazon.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" List-Id: netdev.vger.kernel.org RnJvbTogTXVuZWhpc2EgS2FtYXRhIDxrYW1hdGFtQGFtYXpvbi5jb20+CgpBZGQgZnJlZXplIGFu ZCByZXN0b3JlIGNhbGxiYWNrcyBmb3IgUE0gc3VzcGVuZCBhbmQgaGliZXJuYXRpb24gc3VwcG9y dC4KVGhlIGZyZWV6ZSBoYW5kbGVyIHNpbXBseSBkaXNjb25uZWN0cyB0aGUgZnJvdG5lbmQgZnJv bSB0aGUgYmFja2VuZCBhbmQKZnJlZXMgcmVzb3VyY2VzIGFzc29jaWF0ZWQgd2l0aCBxdWV1ZXMg YWZ0ZXIgZGlzYWJsaW5nIHRoZSBuZXRfZGV2aWNlCmZyb20gdGhlIHN5c3RlbS4gVGhlIHJlc3Rv cmUgaGFuZGxlciBqdXN0IGNoYW5nZXMgdGhlIGZyb250ZW5kIHN0YXRlIGFuZApsZXQgdGhlIHhl bmJ1cyBoYW5kbGVyIHRvIHJlLWFsbG9jYXRlIHRoZSByZXNvdXJjZXMgYW5kIHJlLWNvbm5lY3Qg dG8gdGhlCmJhY2tlbmQuIFRoaXMgY2FuIGJlIHBlcmZvcm1lZCB0cmFuc3BhcmVudGx5IHRvIHRo ZSByZXN0IG9mIHRoZSBzeXN0ZW0uClRoZSBoYW5kbGVycyBhcmUgdXNlZCBmb3IgYm90aCBQTSBz dXNwZW5kIGFuZCBoaWJlcm5hdGlvbiBzbyB0aGF0IHdlIGNhbgprZWVwIHRoZSBleGlzdGluZyBz dXNwZW5kL3Jlc3VtZSBjYWxsYmFja3MgZm9yIFhlbiBzdXNwZW5kIHdpdGhvdXQKbW9kaWZpY2F0 aW9uLiBGcmVlemluZyBuZXRmcm9udCBkZXZpY2VzIGlzIG5vcm1hbGx5IGV4cGVjdGVkIHRvIGZp bmlzaCB3aXRoaW4gYSBmZXcKaHVuZHJlZCBtaWxsaXNlY29uZHMsIGJ1dCBpdCBjYW4gcmFyZWx5 IHRha2UgbW9yZSB0aGFuIDUgc2Vjb25kcyBhbmQKaGl0IHRoZSBoYXJkIGNvZGVkIHRpbWVvdXQs IGl0IHdvdWxkIGRlcGVuZCBvbiBiYWNrZW5kIHN0YXRlIHdoaWNoIG1heQpiZSBjb25nZXN0ZWQg YW5kL29yIGhhdmUgY29tcGxleCBjb25maWd1cmF0aW9uLiBXaGlsZSBpdCdzIHJhcmUgY2FzZSwK bG9uZ2VyIGRlZmF1bHQgdGltZW91dCBzZWVtcyBhIGJpdCBtb3JlIHJlYXNvbmFibGUgaGVyZSB0 byBhdm9pZCBoaXR0aW5nCnRoZSB0aW1lb3V0LiBBbHNvLCBtYWtlIGl0IGNvbmZpZ3VyYWJsZSB2 aWEgbW9kdWxlIHBhcmFtZXRlciBzbyB0aGF0IHdlCmNhbiBjb3ZlciBicm9hZGVyIHNldHVwcyB0 aGFuIHdoYXQgd2Uga25vdyBjdXJyZW50bHkuCgpTaWduZWQtb2ZmLWJ5OiBNdW5laGlzYSBLYW1h dGEgPGthbWF0YW1AYW1hem9uLmNvbT4KU2lnbmVkLW9mZi1ieTogQW5jaGFsIEFnYXJ3YWwgPGFu Y2hhbGFnQGFtYXpvbi5jb20+ClJldmlld2VkLWJ5OiBFZHVhcmRvIFZhbGVudGluIDxlZHV2YWxA YW1hem9uLmNvbT4KUmV2aWV3ZWQtYnk6IE11bmVoaXNhIEthbWF0YSA8a2FtYXRhbUBhbWF6b24u Y29tPgotLS0KIGRyaXZlcnMvbmV0L3hlbi1uZXRmcm9udC5jIHwgOTcgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDk2IGluc2Vy dGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC94ZW4tbmV0 ZnJvbnQuYyBiL2RyaXZlcnMvbmV0L3hlbi1uZXRmcm9udC5jCmluZGV4IDRkZDA2NjguLjRlYTky ODQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3hlbi1uZXRmcm9udC5jCisrKyBiL2RyaXZlcnMv bmV0L3hlbi1uZXRmcm9udC5jCkBAIC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSA8bGludXgvbW9k dWxlcGFyYW0uaD4KICNpbmNsdWRlIDxsaW51eC9tbS5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIu aD4KKyNpbmNsdWRlIDxsaW51eC9jb21wbGV0aW9uLmg+CiAjaW5jbHVkZSA8bmV0L2lwLmg+CiAK ICNpbmNsdWRlIDx4ZW4veGVuLmg+CkBAIC01Niw2ICs1NywxMiBAQAogI2luY2x1ZGUgPHhlbi9p bnRlcmZhY2UvbWVtb3J5Lmg+CiAjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS9ncmFudF90YWJsZS5o PgogCitlbnVtIG5ldGlmX2ZyZWV6ZV9zdGF0ZSB7CisJTkVUSUZfRlJFRVpFX1NUQVRFX1VORlJP WkVOLAorCU5FVElGX0ZSRUVaRV9TVEFURV9GUkVFWklORywKKwlORVRJRl9GUkVFWkVfU1RBVEVf RlJPWkVOLAorfTsKKwogLyogTW9kdWxlIHBhcmFtZXRlcnMgKi8KICNkZWZpbmUgTUFYX1FVRVVF U19ERUZBVUxUIDgKIHN0YXRpYyB1bnNpZ25lZCBpbnQgeGVubmV0X21heF9xdWV1ZXM7CkBAIC02 Myw2ICs3MCwxMiBAQCBtb2R1bGVfcGFyYW1fbmFtZWQobWF4X3F1ZXVlcywgeGVubmV0X21heF9x dWV1ZXMsIHVpbnQsIDA2NDQpOwogTU9EVUxFX1BBUk1fREVTQyhtYXhfcXVldWVzLAogCQkgIk1h eGltdW0gbnVtYmVyIG9mIHF1ZXVlcyBwZXIgdmlydHVhbCBpbnRlcmZhY2UiKTsKIAorc3RhdGlj IHVuc2lnbmVkIGludCBuZXRmcm9udF9mcmVlemVfdGltZW91dF9zZWNzID0gMTA7Cittb2R1bGVf cGFyYW1fbmFtZWQoZnJlZXplX3RpbWVvdXRfc2VjcywKKwkJICAgbmV0ZnJvbnRfZnJlZXplX3Rp bWVvdXRfc2VjcywgdWludCwgMDY0NCk7CitNT0RVTEVfUEFSTV9ERVNDKGZyZWV6ZV90aW1lb3V0 X3NlY3MsCisJCSAidGltZW91dCB3aGVuIGZyZWV6aW5nIG5ldGZyb250IGRldmljZSBpbiBzZWNv bmRzIik7CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZXRodG9vbF9vcHMgeGVubmV0X2V0aHRvb2xf b3BzOwogCiBzdHJ1Y3QgbmV0ZnJvbnRfY2IgewpAQCAtMTYwLDYgKzE3MywxMCBAQCBzdHJ1Y3Qg bmV0ZnJvbnRfaW5mbyB7CiAJc3RydWN0IG5ldGZyb250X3N0YXRzIF9fcGVyY3B1ICp0eF9zdGF0 czsKIAogCWF0b21pY190IHJ4X2dzb19jaGVja3N1bV9maXh1cDsKKworCWludCBmcmVlemVfc3Rh dGU7CisKKwlzdHJ1Y3QgY29tcGxldGlvbiB3YWl0X2JhY2tlbmRfZGlzY29ubmVjdGVkOwogfTsK IAogc3RydWN0IG5ldGZyb250X3J4X2luZm8gewpAQCAtNzIzLDYgKzc0MCwyMSBAQCBzdGF0aWMg aW50IHhlbm5ldF9jbG9zZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQogCXJldHVybiAwOwogfQog CitzdGF0aWMgaW50IHhlbm5ldF9kaXNhYmxlX2ludGVycnVwdHMoc3RydWN0IG5ldF9kZXZpY2Ug KmRldikKK3sKKwlzdHJ1Y3QgbmV0ZnJvbnRfaW5mbyAqbnAgPSBuZXRkZXZfcHJpdihkZXYpOwor CXVuc2lnbmVkIGludCBudW1fcXVldWVzID0gZGV2LT5yZWFsX251bV90eF9xdWV1ZXM7CisJdW5z aWduZWQgaW50IGk7CisJc3RydWN0IG5ldGZyb250X3F1ZXVlICpxdWV1ZTsKKworCWZvciAoaSA9 IDA7IGkgPCBudW1fcXVldWVzOyArK2kpIHsKKwkJcXVldWUgPSAmbnAtPnF1ZXVlc1tpXTsKKwkJ ZGlzYWJsZV9pcnEocXVldWUtPnR4X2lycSk7CisJCWRpc2FibGVfaXJxKHF1ZXVlLT5yeF9pcnEp OworCX0KKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIHZvaWQgeGVubmV0X21vdmVfcnhfc2xvdChz dHJ1Y3QgbmV0ZnJvbnRfcXVldWUgKnF1ZXVlLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAogCQkJCWdy YW50X3JlZl90IHJlZikKIHsKQEAgLTEyOTYsNiArMTMyOCw4IEBAIHN0YXRpYyBzdHJ1Y3QgbmV0 X2RldmljZSAqeGVubmV0X2NyZWF0ZV9kZXYoc3RydWN0IHhlbmJ1c19kZXZpY2UgKmRldikKIAog CW5wLT5xdWV1ZXMgPSBOVUxMOwogCisJaW5pdF9jb21wbGV0aW9uKCZucC0+d2FpdF9iYWNrZW5k X2Rpc2Nvbm5lY3RlZCk7CisKIAllcnIgPSAtRU5PTUVNOwogCW5wLT5yeF9zdGF0cyA9IG5ldGRl dl9hbGxvY19wY3B1X3N0YXRzKHN0cnVjdCBuZXRmcm9udF9zdGF0cyk7CiAJaWYgKG5wLT5yeF9z dGF0cyA9PSBOVUxMKQpAQCAtMTc4Miw2ICsxODE2LDUwIEBAIHN0YXRpYyBpbnQgeGVubmV0X2Ny ZWF0ZV9xdWV1ZXMoc3RydWN0IG5ldGZyb250X2luZm8gKmluZm8sCiAJcmV0dXJuIDA7CiB9CiAK K3N0YXRpYyBpbnQgbmV0ZnJvbnRfZnJlZXplKHN0cnVjdCB4ZW5idXNfZGV2aWNlICpkZXYpCit7 CisJc3RydWN0IG5ldGZyb250X2luZm8gKmluZm8gPSBkZXZfZ2V0X2RydmRhdGEoJmRldi0+ZGV2 KTsKKwl1bnNpZ25lZCBsb25nIHRpbWVvdXQgPSBuZXRmcm9udF9mcmVlemVfdGltZW91dF9zZWNz ICogSFo7CisJaW50IGVyciA9IDA7CisKKwl4ZW5uZXRfZGlzYWJsZV9pbnRlcnJ1cHRzKGluZm8t Pm5ldGRldik7CisKKwluZXRpZl9kZXZpY2VfZGV0YWNoKGluZm8tPm5ldGRldik7CisKKwlpbmZv LT5mcmVlemVfc3RhdGUgPSBORVRJRl9GUkVFWkVfU1RBVEVfRlJFRVpJTkc7CisKKwkvKiBLaWNr IHRoZSBiYWNrZW5kIHRvIGRpc2Nvbm5lY3QgKi8KKwl4ZW5idXNfc3dpdGNoX3N0YXRlKGRldiwg WGVuYnVzU3RhdGVDbG9zaW5nKTsKKworCS8qIFdlIGRvbid0IHdhbnQgdG8gbW92ZSBmb3J3YXJk IGJlZm9yZSB0aGUgZnJvbnRlbmQgaXMgZGljb25uZWN0ZWQKKwkgKiBmcm9tIHRoZSBiYWNrZW5k IGNsZWFubHkuCisJICovCisJdGltZW91dCA9IHdhaXRfZm9yX2NvbXBsZXRpb25fdGltZW91dCgm aW5mby0+d2FpdF9iYWNrZW5kX2Rpc2Nvbm5lY3RlZCwKKwkJCQkJICAgICAgdGltZW91dCk7CisJ aWYgKCF0aW1lb3V0KSB7CisJCWVyciA9IC1FQlVTWTsKKwkJeGVuYnVzX2Rldl9lcnJvcihkZXYs IGVyciwgIkZyZWV6aW5nIHRpbWVkIG91dDsiCisJCQkJICJ0aGUgZGV2aWNlIG1heSBiZWNvbWUg aW5jb25zaXN0ZW50IHN0YXRlIik7CisJCXJldHVybiBlcnI7CisJfQorCisJLyogVGVhciBkb3du IHF1ZXVlcyAqLworCXhlbm5ldF9kaXNjb25uZWN0X2JhY2tlbmQoaW5mbyk7CisJeGVubmV0X2Rl c3Ryb3lfcXVldWVzKGluZm8pOworCisJaW5mby0+ZnJlZXplX3N0YXRlID0gTkVUSUZfRlJFRVpF X1NUQVRFX0ZST1pFTjsKKworCXJldHVybiBlcnI7Cit9CisKK3N0YXRpYyBpbnQgbmV0ZnJvbnRf cmVzdG9yZShzdHJ1Y3QgeGVuYnVzX2RldmljZSAqZGV2KQoreworCS8qIEtpY2sgdGhlIGJhY2tl bmQgdG8gcmUtY29ubmVjdCAqLworCXhlbmJ1c19zd2l0Y2hfc3RhdGUoZGV2LCBYZW5idXNTdGF0 ZUluaXRpYWxpc2luZyk7CisKKwlyZXR1cm4gMDsKK30KKwogLyogQ29tbW9uIGNvZGUgdXNlZCB3 aGVuIGZpcnN0IHNldHRpbmcgdXAsIGFuZCB3aGVuIHJlc3VtaW5nLiAqLwogc3RhdGljIGludCB0 YWxrX3RvX25ldGJhY2soc3RydWN0IHhlbmJ1c19kZXZpY2UgKmRldiwKIAkJCSAgIHN0cnVjdCBu ZXRmcm9udF9pbmZvICppbmZvKQpAQCAtMTk4Niw2ICsyMDY0LDggQEAgc3RhdGljIGludCB4ZW5u ZXRfY29ubmVjdChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQogCQlzcGluX3VubG9ja19iaCgmcXVl dWUtPnJ4X2xvY2spOwogCX0KIAorCW5wLT5mcmVlemVfc3RhdGUgPSBORVRJRl9GUkVFWkVfU1RB VEVfVU5GUk9aRU47CisKIAlyZXR1cm4gMDsKIH0KIApAQCAtMjAyNSwxMSArMjEwNSwyMyBAQCBz dGF0aWMgdm9pZCBuZXRiYWNrX2NoYW5nZWQoc3RydWN0IHhlbmJ1c19kZXZpY2UgKmRldiwKIAog CWNhc2UgWGVuYnVzU3RhdGVDbG9zZWQ6CiAJCXdha2VfdXBfYWxsKCZtb2R1bGVfdW5sb2FkX3Ep OwotCQlpZiAoZGV2LT5zdGF0ZSA9PSBYZW5idXNTdGF0ZUNsb3NlZCkKKwkJaWYgKGRldi0+c3Rh dGUgPT0gWGVuYnVzU3RhdGVDbG9zZWQpIHsKKwkJCS8qIGRwbSBjb250ZXh0IGlzIHdhaXRpbmcg Zm9yIHRoZSBiYWNrZW5kICovCisJCQlpZiAobnAtPmZyZWV6ZV9zdGF0ZSA9PSBORVRJRl9GUkVF WkVfU1RBVEVfRlJFRVpJTkcpCisJCQkJY29tcGxldGUoJm5wLT53YWl0X2JhY2tlbmRfZGlzY29u bmVjdGVkKTsKIAkJCWJyZWFrOworCQl9CiAJCS8qIE1pc3NlZCB0aGUgYmFja2VuZCdzIENMT1NJ Tkcgc3RhdGUgLS0gZmFsbHRocm91Z2ggKi8KIAljYXNlIFhlbmJ1c1N0YXRlQ2xvc2luZzoKIAkJ d2FrZV91cF9hbGwoJm1vZHVsZV91bmxvYWRfcSk7CisJCS8qIFdlIG1heSBzZWUgdW5leHBlY3Rl ZCBDbG9zZWQgb3IgQ2xvc2luZyBmcm9tIHRoZSBiYWNrZW5kLgorCQkgKiBKdXN0IGlnbm9yZSBp dCBub3QgdG8gcHJldmVudCB0aGUgZnJvbnRlbmQgZnJvbSBiZWluZworCQkgKiByZS1jb25uZWN0 ZWQgaW4gdGhlIGNhc2Ugb2YgUE0gc3VzcGVuZCBvciBoaWJlcm5hdGlvbi4KKwkJICovCisJCWlm IChucC0+ZnJlZXplX3N0YXRlID09IE5FVElGX0ZSRUVaRV9TVEFURV9GUk9aRU4gJiYKKwkJICAg IGRldi0+c3RhdGUgPT0gWGVuYnVzU3RhdGVJbml0aWFsaXNpbmcpIHsKKwkJCWJyZWFrOworCQl9 CiAJCXhlbmJ1c19mcm9udGVuZF9jbG9zZWQoZGV2KTsKIAkJYnJlYWs7CiAJfQpAQCAtMjE3Niw2 ICsyMjY4LDkgQEAgc3RhdGljIHN0cnVjdCB4ZW5idXNfZHJpdmVyIG5ldGZyb250X2RyaXZlciA9 IHsKIAkucHJvYmUgPSBuZXRmcm9udF9wcm9iZSwKIAkucmVtb3ZlID0geGVubmV0X3JlbW92ZSwK IAkucmVzdW1lID0gbmV0ZnJvbnRfcmVzdW1lLAorCS5mcmVlemUgPSBuZXRmcm9udF9mcmVlemUs CisJLnRoYXcJPSBuZXRmcm9udF9yZXN0b3JlLAorCS5yZXN0b3JlID0gbmV0ZnJvbnRfcmVzdG9y ZSwKIAkub3RoZXJlbmRfY2hhbmdlZCA9IG5ldGJhY2tfY2hhbmdlZCwKIH07CiAKLS0gCjIuNy40 CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRl dmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9s aXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==