From mboxrd@z Thu Jan 1 00:00:00 1970 From: Robert Foss Subject: [PATCH i-g-t v1 10/32] tests/kms_cursor_legacy: Add support for dynamic number of planes Date: Fri, 20 Jan 2017 12:45:32 -0500 Message-ID: <20170120174554.14195-11-robert.foss@collabora.com> References: <20170120174554.14195-1-robert.foss@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [46.235.227.227]) by gabe.freedesktop.org (Postfix) with ESMTPS id D4B7F6EC37 for ; Fri, 20 Jan 2017 17:46:56 +0000 (UTC) In-Reply-To: <20170120174554.14195-1-robert.foss@collabora.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org, Tomeu Vizoso , Maarten Lankhorst , Gustavo Padovan , Daniel Stone , Mika Kahola List-Id: intel-gfx@lists.freedesktop.org QWRkIGNoYW5nZXMgcmVmbGVjdGluZyB0aGUgbmV3IHN1cHBvcnQgZm9yIGR5bmFtaWMgbnVtYmVy IG9mIHBsYW5lcyBwZXIgcGlwZS4KClNpZ25lZC1vZmYtYnk6IFJvYmVydCBGb3NzIDxyb2JlcnQu Zm9zc0Bjb2xsYWJvcmEuY29tPgotLS0KIHRlc3RzL2ttc19jdXJzb3JfbGVnYWN5LmMgfCAzMiAr KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE4IGluc2Vy dGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19jdXJzb3Jf bGVnYWN5LmMgYi90ZXN0cy9rbXNfY3Vyc29yX2xlZ2FjeS5jCmluZGV4IDVlOWY1ZjM5Li5lM2Vm NjgyMSAxMDA2NDQKLS0tIGEvdGVzdHMva21zX2N1cnNvcl9sZWdhY3kuYworKysgYi90ZXN0cy9r bXNfY3Vyc29yX2xlZ2FjeS5jCkBAIC0xNjYsNyArMTY2LDcgQEAgc3RhdGljIGlndF9vdXRwdXRf dCAqc2V0X2ZiX29uX2NydGMoaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwgaW50IHBpcGUsIHN0cnVj dCBpZ3QKIAkJCSAgICAgIG1vZGUtPmhkaXNwbGF5LCBtb2RlLT52ZGlzcGxheSwKIAkJCSAgICAg IERSTV9GT1JNQVRfWFJHQjg4ODgsIEk5MTVfVElMSU5HX05PTkUsIGZiX2luZm8pOwogCi0JCXBy aW1hcnkgPSBpZ3Rfb3V0cHV0X2dldF9wbGFuZShvdXRwdXQsIElHVF9QTEFORV9QUklNQVJZKTsK KwkJcHJpbWFyeSA9IGlndF9vdXRwdXRfZ2V0X3BsYW5lX3R5cGUob3V0cHV0LCBEUk1fUExBTkVf VFlQRV9QUklNQVJZKTsKIAkJaWd0X3BsYW5lX3NldF9mYihwcmltYXJ5LCBmYl9pbmZvKTsKIAog CQlyZXR1cm4gb3V0cHV0OwpAQCAtMTgwLDcgKzE4MCw3IEBAIHN0YXRpYyB2b2lkIHNldF9jdXJz b3Jfb25fcGlwZShpZ3RfZGlzcGxheV90ICpkaXNwbGF5LCBlbnVtIHBpcGUgcGlwZSwgc3RydWN0 IGlnCiAJaWd0X3BsYW5lX3QgKnBsYW5lLCAqY3Vyc29yID0gTlVMTDsKIAogCWZvcl9lYWNoX3Bs YW5lX29uX3BpcGUoZGlzcGxheSwgcGlwZSwgcGxhbmUpIHsKLQkJaWYgKCFwbGFuZS0+aXNfY3Vy c29yKQorCQlpZiAocGxhbmUtPnR5cGUgIT0gRFJNX1BMQU5FX1RZUEVfQ1VSU09SKQogCQkJY29u dGludWU7CiAKIAkJY3Vyc29yID0gcGxhbmU7CkBAIC0yNTAsMTMgKzI1MCwxNCBAQCBzdGF0aWMg ZW51bSBwaXBlIGZpbmRfY29ubmVjdGVkX3BpcGUoaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwgYm9v bCBzZWNvbmQpCiAJcmV0dXJuIHBpcGU7CiB9CiAKLXN0YXRpYyB2b2lkIGZsaXBfbm9uYmxvY2tp bmcoaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwgZW51bSBwaXBlIHBpcGUsIGJvb2wgYXRvbWljLCBz dHJ1Y3QgaWd0X2ZiICpmYikKK3N0YXRpYyB2b2lkIGZsaXBfbm9uYmxvY2tpbmcoaWd0X2Rpc3Bs YXlfdCAqZGlzcGxheSwgZW51bSBwaXBlIHBpcGVfaWQsIGJvb2wgYXRvbWljLCBzdHJ1Y3QgaWd0 X2ZiICpmYikKIHsKLQlpZ3RfcGxhbmVfdCAqcHJpbWFyeSA9ICZkaXNwbGF5LT5waXBlc1twaXBl XS5wbGFuZXNbSUdUX1BMQU5FX1BSSU1BUlldOworCWlndF9waXBlX3QgKnBpcGUgPSAmZGlzcGxh eS0+cGlwZXNbcGlwZV9pZF07CisJaWd0X3BsYW5lX3QgKnByaW1hcnkgPSBpZ3RfcGlwZV9nZXRf cGxhbmVfdHlwZShwaXBlLCBEUk1fUExBTkVfVFlQRV9QUklNQVJZKTsKIAogCWlmICghYXRvbWlj KSB7CiAJCS8qIFNjaGVkdWxlIGEgbm9uYmxvY2tpbmcgZmxpcCBmb3IgdGhlIG5leHQgdmJsYW5r ICovCi0JCWRvX29yX2RpZShkcm1Nb2RlUGFnZUZsaXAoZGlzcGxheS0+ZHJtX2ZkLCBkaXNwbGF5 LT5waXBlc1twaXBlXS5jcnRjX2lkLCBmYi0+ZmJfaWQsCisJCWRvX29yX2RpZShkcm1Nb2RlUGFn ZUZsaXAoZGlzcGxheS0+ZHJtX2ZkLCBwaXBlLT5jcnRjX2lkLCBmYi0+ZmJfaWQsCiAJCQkJCURS TV9NT0RFX1BBR0VfRkxJUF9FVkVOVCwgZmIpKTsKIAl9IGVsc2UgewogCQlpZ3RfcGxhbmVfc2V0 X2ZiKHByaW1hcnksIGZiKTsKQEAgLTI4MywxMiArMjg0LDEzIEBAIHN0YXRpYyBib29sIGN1cnNv cl9zbG93cGF0aChlbnVtIGZsaXBfdGVzdCBtb2RlKQogCXJldHVybiB0cnVlOwogfQogCi1zdGF0 aWMgdm9pZCB0cmFuc2l0aW9uX25vbmJsb2NraW5nKGlndF9kaXNwbGF5X3QgKmRpc3BsYXksIGVu dW0gcGlwZSBwaXBlLAorc3RhdGljIHZvaWQgdHJhbnNpdGlvbl9ub25ibG9ja2luZyhpZ3RfZGlz cGxheV90ICpkaXNwbGF5LCBlbnVtIHBpcGUgcGlwZV9pZCwKIAkJCQkgICBzdHJ1Y3QgaWd0X2Zi ICpwcmltX2ZiLCBzdHJ1Y3QgaWd0X2ZiICphcmdiX2ZiLAogCQkJCSAgIGJvb2wgaGlkZV9zcHJp dGUpCiB7Ci0JaWd0X3BsYW5lX3QgKnByaW1hcnkgPSAmZGlzcGxheS0+cGlwZXNbcGlwZV0ucGxh bmVzW0lHVF9QTEFORV9QUklNQVJZXTsKLQlpZ3RfcGxhbmVfdCAqc3ByaXRlID0gJmRpc3BsYXkt PnBpcGVzW3BpcGVdLnBsYW5lc1tJR1RfUExBTkVfMl07CisJaWd0X3BpcGVfdCAqcGlwZSA9ICZk aXNwbGF5LT5waXBlc1twaXBlX2lkXTsKKwlpZ3RfcGxhbmVfdCAqcHJpbWFyeSA9IGlndF9waXBl X2dldF9wbGFuZV90eXBlKHBpcGUsIERSTV9QTEFORV9UWVBFX1BSSU1BUlkpOworCWlndF9wbGFu ZV90ICpzcHJpdGUgPSBpZ3RfcGlwZV9nZXRfcGxhbmVfdHlwZShwaXBlLCBEUk1fUExBTkVfVFlQ RV9PVkVSTEFZKTsKIAogCWlmIChoaWRlX3Nwcml0ZSkgewogCQlpZ3RfcGxhbmVfc2V0X2ZiKHBy aW1hcnksIHByaW1fZmIpOwpAQCAtMzU0LDcgKzM1Niw3IEBAIHN0YXRpYyB2b2lkIHByZXBhcmVf ZmxpcF90ZXN0KGlndF9kaXNwbGF5X3QgKmRpc3BsYXksCiAJaWYgKG1vZGUgPT0gZmxpcF90ZXN0 X2F0b21pY190cmFuc2l0aW9ucyB8fAogCSAgICBtb2RlID09IGZsaXBfdGVzdF9hdG9taWNfdHJh bnNpdGlvbnNfdmFyeWluZ19zaXplKSB7CiAJCWlndF9yZXF1aXJlKGRpc3BsYXktPnBpcGVzW2Zs aXBfcGlwZV0ubl9wbGFuZXMgPiAxICYmCi0JCQkgICAgIWRpc3BsYXktPnBpcGVzW2ZsaXBfcGlw ZV0ucGxhbmVzW0lHVF9QTEFORV8yXS5pc19jdXJzb3IpOworCQkgICAgICAgICAgICBkaXNwbGF5 LT5waXBlc1tmbGlwX3BpcGVdLnBsYW5lc1sxXS50eXBlICE9IERSTV9QTEFORV9UWVBFX0NVUlNP Uik7CiAKIAkJaWd0X2NyZWF0ZV9jb2xvcl9wYXR0ZXJuX2ZiKGRpc3BsYXktPmRybV9mZCwgcHJp bV9mYi0+d2lkdGgsIHByaW1fZmItPmhlaWdodCwKIAkJCQkJICAgIERSTV9GT1JNQVRfQVJHQjg4 ODgsIDAsIC4xLCAuMSwgLjEsIGFyZ2JfZmIpOwpAQCAtODQzLDcgKzg0NSw3IEBAIHN0YXRpYyB2 b2lkIG5vbmJsb2NraW5nX21vZGVzZXRfdnNfY3Vyc29yKGlndF9kaXNwbGF5X3QgKmRpc3BsYXks IGludCBsb29wcykKIAlhcmdbMF0uZmxhZ3MgfD0gRFJNX01PREVfQ1VSU09SX0JPOwogCiAJZm9y X2VhY2hfcGxhbmVfb25fcGlwZShkaXNwbGF5LCBwaXBlLCBwbGFuZSkgewotCQlpZiAoIXBsYW5l LT5pc19jdXJzb3IpCisJCWlmIChwbGFuZS0+dHlwZSAhPSBEUk1fUExBTkVfVFlQRV9DVVJTT1Ip CiAJCQljb250aW51ZTsKIAogCQljdXJzb3IgPSBwbGFuZTsKQEAgLTk4Myw3ICs5ODUsNyBAQCBz dGF0aWMgdm9pZCB0d29fc2NyZWVuc19mbGlwX3ZzX2N1cnNvcihpZ3RfZGlzcGxheV90ICpkaXNw bGF5LCBpbnQgbmxvb3BzLCBib29sCiAJCQkgKiBpbiB0aGUgc2FtZSBjb21taXQuCiAJCQkgKi8K IAotCQkJaWd0X3BsYW5lX3NldF9mYihpZ3Rfb3V0cHV0X2dldF9wbGFuZShvdXRwdXQsIElHVF9Q TEFORV9QUklNQVJZKSwgJmZiX2luZm8pOworCQkJaWd0X3BsYW5lX3NldF9mYihpZ3Rfb3V0cHV0 X2dldF9wbGFuZV90eXBlKG91dHB1dCwgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSksICZmYl9pbmZv KTsKIAkJCWlndF9vdXRwdXRfc2V0X3BpcGUob3V0cHV0MiwgKG5sb29wcyAmIDEpID8gUElQRV9O T05FIDogcGlwZTIpOwogCQkJaWd0X2Rpc3BsYXlfY29tbWl0X2F0b21pYyhkaXNwbGF5LCBEUk1f TU9ERV9BVE9NSUNfQUxMT1dfTU9ERVNFVCB8IERSTV9NT0RFX0FUT01JQ19OT05CTE9DSywgTlVM TCk7CiAJCX0KQEAgLTEyODMsNiArMTI4NSw4IEBAIHN0YXRpYyB2b2lkIGZsaXBfdnNfY3Vyc29y X2J1c3lfY3JjKGlndF9kaXNwbGF5X3QgKmRpc3BsYXksIGJvb2wgYXRvbWljKQogCXVuc2lnbmVk IHZibGFua19zdGFydDsKIAllbnVtIHBpcGUgcGlwZSA9IGZpbmRfY29ubmVjdGVkX3BpcGUoZGlz cGxheSwgZmFsc2UpOwogCWlndF9waXBlX2NyY190ICpwaXBlX2NyYzsKKwlpZ3RfcGlwZV90ICpw aXBlX2Nvbm5lY3RlZCA9ICZkaXNwbGF5LT5waXBlc1twaXBlXTsKKwlpZ3RfcGxhbmVfdCAqcGxh bmVfcHJpbWFyeSA9IGlndF9waXBlX2dldF9wbGFuZV90eXBlKHBpcGVfY29ubmVjdGVkLCBEUk1f UExBTkVfVFlQRV9QUklNQVJZKTsKIAlpZ3RfY3JjX3QgY3Jjc1szXTsKIAogCWlmIChhdG9taWMp CkBAIC0xMzE0LDEwICsxMzE4LDEwIEBAIHN0YXRpYyB2b2lkIGZsaXBfdnNfY3Vyc29yX2J1c3lf Y3JjKGlndF9kaXNwbGF5X3QgKmRpc3BsYXksIGJvb2wgYXRvbWljKQogCSAgKiBzZXR0aW5nIHRo ZSBjb3JyZWN0IGNhY2hlIGxldmVsLCBlbHNlIHdlIGdldCBhIHN0YWxsIGluIHRoZQogCSAgKiBw YWdlIGZsaXAgaGFuZGxlci4KIAkgICovCi0JaWd0X3BsYW5lX3NldF9mYigmZGlzcGxheS0+cGlw ZXNbcGlwZV0ucGxhbmVzW0lHVF9QTEFORV9QUklNQVJZXSwgJmZiX2luZm9bMV0pOworCWlndF9w bGFuZV9zZXRfZmIocGxhbmVfcHJpbWFyeSwgJmZiX2luZm9bMV0pOwogCWlndF9kaXNwbGF5X2Nv bW1pdDIoZGlzcGxheSwgQ09NTUlUX1VOSVZFUlNBTCk7CiAKLQlpZ3RfcGxhbmVfc2V0X2ZiKCZk aXNwbGF5LT5waXBlc1twaXBlXS5wbGFuZXNbSUdUX1BMQU5FX1BSSU1BUlldLCAmZmJfaW5mb1sw XSk7CisJaWd0X3BsYW5lX3NldF9mYihwbGFuZV9wcmltYXJ5LCAmZmJfaW5mb1swXSk7CiAJaWd0 X2Rpc3BsYXlfY29tbWl0MihkaXNwbGF5LCBDT01NSVRfVU5JVkVSU0FMKTsKIAogCS8qIERpc2Fi bGUgY3Vyc29yLCBhbmQgaW1tZWRpYXRlbHkgcXVldWUgYSBmbGlwLiBDaGVjayBpZiByZXN1bHRp bmcgY3JjIGlzIGNvcnJlY3QuICovCkBAIC0xMzQzLDcgKzEzNDcsNyBAQCBzdGF0aWMgdm9pZCBm bGlwX3ZzX2N1cnNvcl9idXN5X2NyYyhpZ3RfZGlzcGxheV90ICpkaXNwbGF5LCBib29sIGF0b21p YykKIAogCQlpZ3RfYXNzZXJ0X2x0ZSh2Ymxhbmtfc3RhcnQgKyAxLCBnZXRfdmJsYW5rKGRpc3Bs YXktPmRybV9mZCwgcGlwZSwgMCkpOwogCi0JCWlndF9wbGFuZV9zZXRfZmIoJmRpc3BsYXktPnBp cGVzW3BpcGVdLnBsYW5lc1tJR1RfUExBTkVfUFJJTUFSWV0sICZmYl9pbmZvWzBdKTsKKwkJaWd0 X3BsYW5lX3NldF9mYihwbGFuZV9wcmltYXJ5LCAmZmJfaW5mb1swXSk7CiAJCWlndF9kaXNwbGF5 X2NvbW1pdDIoZGlzcGxheSwgQ09NTUlUX1VOSVZFUlNBTCk7CiAKIAkJaWd0X2Fzc2VydF9jcmNf ZXF1YWwoJmNyY3NbaV0sICZjcmNzWzJdKTsKLS0gCjIuMTEuMAoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==