From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mamta Shukla Subject: [PATCH v2] drm/vkms: Add overlay plane support Date: Tue, 5 Mar 2019 21:54:47 +0530 Message-ID: <20190305162447.GA15792@armorer> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pf1-x442.google.com (mail-pf1-x442.google.com [IPv6:2607:f8b0:4864:20::442]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8509B89E3B for ; Tue, 5 Mar 2019 16:24:52 +0000 (UTC) Received: by mail-pf1-x442.google.com with SMTP id q17so6070357pfh.10 for ; Tue, 05 Mar 2019 08:24:52 -0800 (PST) Content-Disposition: inline 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, daniel.vetter@ffwll.ch, harry.wentland@amd.com, hamohammed.sa@gmail.com, rodrigosiqueiramelo@gmail.com, manasi.d.navare@intel.com List-Id: dri-devel@lists.freedesktop.org QWRkIG92ZXJsYXkgcGxhbmUgc3VwcG9ydCBpbiB2a21zIGFsaWduZWQgd2l0aCBjdXJzb3IgYW5k IHByaW1hcnkKcGxhbmUgd2l0aCBtb2R1bGUgb3B0aW9uICdlbmFibGVfb3ZlcmxheScgdG8gZW5h YmxlL2Rpc2FibGUgb3ZlcmxheQpwbGFuZSB3aGlsZSB0ZXN0aW5nLgoKVGhpcyBjdXJyZW50bHkg cGFzc2VzIHBsYW5lLXBvc2l0aW9uLWNvdmVyZWQtcGlwZS1BLXBsYW5lIHN1YnRlc3QKZnJvbSBJ R1Qga21zX3BsYW5lIHRlc3QuCgpTaWduZWQtb2ZmLWJ5OiBNYW10YSBTaHVrbGEgPG1hbXRhc2h1 a2xhNTU1QGdtYWlsLmNvbT4KLS0tCmNoYW5nZSBpbiB2MjoKLUZpeCB3YXJuaW5nOiByZXR1cm4g bWFrZXMgcG9pbnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3QgdXNpbmcKIEVSUl9QVFIK CiBkcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2NyYy5jICAgfCAzNiArKysrKysrKysrKysrKysr KysrKysrKysrKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2Rydi5jICAgfCAgNCAr KysrCiBkcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2Rydi5oICAgfCAgOCArKysrKysrCiBkcml2 ZXJzL2dwdS9kcm0vdmttcy92a21zX3BsYW5lLmMgfCAzNiArKysrKysrKysrKysrKysrKysrKysr KysrKysrKystCiA0IGZpbGVzIGNoYW5nZWQsIDc5IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19jcmMuYyBiL2RyaXZl cnMvZ3B1L2RybS92a21zL3ZrbXNfY3JjLmMKaW5kZXggNGRkNmMxNTUzNjNkLi5hYzNlZDg2M2Nm MzQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfY3JjLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL3ZrbXMvdmttc19jcmMuYwpAQCAtMTA5LDYgKzEwOSwyNSBAQCBzdGF0aWMg dm9pZCBibGVuZCh2b2lkICp2YWRkcl9kc3QsIHZvaWQgKnZhZGRyX3NyYywKIAl9CiB9CiAKK3N0 YXRpYyB2b2lkIGNvbXBvc2Vfb3ZlcmxheShzdHJ1Y3Qgdmttc19jcmNfZGF0YSAqb3ZlcmxheV9j cmMsCisJCQkgICAgc3RydWN0IHZrbXNfY3JjX2RhdGEgKnByaW1hcnlfY3JjLCB2b2lkICp2YWRk cl9vdXQpCXsKKwlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm92ZXJsYXlfb2JqOworCXN0cnVjdCB2 a21zX2dlbV9vYmplY3QgICpvdmVybGF5X3ZrbXNfb2JqOworCisJb3ZlcmxheV9vYmogPSBkcm1f Z2VtX2ZiX2dldF9vYmooJm92ZXJsYXlfY3JjLT5mYiwgMCk7CisJb3ZlcmxheV92a21zX29iaiA9 IGRybV9nZW1fdG9fdmttc19nZW0ob3ZlcmxheV9vYmopOworCW11dGV4X2xvY2soJm92ZXJsYXlf dmttc19vYmotPnBhZ2VzX2xvY2spOworCWlmKCFvdmVybGF5X3ZrbXNfb2JqLT52YWRkcil7CisJ CURSTV9XQVJOKCJvdmVybGF5IHBhbG5lIHZhZGRyIGlzIE5VTEwiKTsKKwkJZ290byBvdXQ7CisJ fQorCisJYmxlbmQodmFkZHJfb3V0LCBvdmVybGF5X3ZrbXNfb2JqLT52YWRkciwgcHJpbWFyeV9j cmMsIG92ZXJsYXlfY3JjKTsKKworb3V0OgorCW11dGV4X3VubG9jaygmb3ZlcmxheV92a21zX29i ai0+cGFnZXNfbG9jayk7Cit9CisKIHN0YXRpYyB2b2lkIGNvbXBvc2VfY3Vyc29yKHN0cnVjdCB2 a21zX2NyY19kYXRhICpjdXJzb3JfY3JjLAogCQkJICAgc3RydWN0IHZrbXNfY3JjX2RhdGEgKnBy aW1hcnlfY3JjLCB2b2lkICp2YWRkcl9vdXQpCiB7CkBAIC0xMzEsNyArMTUwLDggQEAgc3RhdGlj IHZvaWQgY29tcG9zZV9jdXJzb3Ioc3RydWN0IHZrbXNfY3JjX2RhdGEgKmN1cnNvcl9jcmMsCiB9 CiAKIHN0YXRpYyB1aW50MzJfdCBfdmttc19nZXRfY3JjKHN0cnVjdCB2a21zX2NyY19kYXRhICpw cmltYXJ5X2NyYywKLQkJCSAgICAgIHN0cnVjdCB2a21zX2NyY19kYXRhICpjdXJzb3JfY3JjKQor CQkJICAgICAgc3RydWN0IHZrbXNfY3JjX2RhdGEgKmN1cnNvcl9jcmMsCisJCQkgICAgICBzdHJ1 Y3Qgdmttc19jcmNfZGF0YSAqb3ZlcmxheV9jcmMpCiB7CiAJc3RydWN0IGRybV9mcmFtZWJ1ZmZl ciAqZmIgPSAmcHJpbWFyeV9jcmMtPmZiOwogCXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqZ2VtX29i aiA9IGRybV9nZW1fZmJfZ2V0X29iaihmYiwgMCk7CkBAIC0xNTQsNiArMTc0LDggQEAgc3RhdGlj IHVpbnQzMl90IF92a21zX2dldF9jcmMoc3RydWN0IHZrbXNfY3JjX2RhdGEgKnByaW1hcnlfY3Jj LAogCW1lbWNweSh2YWRkcl9vdXQsIHZrbXNfb2JqLT52YWRkciwgdmttc19vYmotPmdlbS5zaXpl KTsKIAltdXRleF91bmxvY2soJnZrbXNfb2JqLT5wYWdlc19sb2NrKTsKIAorCWlmIChvdmVybGF5 X2NyYykKKwkJY29tcG9zZV9vdmVybGF5KG92ZXJsYXlfY3JjLCBwcmltYXJ5X2NyYywgdmFkZHJf b3V0KTsKIAlpZiAoY3Vyc29yX2NyYykKIAkJY29tcG9zZV9jdXJzb3IoY3Vyc29yX2NyYywgcHJp bWFyeV9jcmMsIHZhZGRyX291dCk7CiAKQEAgLTE4NCw2ICsyMDYsNyBAQCB2b2lkIHZrbXNfY3Jj X3dvcmtfaGFuZGxlKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIAkJCQkJCW91dHB1dCk7CiAJ c3RydWN0IHZrbXNfY3JjX2RhdGEgKnByaW1hcnlfY3JjID0gTlVMTDsKIAlzdHJ1Y3Qgdmttc19j cmNfZGF0YSAqY3Vyc29yX2NyYyA9IE5VTEw7CisJc3RydWN0IHZrbXNfY3JjX2RhdGEgKm92ZXJs YXlfY3JjID0gTlVMTDsKIAlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZTsKIAl1MzIgY3JjMzIgPSAw OwogCXU2NCBmcmFtZV9zdGFydCwgZnJhbWVfZW5kOwpAQCAtMjEwLDEyICsyMzMsMTcgQEAgdm9p ZCB2a21zX2NyY193b3JrX2hhbmRsZShzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiAKIAkJaWYg KHBsYW5lLT50eXBlID09IERSTV9QTEFORV9UWVBFX1BSSU1BUlkpCiAJCQlwcmltYXJ5X2NyYyA9 IGNyY19kYXRhOwotCQllbHNlCisKKwkJaWYgKHBsYW5lLT50eXBlID09IERSTV9QTEFORV9UWVBF X0NVUlNPUikKIAkJCWN1cnNvcl9jcmMgPSBjcmNfZGF0YTsKKworCQlpZiAocGxhbmUtPnR5cGUg PT0gRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWSkKKwkJCW92ZXJsYXlfY3JjID0gY3JjX2RhdGE7CiAJ fQogCi0JaWYgKHByaW1hcnlfY3JjKQotCQljcmMzMiA9IF92a21zX2dldF9jcmMocHJpbWFyeV9j cmMsIGN1cnNvcl9jcmMpOworCWlmIChwcmltYXJ5X2NyYyl7CisJCWNyYzMyID0gX3ZrbXNfZ2V0 X2NyYyhwcmltYXJ5X2NyYywgY3Vyc29yX2NyYywgb3ZlcmxheV9jcmMpOworCX0KIAogCWZyYW1l X2VuZCA9IGRybV9jcnRjX2FjY3VyYXRlX3ZibGFua19jb3VudChjcnRjKTsKIApkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS92a21z L3ZrbXNfZHJ2LmMKaW5kZXggNzM4ZGQ2MjA2ZDg1Li5iMDhhZDZmOTU2NzUgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Zr bXMvdmttc19kcnYuYwpAQCAtMjksNiArMjksMTAgQEAgYm9vbCBlbmFibGVfY3Vyc29yOwogbW9k dWxlX3BhcmFtX25hbWVkKGVuYWJsZV9jdXJzb3IsIGVuYWJsZV9jdXJzb3IsIGJvb2wsIDA0NDQp OwogTU9EVUxFX1BBUk1fREVTQyhlbmFibGVfY3Vyc29yLCAiRW5hYmxlL0Rpc2FibGUgY3Vyc29y IHN1cHBvcnQiKTsKIAorYm9vbCBlbmFibGVfb3ZlcmxheTsKK21vZHVsZV9wYXJhbV9uYW1lZChl bmFibGVfb3ZlcmxheSwgZW5hYmxlX292ZXJsYXksIGJvb2wsIDA0NDQpOworTU9EVUxFX1BBUk1f REVTQyhlbmFibGVfb3ZlcmxheSwgIkVuYWJsZS9EaXNhYmxlIG92ZXJsYXkgc3VwcG9ydCIpOwor CiBzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyB2a21zX2RyaXZlcl9mb3BzID0g ewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkub3BlbgkJPSBkcm1fb3BlbiwKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vdmtt cy92a21zX2Rydi5oCmluZGV4IDgxZjFjZmJlYjkzNi4uODFkY2VhZGZkZTYyIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92 a21zL3ZrbXNfZHJ2LmgKQEAgLTIwLDYgKzIwLDggQEAKIAogZXh0ZXJuIGJvb2wgZW5hYmxlX2N1 cnNvcjsKIAorZXh0ZXJuIGJvb2wgZW5hYmxlX292ZXJsYXk7CisKIHN0YXRpYyBjb25zdCB1MzIg dmttc19mb3JtYXRzW10gPSB7CiAJRFJNX0ZPUk1BVF9YUkdCODg4OCwKIH07CkBAIC0yOCw2ICsz MCwxMCBAQCBzdGF0aWMgY29uc3QgdTMyIHZrbXNfY3Vyc29yX2Zvcm1hdHNbXSA9IHsKIAlEUk1f Rk9STUFUX0FSR0I4ODg4LAogfTsKIAorc3RhdGljIGNvbnN0IHUzMiB2a21zX292ZXJsYXlfZm9y bWF0c1tdID17CisJRFJNX0ZPUk1BVF9BUkdCODg4OCwKK307CisKIHN0cnVjdCB2a21zX2NyY19k YXRhIHsKIAlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyIGZiOwogCXN0cnVjdCBkcm1fcmVjdCBzcmMs IGRzdDsKQEAgLTExOCw2ICsxMjQsOCBAQCBpbnQgdmttc19vdXRwdXRfaW5pdChzdHJ1Y3Qgdmtt c19kZXZpY2UgKnZrbXNkZXYpOwogc3RydWN0IGRybV9wbGFuZSAqdmttc19wbGFuZV9pbml0KHN0 cnVjdCB2a21zX2RldmljZSAqdmttc2RldiwKIAkJCQkgIGVudW0gZHJtX3BsYW5lX3R5cGUgdHlw ZSk7CiAKK3N0cnVjdCBkcm1fcGxhbmUgKnZrbXNfb3ZlcmxheV9pbml0KHN0cnVjdCB2a21zX2Rl dmljZSAqdmttc2Rldik7CisKIC8qIEdlbSBzdHVmZiAqLwogc3RydWN0IGRybV9nZW1fb2JqZWN0 ICp2a21zX2dlbV9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCQkgICAgICAgc3Ry dWN0IGRybV9maWxlICpmaWxlLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmtt c19wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19wbGFuZS5jCmluZGV4IDBlNjdk MmQ0MmYwYy4uZDU0MGI5NTAwNjMzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmttcy92 a21zX3BsYW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19wbGFuZS5jCkBAIC0x MTQsNyArMTE0LDcgQEAgc3RhdGljIGludCB2a21zX3BsYW5lX2F0b21pY19jaGVjayhzdHJ1Y3Qg ZHJtX3BsYW5lICpwbGFuZSwKIAlpZiAoSVNfRVJSKGNydGNfc3RhdGUpKQogCQlyZXR1cm4gUFRS X0VSUihjcnRjX3N0YXRlKTsKIAotCWlmIChwbGFuZS0+dHlwZSA9PSBEUk1fUExBTkVfVFlQRV9D VVJTT1IpCisJaWYgKChwbGFuZS0+dHlwZSA9PSBEUk1fUExBTkVfVFlQRV9DVVJTT1IpfChwbGFu ZS0+dHlwZSA9PSBEUk1fUExBTkVfVFlQRV9PVkVSTEFZKSkKIAkJY2FuX3Bvc2l0aW9uID0gdHJ1 ZTsKIAogCXJldCA9IGRybV9hdG9taWNfaGVscGVyX2NoZWNrX3BsYW5lX3N0YXRlKHN0YXRlLCBj cnRjX3N0YXRlLApAQCAtMTY3LDYgKzE2Nyw0MCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9w bGFuZV9oZWxwZXJfZnVuY3Mgdmttc19wcmltYXJ5X2hlbHBlcl9mdW5jcyA9IHsKIAkuY2xlYW51 cF9mYgkJPSB2a21zX2NsZWFudXBfZmIsCiB9OwogCitzdHJ1Y3QgZHJtX3BsYW5lICp2a21zX292 ZXJsYXlfaW5pdChzdHJ1Y3Qgdmttc19kZXZpY2UgKnZrbXNkZXYpCit7CisJc3RydWN0IGRybV9k ZXZpY2UgKmRldiA9ICZ2a21zZGV2LT5kcm07CisJY29uc3Qgc3RydWN0IGRybV9wbGFuZV9oZWxw ZXJfZnVuY3MgKmZ1bmNzOworCXN0cnVjdCBkcm1fcGxhbmUgKm92ZXJsYXk7CisJY29uc3QgdTMy ICpmb3JtYXRzOworCWludCByZXQsIG5mb3JtYXRzOworCXVuc2lnbmVkIGludCBibGVuZF9jYXBz ICA9IEJJVChEUk1fTU9ERV9CTEVORF9QSVhFTF9OT05FKSB8CisJCQkJQklUKERSTV9NT0RFX0JM RU5EX1BSRU1VTFRJKTsKKworCW92ZXJsYXkgPSBremFsbG9jKHNpemVvZigqb3ZlcmxheSksIEdG UF9LRVJORUwpOworCWlmICghb3ZlcmxheSkKKwkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CisK Kwlmb3JtYXRzID0gdmttc19vdmVybGF5X2Zvcm1hdHM7CisJbmZvcm1hdHMgPSBBUlJBWV9TSVpF KHZrbXNfb3ZlcmxheV9mb3JtYXRzKTsKKwlmdW5jcyA9ICZ2a21zX3ByaW1hcnlfaGVscGVyX2Z1 bmNzOworCWRybV9wbGFuZV9oZWxwZXJfYWRkKG92ZXJsYXksIGZ1bmNzKTsKKwlkcm1fcGxhbmVf Y3JlYXRlX2FscGhhX3Byb3BlcnR5KG92ZXJsYXkpOworCWRybV9wbGFuZV9jcmVhdGVfYmxlbmRf bW9kZV9wcm9wZXJ0eShvdmVybGF5LCBibGVuZF9jYXBzKTsKKworCXJldCA9IGRybV91bml2ZXJz YWxfcGxhbmVfaW5pdChkZXYsIG92ZXJsYXksIDAsCisJCQkJCSZ2a21zX3BsYW5lX2Z1bmNzLAor CQkJCQlmb3JtYXRzLCBuZm9ybWF0cywKKwkJCQkJTlVMTCwKKwkJCQkJRFJNX1BMQU5FX1RZUEVf T1ZFUkxBWSwgTlVMTCk7CisJaWYgKHJldCl7CisJCWtmcmVlKG92ZXJsYXkpOworCQlyZXR1cm4g RVJSX1BUUihyZXQpOworCX0KKworCXJldHVybiBvdmVybGF5OworfQorCiBzdHJ1Y3QgZHJtX3Bs YW5lICp2a21zX3BsYW5lX2luaXQoc3RydWN0IHZrbXNfZGV2aWNlICp2a21zZGV2LAogCQkJCSAg ZW51bSBkcm1fcGxhbmVfdHlwZSB0eXBlKQogewotLSAKMi4xNy4xCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=