From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: [PATCH 07/10] drm/i915: Consolidate plane 'cleanup' operations (v2) Date: Mon, 1 Dec 2014 15:40:15 -0800 Message-ID: <1417477218-9519-7-git-send-email-matthew.d.roper@intel.com> References: <1417477218-9519-1-git-send-email-matthew.d.roper@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 9EB666E38B for ; Mon, 1 Dec 2014 15:40:38 -0800 (PST) In-Reply-To: <1417477218-9519-1-git-send-email-matthew.d.roper@intel.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 List-Id: intel-gfx@lists.freedesktop.org QWxsIHBsYW5lIHVwZGF0ZSBmdW5jdGlvbnMgbmVlZCB0byB1bnBpbiB0aGUgb2xkIGZyYW1lYnVm ZmVyIHdoZW4KZmxpcHBpbmcgdG8gYSBuZXcgb25lLiAgUHVsbCB0aGlzIGxvZ2ljIGludG8gYSBz ZXBhcmF0ZSBmdW5jdGlvbiB0byBlYXNlCnRoZSBpbnRlZ3JhdGlvbiB3aXRoIGF0b21pYyBwbGFu ZSBoZWxwZXJzLgoKdjI6IERvbid0IHdhaXQgZm9yIHZibGFuayBpZiB3ZSBkb24ndCBoYXZlIGFu IG9sZCBmYiB0byBjbGVhbnVwIChBbmRlcikKClNpZ25lZC1vZmYtYnk6IE1hdHQgUm9wZXIgPG1h dHRoZXcuZC5yb3BlckBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jIHwgNTkgKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgMiArKwogZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfc3ByaXRlLmMgIHwgMjcgKysrKysrLS0tLS0tLS0tLS0KIDMgZmlsZXMgY2hh bmdlZCwgNTEgaW5zZXJ0aW9ucygrKSwgMzcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jCmluZGV4IGY0OGZhYWEuLjk4ZTRmYmYgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMKQEAgLTExNzAxLDYgKzExNzAxLDMxIEBAIGludGVsX3ByZXBhcmVf cGxhbmVfZmIoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJcmV0dXJuIHJldDsKIH0KIAorLyoq CisgKiBpbnRlbF9jbGVhbnVwX3BsYW5lX2ZiIC0gQ2xlYW5zIHVwIGFuIGZiIGFmdGVyIHBsYW5l IHVzZQorICogQHBsYW5lOiBkcm0gcGxhbmUgdG8gY2xlYW4gdXAgZm9yCisgKiBAZmI6IG9sZCBm cmFtZWJ1ZmZlciB0aGF0IHdhcyBvbiBwbGFuZQorICoKKyAqIENsZWFucyB1cCBhIGZyYW1lYnVm ZmVyIHRoYXQgaGFzIGp1c3QgYmVlbiByZW1vdmVkIGZyb20gYSBwbGFuZS4KKyAqLwordm9pZAor aW50ZWxfY2xlYW51cF9wbGFuZV9mYihzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKKwkJICAgICAg IHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiKQoreworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYg PSBwbGFuZS0+ZGV2OworCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmogPSBpbnRlbF9m Yl9vYmooZmIpOworCisJaWYgKFdBUk5fT04oIW9iaikpCisJCXJldHVybjsKKworCWlmIChwbGFu ZS0+dHlwZSAhPSBEUk1fUExBTkVfVFlQRV9DVVJTT1IgfHwKKwkgICAgIUlOVEVMX0lORk8oZGV2 KS0+Y3Vyc29yX25lZWRzX3BoeXNpY2FsKSB7CisJCW11dGV4X2xvY2soJmRldi0+c3RydWN0X211 dGV4KTsKKwkJaW50ZWxfdW5waW5fZmJfb2JqKG9iaik7CisJCW11dGV4X3VubG9jaygmZGV2LT5z dHJ1Y3RfbXV0ZXgpOworCX0KK30KKwogc3RhdGljIGludAogaW50ZWxfY2hlY2tfcHJpbWFyeV9w bGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJCSAgc3RydWN0IGludGVsX3BsYW5lX3N0 YXRlICpzdGF0ZSkKQEAgLTExNzI4LDkgKzExNzUzLDcgQEAgaW50ZWxfY29tbWl0X3ByaW1hcnlf cGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxf Y3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7CiAJZW51bSBwaXBlIHBpcGUgPSBpbnRlbF9jcnRj LT5waXBlOwotCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKm9sZF9mYiA9IHBsYW5lLT5mYjsKIAlz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqID0gaW50ZWxfZmJfb2JqKGZiKTsKLQlzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2xkX29iaiA9IGludGVsX2ZiX29iaihwbGFuZS0+ZmIp OwogCXN0cnVjdCBpbnRlbF9wbGFuZSAqaW50ZWxfcGxhbmUgPSB0b19pbnRlbF9wbGFuZShwbGFu ZSk7CiAJc3RydWN0IGRybV9yZWN0ICpzcmMgPSAmc3RhdGUtPnNyYzsKIApAQCAtMTE4MDEsMTUg KzExODI0LDYgQEAgaW50ZWxfY29tbWl0X3ByaW1hcnlfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAq cGxhbmUsCiAJCWludGVsX3VwZGF0ZV9mYmMoZGV2KTsKIAkJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0 cnVjdF9tdXRleCk7CiAJfQotCi0JaWYgKG9sZF9mYiAmJiBvbGRfZmIgIT0gZmIpIHsKLQkJaWYg KGludGVsX2NydGMtPmFjdGl2ZSkKLQkJCWludGVsX3dhaXRfZm9yX3ZibGFuayhkZXYsIGludGVs X2NydGMtPnBpcGUpOwotCi0JCW11dGV4X2xvY2soJmRldi0+c3RydWN0X211dGV4KTsKLQkJaW50 ZWxfdW5waW5fZmJfb2JqKG9sZF9vYmopOwotCQltdXRleF91bmxvY2soJmRldi0+c3RydWN0X211 dGV4KTsKLQl9CiB9CiAKIHN0YXRpYyBpbnQKQEAgLTExODE5LDYgKzExODMzLDcgQEAgaW50ZWxf cHJpbWFyeV9wbGFuZV9zZXRwbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwgc3RydWN0IGRy bV9jcnRjICpjcnRjLAogCQkJICAgICB1aW50MzJfdCBzcmNfeCwgdWludDMyX3Qgc3JjX3ksCiAJ CQkgICAgIHVpbnQzMl90IHNyY193LCB1aW50MzJfdCBzcmNfaCkKIHsKKwlzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2ID0gcGxhbmUtPmRldjsKIAlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpvbGRfZmIg PSBwbGFuZS0+ZmI7CiAJc3RydWN0IGludGVsX3BsYW5lX3N0YXRlIHN0YXRlOwogCXN0cnVjdCBp bnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKQEAgLTExODY2LDYg KzExODgxLDEyIEBAIGludGVsX3ByaW1hcnlfcGxhbmVfc2V0cGxhbmUoc3RydWN0IGRybV9wbGFu ZSAqcGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAogCWludGVsX2NvbW1pdF9wcmltYXJ5 X3BsYW5lKHBsYW5lLCAmc3RhdGUpOwogCisJaWYgKGZiICE9IG9sZF9mYiAmJiBvbGRfZmIpIHsK KwkJaWYgKGludGVsX2NydGMtPmFjdGl2ZSkKKwkJCWludGVsX3dhaXRfZm9yX3ZibGFuayhkZXYs IGludGVsX2NydGMtPnBpcGUpOworCQlpbnRlbF9jbGVhbnVwX3BsYW5lX2ZiKHBsYW5lLCBvbGRf ZmIpOworCX0KKwogCXJldHVybiAwOwogfQogCkBAIC0xMjA0OCwxNCArMTIwNjksNiBAQCBpbnRl bF9jb21taXRfY3Vyc29yX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCWVsc2UKIAkJ YWRkciA9IG9iai0+cGh5c19oYW5kbGUtPmJ1c2FkZHI7CiAKLQlpZiAoaW50ZWxfY3J0Yy0+Y3Vy c29yX2JvKSB7Ci0JCWlmICghSU5URUxfSU5GTyhkZXYpLT5jdXJzb3JfbmVlZHNfcGh5c2ljYWwp IHsKLQkJCW11dGV4X2xvY2soJmRldi0+c3RydWN0X211dGV4KTsKLQkJCWludGVsX3VucGluX2Zi X29iaihpbnRlbF9jcnRjLT5jdXJzb3JfYm8pOwotCQkJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVj dF9tdXRleCk7Ci0JCX0KLQl9Ci0KIAlpbnRlbF9jcnRjLT5jdXJzb3JfYWRkciA9IGFkZHI7CiAJ aW50ZWxfY3J0Yy0+Y3Vyc29yX2JvID0gb2JqOwogdXBkYXRlOgpAQCAtMTIwODAsNiArMTIwOTMs NyBAQCBpbnRlbF9jdXJzb3JfcGxhbmVfdXBkYXRlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLCBz dHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJCQkgIHVpbnQzMl90IHNyY194LCB1aW50MzJfdCBzcmNf eSwKIAkJCSAgdWludDMyX3Qgc3JjX3csIHVpbnQzMl90IHNyY19oKQogeworCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSBwbGFuZS0+ZGV2OwogCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKm9sZF9m YiA9IHBsYW5lLT5mYjsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVs X2NydGMoY3J0Yyk7CiAJc3RydWN0IGludGVsX3BsYW5lX3N0YXRlIHN0YXRlOwpAQCAtMTIxMjAs NiArMTIxMzQsMTMgQEAgaW50ZWxfY3Vyc29yX3BsYW5lX3VwZGF0ZShzdHJ1Y3QgZHJtX3BsYW5l ICpwbGFuZSwgc3RydWN0IGRybV9jcnRjICpjcnRjLAogCiAJaW50ZWxfY29tbWl0X2N1cnNvcl9w bGFuZShwbGFuZSwgJnN0YXRlKTsKIAorCWlmIChmYiAhPSBvbGRfZmIpIHsKKwkJaWYgKGludGVs X2NydGMtPmFjdGl2ZSkKKwkJCWludGVsX3dhaXRfZm9yX3ZibGFuayhkZXYsIGludGVsX2NydGMt PnBpcGUpOworCQlpZiAob2xkX2ZiKQorCQkJaW50ZWxfY2xlYW51cF9wbGFuZV9mYihwbGFuZSwg b2xkX2ZiKTsKKwl9CisKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApp bmRleCBhMzZmNjk2Li4zOGNiNTUzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtOTI0 LDYgKzkyNCw4IEBAIHZvaWQgaW50ZWxfZmluaXNoX3BhZ2VfZmxpcF9wbGFuZShzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCBpbnQgcGxhbmUpOwogdm9pZCBpbnRlbF9jaGVja19wYWdlX2ZsaXAoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgaW50IHBpcGUpOwogaW50IGludGVsX3ByZXBhcmVfcGxhbmVf ZmIoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJCQkgICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVy ICpmYik7Cit2b2lkIGludGVsX2NsZWFudXBfcGxhbmVfZmIoc3RydWN0IGRybV9wbGFuZSAqcGxh bmUsCisJCQkgICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIpOwogCiAvKiBzaGFyZWQgZHBs bCBmdW5jdGlvbnMgKi8KIHN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqaW50ZWxfY3J0Y190b19z aGFyZWRfZHBsbChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0Yyk7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3Nwcml0ZS5jCmluZGV4IDVkOGMyZTAuLjE1MmEzMmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3Nwcml0ZS5jCkBAIC0xMjY4LDcgKzEyNjgsNiBAQCBpbnRlbF9jb21taXRfc3ByaXRlX3BsYW5l KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCWVudW0gcGlwZSBwaXBlID0gaW50ZWxfY3J0Yy0+ cGlwZTsKIAlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9IHN0YXRlLT5iYXNlLmZiOwogCXN0 cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmogPSBpbnRlbF9mYl9vYmooZmIpOwotCXN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvbGRfb2JqID0gaW50ZWxfcGxhbmUtPm9iajsKIAlpbnQg Y3J0Y194LCBjcnRjX3k7CiAJdW5zaWduZWQgaW50IGNydGNfdywgY3J0Y19oOwogCXVpbnQzMl90 IHNyY194LCBzcmNfeSwgc3JjX3csIHNyY19oOwpAQCAtMTMyNiwyMyArMTMyNSw2IEBAIGludGVs X2NvbW1pdF9zcHJpdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJCWlmICghcHJp bWFyeV93YXNfZW5hYmxlZCAmJiBwcmltYXJ5X2VuYWJsZWQpCiAJCQlpbnRlbF9wb3N0X2VuYWJs ZV9wcmltYXJ5KGNydGMpOwogCX0KLQotCS8qIFVucGluIG9sZCBvYmogYWZ0ZXIgbmV3IG9uZSBp cyBhY3RpdmUgdG8gYXZvaWQgdWdsaW5lc3MgKi8KLQlpZiAob2xkX29iaiAmJiBvbGRfb2JqICE9 IG9iaikgewotCi0JCS8qCi0JCSAqIEl0J3MgZmFpcmx5IGNvbW1vbiB0byBzaW1wbHkgdXBkYXRl IHRoZSBwb3NpdGlvbiBvZgotCQkgKiBhbiBleGlzdGluZyBvYmplY3QuICBJbiB0aGF0IGNhc2Us IHdlIGRvbid0IG5lZWQgdG8KLQkJICogd2FpdCBmb3IgdmJsYW5rIHRvIGF2b2lkIHVnbGluZXNz LCB3ZSBvbmx5IG5lZWQgdG8KLQkJICogZG8gdGhlIHBpbiAmIHJlZiBib29ra2VlcGluZy4KLQkJ ICovCi0JCWlmIChpbnRlbF9jcnRjLT5hY3RpdmUpCi0JCQlpbnRlbF93YWl0X2Zvcl92Ymxhbmso ZGV2LCBpbnRlbF9jcnRjLT5waXBlKTsKLQotCQltdXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRl eCk7Ci0JCWludGVsX3VucGluX2ZiX29iaihvbGRfb2JqKTsKLQkJbXV0ZXhfdW5sb2NrKCZkZXYt PnN0cnVjdF9tdXRleCk7Ci0JfQogfQogCiBzdGF0aWMgaW50CkBAIC0xMzUyLDYgKzEzMzQsNyBA QCBpbnRlbF91cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHN0cnVjdCBkcm1f Y3J0YyAqY3J0YywKIAkJICAgdWludDMyX3Qgc3JjX3gsIHVpbnQzMl90IHNyY195LAogCQkgICB1 aW50MzJfdCBzcmNfdywgdWludDMyX3Qgc3JjX2gpCiB7CisJc3RydWN0IGRybV9kZXZpY2UgKmRl diA9IHBsYW5lLT5kZXY7CiAJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqb2xkX2ZiID0gcGxhbmUt PmZiOwogCXN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSBzdGF0ZTsKIAlzdHJ1Y3QgaW50ZWxfY3J0 YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7CkBAIC0xMzkwLDYgKzEzNzMsMTQg QEAgaW50ZWxfdXBkYXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLCBzdHJ1Y3QgZHJt X2NydGMgKmNydGMsCiAJfQogCiAJaW50ZWxfY29tbWl0X3Nwcml0ZV9wbGFuZShwbGFuZSwgJnN0 YXRlKTsKKworCWlmIChmYiAhPSBvbGRfZmIpIHsKKwkJaWYgKGludGVsX2NydGMtPmFjdGl2ZSkK KwkJCWludGVsX3dhaXRfZm9yX3ZibGFuayhkZXYsIGludGVsX2NydGMtPnBpcGUpOworCQlpZiAo b2xkX2ZiKQorCQkJaW50ZWxfY2xlYW51cF9wbGFuZV9mYihwbGFuZSwgb2xkX2ZiKTsKKwl9CisK IAlyZXR1cm4gMDsKIH0KIAotLSAKMS44LjUuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK