From mboxrd@z Thu Jan 1 00:00:00 1970 From: Deepak Rawat Subject: [PATCH 13/18] drm/vmwgfx: Implement SOU plane update for BO backed fb Date: Thu, 27 Sep 2018 17:30:15 -0700 Message-ID: <20180928003020.1737-13-drawat@vmware.com> References: <20180928003020.1737-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-002.vmware.com (ex13-edg-ou-002.vmware.com [208.91.0.190]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3A7646E632 for ; Fri, 28 Sep 2018 00:30:58 +0000 (UTC) In-Reply-To: <20180928003020.1737-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 VXNpbmcgdGhlIG5ldyBpbnRlcmZhY2UgaW1wbGVtZW50IFNPVSBwbGFuZSB1cGRhdGUgZm9yIEJP IGJhY2tlZCBmYi4KClNpZ25lZC1vZmYtYnk6IERlZXBhayBSYXdhdCA8ZHJhd2F0QHZtd2FyZS5j b20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfc2Nybi5jIHwgMTMyICsrKysr KysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDEzMiBpbnNlcnRpb25zKCsp CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfc2Nybi5jIGIvZHJp dmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfc2Nybi5jCmluZGV4IDllNWQ0OGQwM2RkNC4uNDAy ZGY5YTYyZWYwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9zY3Ju LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfc2Nybi5jCkBAIC03Niw2ICs3 NiwxMSBAQCBzdHJ1Y3Qgdm13X2ttc19zb3VfZGlydHlfY21kIHsKIAlTVkdBM2RDbWRCbGl0U3Vy ZmFjZVRvU2NyZWVuIGJvZHk7CiB9OwogCitzdHJ1Y3Qgdm13X2ttc19zb3VfZGVmaW5lX2dtcmZi IHsKKwl1aW50MzJfdCBoZWFkZXI7CisJU1ZHQUZpZm9DbWREZWZpbmVHTVJGQiBib2R5OworfTsK KwogLyoqCiAgKiBEaXNwbGF5IHVuaXQgdXNpbmcgc2NyZWVuIG9iamVjdHMuCiAgKi8KQEAgLTQ5 OSw2ICs1MDQsMTMzIEBAIHZtd19zb3VfcHJpbWFyeV9wbGFuZV9wcmVwYXJlX2ZiKHN0cnVjdCBk 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 ZGF0ZV9ibyAtIFVwZGF0ZSBkaXNwbGF5IHVuaXQgZm9yIGJvIGJhY2tlZCBmYi4KKyAqIEBkZXZf cHJpdjogRGV2aWNlIHByaXZhdGUuCisgKiBAcGxhbmU6IFBsYW5lIHN0YXRlLgorICogQG9sZF9z dGF0ZTogT2xkIHBsYW5lIHN0YXRlLgorICogQHZmYjogRnJhbWVidWZmZXIgd2hpY2ggaXMgYmxp dHRlZCB0byBkaXNwbGF5IHVuaXQuCisgKiBAb3V0X2ZlbmNlOiBJZiBub24tTlVMTCwgd2lsbCBy ZXR1cm4gYSByZWYtY291bnRlZCBwb2ludGVyIHRvIHZtd19mZW5jZV9vYmouCisgKiAgICAgICAg ICAgICBUaGUgcmV0dXJuZWQgZmVuY2UgcG9pbnRlciBtYXkgYmUgTlVMTCBpbiB3aGljaCBjYXNl IHRoZSBkZXZpY2UKKyAqICAgICAgICAgICAgIGhhcyBhbHJlYWR5IHN5bmNocm9uaXplZC4KKyAq CisgKiBSRVRVUk5TOiAwIG9uIHN1Y2Nlc3Mgb3IgYSBuZWdhdGl2ZSBlcnJvciBjb2RlIG9uIGZh aWx1cmUuCisgKi8KK3N0YXRpYyBpbnQgdm13X3NvdV9wbGFuZV91cGRhdGVfYm8oc3RydWN0IHZt d19wcml2YXRlICpkZXZfcHJpdiwKKwkJCQkgICBzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKKwkJ CQkgICBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpvbGRfc3RhdGUsCisJCQkJICAgc3RydWN0IHZt d19mcmFtZWJ1ZmZlciAqdmZiLAorCQkJCSAgIHN0cnVjdCB2bXdfZmVuY2Vfb2JqICoqb3V0X2Zl bmNlKQoreworCXN0cnVjdCB2bXdfZHVfdXBkYXRlX3BsYW5lX2J1ZmZlciBib191cGRhdGU7CisK KwltZW1zZXQoJmJvX3VwZGF0ZSwgMCwgc2l6ZW9mKHN0cnVjdCB2bXdfZHVfdXBkYXRlX3BsYW5l X2J1ZmZlcikpOworCWJvX3VwZGF0ZS5iYXNlLnBsYW5lID0gcGxhbmU7CisJYm9fdXBkYXRlLmJh c2Uub2xkX3N0YXRlID0gb2xkX3N0YXRlOworCWJvX3VwZGF0ZS5iYXNlLmRldl9wcml2ID0gZGV2 X3ByaXY7CisJYm9fdXBkYXRlLmJhc2UuZHUgPSB2bXdfY3J0Y190b19kdShwbGFuZS0+c3RhdGUt PmNydGMpOworCWJvX3VwZGF0ZS5iYXNlLnZmYiA9IHZmYjsKKwlib191cGRhdGUuYmFzZS5vdXRf ZmVuY2UgPSBvdXRfZmVuY2U7CisKKwlib191cGRhdGUuY3B1X2JsaXQgPSBmYWxzZTsKKworCWJv X3VwZGF0ZS5iYXNlLnByZXBhcmUgPSB2bXdfc291X2JvX3ByZXBhcmU7CisJYm9fdXBkYXRlLmJh c2UuY2FsY19maWZvX3NpemUgPSB2bXdfc291X2JvX2ZpZm9fc2l6ZTsKKwlib191cGRhdGUuYmFz ZS5wb3N0X3ByZXBhcmUgPSB2bXdfc291X2JvX2RlZmluZV9nbXJmYjsKKwlib191cGRhdGUuYmFz ZS5jbGlwID0gdm13X3NvdV9ib19wb3B1bGF0ZV9jbGlwOworCWJvX3VwZGF0ZS5iYXNlLnBvc3Rf Y2xpcCA9IHZtd19zdHVkX2JvX3Bvc3RfY2xpcDsKKwlib191cGRhdGUuYmFzZS5maW5pc2ggPSB2 bXdfc291X2JvX2ZpbmlzaDsKKwlib191cGRhdGUuYmFzZS5yZXZlcnQgPSB2bXdfc291X2JvX3Jl dmVydDsKKworCXJldHVybiB2bXdfZHVfaGVscGVyX3BsYW5lX3VwZGF0ZSgmYm9fdXBkYXRlLmJh c2UpOworfQorCiBzdGF0aWMgaW50IHZtd19zb3Vfc3VyZmFjZV9wcmVwYXJlKHN0cnVjdCB2bXdf ZHVfdXBkYXRlX3BsYW5lICp1cGRhdGUpCiB7CiAJc3RydWN0IHZtd19kdV91cGRhdGVfcGxhbmVf c3VyZmFjZSAqc3JmX3VwZGF0ZTsKLS0gCjIuMTcuMQoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVsCg==