From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: [PATCH 7/7] drm/i915: Consolidate plane 'cleanup' operations (v3) Date: Tue, 2 Dec 2014 07:45:25 -0800 Message-ID: <1417535125-3761-1-git-send-email-matthew.d.roper@intel.com> References: <547DC83B.6050105@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id CBA5E6F0E9 for ; Tue, 2 Dec 2014 07:45:36 -0800 (PST) In-Reply-To: <547DC83B.6050105@gmail.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 IG9sZCBmYiB0byBjbGVhbnVwIChBbmRlcikKCnYzOiBSZWFsbHkgZG9uJ3Qgd2FpdCBmb3IgdmJs YW5rIGlmIHdlIGRvbid0IGhhdmUgYW4gb2xkIGZiIHRvIGNsZWFudXAuCiAgICBQcmV2aW91cyB2 ZXJzaW9uIG9ubHkgaGFuZGxlZCB0aGlzIGZvciBwcmltYXJ5IHBsYW5lczsgd2UgbmVlZCB0aGUK ICAgIHNhbWUgY2hhbmdlIG9uIGN1cnNvcnMvc3ByaXRlcyB0b28hICAoQW5kZXIpCgpTaWduZWQt b2ZmLWJ5OiBNYXR0IFJvcGVyIDxtYXR0aGV3LmQucm9wZXJAaW50ZWwuY29tPgotLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDU4ICsrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgIHwg IDIgKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jICB8IDI2ICsrKysrLS0t LS0tLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgNDkgaW5zZXJ0aW9ucygrKSwgMzcgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IGY0OGZhYWEuLjg2YzQ2 ODYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTExNzAxLDYgKzExNzAx LDMxIEBAIGludGVsX3ByZXBhcmVfcGxhbmVfZmIoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJ cmV0dXJuIHJldDsKIH0KIAorLyoqCisgKiBpbnRlbF9jbGVhbnVwX3BsYW5lX2ZiIC0gQ2xlYW5z IHVwIGFuIGZiIGFmdGVyIHBsYW5lIHVzZQorICogQHBsYW5lOiBkcm0gcGxhbmUgdG8gY2xlYW4g dXAgZm9yCisgKiBAZmI6IG9sZCBmcmFtZWJ1ZmZlciB0aGF0IHdhcyBvbiBwbGFuZQorICoKKyAq IENsZWFucyB1cCBhIGZyYW1lYnVmZmVyIHRoYXQgaGFzIGp1c3QgYmVlbiByZW1vdmVkIGZyb20g YSBwbGFuZS4KKyAqLwordm9pZAoraW50ZWxfY2xlYW51cF9wbGFuZV9mYihzdHJ1Y3QgZHJtX3Bs YW5lICpwbGFuZSwKKwkJICAgICAgIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiKQoreworCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBwbGFuZS0+ZGV2OworCXN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmogPSBpbnRlbF9mYl9vYmooZmIpOworCisJaWYgKFdBUk5fT04oIW9iaikpCisJ CXJldHVybjsKKworCWlmIChwbGFuZS0+dHlwZSAhPSBEUk1fUExBTkVfVFlQRV9DVVJTT1IgfHwK KwkgICAgIUlOVEVMX0lORk8oZGV2KS0+Y3Vyc29yX25lZWRzX3BoeXNpY2FsKSB7CisJCW11dGV4 X2xvY2soJmRldi0+c3RydWN0X211dGV4KTsKKwkJaW50ZWxfdW5waW5fZmJfb2JqKG9iaik7CisJ CW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOworCX0KK30KKwogc3RhdGljIGludAog aW50ZWxfY2hlY2tfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJCSAg c3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpzdGF0ZSkKQEAgLTExNzI4LDkgKzExNzUzLDcgQEAg aW50ZWxfY29tbWl0X3ByaW1hcnlfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1 Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7CiAJZW51bSBw aXBlIHBpcGUgPSBpbnRlbF9jcnRjLT5waXBlOwotCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKm9s ZF9mYiA9IHBsYW5lLT5mYjsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqID0gaW50 ZWxfZmJfb2JqKGZiKTsKLQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2xkX29iaiA9IGlu dGVsX2ZiX29iaihwbGFuZS0+ZmIpOwogCXN0cnVjdCBpbnRlbF9wbGFuZSAqaW50ZWxfcGxhbmUg PSB0b19pbnRlbF9wbGFuZShwbGFuZSk7CiAJc3RydWN0IGRybV9yZWN0ICpzcmMgPSAmc3RhdGUt PnNyYzsKIApAQCAtMTE4MDEsMTUgKzExODI0LDYgQEAgaW50ZWxfY29tbWl0X3ByaW1hcnlfcGxh bmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJCWludGVsX3VwZGF0ZV9mYmMoZGV2KTsKIAkJ bXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7CiAJfQotCi0JaWYgKG9sZF9mYiAmJiBv bGRfZmIgIT0gZmIpIHsKLQkJaWYgKGludGVsX2NydGMtPmFjdGl2ZSkKLQkJCWludGVsX3dhaXRf Zm9yX3ZibGFuayhkZXYsIGludGVsX2NydGMtPnBpcGUpOwotCi0JCW11dGV4X2xvY2soJmRldi0+ c3RydWN0X211dGV4KTsKLQkJaW50ZWxfdW5waW5fZmJfb2JqKG9sZF9vYmopOwotCQltdXRleF91 bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKLQl9CiB9CiAKIHN0YXRpYyBpbnQKQEAgLTExODE5 LDYgKzExODMzLDcgQEAgaW50ZWxfcHJpbWFyeV9wbGFuZV9zZXRwbGFuZShzdHJ1Y3QgZHJtX3Bs YW5lICpwbGFuZSwgc3RydWN0IGRybV9jcnRjICpjcnRjLAogCQkJICAgICB1aW50MzJfdCBzcmNf eCwgdWludDMyX3Qgc3JjX3ksCiAJCQkgICAgIHVpbnQzMl90IHNyY193LCB1aW50MzJfdCBzcmNf aCkKIHsKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gcGxhbmUtPmRldjsKIAlzdHJ1Y3QgZHJt X2ZyYW1lYnVmZmVyICpvbGRfZmIgPSBwbGFuZS0+ZmI7CiAJc3RydWN0IGludGVsX3BsYW5lX3N0 YXRlIHN0YXRlOwogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0 YyhjcnRjKTsKQEAgLTExODY2LDYgKzExODgxLDEyIEBAIGludGVsX3ByaW1hcnlfcGxhbmVfc2V0 cGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAog CWludGVsX2NvbW1pdF9wcmltYXJ5X3BsYW5lKHBsYW5lLCAmc3RhdGUpOwogCisJaWYgKGZiICE9 IG9sZF9mYiAmJiBvbGRfZmIpIHsKKwkJaWYgKGludGVsX2NydGMtPmFjdGl2ZSkKKwkJCWludGVs X3dhaXRfZm9yX3ZibGFuayhkZXYsIGludGVsX2NydGMtPnBpcGUpOworCQlpbnRlbF9jbGVhbnVw X3BsYW5lX2ZiKHBsYW5lLCBvbGRfZmIpOworCX0KKwogCXJldHVybiAwOwogfQogCkBAIC0xMjA0 OCwxNCArMTIwNjksNiBAQCBpbnRlbF9jb21taXRfY3Vyc29yX3BsYW5lKHN0cnVjdCBkcm1fcGxh bmUgKnBsYW5lLAogCWVsc2UKIAkJYWRkciA9IG9iai0+cGh5c19oYW5kbGUtPmJ1c2FkZHI7CiAK LQlpZiAoaW50ZWxfY3J0Yy0+Y3Vyc29yX2JvKSB7Ci0JCWlmICghSU5URUxfSU5GTyhkZXYpLT5j dXJzb3JfbmVlZHNfcGh5c2ljYWwpIHsKLQkJCW11dGV4X2xvY2soJmRldi0+c3RydWN0X211dGV4 KTsKLQkJCWludGVsX3VucGluX2ZiX29iaihpbnRlbF9jcnRjLT5jdXJzb3JfYm8pOwotCQkJbXV0 ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Ci0JCX0KLQl9Ci0KIAlpbnRlbF9jcnRjLT5j dXJzb3JfYWRkciA9IGFkZHI7CiAJaW50ZWxfY3J0Yy0+Y3Vyc29yX2JvID0gb2JqOwogdXBkYXRl OgpAQCAtMTIwODAsNiArMTIwOTMsNyBAQCBpbnRlbF9jdXJzb3JfcGxhbmVfdXBkYXRlKHN0cnVj dCBkcm1fcGxhbmUgKnBsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJCQkgIHVpbnQzMl90 IHNyY194LCB1aW50MzJfdCBzcmNfeSwKIAkJCSAgdWludDMyX3Qgc3JjX3csIHVpbnQzMl90IHNy Y19oKQogeworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBwbGFuZS0+ZGV2OwogCXN0cnVjdCBk cm1fZnJhbWVidWZmZXIgKm9sZF9mYiA9IHBsYW5lLT5mYjsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAq aW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7CiAJc3RydWN0IGludGVsX3BsYW5lX3N0 YXRlIHN0YXRlOwpAQCAtMTIxMjAsNiArMTIxMzQsMTIgQEAgaW50ZWxfY3Vyc29yX3BsYW5lX3Vw ZGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwgc3RydWN0IGRybV9jcnRjICpjcnRjLAogCiAJ aW50ZWxfY29tbWl0X2N1cnNvcl9wbGFuZShwbGFuZSwgJnN0YXRlKTsKIAorCWlmIChmYiAhPSBv bGRfZmIgJiYgb2xkX2ZiKSB7CisJCWlmIChpbnRlbF9jcnRjLT5hY3RpdmUpCisJCQlpbnRlbF93 YWl0X2Zvcl92YmxhbmsoZGV2LCBpbnRlbF9jcnRjLT5waXBlKTsKKwkJaW50ZWxfY2xlYW51cF9w bGFuZV9mYihwbGFuZSwgb2xkX2ZiKTsKKwl9CisKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaAppbmRleCBhMzZmNjk2Li4zOGNiNTUzIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaApAQCAtOTI0LDYgKzkyNCw4IEBAIHZvaWQgaW50ZWxfZmluaXNoX3BhZ2VfZmxpcF9w bGFuZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgcGxhbmUpOwogdm9pZCBpbnRlbF9jaGVj a19wYWdlX2ZsaXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IHBpcGUpOwogaW50IGludGVs X3ByZXBhcmVfcGxhbmVfZmIoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJCQkgICBzdHJ1Y3Qg ZHJtX2ZyYW1lYnVmZmVyICpmYik7Cit2b2lkIGludGVsX2NsZWFudXBfcGxhbmVfZmIoc3RydWN0 IGRybV9wbGFuZSAqcGxhbmUsCisJCQkgICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIpOwog CiAvKiBzaGFyZWQgZHBsbCBmdW5jdGlvbnMgKi8KIHN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAq aW50ZWxfY3J0Y190b19zaGFyZWRfZHBsbChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0Yyk7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCmluZGV4IDVkOGMyZTAuLjAzMWY5NWUgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCkBAIC0xMjY4LDcgKzEyNjgsNiBAQCBpbnRlbF9jb21t aXRfc3ByaXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCWVudW0gcGlwZSBwaXBl ID0gaW50ZWxfY3J0Yy0+cGlwZTsKIAlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9IHN0YXRl LT5iYXNlLmZiOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmogPSBpbnRlbF9mYl9v YmooZmIpOwotCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvbGRfb2JqID0gaW50ZWxfcGxh bmUtPm9iajsKIAlpbnQgY3J0Y194LCBjcnRjX3k7CiAJdW5zaWduZWQgaW50IGNydGNfdywgY3J0 Y19oOwogCXVpbnQzMl90IHNyY194LCBzcmNfeSwgc3JjX3csIHNyY19oOwpAQCAtMTMyNiwyMyAr MTMyNSw2IEBAIGludGVsX2NvbW1pdF9zcHJpdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxh bmUsCiAJCWlmICghcHJpbWFyeV93YXNfZW5hYmxlZCAmJiBwcmltYXJ5X2VuYWJsZWQpCiAJCQlp bnRlbF9wb3N0X2VuYWJsZV9wcmltYXJ5KGNydGMpOwogCX0KLQotCS8qIFVucGluIG9sZCBvYmog YWZ0ZXIgbmV3IG9uZSBpcyBhY3RpdmUgdG8gYXZvaWQgdWdsaW5lc3MgKi8KLQlpZiAob2xkX29i aiAmJiBvbGRfb2JqICE9IG9iaikgewotCi0JCS8qCi0JCSAqIEl0J3MgZmFpcmx5IGNvbW1vbiB0 byBzaW1wbHkgdXBkYXRlIHRoZSBwb3NpdGlvbiBvZgotCQkgKiBhbiBleGlzdGluZyBvYmplY3Qu ICBJbiB0aGF0IGNhc2UsIHdlIGRvbid0IG5lZWQgdG8KLQkJICogd2FpdCBmb3IgdmJsYW5rIHRv IGF2b2lkIHVnbGluZXNzLCB3ZSBvbmx5IG5lZWQgdG8KLQkJICogZG8gdGhlIHBpbiAmIHJlZiBi b29ra2VlcGluZy4KLQkJICovCi0JCWlmIChpbnRlbF9jcnRjLT5hY3RpdmUpCi0JCQlpbnRlbF93 YWl0X2Zvcl92YmxhbmsoZGV2LCBpbnRlbF9jcnRjLT5waXBlKTsKLQotCQltdXRleF9sb2NrKCZk ZXYtPnN0cnVjdF9tdXRleCk7Ci0JCWludGVsX3VucGluX2ZiX29iaihvbGRfb2JqKTsKLQkJbXV0 ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Ci0JfQogfQogCiBzdGF0aWMgaW50CkBAIC0x MzUyLDYgKzEzMzQsNyBAQCBpbnRlbF91cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxh bmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJICAgdWludDMyX3Qgc3JjX3gsIHVpbnQzMl90 IHNyY195LAogCQkgICB1aW50MzJfdCBzcmNfdywgdWludDMyX3Qgc3JjX2gpCiB7CisJc3RydWN0 IGRybV9kZXZpY2UgKmRldiA9IHBsYW5lLT5kZXY7CiAJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAq b2xkX2ZiID0gcGxhbmUtPmZiOwogCXN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSBzdGF0ZTsKIAlz dHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7CkBAIC0x MzkwLDYgKzEzNzMsMTMgQEAgaW50ZWxfdXBkYXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBs YW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJfQogCiAJaW50ZWxfY29tbWl0X3Nwcml0ZV9w bGFuZShwbGFuZSwgJnN0YXRlKTsKKworCWlmIChmYiAhPSBvbGRfZmIgJiYgb2xkX2ZiKSB7CisJ CWlmIChpbnRlbF9jcnRjLT5hY3RpdmUpCisJCQlpbnRlbF93YWl0X2Zvcl92YmxhbmsoZGV2LCBp bnRlbF9jcnRjLT5waXBlKTsKKwkJaW50ZWxfY2xlYW51cF9wbGFuZV9mYihwbGFuZSwgb2xkX2Zi KTsKKwl9CisKIAlyZXR1cm4gMDsKIH0KIAotLSAKMS44LjUuMQoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK