From mboxrd@z Thu Jan 1 00:00:00 1970 From: Varad Gautam Subject: [PATCH 08/14] drm/cirrus: implement PRIME export for cirrus Date: Fri, 18 Aug 2017 21:19:13 +0530 Message-ID: <20170818154919.18607-9-varadgautam@gmail.com> References: <20170818154919.18607-1-varadgautam@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pg0-x241.google.com (mail-pg0-x241.google.com [IPv6:2607:f8b0:400e:c05::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id ED5E46E76A for ; Fri, 18 Aug 2017 15:50:41 +0000 (UTC) Received: by mail-pg0-x241.google.com with SMTP id 83so15646277pgb.4 for ; Fri, 18 Aug 2017 08:50:41 -0700 (PDT) In-Reply-To: <20170818154919.18607-1-varadgautam@gmail.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 Cc: Stphane Marchesin , Zach Reizner , Varad Gautam List-Id: dri-devel@lists.freedesktop.org RnJvbTogWmFjaCBSZWl6bmVyIDx6YWNockBjaHJvbWl1bS5vcmc+CgpUaGlzIHBhdGNoIGltcGxl bWVudHMgUFJJTUUgZXhwb3J0LCBidXQgbm90IGltcG9ydCBmb3IgY2lycnVzLgoKaW5pdGlhbGx5 IHJldmlld2VkIGF0OgpodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tLzIy OTY4OApodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tLzMzOTA1NwoKU2ln bmVkLW9mZi1ieTogWmFjaCBSZWl6bmVyIDx6YWNockBjaHJvbWl1bS5vcmc+ClNpZ25lZC1vZmYt Ynk6IFN0cGhhbmUgTWFyY2hlc2luIDxtYXJjaGV1QGNocm9taXVtLm9yZz4KU2lnbmVkLW9mZi1i eTogVmFyYWQgR2F1dGFtIDx2YXJhZC5nYXV0YW1AY29sbGFib3JhLmNvbT4KLS0tCiBkcml2ZXJz L2dwdS9kcm0vY2lycnVzL01ha2VmaWxlICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9j aXJydXMvY2lycnVzX2Rydi5jICAgfCAxMSArKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9jaXJydXMv Y2lycnVzX2Rydi5oICAgfCAxMCArKysrKysKIGRyaXZlcnMvZ3B1L2RybS9jaXJydXMvY2lycnVz X3ByaW1lLmMgfCA2MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogNCBmaWxl cyBjaGFuZ2VkLCA4NCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUg MTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9jaXJydXMvY2lycnVzX3ByaW1lLmMKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vY2lycnVzL01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL2NpcnJ1 cy9NYWtlZmlsZQppbmRleCA5MTljMGEzMzZjOTcuLmY2YmNjMjE0NTRjNiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2NpcnJ1cy9NYWtlZmlsZQorKysgYi9kcml2ZXJzL2dwdS9kcm0vY2ly cnVzL01ha2VmaWxlCkBAIC0xLDQgKzEsNCBAQAogY2lycnVzLXkgIDo9IGNpcnJ1c19tYWluLm8g Y2lycnVzX21vZGUubyBcCi0JY2lycnVzX2Rydi5vIGNpcnJ1c19mYmRldi5vIGNpcnJ1c190dG0u bworCWNpcnJ1c19kcnYubyBjaXJydXNfZmJkZXYubyBjaXJydXNfdHRtLm8gY2lycnVzX3ByaW1l Lm8KIAogb2JqLSQoQ09ORklHX0RSTV9DSVJSVVNfUUVNVSkgKz0gY2lycnVzLm8KZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9jaXJydXMvY2lycnVzX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJt L2NpcnJ1cy9jaXJydXNfZHJ2LmMKaW5kZXggZGZhZWVhOTJkMzQ0Li5kY2E3YTNmNDc5MWQgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9jaXJydXMvY2lycnVzX2Rydi5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9jaXJydXMvY2lycnVzX2Rydi5jCkBAIC0xMzAsNyArMTMwLDcgQEAgc3RhdGlj IGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgY2lycnVzX2RyaXZlcl9mb3BzID0gewogCS5j b21wYXRfaW9jdGwgPSBkcm1fY29tcGF0X2lvY3RsLAogfTsKIHN0YXRpYyBzdHJ1Y3QgZHJtX2Ry aXZlciBkcml2ZXIgPSB7Ci0JLmRyaXZlcl9mZWF0dXJlcyA9IERSSVZFUl9NT0RFU0VUIHwgRFJJ VkVSX0dFTSwKKwkuZHJpdmVyX2ZlYXR1cmVzID0gRFJJVkVSX01PREVTRVQgfCBEUklWRVJfR0VN IHwgRFJJVkVSX1BSSU1FLAogCS5sb2FkID0gY2lycnVzX2RyaXZlcl9sb2FkLAogCS51bmxvYWQg PSBjaXJydXNfZHJpdmVyX3VubG9hZCwKIAkuc2V0X2J1c2lkID0gZHJtX3BjaV9zZXRfYnVzaWQs CkBAIC0xNDUsNiArMTQ1LDE1IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX2RyaXZlciBkcml2ZXIgPSB7 CiAJLmR1bWJfY3JlYXRlID0gY2lycnVzX2R1bWJfY3JlYXRlLAogCS5kdW1iX21hcF9vZmZzZXQg PSBjaXJydXNfZHVtYl9tbWFwX29mZnNldCwKIAkuZHVtYl9kZXN0cm95ID0gZHJtX2dlbV9kdW1i X2Rlc3Ryb3ksCisJLnByaW1lX2hhbmRsZV90b19mZCA9IGRybV9nZW1fcHJpbWVfaGFuZGxlX3Rv X2ZkLAorCS5wcmltZV9mZF90b19oYW5kbGUgPSBkcm1fZ2VtX3ByaW1lX2ZkX3RvX2hhbmRsZSwK KwkuZ2VtX3ByaW1lX2V4cG9ydCA9IGRybV9nZW1fcHJpbWVfZXhwb3J0LAorCS5nZW1fcHJpbWVf aW1wb3J0ID0gZHJtX2dlbV9wcmltZV9pbXBvcnQsCisJLmdlbV9wcmltZV9waW4gPSBjaXJydXNf Z2VtX3ByaW1lX3BpbiwKKwkuZ2VtX3ByaW1lX2dldF9zZ190YWJsZSA9IGNpcnJ1c19nZW1fcHJp bWVfZ2V0X3NnX3RhYmxlLAorCS5nZW1fcHJpbWVfaW1wb3J0X3NnX3RhYmxlID0gY2lycnVzX2dl bV9wcmltZV9pbXBvcnRfc2dfdGFibGUsCisJLmdlbV9wcmltZV92bWFwID0gY2lycnVzX2dlbV9w cmltZV92bWFwLAorCS5nZW1fcHJpbWVfdnVubWFwID0gY2lycnVzX2dlbV9wcmltZV92dW5tYXAs CiB9OwogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRldl9wbV9vcHMgY2lycnVzX3BtX29wcyA9IHsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9jaXJydXMvY2lycnVzX2Rydi5oIGIvZHJpdmVy cy9ncHUvZHJtL2NpcnJ1cy9jaXJydXNfZHJ2LmgKaW5kZXggOGNkZjZiMGRiNGE3Li4yOWRlNGYw ZGJkMDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9jaXJydXMvY2lycnVzX2Rydi5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9jaXJydXMvY2lycnVzX2Rydi5oCkBAIC0xNjQsNiArMTY0LDcg QEAgc3RydWN0IGNpcnJ1c19ibyB7CiAJc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0IGJvOwogCXN0 cnVjdCB0dG1fcGxhY2VtZW50IHBsYWNlbWVudDsKIAlzdHJ1Y3QgdHRtX2JvX2ttYXBfb2JqIGtt YXA7CisJc3RydWN0IHR0bV9ib19rbWFwX29iaiBkbWFfYnVmX3ZtYXA7CiAJc3RydWN0IGRybV9n ZW1fb2JqZWN0IGdlbTsKIAlzdHJ1Y3QgdHRtX3BsYWNlIHBsYWNlbWVudHNbM107CiAJaW50IHBp bl9jb3VudDsKQEAgLTI2NCw2ICsyNjUsMTUgQEAgaW50IGNpcnJ1c19ib19wdXNoX3N5c3JhbShz dHJ1Y3QgY2lycnVzX2JvICpibyk7CiBpbnQgY2lycnVzX2JvX3BpbihzdHJ1Y3QgY2lycnVzX2Jv ICpibywgdTMyIHBsX2ZsYWcsIHU2NCAqZ3B1X2FkZHIpOwogaW50IGNpcnJ1c19ib191bnBpbihz dHJ1Y3QgY2lycnVzX2JvICpibyk7CiAKK3N0cnVjdCBzZ190YWJsZSAqY2lycnVzX2dlbV9wcmlt ZV9nZXRfc2dfdGFibGUoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmopOwordm9pZCAqY2lycnVz X2dlbV9wcmltZV92bWFwKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqKTsKK3ZvaWQgY2lycnVz X2dlbV9wcmltZV92dW5tYXAoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosIHZvaWQgKnZhZGRy KTsKK3N0cnVjdCBkcm1fZ2VtX29iamVjdCAqY2lycnVzX2dlbV9wcmltZV9pbXBvcnRfc2dfdGFi bGUoCisJCQkJc3RydWN0IGRybV9kZXZpY2UgKmRldiwKKwkJCQlzdHJ1Y3QgZG1hX2J1Zl9hdHRh Y2htZW50ICphdHRhY2gsCisJCQkJc3RydWN0IHNnX3RhYmxlICpzZ3QpOworaW50IGNpcnJ1c19n ZW1fcHJpbWVfcGluKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqKTsKKwogZXh0ZXJuIGludCBj aXJydXNfYnBwOwogCiAjZW5kaWYJCQkJLyogX19DSVJSVVNfRFJWX0hfXyAqLwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2NpcnJ1cy9jaXJydXNfcHJpbWUuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9jaXJydXMvY2lycnVzX3ByaW1lLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAwLi5hN2ZlNmM3M2JmYjYKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0v Y2lycnVzL2NpcnJ1c19wcmltZS5jCkBAIC0wLDAgKzEsNjMgQEAKKy8qCisgKiBDb3B5cmlnaHQg wqkgMjAxNCBUaGUgQ2hyb21pdW0gT1MgQXV0aG9ycworICoKKyAqIFRoaXMgZmlsZSBpcyBzdWJq ZWN0IHRvIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgR05VIEdlbmVyYWwKKyAqIFB1 YmxpYyBMaWNlbnNlIHZlcnNpb24gMi4gU2VlIHRoZSBmaWxlIENPUFlJTkcgaW4gdGhlIG1haW4K KyAqIGRpcmVjdG9yeSBvZiB0aGlzIGFyY2hpdmUgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKi8K KworI2luY2x1ZGUgPGRybS90dG0vdHRtX3BhZ2VfYWxsb2MuaD4KKyNpbmNsdWRlIDxkcm0vZHJt UC5oPgorI2luY2x1ZGUgImNpcnJ1c19kcnYuaCIKKworc3RydWN0IHNnX3RhYmxlICpjaXJydXNf Z2VtX3ByaW1lX2dldF9zZ190YWJsZShzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaikKK3sKKwlz dHJ1Y3QgY2lycnVzX2JvICpjaXJydXNibyA9IGdlbV90b19jaXJydXNfYm8ob2JqKTsKKwl1bnNp Z25lZCBsb25nIG5wYWdlcyA9IGNpcnJ1c2JvLT5iby5udW1fcGFnZXM7CisKKwlyZXR1cm4gZHJt X3ByaW1lX3BhZ2VzX3RvX3NnKGNpcnJ1c2JvLT5iby50dG0tPnBhZ2VzLCBucGFnZXMpOworfQor Cit2b2lkICpjaXJydXNfZ2VtX3ByaW1lX3ZtYXAoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmop Cit7CisJc3RydWN0IGNpcnJ1c19ibyAqY2lycnVzYm8gPSBnZW1fdG9fY2lycnVzX2JvKG9iaik7 CisJaW50IHJldDsKKworCXJldCA9IHR0bV9ib19rbWFwKCZjaXJydXNiby0+Ym8sIDAsIGNpcnJ1 c2JvLT5iby5udW1fcGFnZXMsCisJCQkgICZjaXJydXNiby0+ZG1hX2J1Zl92bWFwKTsKKwlpZiAo cmV0KQorCQlyZXR1cm4gRVJSX1BUUihyZXQpOworCisJcmV0dXJuIGNpcnJ1c2JvLT5kbWFfYnVm X3ZtYXAudmlydHVhbDsKK30KKwordm9pZCBjaXJydXNfZ2VtX3ByaW1lX3Z1bm1hcChzdHJ1Y3Qg ZHJtX2dlbV9vYmplY3QgKm9iaiwgdm9pZCAqdmFkZHIpCit7CisJc3RydWN0IGNpcnJ1c19ibyAq Y2lycnVzYm8gPSBnZW1fdG9fY2lycnVzX2JvKG9iaik7CisKKwl0dG1fYm9fa3VubWFwKCZjaXJy dXNiby0+ZG1hX2J1Zl92bWFwKTsKK30KKworc3RydWN0IGRybV9nZW1fb2JqZWN0ICpjaXJydXNf Z2VtX3ByaW1lX2ltcG9ydF9zZ190YWJsZSgKKwkJCQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAor CQkJCXN0cnVjdCBkbWFfYnVmX2F0dGFjaG1lbnQgKmF0dGFjaCwKKwkJCQlzdHJ1Y3Qgc2dfdGFi bGUgKnNndCkKK3sKKwlyZXR1cm4gTlVMTDsKK30KKworaW50IGNpcnJ1c19nZW1fcHJpbWVfcGlu KHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqKQoreworCXN0cnVjdCBjaXJydXNfYm8gKmNpcnJ1 c2JvID0gZ2VtX3RvX2NpcnJ1c19ibyhvYmopOworCWludCByZXQgPSAwOworCisJcmV0ID0gY2ly cnVzX2JvX3BpbihjaXJydXNibywgVFRNX1BMX0ZMQUdfU1lTVEVNLCBOVUxMKTsKKwlpZiAocmV0 KQorCQlnb3RvIG91dDsKKworCXR0bV9wb29sX3BvcHVsYXRlKGNpcnJ1c2JvLT5iby50dG0pOwor CitvdXQ6CisJcmV0dXJuIHJldDsKK30KLS0gCjIuMTMuMQoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==