From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Mika Kuoppala Date: Wed, 13 Nov 2019 17:49:12 +0200 Message-Id: <20191113154913.8787-6-mika.kuoppala@linux.intel.com> In-Reply-To: <20191113154913.8787-1-mika.kuoppala@linux.intel.com> References: <20191113154913.8787-1-mika.kuoppala@linux.intel.com> Subject: [igt-dev] [PATCH i-g-t 6/7] lib/igt_aux: Add helper to query suspend-to-mem modes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: intel-gfx@lists.freedesktop.org Cc: igt-dev@lists.freedesktop.org List-ID: RnJvbTogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPgoKQWRkIGEgaGVscGVyIHRvIHF1 ZXJ5IHRoZSBzdXBwb3J0ZWQgYW5kIGN1cnJlbnRseSBzZWxlY3RlZApzdXNwZW5kLXRvLW1lbSBt b2Rlcy4KCnYyOgotIEZpeCBmb3Igb2xkIGtlcm5lbHMgd2hlcmUgdGhlIG1lbV9zbGVlcCBzeXNm cyBmaWxlIGRpZG4ndCB5ZXQgZXhpc3QuCgpTaWduZWQtb2ZmLWJ5OiBJbXJlIERlYWsgPGltcmUu ZGVha0BpbnRlbC5jb20+Ci0tLQogbGliL2lndF9hdXguYyB8IDgxICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogbGliL2lndF9hdXguaCB8IDI0ICsr KysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAxMDUgaW5zZXJ0aW9ucygrKQoKZGlmZiAt LWdpdCBhL2xpYi9pZ3RfYXV4LmMgYi9saWIvaWd0X2F1eC5jCmluZGV4IDU3OGY4NTc5Li5mMmNi MzI0NyAxMDA2NDQKLS0tIGEvbGliL2lndF9hdXguYworKysgYi9saWIvaWd0X2F1eC5jCkBAIC04 MjcsNiArODI3LDg3IEBAIHN0YXRpYyB1aW50MzJfdCBnZXRfc3VwcG9ydGVkX3N1c3BlbmRfc3Rh dGVzKGludCBwb3dlcl9kaXIpCiAJcmV0dXJuIHN0YXRlX21hc2s7CiB9CiAKK3N0YXRpYyBjb25z dCBjaGFyICpzdXNwZW5kX3RvX21lbV9tb2RlX25hbWVbXSA9IHsKKwlbU1VTUEVORF9UT19NRU1f UzJJRExFXSA9ICJzMmlkbGUiLAorCVtTVVNQRU5EX1RPX01FTV9TSEFMTE9XXSA9ICJzaGFsbG93 IiwKKwlbU1VTUEVORF9UT19NRU1fREVFUF0gPSAiZGVlcCIsCit9OworCitzdGF0aWMgdWludDMy X3QKK2dldF9zdXBwb3J0ZWRfc3VzcGVuZF90b19tZW1fbW9kZXMoaW50IHBvd2VyX2RpciwKKwkJ CQkgICBlbnVtIGlndF9zdXNwZW5kX3RvX21lbV9tb2RlICpzZWxlY3RlZF9tb2RlKQoreworCWNo YXIgKm1vZGVzOworCWNoYXIgKm1vZGVfbmFtZTsKKwl1aW50MzJfdCBtb2RlX21hc2s7CisJYm9v bCBzZWxlY3RlZF9mb3VuZCA9IGZhbHNlOworCisJLyoKKwkgKiBPdGhlciBtb2RlcyB0aGFuIGRl ZXAgc2xlZXAgd2VyZSBvbmx5IGludHJvZHVjZWQgd2l0aCB0aGUgbWVtX3NsZWVwCisJICogc3lz ZnMgZmlsZS4KKwkgKi8KKwltb2RlcyA9IGlndF9zeXNmc19nZXQocG93ZXJfZGlyLCAibWVtX3Ns ZWVwIik7CisJaWYgKCFtb2RlcykgeworCQkqc2VsZWN0ZWRfbW9kZSA9IFNVU1BFTkRfVE9fTUVN X0RFRVA7CisJCXJldHVybiAxIDw8IFNVU1BFTkRfVE9fTUVNX0RFRVA7CisJfQorCisJbW9kZV9t YXNrID0gMDsKKwlmb3IgKG1vZGVfbmFtZSA9IHN0cnRvayhtb2RlcywgIiAiKTsgbW9kZV9uYW1l OworCSAgICAgbW9kZV9uYW1lID0gc3RydG9rKE5VTEwsICIgIikpIHsKKwkJZW51bSBpZ3Rfc3Vz cGVuZF90b19tZW1fbW9kZSBtb2RlOworCQlib29sIHNlbGVjdGVkID0gZmFsc2U7CisKKwkJaWYg KG1vZGVfbmFtZVswXSA9PSAnWycpIHsKKwkJCWNoYXIgKmUgPSAmbW9kZV9uYW1lW3N0cmxlbiht b2RlX25hbWUpIC0gMV07CisKKwkJCWlndF9hc3NlcnQoIXNlbGVjdGVkX2ZvdW5kKTsKKwkJCWln dF9hc3NlcnQoKmUgPT0gJ10nKTsKKwkJCW1vZGVfbmFtZSsrOworCQkJKmUgPSAnXDAnOworCisJ CQlzZWxlY3RlZCA9IHRydWU7CisJCX0KKworCQlmb3IgKG1vZGUgPSBTVVNQRU5EX1RPX01FTV9T MklETEU7CisJCSAgICAgbW9kZSA8IFNVU1BFTkRfVE9fTUVNX05VTTsKKwkJICAgICBtb2RlKysp CisJCQlpZiAoc3RyY21wKG1vZGVfbmFtZSwKKwkJCQkgICBzdXNwZW5kX3RvX21lbV9tb2RlX25h bWVbbW9kZV0pID09IDApCisJCQkJYnJlYWs7CisJCWlndF9hc3NlcnQobW9kZSA8IFNVU1BFTkRf VE9fTUVNX05VTSk7CisJCW1vZGVfbWFzayB8PSAxIDw8IG1vZGU7CisJCWlmIChzZWxlY3RlZCkg eworCQkJc2VsZWN0ZWRfZm91bmQgPSB0cnVlOworCQkJaWYgKHNlbGVjdGVkX21vZGUpCisJCQkJ KnNlbGVjdGVkX21vZGUgPSBtb2RlOworCQl9CisJfQorCisJaWd0X2Fzc2VydChzZWxlY3RlZF9m b3VuZCk7CisKKwlmcmVlKG1vZGVzKTsKKworCXJldHVybiBtb2RlX21hc2s7Cit9CisKKy8qKgor ICogaWd0X2dldF9zdXNwZW5kX3RvX21lbV9tb2RlOgorICoKKyAqIFJldHVybnMgdGhlIGN1cnJl bnRseSBzZWxlY3RlZCBAaWd0X3N1c3BlbmRfdG9fbWVtX21vZGUuCisgKi8KK2VudW0gaWd0X3N1 c3BlbmRfdG9fbWVtX21vZGUgaWd0X2dldF9zdXNwZW5kX3RvX21lbV9tb2RlKHZvaWQpCit7CisJ aW50IHBvd2VyX2RpcjsKKwllbnVtIGlndF9zdXNwZW5kX3RvX21lbV9tb2RlIG1vZGU7CisKKwlp Z3RfcmVxdWlyZSgocG93ZXJfZGlyID0gb3BlbigiL3N5cy9wb3dlciIsIE9fUkRPTkxZKSkgPj0g MCk7CisJKHZvaWQpZ2V0X3N1cHBvcnRlZF9zdXNwZW5kX3RvX21lbV9tb2Rlcyhwb3dlcl9kaXIs ICZtb2RlKTsKKwljbG9zZShwb3dlcl9kaXIpOworCisJcmV0dXJuIG1vZGU7Cit9CisKIC8qKgog ICogaWd0X3N5c3RlbV9zdXNwZW5kX2F1dG9yZXN1bWU6CiAgKiBAc3RhdGU6IGFuICNpZ3Rfc3Vz cGVuZF9zdGF0ZSwgdGhlIHRhcmdldCBzdXNwZW5kIHN0YXRlCmRpZmYgLS1naXQgYS9saWIvaWd0 X2F1eC5oIGIvbGliL2lndF9hdXguaAppbmRleCAwNGQyMjkwNC4uN2NjYWE4YzQgMTAwNjQ0Ci0t LSBhL2xpYi9pZ3RfYXV4LmgKKysrIGIvbGliL2lndF9hdXguaApAQCAtMTg0LDEwICsxODQsMzQg QEAgZW51bSBpZ3Rfc3VzcGVuZF90ZXN0IHsKIAlTVVNQRU5EX1RFU1RfTlVNLAogfTsKIAorLyoq CisgKiBpZ3Rfc3VzcGVuZF90b19tZW1fbW9kZToKKyAqIEBTVVNQRU5EX1RPX01FTV9TMklETEU6 IHN1c3BlbmQgdG8gbWVtIG1hcHMgdG8gQFNVU1BFTkRfU1RBVEVfRlJFRVpFCisgKiBAU1VTUEVO RF9UT19NRU1fU0hBTExPVzogc3VzcGVuZCB0byBtZW0gbWFwcyB0byBAU1VTUEVORF9TVEFURV9T VEFOREJZCisgKiBAU1VTUEVORF9UT19NRU1fREVFUDogc3VzcGVuZCB0byBtZW0gd2lsbCB0YXJn ZXQgdGhlIEFDUEkgUzMgc3RhdGUKKyAqCisgKiBUaGUgdGFyZ2V0IHN5c3RlbSBzdGF0ZSB3aGVu IHN1c3BlbmRpbmcgdG8gbWVtOgorICogLSBTdXNwZW5kaW5nIHdpdGggQFNVU1BFTkRfU1RBVEVf TUVNL0BTVVNQRU5EX1RPX01FTV9TMklETEUgaXMgZXF1aXZhbGVudCB0bworICogICBzdXNwZW5k aW5nIHdpdGggQFNVU1BFTkRfU1RBVEVfRlJFRVpFLgorICogLSBTdXNwZW5kaW5nIHdpdGggQFNV U1BFTkRfU1RBVEVfTUVNL0BTVVNQRU5EX1RPX01FTV9TSEFMTE9XIGlzIGVxdWl2YWxlbnQgdG8K KyAqICAgc3VzcGVuZGluZyB3aXRoIEBTVVNQRU5EX1NUQVRFX1NUQU5EQlkuCisgKiAtIFN1c3Bl bmRpbmcgd2l0aCBAU1VTUEVORF9TVEFURV9NRU0vQFNVU1BFTkRfVE9fTUVNX0RFRVAgd2lsbCB0 YXJnZXQgdGhlCisgKiAgIEFDUEkgUzMgc3RhdGUuCisgKi8KK2VudW0gaWd0X3N1c3BlbmRfdG9f bWVtX21vZGUgeworCVNVU1BFTkRfVE9fTUVNX1MySURMRSwKKwlTVVNQRU5EX1RPX01FTV9TSEFM TE9XLAorCVNVU1BFTkRfVE9fTUVNX0RFRVAsCisKKwkvKjwgcHJpdmF0ZSA+Ki8KKwlTVVNQRU5E X1RPX01FTV9OVU0sCit9OworCiB2b2lkIGlndF9zeXN0ZW1fc3VzcGVuZF9hdXRvcmVzdW1lKGVu dW0gaWd0X3N1c3BlbmRfc3RhdGUgc3RhdGUsCiAJCQkJICAgZW51bSBpZ3Rfc3VzcGVuZF90ZXN0 IHRlc3QpOwogdm9pZCBpZ3Rfc2V0X2F1dG9yZXN1bWVfZGVsYXkoaW50IGRlbGF5X3NlY3MpOwog aW50IGlndF9nZXRfYXV0b3Jlc3VtZV9kZWxheShlbnVtIGlndF9zdXNwZW5kX3N0YXRlIHN0YXRl KTsKK2VudW0gaWd0X3N1c3BlbmRfdG9fbWVtX21vZGUgaWd0X2dldF9zdXNwZW5kX3RvX21lbV9t b2RlKHZvaWQpOwogCiAvKiBkcm9wcGluZyBwcml2aWxlZGdlcyAqLwogdm9pZCBpZ3RfZHJvcF9y b290KHZvaWQpOwotLSAKMi4xNy4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ln dC1kZXY=