From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: [PATCH 7/9] drm/i915: Consolidate plane 'cleanup' operations Date: Mon, 24 Nov 2014 11:53:04 -0800 Message-ID: <1416858786-25376-8-git-send-email-matthew.d.roper@intel.com> References: <1416858786-25376-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 mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 757816E940 for ; Mon, 24 Nov 2014 11:54:33 -0800 (PST) In-Reply-To: <1416858786-25376-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 ZSBoZWxwZXJzLgoKU2lnbmVkLW9mZi1ieTogTWF0dCBSb3BlciA8bWF0dGhldy5kLnJvcGVyQGlu dGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCA1NyAr KysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oICAgICB8ICAyICsrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJp dGUuYyAgfCAyNyArKysrKystLS0tLS0tLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCA1MiBpbnNlcnRp b25zKCspLCAzNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK aW5kZXggNTBkNDI5OS4uMjA4OTBhOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku YwpAQCAtMTE2MzQsNiArMTE2MzQsMzEgQEAgaW50ZWxfcHJlcGFyZV9wbGFuZV9mYihzdHJ1Y3Qg ZHJtX3BsYW5lICpwbGFuZSwKIAlyZXR1cm4gcmV0OwogfQogCisvKioKKyAqIGludGVsX2NsZWFu dXBfcGxhbmVfZmIgLSBDbGVhbnMgdXAgYW4gZmIgYWZ0ZXIgcGxhbmUgdXNlCisgKiBAcGxhbmU6 IGRybSBwbGFuZSB0byBjbGVhbiB1cCBmb3IKKyAqIEBmYjogb2xkIGZyYW1lYnVmZmVyIHRoYXQg d2FzIG9uIHBsYW5lCisgKgorICogQ2xlYW5zIHVwIGEgZnJhbWVidWZmZXIgdGhhdCBoYXMganVz dCBiZWVuIHJlbW92ZWQgZnJvbSBhIHBsYW5lLgorICovCit2b2lkCitpbnRlbF9jbGVhbnVwX3Bs YW5lX2ZiKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAorCQkgICAgICAgc3RydWN0IGRybV9mcmFt ZWJ1ZmZlciAqZmIpCit7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHBsYW5lLT5kZXY7CisJ c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiA9IGludGVsX2ZiX29iaihmYik7CisKKwlp ZiAoV0FSTl9PTighb2JqKSkKKwkJcmV0dXJuOworCisJaWYgKHBsYW5lLT50eXBlICE9IERSTV9Q TEFORV9UWVBFX0NVUlNPUiB8fAorCSAgICAhSU5URUxfSU5GTyhkZXYpLT5jdXJzb3JfbmVlZHNf cGh5c2ljYWwpIHsKKwkJbXV0ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOworCQlpbnRlbF91 bnBpbl9mYl9vYmoob2JqKTsKKwkJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7CisJ fQorfQorCiBzdGF0aWMgaW50CiBpbnRlbF9jaGVja19wcmltYXJ5X3BsYW5lKHN0cnVjdCBkcm1f cGxhbmUgKnBsYW5lLAogCQkJICBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnN0YXRlKQpAQCAt MTE2NjEsOSArMTE2ODYsNyBAQCBpbnRlbF9jb21taXRfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgZHJt X3BsYW5lICpwbGFuZSwKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYt PmRldl9wcml2YXRlOwogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxf Y3J0YyhjcnRjKTsKIAllbnVtIHBpcGUgcGlwZSA9IGludGVsX2NydGMtPnBpcGU7Ci0Jc3RydWN0 IGRybV9mcmFtZWJ1ZmZlciAqb2xkX2ZiID0gcGxhbmUtPmZiOwogCXN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmogPSBpbnRlbF9mYl9vYmooZmIpOwotCXN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvbGRfb2JqID0gaW50ZWxfZmJfb2JqKHBsYW5lLT5mYik7CiAJc3RydWN0IGludGVs X3BsYW5lICppbnRlbF9wbGFuZSA9IHRvX2ludGVsX3BsYW5lKHBsYW5lKTsKIAlzdHJ1Y3QgZHJt X3JlY3QgKnNyYyA9ICZzdGF0ZS0+c3JjOwogCkBAIC0xMTczNCwxNSArMTE3NTcsNiBAQCBpbnRl bF9jb21taXRfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJaW50ZWxf dXBkYXRlX2ZiYyhkZXYpOwogCQltdXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKIAl9 Ci0KLQlpZiAob2xkX2ZiICYmIG9sZF9mYiAhPSBmYikgewotCQlpZiAoaW50ZWxfY3J0Yy0+YWN0 aXZlKQotCQkJaW50ZWxfd2FpdF9mb3JfdmJsYW5rKGRldiwgaW50ZWxfY3J0Yy0+cGlwZSk7Ci0K LQkJbXV0ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwotCQlpbnRlbF91bnBpbl9mYl9vYmoo b2xkX29iaik7Ci0JCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwotCX0KIH0KIAog c3RhdGljIGludApAQCAtMTE3NTIsNiArMTE3NjYsNyBAQCBpbnRlbF9wcmltYXJ5X3BsYW5lX3Nl dHBsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJ CQkgICAgIHVpbnQzMl90IHNyY194LCB1aW50MzJfdCBzcmNfeSwKIAkJCSAgICAgdWludDMyX3Qg c3JjX3csIHVpbnQzMl90IHNyY19oKQogeworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBwbGFu ZS0+ZGV2OwogCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKm9sZF9mYiA9IHBsYW5lLT5mYjsKIAlz dHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgc3RhdGU7CiAJc3RydWN0IGludGVsX2NydGMgKmludGVs X2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwpAQCAtMTE3OTksNiArMTE4MTQsMTMgQEAgaW50 ZWxfcHJpbWFyeV9wbGFuZV9zZXRwbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwgc3RydWN0 IGRybV9jcnRjICpjcnRjLAogCiAJaW50ZWxfY29tbWl0X3ByaW1hcnlfcGxhbmUocGxhbmUsICZz dGF0ZSk7CiAKKwlpZiAoZmIgIT0gb2xkX2ZiKSB7CisJCWlmIChpbnRlbF9jcnRjLT5hY3RpdmUp CisJCQlpbnRlbF93YWl0X2Zvcl92YmxhbmsoZGV2LCBpbnRlbF9jcnRjLT5waXBlKTsKKwkJaWYg KG9sZF9mYikKKwkJCWludGVsX2NsZWFudXBfcGxhbmVfZmIocGxhbmUsIG9sZF9mYik7CisJfQor CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTExOTgwLDExICsxMjAwMiw2IEBAIGludGVsX2NvbW1pdF9j dXJzb3JfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJZWxzZQogCQlhZGRyID0gb2Jq LT5waHlzX2hhbmRsZS0+YnVzYWRkcjsKIAotCWlmIChpbnRlbF9jcnRjLT5jdXJzb3JfYm8pIHsK LQkJaWYgKCFJTlRFTF9JTkZPKGRldiktPmN1cnNvcl9uZWVkc19waHlzaWNhbCkKLQkJCWk5MTVf Z2VtX29iamVjdF91bnBpbl9mcm9tX2Rpc3BsYXlfcGxhbmUoaW50ZWxfY3J0Yy0+Y3Vyc29yX2Jv KTsKLQl9Ci0KIAlpbnRlbF9jcnRjLT5jdXJzb3JfYWRkciA9IGFkZHI7CiAJaW50ZWxfY3J0Yy0+ Y3Vyc29yX2JvID0gb2JqOwogdXBkYXRlOgpAQCAtMTIwMDksNiArMTIwMjYsNyBAQCBpbnRlbF9j dXJzb3JfcGxhbmVfdXBkYXRlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLCBzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMsCiAJCQkgIHVpbnQzMl90IHNyY194LCB1aW50MzJfdCBzcmNfeSwKIAkJCSAgdWlu dDMyX3Qgc3JjX3csIHVpbnQzMl90IHNyY19oKQogeworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYg PSBwbGFuZS0+ZGV2OwogCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKm9sZF9mYiA9IHBsYW5lLT5m YjsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7 CiAJc3RydWN0IGludGVsX3BsYW5lX3N0YXRlIHN0YXRlOwpAQCAtMTIwNDksNiArMTIwNjcsMTMg QEAgaW50ZWxfY3Vyc29yX3BsYW5lX3VwZGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwgc3Ry dWN0IGRybV9jcnRjICpjcnRjLAogCiAJaW50ZWxfY29tbWl0X2N1cnNvcl9wbGFuZShwbGFuZSwg JnN0YXRlKTsKIAorCWlmIChmYiAhPSBvbGRfZmIpIHsKKwkJaWYgKGludGVsX2NydGMtPmFjdGl2 ZSkKKwkJCWludGVsX3dhaXRfZm9yX3ZibGFuayhkZXYsIGludGVsX2NydGMtPnBpcGUpOworCQlp ZiAob2xkX2ZiKQorCQkJaW50ZWxfY2xlYW51cF9wbGFuZV9mYihwbGFuZSwgb2xkX2ZiKTsKKwl9 CisKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRleCBlOWY0ZGMx Li4yOTlmYzRmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtOTI2LDYgKzkyNiw4IEBA IHZvaWQgaW50ZWxfZmluaXNoX3BhZ2VfZmxpcF9wbGFuZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCBpbnQgcGxhbmUpOwogdm9pZCBpbnRlbF9jaGVja19wYWdlX2ZsaXAoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgaW50IHBpcGUpOwogaW50IGludGVsX3ByZXBhcmVfcGxhbmVfZmIoc3RydWN0IGRy bV9wbGFuZSAqcGxhbmUsCiAJCQkgICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYik7Cit2b2lk IGludGVsX2NsZWFudXBfcGxhbmVfZmIoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCisJCQkgICAg c3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIpOwogCiAvKiBzaGFyZWQgZHBsbCBmdW5jdGlvbnMg Ki8KIHN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqaW50ZWxfY3J0Y190b19zaGFyZWRfZHBsbChz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0Yyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9zcHJpdGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCmlu ZGV4IDVkOGMyZTAuLjE1MmEzMmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3Nwcml0ZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCkBA IC0xMjY4LDcgKzEyNjgsNiBAQCBpbnRlbF9jb21taXRfc3ByaXRlX3BsYW5lKHN0cnVjdCBkcm1f cGxhbmUgKnBsYW5lLAogCWVudW0gcGlwZSBwaXBlID0gaW50ZWxfY3J0Yy0+cGlwZTsKIAlzdHJ1 Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9IHN0YXRlLT5iYXNlLmZiOwogCXN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0ICpvYmogPSBpbnRlbF9mYl9vYmooZmIpOwotCXN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvbGRfb2JqID0gaW50ZWxfcGxhbmUtPm9iajsKIAlpbnQgY3J0Y194LCBjcnRj X3k7CiAJdW5zaWduZWQgaW50IGNydGNfdywgY3J0Y19oOwogCXVpbnQzMl90IHNyY194LCBzcmNf eSwgc3JjX3csIHNyY19oOwpAQCAtMTMyNiwyMyArMTMyNSw2IEBAIGludGVsX2NvbW1pdF9zcHJp dGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJCWlmICghcHJpbWFyeV93YXNfZW5h YmxlZCAmJiBwcmltYXJ5X2VuYWJsZWQpCiAJCQlpbnRlbF9wb3N0X2VuYWJsZV9wcmltYXJ5KGNy dGMpOwogCX0KLQotCS8qIFVucGluIG9sZCBvYmogYWZ0ZXIgbmV3IG9uZSBpcyBhY3RpdmUgdG8g YXZvaWQgdWdsaW5lc3MgKi8KLQlpZiAob2xkX29iaiAmJiBvbGRfb2JqICE9IG9iaikgewotCi0J CS8qCi0JCSAqIEl0J3MgZmFpcmx5IGNvbW1vbiB0byBzaW1wbHkgdXBkYXRlIHRoZSBwb3NpdGlv biBvZgotCQkgKiBhbiBleGlzdGluZyBvYmplY3QuICBJbiB0aGF0IGNhc2UsIHdlIGRvbid0IG5l ZWQgdG8KLQkJICogd2FpdCBmb3IgdmJsYW5rIHRvIGF2b2lkIHVnbGluZXNzLCB3ZSBvbmx5IG5l ZWQgdG8KLQkJICogZG8gdGhlIHBpbiAmIHJlZiBib29ra2VlcGluZy4KLQkJICovCi0JCWlmIChp bnRlbF9jcnRjLT5hY3RpdmUpCi0JCQlpbnRlbF93YWl0X2Zvcl92YmxhbmsoZGV2LCBpbnRlbF9j cnRjLT5waXBlKTsKLQotCQltdXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Ci0JCWludGVs X3VucGluX2ZiX29iaihvbGRfb2JqKTsKLQkJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRl eCk7Ci0JfQogfQogCiBzdGF0aWMgaW50CkBAIC0xMzUyLDYgKzEzMzQsNyBAQCBpbnRlbF91cGRh dGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywK IAkJICAgdWludDMyX3Qgc3JjX3gsIHVpbnQzMl90IHNyY195LAogCQkgICB1aW50MzJfdCBzcmNf dywgdWludDMyX3Qgc3JjX2gpCiB7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHBsYW5lLT5k ZXY7CiAJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqb2xkX2ZiID0gcGxhbmUtPmZiOwogCXN0cnVj dCBpbnRlbF9wbGFuZV9zdGF0ZSBzdGF0ZTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0 YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7CkBAIC0xMzkwLDYgKzEzNzMsMTQgQEAgaW50ZWxfdXBk YXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMs CiAJfQogCiAJaW50ZWxfY29tbWl0X3Nwcml0ZV9wbGFuZShwbGFuZSwgJnN0YXRlKTsKKworCWlm IChmYiAhPSBvbGRfZmIpIHsKKwkJaWYgKGludGVsX2NydGMtPmFjdGl2ZSkKKwkJCWludGVsX3dh aXRfZm9yX3ZibGFuayhkZXYsIGludGVsX2NydGMtPnBpcGUpOworCQlpZiAob2xkX2ZiKQorCQkJ aW50ZWxfY2xlYW51cF9wbGFuZV9mYihwbGFuZSwgb2xkX2ZiKTsKKwl9CisKIAlyZXR1cm4gMDsK IH0KIAotLSAKMS44LjUuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK