From mboxrd@z Thu Jan 1 00:00:00 1970 From: Deepak Rawat Subject: [PATCH 11/14] drm/vmwgfx: implement SOU plane update for BO backed fb Date: Wed, 5 Sep 2018 16:38:58 -0700 Message-ID: <20180905233901.2321-12-drawat@vmware.com> References: <20180905233901.2321-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 44A1E6E579 for ; Wed, 5 Sep 2018 23:43:32 +0000 (UTC) In-Reply-To: <20180905233901.2321-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 , lukasz.spintzyk@displaylink.com List-Id: dri-devel@lists.freedesktop.org VXNpbmcgdGhlIG5ldyBpbnRlcmZhY2UgaW1wbGVtZW50IFNPVSBwbGFuZSB1cGRhdGUgZm9yIEJP IGJhY2tlZCBmYi4KClNpZ25lZC1vZmYtYnk6IERlZXBhayBSYXdhdCA8ZHJhd2F0QHZtd2FyZS5j b20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfc2Nybi5jIHwgMTM0ICsrKysr KysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDEzNCBpbnNlcnRpb25zKCsp CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfc2Nybi5jIGIvZHJp dmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfc2Nybi5jCmluZGV4IDg0MjdhNTFjZGUzZi4uYTY4 YTJjOGRhYjQ3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9zY3Ju LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfc2Nybi5jCkBAIC03Niw2ICs3 NiwxMSBAQCBzdHJ1Y3Qgdm13X2ttc19zb3VfZGlydHlfY21kIHsKIAlTVkdBM2RDbWRCbGl0U3Vy ZmFjZVRvU2NyZWVuIGJvZHk7CiB9OwogCitzdHJ1Y3Qgdm13X2ttc19zb3VfZGVmaW5lX2dtcmZi IHsKKwl1aW50MzJfdCBoZWFkZXI7CisJU1ZHQUZpZm9DbWREZWZpbmVHTVJGQiBib2R5OworfTsK KwogLyoqCiAgKiBEaXNwbGF5IHVuaXQgdXNpbmcgc2NyZWVuIG9iamVjdHMuCiAgKi8KQEAgLTQ5 OSw2ICs1MDQsMTM1IEBAIHZtd19zb3VfcHJpbWFyeV9wbGFuZV9wcmVwYXJlX2ZiKHN0cnVjdCBk cm1fcGxhbmUgKnBsYW5lLAogCXJldHVybiB2bXdfYm9fcGluX2luX3ZyYW0oZGV2X3ByaXYsIHZw cy0+Ym8sIHRydWUpOwogfQogCitzdGF0aWMgaW50IHZtd19zb3VfYm9fcHJlcGFyZShzdHJ1Y3Qg dm13X2R1X3VwZGF0ZV9wbGFuZSAqdXBkYXRlKQoreworCXN0cnVjdCB2bXdfZHVfdXBkYXRlX3Bs YW5lX2J1ZmZlciAqYm9fdXBkYXRlOworCXN0cnVjdCB2bXdfZnJhbWVidWZmZXJfYm8gKnZmYmJv OworCisJYm9fdXBkYXRlID0gY29udGFpbmVyX29mKHVwZGF0ZSwgdHlwZW9mKCpib191cGRhdGUp LCBiYXNlKTsKKwl2ZmJibyA9IGNvbnRhaW5lcl9vZih1cGRhdGUtPnZmYiwgdHlwZW9mKCp2ZmJi byksIGJhc2UpOworCisJcmV0dXJuIHZtd19rbXNfaGVscGVyX2J1ZmZlcl9wcmVwYXJlKHVwZGF0 ZS0+ZGV2X3ByaXYsIHZmYmJvLT5idWZmZXIsCisJCQkJCSAgICAgdHJ1ZSwgZmFsc2UsIGJvX3Vw ZGF0ZS0+Y3B1X2JsaXQpOworfQorCitzdGF0aWMgdWludDMyX3Qgdm13X3NvdV9ib19maWZvX3Np emUoc3RydWN0IHZtd19kdV91cGRhdGVfcGxhbmUgKnVwZGF0ZSwKKwkJCQkgICAgIHVpbnQzMl90 IG51bV9oaXRzKQoreworCXJldHVybiBzaXplb2Yoc3RydWN0IHZtd19rbXNfc291X2RlZmluZV9n bXJmYikgKworCQlzaXplb2Yoc3RydWN0IHZtd19rbXNfc291X2JvX2JsaXQpICogbnVtX2hpdHM7 Cit9CisKK3N0YXRpYyB1aW50MzJfdCB2bXdfc291X2JvX2RlZmluZV9nbXJmYihzdHJ1Y3Qgdm13 X2R1X3VwZGF0ZV9wbGFuZSAqdXBkYXRlLAorCQkJCQl2b2lkICpjbWQpCit7CisJc3RydWN0IHZt d19mcmFtZWJ1ZmZlcl9ibyAqdmZiYm8gPQorCQljb250YWluZXJfb2YodXBkYXRlLT52ZmIsIHR5 cGVvZigqdmZiYm8pLCBiYXNlKTsKKwlzdHJ1Y3Qgdm13X2ttc19zb3VfZGVmaW5lX2dtcmZiICpn bXIgPSBjbWQ7CisJaW50IGRlcHRoID0gdXBkYXRlLT52ZmItPmJhc2UuZm9ybWF0LT5kZXB0aDsK KworCS8qIEVtdWxhdGUgUkdCQSBzdXBwb3J0LCBjb250cmFyeSB0byBzdmdhX3JlZy5oIHRoaXMg aXMgbm90CisJICogc3VwcG9ydGVkIGJ5IGhvc3RzLiBUaGlzIGlzIG9ubHkgYSBwcm9ibGVtIGlm IHdlIGFyZSByZWFkaW5nCisJICogdGhpcyB2YWx1ZSBsYXRlciBhbmQgZXhwZWN0aW5nIHdoYXQg d2UgdXBsb2FkZWQgYmFjay4KKwkgKi8KKwlpZiAoZGVwdGggPT0gMzIpCisJCWRlcHRoID0gMjQ7 CisKKwlnbXItPmhlYWRlciA9IFNWR0FfQ01EX0RFRklORV9HTVJGQjsKKworCWdtci0+Ym9keS5m b3JtYXQuYml0c1BlclBpeGVsID0gdXBkYXRlLT52ZmItPmJhc2UuZm9ybWF0LT5jcHBbMF0gKiA4 OworCWdtci0+Ym9keS5mb3JtYXQuY29sb3JEZXB0aCA9IGRlcHRoOworCWdtci0+Ym9keS5mb3Jt YXQucmVzZXJ2ZWQgPSAwOworCWdtci0+Ym9keS5ieXRlc1BlckxpbmUgPSB1cGRhdGUtPnZmYi0+ YmFzZS5waXRjaGVzWzBdOworCXZtd19ib19nZXRfZ3Vlc3RfcHRyKCZ2ZmJiby0+YnVmZmVyLT5i YXNlLCAmZ21yLT5ib2R5LnB0cik7CisKKwlyZXR1cm4gc2l6ZW9mKCpnbXIpOworfQorCitzdGF0 aWMgdWludDMyX3Qgdm13X3NvdV9ib19wb3B1bGF0ZV9jbGlwKHN0cnVjdCB2bXdfZHVfdXBkYXRl X3BsYW5lICAqdXBkYXRlLAorCQkJCQkgdm9pZCAqY21kLCBzdHJ1Y3QgZHJtX3JlY3QgKmNsaXAs CisJCQkJCSB1aW50MzJfdCBmYl94LCB1aW50MzJfdCBmYl95KQoreworCXN0cnVjdCB2bXdfa21z X3NvdV9ib19ibGl0ICpibGl0ID0gY21kOworCisJYmxpdC0+aGVhZGVyID0gU1ZHQV9DTURfQkxJ VF9HTVJGQl9UT19TQ1JFRU47CisJYmxpdC0+Ym9keS5kZXN0U2NyZWVuSWQgPSB1cGRhdGUtPmR1 LT51bml0OworCWJsaXQtPmJvZHkuc3JjT3JpZ2luLnggPSBmYl94OworCWJsaXQtPmJvZHkuc3Jj T3JpZ2luLnkgPSBmYl95OworCWJsaXQtPmJvZHkuZGVzdFJlY3QubGVmdCA9IGNsaXAtPngxOwor CWJsaXQtPmJvZHkuZGVzdFJlY3QudG9wID0gY2xpcC0+eTE7CisJYmxpdC0+Ym9keS5kZXN0UmVj dC5yaWdodCA9IGNsaXAtPngyOworCWJsaXQtPmJvZHkuZGVzdFJlY3QuYm90dG9tID0gY2xpcC0+ eTI7CisKKwlyZXR1cm4gc2l6ZW9mKCpibGl0KTsKK30KKworc3RhdGljIHVpbnQzMl90IHZtd19z dHVkX2JvX3Bvc3RfY2xpcChzdHJ1Y3Qgdm13X2R1X3VwZGF0ZV9wbGFuZSAgKnVwZGF0ZSwKKwkJ CQkgICAgICB2b2lkICpjbWQsIHN0cnVjdCBkcm1fcmVjdCAqYmIpCit7CisJcmV0dXJuIDA7Cit9 CisKK3N0YXRpYyB2b2lkIHZtd19zb3VfYm9fZmluaXNoKHN0cnVjdCB2bXdfZHVfdXBkYXRlX3Bs YW5lICp1cGRhdGUpCit7CisJc3RydWN0IHZtd19mcmFtZWJ1ZmZlcl9ibyAqdmZiYm8gPQorCQlj b250YWluZXJfb2YodXBkYXRlLT52ZmIsIHR5cGVvZigqdmZiYm8pLCBiYXNlKTsKKworCXZtd19r bXNfaGVscGVyX2J1ZmZlcl9maW5pc2godXBkYXRlLT5kZXZfcHJpdiwgTlVMTCwgdmZiYm8tPmJ1 ZmZlciwKKwkJCQkgICAgIHVwZGF0ZS0+b3V0X2ZlbmNlLCBOVUxMKTsKK30KKworc3RhdGljIHZv aWQgdm13X3NvdV9ib19yZXZlcnQoc3RydWN0IHZtd19kdV91cGRhdGVfcGxhbmUgKnVwZGF0ZSkK K3sKKwlzdHJ1Y3Qgdm13X2ZyYW1lYnVmZmVyX2JvICp2ZmJibyA9CisJCWNvbnRhaW5lcl9vZih1 cGRhdGUtPnZmYiwgdHlwZW9mKCp2ZmJibyksIGJhc2UpOworCisJdm13X2ttc19oZWxwZXJfYnVm ZmVyX3JldmVydCh2ZmJiby0+YnVmZmVyKTsKK30KKworLyoqCisgKiB2bXdfc291X3BsYW5lX3Vw ZGF0ZV9ibyAtIHVwZGF0ZSBkaXNwbGF5IHVuaXQgZm9yIGJvIGJhY2tlZCBmYgorICogQGRldl9w cml2OiBkZXZpY2UgcHJpdmF0ZQorICogQHBsYW5lOiBwbGFuZSBzdGF0ZQorICogQG9sZF9zdGF0 ZTogb2xkIHBsYW5lIHN0YXRlCisgKiBAdmZiOiBmcmFtZWJ1ZmZlciB3aGljaCBpcyBibGl0dGVk IHRvIGRpc3BsYXkgdW5pdAorICogQG91dF9mZW5jZTogKG9wdGlvbmFsKSBJZiBub24tTlVMTCwg d2lsbCByZXR1cm4gYSByZWYtY291bnRlZCBwb2ludGVyIHRvIGEKKyAqIHN0cnVjdCB2bXdfZmVu Y2Vfb2JqLiBUaGUgcmV0dXJuZWQgZmVuY2UgcG9pbnRlciBtYXkgYmUgTlVMTCBpbiB3aGljaCBj YXNlCisgKiB0aGUgZGV2aWNlIGhhcyBhbHJlYWR5IHN5bmNocm9uaXplZC4KKyAqCisgKiBSRVRV Uk5TOgorICoKKyAqIDAgb24gc3VjY2VzcyBvciBhIG5lZ2F0aXZlIGVycm9yIGNvZGUgb24gZmFp bHVyZS4KKyAqLworc3RhdGljIGludCB2bXdfc291X3BsYW5lX3VwZGF0ZV9ibyhzdHJ1Y3Qgdm13 X3ByaXZhdGUgKmRldl9wcml2LAorCQkJCSAgIHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAorCQkJ CSAgIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKm9sZF9zdGF0ZSwKKwkJCQkgICBzdHJ1Y3Qgdm13 X2ZyYW1lYnVmZmVyICp2ZmIsCisJCQkJICAgc3RydWN0IHZtd19mZW5jZV9vYmogKipvdXRfZmVu Y2UpCit7CisJc3RydWN0IHZtd19kdV91cGRhdGVfcGxhbmVfYnVmZmVyIGJvX3VwZGF0ZTsKKwor CW1lbXNldCgmYm9fdXBkYXRlLCAwLCBzaXplb2Yoc3RydWN0IHZtd19kdV91cGRhdGVfcGxhbmVf YnVmZmVyKSk7CisJYm9fdXBkYXRlLmJhc2UucGxhbmUgPSBwbGFuZTsKKwlib191cGRhdGUuYmFz ZS5vbGRfc3RhdGUgPSBvbGRfc3RhdGU7CisJYm9fdXBkYXRlLmJhc2UuZGV2X3ByaXYgPSBkZXZf cHJpdjsKKwlib191cGRhdGUuYmFzZS5kdSA9IHZtd19jcnRjX3RvX2R1KHBsYW5lLT5zdGF0ZS0+ Y3J0Yyk7CisJYm9fdXBkYXRlLmJhc2UudmZiID0gdmZiOworCWJvX3VwZGF0ZS5iYXNlLm91dF9m ZW5jZSA9IG91dF9mZW5jZTsKKworCWJvX3VwZGF0ZS5jcHVfYmxpdCA9IGZhbHNlOworCisJYm9f dXBkYXRlLmJhc2UucHJlcGFyZSA9IHZtd19zb3VfYm9fcHJlcGFyZTsKKwlib191cGRhdGUuYmFz ZS5jYWxjX2ZpZm9fc2l6ZSA9IHZtd19zb3VfYm9fZmlmb19zaXplOworCWJvX3VwZGF0ZS5iYXNl LnBvc3RfcHJlcGFyZSA9IHZtd19zb3VfYm9fZGVmaW5lX2dtcmZiOworCWJvX3VwZGF0ZS5iYXNl LmNsaXAgPSB2bXdfc291X2JvX3BvcHVsYXRlX2NsaXA7CisJYm9fdXBkYXRlLmJhc2UucG9zdF9j bGlwID0gdm13X3N0dWRfYm9fcG9zdF9jbGlwOworCWJvX3VwZGF0ZS5iYXNlLmZpbmlzaCA9IHZt d19zb3VfYm9fZmluaXNoOworCWJvX3VwZGF0ZS5iYXNlLnJldmVydCA9IHZtd19zb3VfYm9fcmV2 ZXJ0OworCisJcmV0dXJuIHZtd19kdV9oZWxwZXJfcGxhbmVfdXBkYXRlKCZib191cGRhdGUuYmFz ZSk7Cit9CisKIHN0YXRpYyBpbnQgdm13X3NvdV9zdXJmYWNlX3ByZXBhcmUoc3RydWN0IHZtd19k dV91cGRhdGVfcGxhbmUgKnVwZGF0ZSkKIHsKIAlzdHJ1Y3Qgdm13X2R1X3VwZGF0ZV9wbGFuZV9z dXJmYWNlICpzcmZfdXBkYXRlOwotLSAKMi4xNy4xCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9kcmktZGV2ZWwK