From mboxrd@z Thu Jan 1 00:00:00 1970 From: Deepak Rawat Subject: [PATCH v3 07/18] drm/vmwgfx: Implement STDU plane update for surface backed fb Date: Wed, 10 Oct 2018 17:16:46 -0700 Message-ID: <20181011001657.1715-7-drawat@vmware.com> References: <20181011001657.1715-1-drawat@vmware.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from EX13-EDG-OU-001.vmware.com (ex13-edg-ou-001.vmware.com [208.91.0.189]) by gabe.freedesktop.org (Postfix) with ESMTPS id CF66D6E376 for ; Thu, 11 Oct 2018 00:17:17 +0000 (UTC) In-Reply-To: <20181011001657.1715-1-drawat@vmware.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, linux-graphics-maintainer@vmware.com, thellstrom@vmware.com, syeh@vmware.com Cc: Deepak Rawat List-Id: dri-devel@lists.freedesktop.org VXNpbmcgdGhlIG5ldyBpbnRlcmZhY2UgaW1wbGVtZW50IFNURFUgcGxhbmUgdXBkYXRlIGZvciBz dXJmYWNlIGJhY2tlZApmYi4KCnYyOiBSZWJhc2UgdG8gbmV3IHJlc291cmNlIHZhbGlkYXRpb24u CgpTaWduZWQtb2ZmLWJ5OiBEZWVwYWsgUmF3YXQgPGRyYXdhdEB2bXdhcmUuY29tPgotLS0KIGRy aXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X3N0ZHUuYyB8IDE4MiArKysrKysrKysrKysrKysr KysrKysrKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCAxODEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlv bigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X3N0ZHUuYyBi L2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X3N0ZHUuYwppbmRleCBlMDg2NTY1YzFkYTYu LjdkNWUwODBmOGUyOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhf c3RkdS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X3N0ZHUuYwpAQCAtMzAs NyArMzAsNyBAQAogI2luY2x1ZGUgPGRybS9kcm1fcGxhbmVfaGVscGVyLmg+CiAjaW5jbHVkZSA8 ZHJtL2RybV9hdG9taWMuaD4KICNpbmNsdWRlIDxkcm0vZHJtX2F0b21pY19oZWxwZXIuaD4KLQor I2luY2x1ZGUgPGRybS9kcm1fZGFtYWdlX2hlbHBlci5oPgogCiAjZGVmaW5lIHZtd19jcnRjX3Rv X3N0ZHUoeCkgXAogCWNvbnRhaW5lcl9vZih4LCBzdHJ1Y3Qgdm13X3NjcmVlbl90YXJnZXRfZGlz cGxheV91bml0LCBiYXNlLmNydGMpCkBAIC05Miw2ICs5MiwxMCBAQCBzdHJ1Y3Qgdm13X3N0ZHVf c3VyZmFjZV9jb3B5IHsKIAlTVkdBM2RDbWRTdXJmYWNlQ29weSBib2R5OwogfTsKIAorc3RydWN0 IHZtd19zdGR1X3VwZGF0ZV9nYl9pbWFnZSB7CisJU1ZHQTNkQ21kSGVhZGVyIGhlYWRlcjsKKwlT VkdBM2RDbWRVcGRhdGVHQkltYWdlIGJvZHk7Cit9OwogCiAvKioKICAqIHN0cnVjdCB2bXdfc2Ny ZWVuX3RhcmdldF9kaXNwbGF5X3VuaXQKQEAgLTEyNTcsNyArMTI2MSwxODMgQEAgdm13X3N0ZHVf cHJpbWFyeV9wbGFuZV9wcmVwYXJlX2ZiKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCXJldHVy biByZXQ7CiB9CiAKK3N0YXRpYyB1aW50MzJfdAordm13X3N0ZHVfc3VyZmFjZV9maWZvX3NpemVf c2FtZV9kaXNwbGF5KHN0cnVjdCB2bXdfZHVfdXBkYXRlX3BsYW5lICp1cGRhdGUsCisJCQkJCXVp bnQzMl90IG51bV9oaXRzKQoreworCXN0cnVjdCB2bXdfZnJhbWVidWZmZXJfc3VyZmFjZSAqdmZi czsKKwl1aW50MzJfdCBzaXplID0gMDsKKworCXZmYnMgPSBjb250YWluZXJfb2YodXBkYXRlLT52 ZmIsIHR5cGVvZigqdmZicyksIGJhc2UpOworCisJaWYgKHZmYnMtPmlzX2JvX3Byb3h5KQorCQlz aXplICs9IHNpemVvZihzdHJ1Y3Qgdm13X3N0ZHVfdXBkYXRlX2diX2ltYWdlKSAqIG51bV9oaXRz OworCisJc2l6ZSArPSBzaXplb2Yoc3RydWN0IHZtd19zdGR1X3VwZGF0ZSk7CisKKwlyZXR1cm4g c2l6ZTsKK30KKworc3RhdGljIHVpbnQzMl90IHZtd19zdGR1X3N1cmZhY2VfZmlmb19zaXplKHN0 cnVjdCB2bXdfZHVfdXBkYXRlX3BsYW5lICp1cGRhdGUsCisJCQkJCSAgIHVpbnQzMl90IG51bV9o aXRzKQoreworCXN0cnVjdCB2bXdfZnJhbWVidWZmZXJfc3VyZmFjZSAqdmZiczsKKwl1aW50MzJf dCBzaXplID0gMDsKKworCXZmYnMgPSBjb250YWluZXJfb2YodXBkYXRlLT52ZmIsIHR5cGVvZigq dmZicyksIGJhc2UpOworCisJaWYgKHZmYnMtPmlzX2JvX3Byb3h5KQorCQlzaXplICs9IHNpemVv ZihzdHJ1Y3Qgdm13X3N0ZHVfdXBkYXRlX2diX2ltYWdlKSAqIG51bV9oaXRzOworCisJc2l6ZSAr PSBzaXplb2Yoc3RydWN0IHZtd19zdGR1X3N1cmZhY2VfY29weSkgKyBzaXplb2YoU1ZHQTNkQ29w eUJveCkgKgorCQludW1faGl0cyArIHNpemVvZihzdHJ1Y3Qgdm13X3N0ZHVfdXBkYXRlKTsKKwor CXJldHVybiBzaXplOworfQorCitzdGF0aWMgdWludDMyX3QKK3Ztd19zdGR1X3N1cmZhY2VfdXBk YXRlX3Byb3h5KHN0cnVjdCB2bXdfZHVfdXBkYXRlX3BsYW5lICp1cGRhdGUsIHZvaWQgKmNtZCkK K3sKKwlzdHJ1Y3Qgdm13X2ZyYW1lYnVmZmVyX3N1cmZhY2UgKnZmYnM7CisJc3RydWN0IGRybV9w bGFuZV9zdGF0ZSAqc3RhdGUgPSB1cGRhdGUtPnBsYW5lLT5zdGF0ZTsKKwlzdHJ1Y3QgZHJtX3Bs YW5lX3N0YXRlICpvbGRfc3RhdGUgPSB1cGRhdGUtPm9sZF9zdGF0ZTsKKwlzdHJ1Y3Qgdm13X3N0 ZHVfdXBkYXRlX2diX2ltYWdlICpjbWRfdXBkYXRlID0gY21kOworCXN0cnVjdCBkcm1fYXRvbWlj X2hlbHBlcl9kYW1hZ2VfaXRlciBpdGVyOworCXN0cnVjdCBkcm1fcmVjdCBjbGlwOworCXVpbnQz Ml90IGNvcHlfc2l6ZSA9IDA7CisKKwl2ZmJzID0gY29udGFpbmVyX29mKHVwZGF0ZS0+dmZiLCB0 eXBlb2YoKnZmYnMpLCBiYXNlKTsKKworCS8qCisJICogcHJveHkgc3VyZmFjZSBpcyBzcGVjaWFs IHdoZXJlIGEgYnVmZmVyIG9iamVjdCB0eXBlIGZiIGlzIHdyYXBwZWQKKwkgKiBpbiBhIHN1cmZh Y2UgYW5kIG5lZWQgYW4gdXBkYXRlIGdiIGltYWdlIGNvbW1hbmQgdG8gc3luYyB3aXRoIGRldmlj ZS4KKwkgKi8KKwlkcm1fYXRvbWljX2hlbHBlcl9kYW1hZ2VfaXRlcl9pbml0KCZpdGVyLCBvbGRf c3RhdGUsIHN0YXRlKTsKKwl3aGlsZSAoZHJtX2F0b21pY19oZWxwZXJfZGFtYWdlX2l0ZXJfbmV4 dCgmaXRlciwgJmNsaXApKSB7CisJCVNWR0EzZEJveCAqYm94ID0gJmNtZF91cGRhdGUtPmJvZHku Ym94OworCisJCWNtZF91cGRhdGUtPmhlYWRlci5pZCA9IFNWR0FfM0RfQ01EX1VQREFURV9HQl9J TUFHRTsKKwkJY21kX3VwZGF0ZS0+aGVhZGVyLnNpemUgPSBzaXplb2YoY21kX3VwZGF0ZS0+Ym9k eSk7CisJCWNtZF91cGRhdGUtPmJvZHkuaW1hZ2Uuc2lkID0gdmZicy0+c3VyZmFjZS0+cmVzLmlk OworCQljbWRfdXBkYXRlLT5ib2R5LmltYWdlLmZhY2UgPSAwOworCQljbWRfdXBkYXRlLT5ib2R5 LmltYWdlLm1pcG1hcCA9IDA7CisKKwkJYm94LT54ID0gY2xpcC54MTsKKwkJYm94LT55ID0gY2xp cC55MTsKKwkJYm94LT56ID0gMDsKKwkJYm94LT53ID0gZHJtX3JlY3Rfd2lkdGgoJmNsaXApOwor CQlib3gtPmggPSBkcm1fcmVjdF9oZWlnaHQoJmNsaXApOworCQlib3gtPmQgPSAxOworCisJCWNv cHlfc2l6ZSArPSBzaXplb2YoKmNtZF91cGRhdGUpOworCQljbWRfdXBkYXRlKys7CisJfQorCisJ cmV0dXJuIGNvcHlfc2l6ZTsKK30KIAorc3RhdGljIHVpbnQzMl90Cit2bXdfc3RkdV9zdXJmYWNl X3BvcHVsYXRlX2NvcHkoc3RydWN0IHZtd19kdV91cGRhdGVfcGxhbmUgICp1cGRhdGUsIHZvaWQg KmNtZCwKKwkJCSAgICAgICB1aW50MzJfdCBudW1faGl0cykKK3sKKwlzdHJ1Y3Qgdm13X3NjcmVl bl90YXJnZXRfZGlzcGxheV91bml0ICpzdGR1OworCXN0cnVjdCB2bXdfZnJhbWVidWZmZXJfc3Vy ZmFjZSAqdmZiczsKKwlzdHJ1Y3Qgdm13X3N0ZHVfc3VyZmFjZV9jb3B5ICpjbWRfY29weSA9IGNt ZDsKKworCXN0ZHUgPSBjb250YWluZXJfb2YodXBkYXRlLT5kdSwgdHlwZW9mKCpzdGR1KSwgYmFz ZSk7CisJdmZicyA9IGNvbnRhaW5lcl9vZih1cGRhdGUtPnZmYiwgdHlwZW9mKCp2ZmJzKSwgYmFz ZSk7CisKKwljbWRfY29weS0+aGVhZGVyLmlkID0gU1ZHQV8zRF9DTURfU1VSRkFDRV9DT1BZOwor CWNtZF9jb3B5LT5oZWFkZXIuc2l6ZSA9IHNpemVvZihjbWRfY29weS0+Ym9keSkgKyBzaXplb2Yo U1ZHQTNkQ29weUJveCkgKgorCQludW1faGl0czsKKwljbWRfY29weS0+Ym9keS5zcmMuc2lkID0g dmZicy0+c3VyZmFjZS0+cmVzLmlkOworCWNtZF9jb3B5LT5ib2R5LmRlc3Quc2lkID0gc3RkdS0+ ZGlzcGxheV9zcmYtPnJlcy5pZDsKKworCXJldHVybiBzaXplb2YoKmNtZF9jb3B5KTsKK30KKwor c3RhdGljIHVpbnQzMl90Cit2bXdfc3RkdV9zdXJmYWNlX3BvcHVsYXRlX2NsaXAoc3RydWN0IHZt d19kdV91cGRhdGVfcGxhbmUgICp1cGRhdGUsIHZvaWQgKmNtZCwKKwkJCSAgICAgICBzdHJ1Y3Qg ZHJtX3JlY3QgKmNsaXAsIHVpbnQzMl90IGZiX3gsCisJCQkgICAgICAgdWludDMyX3QgZmJfeSkK K3sKKwlzdHJ1Y3QgU1ZHQTNkQ29weUJveCAqYm94ID0gY21kOworCisJYm94LT5zcmN4ID0gZmJf eDsKKwlib3gtPnNyY3kgPSBmYl95OworCWJveC0+c3JjeiA9IDA7CisJYm94LT54ID0gY2xpcC0+ eDE7CisJYm94LT55ID0gY2xpcC0+eTE7CisJYm94LT56ID0gMDsKKwlib3gtPncgPSBkcm1fcmVj dF93aWR0aChjbGlwKTsKKwlib3gtPmggPSBkcm1fcmVjdF9oZWlnaHQoY2xpcCk7CisJYm94LT5k ID0gMTsKKworCXJldHVybiBzaXplb2YoKmJveCk7Cit9CisKK3N0YXRpYyB1aW50MzJfdAordm13 X3N0dWRfc3VyZmFjZV9wb3B1bGF0ZV91cGRhdGUoc3RydWN0IHZtd19kdV91cGRhdGVfcGxhbmUg ICp1cGRhdGUsIHZvaWQgKmNtZCwKKwkJCQkgc3RydWN0IGRybV9yZWN0ICpiYikKK3sKKwl2bXdf c3RkdV9wb3B1bGF0ZV91cGRhdGUoY21kLCB1cGRhdGUtPmR1LT51bml0LCBiYi0+eDEsIGJiLT54 MiwgYmItPnkxLAorCQkJCSBiYi0+eTIpOworCisJcmV0dXJuIHNpemVvZihzdHJ1Y3Qgdm13X3N0 ZHVfdXBkYXRlKTsKK30KKworLyoqCisgKiB2bXdfc3RkdV9wbGFuZV91cGRhdGVfc3VyZmFjZSAt IFVwZGF0ZSBkaXNwbGF5IHVuaXQgZm9yIHN1cmZhY2UgYmFja2VkIGZiCisgKiBAZGV2X3ByaXY6 IERldmljZSBwcml2YXRlCisgKiBAcGxhbmU6IFBsYW5lIHN0YXRlCisgKiBAb2xkX3N0YXRlOiBP bGQgcGxhbmUgc3RhdGUKKyAqIEB2ZmI6IEZyYW1lYnVmZmVyIHdoaWNoIGlzIGJsaXR0ZWQgdG8g ZGlzcGxheSB1bml0CisgKiBAb3V0X2ZlbmNlOiBJZiBub24tTlVMTCwgd2lsbCByZXR1cm4gYSBy ZWYtY291bnRlZCBwb2ludGVyIHRvIHZtd19mZW5jZV9vYmouCisgKiAgICAgICAgICAgICBUaGUg cmV0dXJuZWQgZmVuY2UgcG9pbnRlciBtYXkgYmUgTlVMTCBpbiB3aGljaCBjYXNlIHRoZSBkZXZp Y2UKKyAqICAgICAgICAgICAgIGhhcyBhbHJlYWR5IHN5bmNocm9uaXplZC4KKyAqCisgKiBSZXR1 cm46IDAgb24gc3VjY2VzcyBvciBhIG5lZ2F0aXZlIGVycm9yIGNvZGUgb24gZmFpbHVyZS4KKyAq Lworc3RhdGljIGludCB2bXdfc3RkdV9wbGFuZV91cGRhdGVfc3VyZmFjZShzdHJ1Y3Qgdm13X3By aXZhdGUgKmRldl9wcml2LAorCQkJCQkgc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCisJCQkJCSBz dHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpvbGRfc3RhdGUsCisJCQkJCSBzdHJ1Y3Qgdm13X2ZyYW1l YnVmZmVyICp2ZmIsCisJCQkJCSBzdHJ1Y3Qgdm13X2ZlbmNlX29iaiAqKm91dF9mZW5jZSkKK3sK KwlzdHJ1Y3Qgdm13X2R1X3VwZGF0ZV9wbGFuZSBzcmZfdXBkYXRlOworCXN0cnVjdCB2bXdfc2Ny ZWVuX3RhcmdldF9kaXNwbGF5X3VuaXQgKnN0ZHU7CisJc3RydWN0IHZtd19mcmFtZWJ1ZmZlcl9z dXJmYWNlICp2ZmJzOworCisJc3RkdSA9IHZtd19jcnRjX3RvX3N0ZHUocGxhbmUtPnN0YXRlLT5j cnRjKTsKKwl2ZmJzID0gY29udGFpbmVyX29mKHZmYiwgdHlwZW9mKCp2ZmJzKSwgYmFzZSk7CisK KwltZW1zZXQoJnNyZl91cGRhdGUsIDAsIHNpemVvZihzdHJ1Y3Qgdm13X2R1X3VwZGF0ZV9wbGFu ZSkpOworCXNyZl91cGRhdGUucGxhbmUgPSBwbGFuZTsKKwlzcmZfdXBkYXRlLm9sZF9zdGF0ZSA9 IG9sZF9zdGF0ZTsKKwlzcmZfdXBkYXRlLmRldl9wcml2ID0gZGV2X3ByaXY7CisJc3JmX3VwZGF0 ZS5kdSA9IHZtd19jcnRjX3RvX2R1KHBsYW5lLT5zdGF0ZS0+Y3J0Yyk7CisJc3JmX3VwZGF0ZS52 ZmIgPSB2ZmI7CisJc3JmX3VwZGF0ZS5vdXRfZmVuY2UgPSBvdXRfZmVuY2U7CisJc3JmX3VwZGF0 ZS5tdXRleCA9ICZkZXZfcHJpdi0+Y21kYnVmX211dGV4OworCXNyZl91cGRhdGUuY3B1X2JsaXQg PSBmYWxzZTsKKwlzcmZfdXBkYXRlLmludHIgPSB0cnVlOworCisJaWYgKHZmYnMtPmlzX2JvX3By b3h5KQorCQlzcmZfdXBkYXRlLnBvc3RfcHJlcGFyZSA9IHZtd19zdGR1X3N1cmZhY2VfdXBkYXRl X3Byb3h5OworCisJaWYgKHZmYnMtPnN1cmZhY2UtPnJlcy5pZCAhPSBzdGR1LT5kaXNwbGF5X3Ny Zi0+cmVzLmlkKSB7CisJCXNyZl91cGRhdGUuY2FsY19maWZvX3NpemUgPSB2bXdfc3RkdV9zdXJm YWNlX2ZpZm9fc2l6ZTsKKwkJc3JmX3VwZGF0ZS5wcmVfY2xpcCA9IHZtd19zdGR1X3N1cmZhY2Vf cG9wdWxhdGVfY29weTsKKwkJc3JmX3VwZGF0ZS5jbGlwID0gdm13X3N0ZHVfc3VyZmFjZV9wb3B1 bGF0ZV9jbGlwOworCX0gZWxzZSB7CisJCXNyZl91cGRhdGUuY2FsY19maWZvX3NpemUgPQorCQkJ dm13X3N0ZHVfc3VyZmFjZV9maWZvX3NpemVfc2FtZV9kaXNwbGF5OworCX0KKworCXNyZl91cGRh dGUucG9zdF9jbGlwID0gdm13X3N0dWRfc3VyZmFjZV9wb3B1bGF0ZV91cGRhdGU7CisKKwlyZXR1 cm4gdm13X2R1X2hlbHBlcl9wbGFuZV91cGRhdGUoJnNyZl91cGRhdGUpOworfQogCiAvKioKICAq IHZtd19zdGR1X3ByaW1hcnlfcGxhbmVfYXRvbWljX3VwZGF0ZSAtIGZvcm1hbGx5IHN3aXRjaGVz IFNURFUgdG8gbmV3IHBsYW5lCi0tIAoyLjE3LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2RyaS1kZXZlbAo=