From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-x544.google.com (mail-ed1-x544.google.com [IPv6:2a00:1450:4864:20::544]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1090F6E1CF for ; Thu, 28 Feb 2019 14:19:39 +0000 (UTC) Received: by mail-ed1-x544.google.com with SMTP id h58so17115921edb.5 for ; Thu, 28 Feb 2019 06:19:38 -0800 (PST) From: Daniel Vetter Date: Thu, 28 Feb 2019 15:19:18 +0100 Message-Id: <20190228141918.26043-9-daniel.vetter@ffwll.ch> In-Reply-To: <20190228141918.26043-1-daniel.vetter@ffwll.ch> References: <20190228141918.26043-1-daniel.vetter@ffwll.ch> Subject: [igt-dev] [PATCH i-g-t 9/9] tests/kms_lease: Check crtc used in atomic ioctl 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: IGT development Cc: Keith Packard , Daniel Vetter List-ID: V2Ugbm90IG9ubHkgbmVlZCB0byBjaGVjayB0aGF0IHVzZXJzcGFjZSBpcyBhbGxvd2VkIHRvIHVz ZSB0aGUgb2JqZWN0cwppdCdzIGNoYW5naW5nLCBidXQgYWxzbyB0aGUgb2JqZWN0cyBpdCdzIHVz aW5nIGFzIHByb3BlcnR5IHZhbHVlcy4gVGhlCm9ubHkgb25lcyByZWxldmFudCBmb3IgbGVhc2Vz IGFyZSB0aGUgQ1JUQ19JRCBwcm9wZXJ0aWVzIG9uIGNvbm5lY3RvcnMKYW5kIHBsYW5lcy4KCkN1 cnJlbnQga2VybmVscyBmYWlsIHRoaXMuCgpDYzogS2VpdGggUGFja2FyZCA8a2VpdGhwQGtlaXRo cC5jb20+ClNpZ25lZC1vZmYtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwu Y29tPgotLS0KIHRlc3RzL2ttc19sZWFzZS5jIHwgODkgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDg5IGluc2Vy dGlvbnMoKykKCmRpZmYgLS1naXQgYS90ZXN0cy9rbXNfbGVhc2UuYyBiL3Rlc3RzL2ttc19sZWFz ZS5jCmluZGV4IGI1ZGIzN2M1ZDU4YS4uNjk0YTYxMmY3NmE3IDEwMDY0NAotLS0gYS90ZXN0cy9r bXNfbGVhc2UuYworKysgYi90ZXN0cy9rbXNfbGVhc2UuYwpAQCAtNDY3LDYgKzQ2Nyw5NCBAQCBz dGF0aWMgdm9pZCBjdXJzb3JfaW1wbGljaXRfcGxhbmUoZGF0YV90ICpkYXRhKQogCQkgICAgIGNv bm5lY3Rvcl9pZF90b19vdXRwdXQoJmRhdGEtPm1hc3Rlci5kaXNwbGF5LCBkYXRhLT5jb25uZWN0 b3JfaWQpKTsKIH0KIAorc3RhdGljIHZvaWQgYXRvbWljX2ltcGxpY2l0X2NydGMoZGF0YV90ICpk YXRhKQoreworCXVpbnQzMl90IG9iamVjdF9pZHNbM107CisJc3RydWN0IGxvY2FsX2RybV9tb2Rl X2NyZWF0ZV9sZWFzZSBtY2w7CisJZHJtTW9kZVJlcyAqcmVzb3VyY2VzOworCWRybU1vZGVPYmpl Y3RQcm9wZXJ0aWVzUHRyIHByb3BzOworCXVpbnQzMl90IHdyb25nX2NydGNfaWQgPSAwOworCXVp bnQzMl90IGNydGNfaWRfcHJvcCA9IDA7CisJZHJtTW9kZUF0b21pY1JlcVB0ciByZXEgPSBOVUxM OworCWludCByZXQ7CisKKwlpZ3RfcmVxdWlyZShkYXRhLT5tYXN0ZXIuZGlzcGxheS5pc19hdG9t aWMpOworCisJbWNsLm9iamVjdF9pZHMgPSAodWludDY0X3QpICh1aW50cHRyX3QpICZvYmplY3Rf aWRzWzBdOworCW1jbC5vYmplY3RfY291bnQgPSAwOworCW1jbC5mbGFncyA9IDA7CisKKwlvYmpl Y3RfaWRzW21jbC5vYmplY3RfY291bnQrK10gPSBkYXRhLT5jb25uZWN0b3JfaWQ7CisJb2JqZWN0 X2lkc1ttY2wub2JqZWN0X2NvdW50KytdID0gZGF0YS0+cGxhbmVfaWQ7CisKKwkvKiBmaW5kIGEg cGxhbmUgd2hpY2ggaXNuJ3QgdGhlIHByaW1hcnkgb25lIGZvciB1cyAqLworCXJlc291cmNlcyA9 IGRybU1vZGVHZXRSZXNvdXJjZXMoZGF0YS0+bWFzdGVyLmZkKTsKKwlpZ3RfYXNzZXJ0KHJlc291 cmNlcyk7CisJZm9yIChpbnQgaSA9IDA7IGkgPCByZXNvdXJjZXMtPmNvdW50X2NydGNzOyBpKysp IHsKKwkJaWYgKHJlc291cmNlcy0+Y3J0Y3NbaV0gIT0gZGF0YS0+Y3J0Y19pZCkgeworCQkJd3Jv bmdfY3J0Y19pZCA9IHJlc291cmNlcy0+Y3J0Y3NbaV07CisJCQlicmVhazsKKwkJfQorCX0KKwlk cm1Nb2RlRnJlZVJlc291cmNlcyhyZXNvdXJjZXMpOworCWlndF9yZXF1aXJlKHdyb25nX2NydGNf aWQpOworCW9iamVjdF9pZHNbbWNsLm9iamVjdF9jb3VudCsrXSA9IHdyb25nX2NydGNfaWQ7CisK KwkvKiBmaW5kIHRoZSBDUlRDX0lEIHByb3AsIGl0J3MgZ2xvYmFsICovCisJcHJvcHMgPSBkcm1N b2RlT2JqZWN0R2V0UHJvcGVydGllcyhkYXRhLT5tYXN0ZXIuZmQsIGRhdGEtPnBsYW5lX2lkLAor CQkJCQkgICBEUk1fTU9ERV9PQkpFQ1RfUExBTkUpOworCWlndF9hc3NlcnQocHJvcHMpOworCWZv ciAoaW50IGkgPSAwOyBpIDwgcHJvcHMtPmNvdW50X3Byb3BzOyBpKyspIHsKKwkJZHJtTW9kZVBy b3BlcnR5UHRyIHByb3AgPSBkcm1Nb2RlR2V0UHJvcGVydHkoZGF0YS0+bWFzdGVyLmZkLAorCQkJ CQkJCSAgICAgcHJvcHMtPnByb3BzW2ldKTsKKwkJaWYgKHN0cmNtcChwcm9wLT5uYW1lLCAiQ1JU Q19JRCIpID09IDApCisJCQljcnRjX2lkX3Byb3AgPSBwcm9wcy0+cHJvcHNbaV07CisKKwkJcHJp bnRmKCJwcm9wIG5hbWUgJXMsIHByb3AgaWQgJXUsIHByb3AgaWQgJXVcbiIsCisJCSAgICAgICBw cm9wLT5uYW1lLCBwcm9wcy0+cHJvcHNbaV0sIHByb3AtPnByb3BfaWQpOworCQlkcm1Nb2RlRnJl ZVByb3BlcnR5KHByb3ApOworCQlpZiAoY3J0Y19pZF9wcm9wKQorCQkJYnJlYWs7CisJfQorCWRy bU1vZGVGcmVlT2JqZWN0UHJvcGVydGllcyhwcm9wcyk7CisJaWd0X2Fzc2VydChjcnRjX2lkX3By b3ApOworCisJZG9fb3JfZGllKGNyZWF0ZV9sZWFzZShkYXRhLT5tYXN0ZXIuZmQsICZtY2wpKTsK Kwlkb19vcl9kaWUoZHJtU2V0Q2xpZW50Q2FwKG1jbC5mZCwgRFJNX0NMSUVOVF9DQVBfQVRPTUlD LCAxKSk7CisKKwkvKiBjaGVjayBDUlRDX0lEIHByb3BlcnR5IG9uIHRoZSBwbGFuZSAqLworCXJl cSA9IGRybU1vZGVBdG9taWNBbGxvYygpOworCWlndF9hc3NlcnQocmVxKTsKKwlyZXQgPSBkcm1N b2RlQXRvbWljQWRkUHJvcGVydHkocmVxLCBkYXRhLT5wbGFuZV9pZCwKKwkJCQkgICAgICAgY3J0 Y19pZF9wcm9wLCBkYXRhLT5jcnRjX2lkKTsKKwlpZ3RfYXNzZXJ0KHJldCA+PSAwKTsKKworCS8q IHNhbml0eSBjaGVjayAqLworCXJldCA9IGRybU1vZGVBdG9taWNDb21taXQoZGF0YS0+bWFzdGVy LmZkLCByZXEsIERSTV9NT0RFX0FUT01JQ19URVNUX09OTFksIE5VTEwpOworCWlndF9hc3NlcnQo cmV0ID09IDAgfHwgcmV0ID09IC1FSU5WQUwpOworCisJcmV0ID0gZHJtTW9kZUF0b21pY0NvbW1p dChtY2wuZmQsIHJlcSwgRFJNX01PREVfQVRPTUlDX1RFU1RfT05MWSwgTlVMTCk7CisJaWd0X2Fz c2VydChyZXQgPT0gLUVBQ0NFUyk7CisJZHJtTW9kZUF0b21pY0ZyZWUocmVxKTsKKworCS8qIGNo ZWNrIENSVENfSUQgcHJvcGVydHkgb24gdGhlIGNvbm5lY3RvciAqLworCXJlcSA9IGRybU1vZGVB dG9taWNBbGxvYygpOworCWlndF9hc3NlcnQocmVxKTsKKwlyZXQgPSBkcm1Nb2RlQXRvbWljQWRk UHJvcGVydHkocmVxLCBkYXRhLT5jb25uZWN0b3JfaWQsCisJCQkJICAgICAgIGNydGNfaWRfcHJv cCwgZGF0YS0+Y3J0Y19pZCk7CisJaWd0X2Fzc2VydChyZXQgPj0gMCk7CisKKwkvKiBzYW5pdHkg Y2hlY2sgKi8KKwlyZXQgPSBkcm1Nb2RlQXRvbWljQ29tbWl0KGRhdGEtPm1hc3Rlci5mZCwgcmVx LCBEUk1fTU9ERV9BVE9NSUNfVEVTVF9PTkxZLCBOVUxMKTsKKwlpZ3RfYXNzZXJ0KHJldCA9PSAw IHx8IHJldCA9PSAtRUlOVkFMKTsKKworCXJldCA9IGRybU1vZGVBdG9taWNDb21taXQobWNsLmZk LCByZXEsIERSTV9NT0RFX0FUT01JQ19URVNUX09OTFksIE5VTEwpOworCWlndF9hc3NlcnQocmV0 ID09IC1FQUNDRVMpOworCWRybU1vZGVBdG9taWNGcmVlKHJlcSk7CisKKwljbG9zZShtY2wuZmQp OworfQorCiAvKiBUZXN0IGxpc3RpbmcgbGVzc2VlcyAqLwogc3RhdGljIHZvaWQgbGVzc2VlX2xp c3QoZGF0YV90ICpkYXRhKQogewpAQCAtMTE5NCw2ICsxMjgyLDcgQEAgaWd0X21haW4KIAkJeyAi cGFnZV9mbGlwX2ltcGxpY2l0X3BsYW5lIiwgcGFnZV9mbGlwX2ltcGxpY2l0X3BsYW5lIH0sCiAJ CXsgInNldGNydGNfaW1wbGljaXRfcGxhbmUiLCBzZXRjcnRjX2ltcGxpY2l0X3BsYW5lIH0sCiAJ CXsgImN1cnNvcl9pbXBsaWNpdF9wbGFuZSIsIGN1cnNvcl9pbXBsaWNpdF9wbGFuZSB9LAorCQl7 ICJhdG9taWNfaW1wbGljaXRfY3J0YyIsIGF0b21pY19pbXBsaWNpdF9jcnRjIH0sCiAJCXsgfQog CX0sICpmOwogCi0tIAoyLjE0LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0 LWRldg==