From mboxrd@z Thu Jan 1 00:00:00 1970 From: Deepak Rawat Subject: [PATCH v3 12/18] drm/vmwgfx: Implement SOU plane update for surface backed fb Date: Wed, 10 Oct 2018 17:16:51 -0700 Message-ID: <20181011001657.1715-12-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 60E946E379 for ; Thu, 11 Oct 2018 00:17:21 +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 VXNpbmcgdGhlIG5ldyBpbnRlcmZhY2UgaW1wbGVtZW50IFNPVSBwbGFuZSB1cGRhdGUgZm9yIHN1 cmZhY2UgYmFja2VkCmZiLgoKdjI6IFJlYmFzZSB0byBuZXcgcmVzb3VyY2UgdmFsaWRhdGlvbi4K ClNpZ25lZC1vZmYtYnk6IERlZXBhayBSYXdhdCA8ZHJhd2F0QHZtd2FyZS5jb20+Ci0tLQogZHJp dmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfa21zLmggIHwgIDExICsrCiBkcml2ZXJzL2dwdS9k cm0vdm13Z2Z4L3Ztd2dmeF9zY3JuLmMgfCAxNjEgKysrKysrKysrKysrKysrKysrKysrKysrKysr CiAyIGZpbGVzIGNoYW5nZWQsIDE3MiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfa21zLmggYi9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Zt d2dmeF9rbXMuaAppbmRleCA3M2ZjNTFmNDM0MDAuLjNlOGI4YjNkMzNhYSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfa21zLmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L3Ztd2dmeC92bXdnZnhfa21zLmgKQEAgLTEyOSw2ICsxMjksMTcgQEAgc3RydWN0IHZtd19kdV91 cGRhdGVfcGxhbmUgewogCWJvb2wgaW50cjsKIH07CiAKKy8qKgorICogc3RydWN0IHZtd19kdV91 cGRhdGVfcGxhbmVfc3VyZmFjZSAtIGNsb3N1cmUgc3RydWN0dXJlIGZvciBzdXJmYWNlCisgKiBA YmFzZTogYmFzZSBjbG9zdXJlIHN0cnVjdHVyZS4KKyAqIEBjbWRfc3RhcnQ6IEZJRk8gY29tbWFu ZCBzdGFydCBhZGRyZXNzICh1c2VkIGJ5IFNPVSBvbmx5KS4KKyAqLworc3RydWN0IHZtd19kdV91 cGRhdGVfcGxhbmVfc3VyZmFjZSB7CisJc3RydWN0IHZtd19kdV91cGRhdGVfcGxhbmUgYmFzZTsK KwkvKiBUaGlzIG1lbWJlciBpcyB0byBoYW5kbGUgc3BlY2lhbCBjYXNlIFNPVSBzdXJmYWNlIHVw ZGF0ZSAqLworCXZvaWQgKmNtZF9zdGFydDsKK307CisKIC8qKgogICogc3RydWN0IHZtd19kdV91 cGRhdGVfcGxhbmVfYnVmZmVyIC0gQ2xvc3VyZSBzdHJ1Y3R1cmUgZm9yIGJ1ZmZlciBvYmplY3QK ICAqIEBiYXNlOiBCYXNlIGNsb3N1cmUgc3RydWN0dXJlLgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL3Ztd2dmeC92bXdnZnhfc2Nybi5jIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdn Znhfc2Nybi5jCmluZGV4IDUzMzE2YjFiZGEzZC4uOTkxYTZlODczNzBhIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9zY3JuLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L3Ztd2dmeC92bXdnZnhfc2Nybi5jCkBAIC00OTksNiArNDk5LDE2NyBAQCB2bXdfc291X3ByaW1h cnlfcGxhbmVfcHJlcGFyZV9mYihzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAlyZXR1cm4gdm13 X2JvX3Bpbl9pbl92cmFtKGRldl9wcml2LCB2cHMtPmJvLCB0cnVlKTsKIH0KIAorc3RhdGljIHVp bnQzMl90IHZtd19zb3Vfc3VyZmFjZV9maWZvX3NpemUoc3RydWN0IHZtd19kdV91cGRhdGVfcGxh bmUgKnVwZGF0ZSwKKwkJCQkJICB1aW50MzJfdCBudW1faGl0cykKK3sKKwlyZXR1cm4gc2l6ZW9m KHN0cnVjdCB2bXdfa21zX3NvdV9kaXJ0eV9jbWQpICsgc2l6ZW9mKFNWR0FTaWduZWRSZWN0KSAq CisJCW51bV9oaXRzOworfQorCitzdGF0aWMgdWludDMyX3Qgdm13X3NvdV9zdXJmYWNlX3Bvc3Rf cHJlcGFyZShzdHJ1Y3Qgdm13X2R1X3VwZGF0ZV9wbGFuZSAqdXBkYXRlLAorCQkJCQkgICAgIHZv aWQgKmNtZCkKK3sKKwlzdHJ1Y3Qgdm13X2R1X3VwZGF0ZV9wbGFuZV9zdXJmYWNlICpzcmZfdXBk YXRlOworCisJc3JmX3VwZGF0ZSA9IGNvbnRhaW5lcl9vZih1cGRhdGUsIHR5cGVvZigqc3JmX3Vw ZGF0ZSksIGJhc2UpOworCisJLyoKKwkgKiBTT1UgU1ZHQV8zRF9DTURfQkxJVF9TVVJGQUNFX1RP X1NDUkVFTiBpcyBzcGVjaWFsIGluIHRoZSBzZW5zZSB0aGF0CisJICogaXRzIGJvdW5kaW5nIGJv eCBpcyBmaWxsZWQgYmVmb3JlIGl0ZXJhdGluZyBvdmVyIGFsbCB0aGUgY2xpcHMuIFNvCisJICog c3RvcmUgdGhlIEZJRk8gc3RhcnQgYWRkcmVzcyBhbmQgcmV2aXNpdCB0byBmaWxsIHRoZSBkZXRh aWxzLgorCSAqLworCXNyZl91cGRhdGUtPmNtZF9zdGFydCA9IGNtZDsKKworCXJldHVybiAwOwor fQorCitzdGF0aWMgdWludDMyX3Qgdm13X3NvdV9zdXJmYWNlX3ByZV9jbGlwKHN0cnVjdCB2bXdf ZHVfdXBkYXRlX3BsYW5lICp1cGRhdGUsCisJCQkJCSB2b2lkICpjbWQsIHVpbnQzMl90IG51bV9o aXRzKQoreworCXN0cnVjdCB2bXdfa21zX3NvdV9kaXJ0eV9jbWQgKmJsaXQgPSBjbWQ7CisJc3Ry dWN0IHZtd19mcmFtZWJ1ZmZlcl9zdXJmYWNlICp2ZmJzOworCisJdmZicyA9IGNvbnRhaW5lcl9v Zih1cGRhdGUtPnZmYiwgdHlwZW9mKCp2ZmJzKSwgYmFzZSk7CisKKwlibGl0LT5oZWFkZXIuaWQg PSBTVkdBXzNEX0NNRF9CTElUX1NVUkZBQ0VfVE9fU0NSRUVOOworCWJsaXQtPmhlYWRlci5zaXpl ID0gc2l6ZW9mKGJsaXQtPmJvZHkpICsgc2l6ZW9mKFNWR0FTaWduZWRSZWN0KSAqCisJCW51bV9o aXRzOworCisJYmxpdC0+Ym9keS5zcmNJbWFnZS5zaWQgPSB2ZmJzLT5zdXJmYWNlLT5yZXMuaWQ7 CisJYmxpdC0+Ym9keS5kZXN0U2NyZWVuSWQgPSB1cGRhdGUtPmR1LT51bml0OworCisJLyogVXBk YXRlIHRoZSBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIGJvdW5kaW5nIGJveCBsYXRlciBpbiBwb3N0 X2NsaXAgKi8KKwlibGl0LT5ib2R5LnNyY1JlY3QubGVmdCA9IDA7CisJYmxpdC0+Ym9keS5zcmNS ZWN0LnRvcCA9IDA7CisJYmxpdC0+Ym9keS5zcmNSZWN0LnJpZ2h0ID0gMDsKKwlibGl0LT5ib2R5 LnNyY1JlY3QuYm90dG9tID0gMDsKKworCWJsaXQtPmJvZHkuZGVzdFJlY3QubGVmdCA9IDA7CisJ YmxpdC0+Ym9keS5kZXN0UmVjdC50b3AgPSAwOworCWJsaXQtPmJvZHkuZGVzdFJlY3QucmlnaHQg PSAwOworCWJsaXQtPmJvZHkuZGVzdFJlY3QuYm90dG9tID0gMDsKKworCXJldHVybiBzaXplb2Yo KmJsaXQpOworfQorCitzdGF0aWMgdWludDMyX3Qgdm13X3NvdV9zdXJmYWNlX2NsaXBfcmVjdChz dHJ1Y3Qgdm13X2R1X3VwZGF0ZV9wbGFuZSAqdXBkYXRlLAorCQkJCQkgIHZvaWQgKmNtZCwgc3Ry dWN0IGRybV9yZWN0ICpjbGlwLAorCQkJCQkgIHVpbnQzMl90IHNyY194LCB1aW50MzJfdCBzcmNf eSkKK3sKKwlTVkdBU2lnbmVkUmVjdCAqcmVjdCA9IGNtZDsKKworCS8qCisJICogcmVjdHMgYXJl IHJlbGF0aXZlIHRvIGRlc3QgYm91bmRpbmcgYm94IHJlY3Qgb24gc2NyZWVuIG9iamVjdCwgc28K KwkgKiB0cmFuc2xhdGUgdG8gaXQgbGF0ZXIgaW4gcG9zdF9jbGlwCisJICovCisJcmVjdC0+bGVm dCA9IGNsaXAtPngxOworCXJlY3QtPnRvcCA9IGNsaXAtPnkxOworCXJlY3QtPnJpZ2h0ID0gY2xp cC0+eDI7CisJcmVjdC0+Ym90dG9tID0gY2xpcC0+eTI7CisKKwlyZXR1cm4gc2l6ZW9mKCpyZWN0 KTsKK30KKworc3RhdGljIHVpbnQzMl90IHZtd19zb3Vfc3VyZmFjZV9wb3N0X2NsaXAoc3RydWN0 IHZtd19kdV91cGRhdGVfcGxhbmUgKnVwZGF0ZSwKKwkJCQkJICB2b2lkICpjbWQsIHN0cnVjdCBk cm1fcmVjdCAqYmIpCit7CisJc3RydWN0IHZtd19kdV91cGRhdGVfcGxhbmVfc3VyZmFjZSAqc3Jm X3VwZGF0ZTsKKwlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSA9IHVwZGF0ZS0+cGxhbmUt PnN0YXRlOworCXN0cnVjdCBkcm1fcmVjdCBzcmNfYmI7CisJc3RydWN0IHZtd19rbXNfc291X2Rp cnR5X2NtZCAqYmxpdDsKKwlTVkdBU2lnbmVkUmVjdCAqcmVjdDsKKwl1aW50MzJfdCBudW1faGl0 czsKKwlpbnQgdHJhbnNsYXRlX3NyY194OworCWludCB0cmFuc2xhdGVfc3JjX3k7CisJaW50IGk7 CisKKwlzcmZfdXBkYXRlID0gY29udGFpbmVyX29mKHVwZGF0ZSwgdHlwZW9mKCpzcmZfdXBkYXRl KSwgYmFzZSk7CisKKwlibGl0ID0gc3JmX3VwZGF0ZS0+Y21kX3N0YXJ0OworCXJlY3QgPSAoU1ZH QVNpZ25lZFJlY3QgKikmYmxpdFsxXTsKKworCW51bV9oaXRzID0gKGJsaXQtPmhlYWRlci5zaXpl IC0gc2l6ZW9mKGJsaXQtPmJvZHkpKS8KKwkJc2l6ZW9mKFNWR0FTaWduZWRSZWN0KTsKKworCXNy Y19iYiA9ICpiYjsKKworCS8qIFRvIHRyYW5zbGF0ZSBiYiBiYWNrIHRvIGZiIHNyYyBjb29yZCAq LworCXRyYW5zbGF0ZV9zcmNfeCA9IChzdGF0ZS0+c3JjX3ggPj4gMTYpIC0gc3RhdGUtPmNydGNf eDsKKwl0cmFuc2xhdGVfc3JjX3kgPSAoc3RhdGUtPnNyY195ID4+IDE2KSAtIHN0YXRlLT5jcnRj X3k7CisKKwlkcm1fcmVjdF90cmFuc2xhdGUoJnNyY19iYiwgdHJhbnNsYXRlX3NyY194LCB0cmFu c2xhdGVfc3JjX3kpOworCisJYmxpdC0+Ym9keS5zcmNSZWN0LmxlZnQgPSBzcmNfYmIueDE7CisJ YmxpdC0+Ym9keS5zcmNSZWN0LnRvcCA9IHNyY19iYi55MTsKKwlibGl0LT5ib2R5LnNyY1JlY3Qu cmlnaHQgPSBzcmNfYmIueDI7CisJYmxpdC0+Ym9keS5zcmNSZWN0LmJvdHRvbSA9IHNyY19iYi55 MjsKKworCWJsaXQtPmJvZHkuZGVzdFJlY3QubGVmdCA9IGJiLT54MTsKKwlibGl0LT5ib2R5LmRl c3RSZWN0LnRvcCA9IGJiLT55MTsKKwlibGl0LT5ib2R5LmRlc3RSZWN0LnJpZ2h0ID0gYmItPngy OworCWJsaXQtPmJvZHkuZGVzdFJlY3QuYm90dG9tID0gYmItPnkyOworCisJLyogcmVjdHMgYXJl IHJlbGF0aXZlIHRvIGRlc3QgYmIgcmVjdCAqLworCWZvciAoaSA9IDA7IGkgPCBudW1faGl0czsg aSsrKSB7CisJCXJlY3QtPmxlZnQgLT0gYmItPngxOworCQlyZWN0LT50b3AgLT0gYmItPnkxOwor CQlyZWN0LT5yaWdodCAtPSBiYi0+eDE7CisJCXJlY3QtPmJvdHRvbSAtPSBiYi0+eTE7CisJCXJl Y3QrKzsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiB2bXdfc291X3BsYW5lX3VwZGF0 ZV9zdXJmYWNlIC0gVXBkYXRlIGRpc3BsYXkgdW5pdCBmb3Igc3VyZmFjZSBiYWNrZWQgZmIuCisg KiBAZGV2X3ByaXY6IERldmljZSBwcml2YXRlLgorICogQHBsYW5lOiBQbGFuZSBzdGF0ZS4KKyAq IEBvbGRfc3RhdGU6IE9sZCBwbGFuZSBzdGF0ZS4KKyAqIEB2ZmI6IEZyYW1lYnVmZmVyIHdoaWNo IGlzIGJsaXR0ZWQgdG8gZGlzcGxheSB1bml0CisgKiBAb3V0X2ZlbmNlOiBJZiBub24tTlVMTCwg d2lsbCByZXR1cm4gYSByZWYtY291bnRlZCBwb2ludGVyIHRvIHZtd19mZW5jZV9vYmouCisgKiAg ICAgICAgICAgICBUaGUgcmV0dXJuZWQgZmVuY2UgcG9pbnRlciBtYXkgYmUgTlVMTCBpbiB3aGlj aCBjYXNlIHRoZSBkZXZpY2UKKyAqICAgICAgICAgICAgIGhhcyBhbHJlYWR5IHN5bmNocm9uaXpl ZC4KKyAqCisgKiBSZXR1cm46IDAgb24gc3VjY2VzcyBvciBhIG5lZ2F0aXZlIGVycm9yIGNvZGUg b24gZmFpbHVyZS4KKyAqLworc3RhdGljIGludCB2bXdfc291X3BsYW5lX3VwZGF0ZV9zdXJmYWNl KHN0cnVjdCB2bXdfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCQkJCXN0cnVjdCBkcm1fcGxhbmUgKnBs YW5lLAorCQkJCQlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpvbGRfc3RhdGUsCisJCQkJCXN0cnVj dCB2bXdfZnJhbWVidWZmZXIgKnZmYiwKKwkJCQkJc3RydWN0IHZtd19mZW5jZV9vYmogKipvdXRf ZmVuY2UpCit7CisJc3RydWN0IHZtd19kdV91cGRhdGVfcGxhbmVfc3VyZmFjZSBzcmZfdXBkYXRl OworCisJbWVtc2V0KCZzcmZfdXBkYXRlLCAwLCBzaXplb2Yoc3RydWN0IHZtd19kdV91cGRhdGVf cGxhbmVfc3VyZmFjZSkpOworCXNyZl91cGRhdGUuYmFzZS5wbGFuZSA9IHBsYW5lOworCXNyZl91 cGRhdGUuYmFzZS5vbGRfc3RhdGUgPSBvbGRfc3RhdGU7CisJc3JmX3VwZGF0ZS5iYXNlLmRldl9w cml2ID0gZGV2X3ByaXY7CisJc3JmX3VwZGF0ZS5iYXNlLmR1ID0gdm13X2NydGNfdG9fZHUocGxh bmUtPnN0YXRlLT5jcnRjKTsKKwlzcmZfdXBkYXRlLmJhc2UudmZiID0gdmZiOworCXNyZl91cGRh dGUuYmFzZS5vdXRfZmVuY2UgPSBvdXRfZmVuY2U7CisJc3JmX3VwZGF0ZS5iYXNlLm11dGV4ID0g JmRldl9wcml2LT5jbWRidWZfbXV0ZXg7CisJc3JmX3VwZGF0ZS5iYXNlLmNwdV9ibGl0ID0gZmFs c2U7CisJc3JmX3VwZGF0ZS5iYXNlLmludHIgPSB0cnVlOworCisJc3JmX3VwZGF0ZS5iYXNlLmNh bGNfZmlmb19zaXplID0gdm13X3NvdV9zdXJmYWNlX2ZpZm9fc2l6ZTsKKwlzcmZfdXBkYXRlLmJh c2UucG9zdF9wcmVwYXJlID0gdm13X3NvdV9zdXJmYWNlX3Bvc3RfcHJlcGFyZTsKKwlzcmZfdXBk YXRlLmJhc2UucHJlX2NsaXAgPSB2bXdfc291X3N1cmZhY2VfcHJlX2NsaXA7CisJc3JmX3VwZGF0 ZS5iYXNlLmNsaXAgPSB2bXdfc291X3N1cmZhY2VfY2xpcF9yZWN0OworCXNyZl91cGRhdGUuYmFz ZS5wb3N0X2NsaXAgPSB2bXdfc291X3N1cmZhY2VfcG9zdF9jbGlwOworCisJcmV0dXJuIHZtd19k dV9oZWxwZXJfcGxhbmVfdXBkYXRlKCZzcmZfdXBkYXRlLmJhc2UpOworfQogCiBzdGF0aWMgdm9p ZAogdm13X3NvdV9wcmltYXJ5X3BsYW5lX2F0b21pY191cGRhdGUoc3RydWN0IGRybV9wbGFuZSAq cGxhbmUsCi0tIAoyLjE3LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ry aS1kZXZlbAo=