From mboxrd@z Thu Jan 1 00:00:00 1970 From: Deepak Rawat Subject: [PATCH v3 13/18] drm/vmwgfx: Implement SOU plane update for BO backed fb Date: Wed, 10 Oct 2018 17:16:52 -0700 Message-ID: <20181011001657.1715-13-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-002.vmware.com (ex13-edg-ou-002.vmware.com [208.91.0.190]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0F0D46E37B for ; Thu, 11 Oct 2018 00:17:22 +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 VXNpbmcgdGhlIG5ldyBpbnRlcmZhY2UgaW1wbGVtZW50IFNPVSBwbGFuZSB1cGRhdGUgZm9yIEJP IGJhY2tlZCBmYi4KCnYyOiBSZWJhc2UgdG8gbmV3IHJlc291cmNlIHZhbGlkYXRpb24uCgpTaWdu ZWQtb2ZmLWJ5OiBEZWVwYWsgUmF3YXQgPGRyYXdhdEB2bXdhcmUuY29tPgotLS0KIGRyaXZlcnMv Z3B1L2RybS92bXdnZngvdm13Z2Z4X3Njcm4uYyB8IDEwMSArKysrKysrKysrKysrKysrKysrKysr KysrKysKIDEgZmlsZSBjaGFuZ2VkLCAxMDEgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X3Njcm4uYyBiL2RyaXZlcnMvZ3B1L2RybS92bXdn Zngvdm13Z2Z4X3Njcm4uYwppbmRleCA5OTFhNmU4NzM3MGEuLmY5YmI3MWU0ODlkYiAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfc2Nybi5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS92bXdnZngvdm13Z2Z4X3Njcm4uYwpAQCAtNzYsNiArNzYsMTEgQEAgc3RydWN0IHZt d19rbXNfc291X2RpcnR5X2NtZCB7CiAJU1ZHQTNkQ21kQmxpdFN1cmZhY2VUb1NjcmVlbiBib2R5 OwogfTsKIAorc3RydWN0IHZtd19rbXNfc291X2RlZmluZV9nbXJmYiB7CisJdWludDMyX3QgaGVh ZGVyOworCVNWR0FGaWZvQ21kRGVmaW5lR01SRkIgYm9keTsKK307CisKIC8qKgogICogRGlzcGxh eSB1bml0IHVzaW5nIHNjcmVlbiBvYmplY3RzLgogICovCkBAIC00OTksNiArNTA0LDEwMiBAQCB2 bXdfc291X3ByaW1hcnlfcGxhbmVfcHJlcGFyZV9mYihzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwK IAlyZXR1cm4gdm13X2JvX3Bpbl9pbl92cmFtKGRldl9wcml2LCB2cHMtPmJvLCB0cnVlKTsKIH0K IAorc3RhdGljIHVpbnQzMl90IHZtd19zb3VfYm9fZmlmb19zaXplKHN0cnVjdCB2bXdfZHVfdXBk YXRlX3BsYW5lICp1cGRhdGUsCisJCQkJICAgICB1aW50MzJfdCBudW1faGl0cykKK3sKKwlyZXR1 cm4gc2l6ZW9mKHN0cnVjdCB2bXdfa21zX3NvdV9kZWZpbmVfZ21yZmIpICsKKwkJc2l6ZW9mKHN0 cnVjdCB2bXdfa21zX3NvdV9ib19ibGl0KSAqIG51bV9oaXRzOworfQorCitzdGF0aWMgdWludDMy X3Qgdm13X3NvdV9ib19kZWZpbmVfZ21yZmIoc3RydWN0IHZtd19kdV91cGRhdGVfcGxhbmUgKnVw ZGF0ZSwKKwkJCQkJdm9pZCAqY21kKQoreworCXN0cnVjdCB2bXdfZnJhbWVidWZmZXJfYm8gKnZm YmJvID0KKwkJY29udGFpbmVyX29mKHVwZGF0ZS0+dmZiLCB0eXBlb2YoKnZmYmJvKSwgYmFzZSk7 CisJc3RydWN0IHZtd19rbXNfc291X2RlZmluZV9nbXJmYiAqZ21yID0gY21kOworCWludCBkZXB0 aCA9IHVwZGF0ZS0+dmZiLT5iYXNlLmZvcm1hdC0+ZGVwdGg7CisKKwkvKiBFbXVsYXRlIFJHQkEg c3VwcG9ydCwgY29udHJhcnkgdG8gc3ZnYV9yZWcuaCB0aGlzIGlzIG5vdAorCSAqIHN1cHBvcnRl ZCBieSBob3N0cy4gVGhpcyBpcyBvbmx5IGEgcHJvYmxlbSBpZiB3ZSBhcmUgcmVhZGluZworCSAq IHRoaXMgdmFsdWUgbGF0ZXIgYW5kIGV4cGVjdGluZyB3aGF0IHdlIHVwbG9hZGVkIGJhY2suCisJ ICovCisJaWYgKGRlcHRoID09IDMyKQorCQlkZXB0aCA9IDI0OworCisJZ21yLT5oZWFkZXIgPSBT VkdBX0NNRF9ERUZJTkVfR01SRkI7CisKKwlnbXItPmJvZHkuZm9ybWF0LmJpdHNQZXJQaXhlbCA9 IHVwZGF0ZS0+dmZiLT5iYXNlLmZvcm1hdC0+Y3BwWzBdICogODsKKwlnbXItPmJvZHkuZm9ybWF0 LmNvbG9yRGVwdGggPSBkZXB0aDsKKwlnbXItPmJvZHkuZm9ybWF0LnJlc2VydmVkID0gMDsKKwln bXItPmJvZHkuYnl0ZXNQZXJMaW5lID0gdXBkYXRlLT52ZmItPmJhc2UucGl0Y2hlc1swXTsKKwl2 bXdfYm9fZ2V0X2d1ZXN0X3B0cigmdmZiYm8tPmJ1ZmZlci0+YmFzZSwgJmdtci0+Ym9keS5wdHIp OworCisJcmV0dXJuIHNpemVvZigqZ21yKTsKK30KKworc3RhdGljIHVpbnQzMl90IHZtd19zb3Vf Ym9fcG9wdWxhdGVfY2xpcChzdHJ1Y3Qgdm13X2R1X3VwZGF0ZV9wbGFuZSAgKnVwZGF0ZSwKKwkJ CQkJIHZvaWQgKmNtZCwgc3RydWN0IGRybV9yZWN0ICpjbGlwLAorCQkJCQkgdWludDMyX3QgZmJf eCwgdWludDMyX3QgZmJfeSkKK3sKKwlzdHJ1Y3Qgdm13X2ttc19zb3VfYm9fYmxpdCAqYmxpdCA9 IGNtZDsKKworCWJsaXQtPmhlYWRlciA9IFNWR0FfQ01EX0JMSVRfR01SRkJfVE9fU0NSRUVOOwor CWJsaXQtPmJvZHkuZGVzdFNjcmVlbklkID0gdXBkYXRlLT5kdS0+dW5pdDsKKwlibGl0LT5ib2R5 LnNyY09yaWdpbi54ID0gZmJfeDsKKwlibGl0LT5ib2R5LnNyY09yaWdpbi55ID0gZmJfeTsKKwli bGl0LT5ib2R5LmRlc3RSZWN0LmxlZnQgPSBjbGlwLT54MTsKKwlibGl0LT5ib2R5LmRlc3RSZWN0 LnRvcCA9IGNsaXAtPnkxOworCWJsaXQtPmJvZHkuZGVzdFJlY3QucmlnaHQgPSBjbGlwLT54MjsK KwlibGl0LT5ib2R5LmRlc3RSZWN0LmJvdHRvbSA9IGNsaXAtPnkyOworCisJcmV0dXJuIHNpemVv ZigqYmxpdCk7Cit9CisKK3N0YXRpYyB1aW50MzJfdCB2bXdfc3R1ZF9ib19wb3N0X2NsaXAoc3Ry dWN0IHZtd19kdV91cGRhdGVfcGxhbmUgICp1cGRhdGUsCisJCQkJICAgICAgdm9pZCAqY21kLCBz dHJ1Y3QgZHJtX3JlY3QgKmJiKQoreworCXJldHVybiAwOworfQorCisvKioKKyAqIHZtd19zb3Vf cGxhbmVfdXBkYXRlX2JvIC0gVXBkYXRlIGRpc3BsYXkgdW5pdCBmb3IgYm8gYmFja2VkIGZiLgor ICogQGRldl9wcml2OiBEZXZpY2UgcHJpdmF0ZS4KKyAqIEBwbGFuZTogUGxhbmUgc3RhdGUuCisg KiBAb2xkX3N0YXRlOiBPbGQgcGxhbmUgc3RhdGUuCisgKiBAdmZiOiBGcmFtZWJ1ZmZlciB3aGlj aCBpcyBibGl0dGVkIHRvIGRpc3BsYXkgdW5pdC4KKyAqIEBvdXRfZmVuY2U6IElmIG5vbi1OVUxM LCB3aWxsIHJldHVybiBhIHJlZi1jb3VudGVkIHBvaW50ZXIgdG8gdm13X2ZlbmNlX29iai4KKyAq ICAgICAgICAgICAgIFRoZSByZXR1cm5lZCBmZW5jZSBwb2ludGVyIG1heSBiZSBOVUxMIGluIHdo aWNoIGNhc2UgdGhlIGRldmljZQorICogICAgICAgICAgICAgaGFzIGFscmVhZHkgc3luY2hyb25p emVkLgorICoKKyAqIFJldHVybjogMCBvbiBzdWNjZXNzIG9yIGEgbmVnYXRpdmUgZXJyb3IgY29k ZSBvbiBmYWlsdXJlLgorICovCitzdGF0aWMgaW50IHZtd19zb3VfcGxhbmVfdXBkYXRlX2JvKHN0 cnVjdCB2bXdfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCQkJICAgc3RydWN0IGRybV9wbGFuZSAqcGxh bmUsCisJCQkJICAgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqb2xkX3N0YXRlLAorCQkJCSAgIHN0 cnVjdCB2bXdfZnJhbWVidWZmZXIgKnZmYiwKKwkJCQkgICBzdHJ1Y3Qgdm13X2ZlbmNlX29iaiAq Km91dF9mZW5jZSkKK3sKKwlzdHJ1Y3Qgdm13X2R1X3VwZGF0ZV9wbGFuZV9idWZmZXIgYm9fdXBk YXRlOworCisJbWVtc2V0KCZib191cGRhdGUsIDAsIHNpemVvZihzdHJ1Y3Qgdm13X2R1X3VwZGF0 ZV9wbGFuZV9idWZmZXIpKTsKKwlib191cGRhdGUuYmFzZS5wbGFuZSA9IHBsYW5lOworCWJvX3Vw ZGF0ZS5iYXNlLm9sZF9zdGF0ZSA9IG9sZF9zdGF0ZTsKKwlib191cGRhdGUuYmFzZS5kZXZfcHJp diA9IGRldl9wcml2OworCWJvX3VwZGF0ZS5iYXNlLmR1ID0gdm13X2NydGNfdG9fZHUocGxhbmUt PnN0YXRlLT5jcnRjKTsKKwlib191cGRhdGUuYmFzZS52ZmIgPSB2ZmI7CisJYm9fdXBkYXRlLmJh c2Uub3V0X2ZlbmNlID0gb3V0X2ZlbmNlOworCWJvX3VwZGF0ZS5iYXNlLm11dGV4ID0gTlVMTDsg CisJYm9fdXBkYXRlLmJhc2UuY3B1X2JsaXQgPSBmYWxzZTsKKwlib191cGRhdGUuYmFzZS5pbnRy ID0gdHJ1ZTsKKworCWJvX3VwZGF0ZS5iYXNlLmNhbGNfZmlmb19zaXplID0gdm13X3NvdV9ib19m aWZvX3NpemU7CisJYm9fdXBkYXRlLmJhc2UucG9zdF9wcmVwYXJlID0gdm13X3NvdV9ib19kZWZp bmVfZ21yZmI7CisJYm9fdXBkYXRlLmJhc2UuY2xpcCA9IHZtd19zb3VfYm9fcG9wdWxhdGVfY2xp cDsKKwlib191cGRhdGUuYmFzZS5wb3N0X2NsaXAgPSB2bXdfc3R1ZF9ib19wb3N0X2NsaXA7CisK KwlyZXR1cm4gdm13X2R1X2hlbHBlcl9wbGFuZV91cGRhdGUoJmJvX3VwZGF0ZS5iYXNlKTsKK30K Kwogc3RhdGljIHVpbnQzMl90IHZtd19zb3Vfc3VyZmFjZV9maWZvX3NpemUoc3RydWN0IHZtd19k dV91cGRhdGVfcGxhbmUgKnVwZGF0ZSwKIAkJCQkJICB1aW50MzJfdCBudW1faGl0cykKIHsKLS0g CjIuMTcuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K ZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==