From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Widawsky Subject: =?UTF-8?q?=5BPATCH=205/7=5D=20drm/vgem=3A=20prime=20export=20support?= Date: Wed, 22 Feb 2012 20:29:18 +0100 Message-ID: <1329938960-4903-7-git-send-email-ben@bwidawsk.net> References: <1329938960-4903-1-git-send-email-ben@bwidawsk.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from cloud01.chad-versace.us (184-106-247-128.static.cloud-ips.com [184.106.247.128]) by gabe.freedesktop.org (Postfix) with ESMTP id 62B57A0F23 for ; Wed, 22 Feb 2012 11:30:51 -0800 (PST) In-Reply-To: <1329938960-4903-1-git-send-email-ben@bwidawsk.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: dri-devel@lists.freedesktop.org Cc: linaro-mm-sig@lists.linaro.org, Daniel Vetter , Ben Widawsky , Dave Airlie List-Id: dri-devel@lists.freedesktop.org ZG1hLWJ1ZiBleHBvcnQgaW1wbGVtZW50YXRpb24uIEhlYXZpbHkgaW5mbHVlbmNlZCBieSBEYXZl IEFpcmxpZSdzIHByb29mCm9mIGNvbmNlcHQgd29yay4KCkNjOiBEYW5pZWwgVmV0dGVyIDxkYW5p ZWwudmV0dGVyQGZmd2xsLmNoPgpDYzogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4K U2lnbmVkLW9mZi1ieTogQmVuIFdpZGF3c2t5IDxiZW5AYndpZGF3c2submV0PgotLS0KIGRyaXZl cnMvZ3B1L2RybS92Z2VtL01ha2VmaWxlICAgICAgIHwgICAgMiArLQogZHJpdmVycy9ncHUvZHJt L3ZnZW0vdmdlbV9kbWFfYnVmLmMgfCAgMTI4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCiBkcml2ZXJzL2dwdS9kcm0vdmdlbS92Z2VtX2Rydi5jICAgICB8ICAgIDYgKysKIGRy aXZlcnMvZ3B1L2RybS92Z2VtL3ZnZW1fZHJ2LmggICAgIHwgICAgNyArKwogNCBmaWxlcyBjaGFu Z2VkLCAxNDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBkcml2ZXJzL2dwdS9kcm0vdmdlbS92Z2VtX2RtYV9idWYuYwoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS92Z2VtL01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL3ZnZW0vTWFrZWZpbGUK aW5kZXggM2Y0YzdiOC4uMTA1NWNiNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZnZW0v TWFrZWZpbGUKKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZnZW0vTWFrZWZpbGUKQEAgLTEsNCArMSw0 IEBACiBjY2ZsYWdzLXkgOj0gLUlpbmNsdWRlL2RybQotdmdlbS15IDo9IHZnZW1fZHJ2Lm8KK3Zn ZW0teSA6PSB2Z2VtX2Rydi5vIHZnZW1fZG1hX2J1Zi5vCiAKIG9iai0kKENPTkZJR19EUk1fVkdF TSkJKz0gdmdlbS5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmdlbS92Z2VtX2RtYV9i dWYuYyBiL2RyaXZlcnMvZ3B1L2RybS92Z2VtL3ZnZW1fZG1hX2J1Zi5jCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjYTk0NDUKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJz L2dwdS9kcm0vdmdlbS92Z2VtX2RtYV9idWYuYwpAQCAtMCwwICsxLDEyOCBAQAorLyoKKyAqIENv cHlyaWdodCDCqSAyMDEyIEludGVsIENvcnBvcmF0aW9uCisgKgorICogUGVybWlzc2lvbiBpcyBo ZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEK KyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZp bGVzICh0aGUgIlNvZnR3YXJlIiksCisgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0 IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCisgKiB0aGUgcmlnaHRz IHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGlj ZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJt aXQgcGVyc29ucyB0byB3aG9tIHRoZQorICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNv LCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUg Y29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVkaW5nIHRo ZSBuZXh0CisgKiBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Ig c3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlCisgKiBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09G VFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwg RVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUg V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKKyAqIFRI RSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBE QU1BR0VTIE9SIE9USEVSCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENP TlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORworICogRlJPTSwgT1VUIE9GIE9SIElO IENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5H UworICogSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIEF1dGhvcnM6CisgKiAgICBCZW4gV2lkYXdz a3kgPGJlbkBid2lkYXdzay5uZXQ+CisgKgorICovCisKKyNpbmNsdWRlIDxsaW51eC9kbWEtYnVm Lmg+CisjaW5jbHVkZSAidmdlbV9kcnYuaCIKKworI2RlZmluZSBWR0VNX0ZEX1BFUk1TIDA2MDAK Kworc3RydWN0IHNnX3RhYmxlICp2Z2VtX2dlbV9tYXBfZG1hX2J1ZihzdHJ1Y3QgZG1hX2J1Zl9h dHRhY2htZW50ICphdHRhY2htZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkaXIpCit7CisJc3RydWN0IGRybV92Z2VtX2dl bV9vYmplY3QgKm9iaiA9IGF0dGFjaG1lbnQtPmRtYWJ1Zi0+cHJpdjsKKwlzdHJ1Y3Qgc2dfdGFi bGUgKnNnOworCWludCByZXQ7CisKKwlyZXQgPSB2Z2VtX2dlbV9nZXRfcGFnZXMob2JqKTsKKwlp ZiAocmV0KSB7CisJCXZnZW1fZ2VtX3B1dF9wYWdlcyhvYmopOworCQlyZXR1cm4gTlVMTDsKKwl9 CisKKwlCVUdfT04ob2JqLT5wYWdlcyA9PSBOVUxMKTsKKworCXNnID0gZHJtX3ByaW1lX3BhZ2Vz X3RvX3NnKG9iai0+cGFnZXMsIG9iai0+YmFzZS5zaXplIC8gUEFHRV9TSVpFKTsKKwlyZXR1cm4g c2c7Cit9CisKK3ZvaWQgdmdlbV9nZW1fdW5tYXBfZG1hX2J1ZihzdHJ1Y3QgZG1hX2J1Zl9hdHRh Y2htZW50ICphdHRhY2htZW50LAorCQkJICAgIHN0cnVjdCBzZ190YWJsZSAqc2cpCit7CisJc2df ZnJlZV90YWJsZShzZyk7CisJa2ZyZWUoc2cpOworfQorCit2b2lkIHZnZW1fZ2VtX3JlbGVhc2Uo c3RydWN0IGRtYV9idWYgKmJ1ZikKK3sKKwlzdHJ1Y3QgZHJtX3ZnZW1fZ2VtX29iamVjdCAqb2Jq ID0gYnVmLT5wcml2OworCisJQlVHX09OKGJ1ZiAhPSBvYmotPmJhc2UuZXhwb3J0X2RtYV9idWYp OworCisJb2JqLT5iYXNlLnByaW1lX2ZkID0gLTE7CisJb2JqLT5iYXNlLmV4cG9ydF9kbWFfYnVm ID0gTlVMTDsKKwlkcm1fZ2VtX29iamVjdF91bnJlZmVyZW5jZV91bmxvY2tlZCgmb2JqLT5iYXNl KTsKK30KKworc3RydWN0IGRtYV9idWZfb3BzIHZnZW1fZG1hYnVmX29wcyA9IHsKKwkubWFwX2Rt YV9idWYgPSB2Z2VtX2dlbV9tYXBfZG1hX2J1ZiwKKwkudW5tYXBfZG1hX2J1ZiA9IHZnZW1fZ2Vt X3VubWFwX2RtYV9idWYsCisJLnJlbGVhc2UgPSB2Z2VtX2dlbV9yZWxlYXNlCit9OworCitpbnQg dmdlbV9wcmltZV90b19mZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUg KmZpbGUsCisJCSAgICAgdWludDMyX3QgaGFuZGxlLCBpbnQgKnByaW1lX2ZkKQoreworCXN0cnVj dCBkcm1fdmdlbV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdiA9IGZpbGUtPmRyaXZlcl9wcml2Owor CXN0cnVjdCBkcm1fdmdlbV9nZW1fb2JqZWN0ICpvYmo7CisJaW50IHJldDsKKworCURSTV9ERUJV R19QUklNRSgiUmVxdWVzdCBmZCBmb3IgaGFuZGxlICVkXG4iLCBoYW5kbGUpOworCisJb2JqID0g dG9fdmdlbV9ibyhkcm1fZ2VtX29iamVjdF9sb29rdXAoZGV2LCBmaWxlLCBoYW5kbGUpKTsKKwlp ZiAoIW9iaikKKwkJcmV0dXJuIC1FQkFERjsKKworCS8qIFRoaXMgbWVhbnMgYSB1c2VyIGhhcyBh bHJlYWR5IGNhbGxlZCBnZXRfZmQgb24gdGhpcyAqLworCWlmIChvYmotPmJhc2UucHJpbWVfZmQg IT0gLTEpIHsKKwkJRFJNX0RFQlVHX1BSSU1FKCJVc2VyIHJlcXVlc3RlZCBhIHByZXZpb3VzbHkg ZXhwb3J0ZWQgYnVmZmVyICIKKwkJCQkiJWQgJWRcbiIsIGhhbmRsZSwgb2JqLT5iYXNlLnByaW1l X2ZkKTsKKwkJZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVuY2UoJm9iai0+YmFzZSk7CisJCWdvdG8g b3V0X2ZkOworCX0KKworCS8qIE1ha2UgYSBkbWEgYnVmIG91dCBvZiBvdXIgdmdlbSBvYmplY3Qg Ki8KKwlvYmotPmJhc2UuZXhwb3J0X2RtYV9idWYgPSBkbWFfYnVmX2V4cG9ydChvYmosICZ2Z2Vt X2RtYWJ1Zl9vcHMsCisJCQkJCQkgIG9iai0+YmFzZS5zaXplLAorCQkJCQkJICBWR0VNX0ZEX1BF Uk1TKTsKKwlpZiAoSVNfRVJSKG9iai0+YmFzZS5leHBvcnRfZG1hX2J1ZikpIHsKKwkJRFJNX0RF QlVHX1BSSU1FKCJleHBvcnQgZmFpbFxuIik7CisJCXJldHVybiBQVFJfRVJSKG9iai0+YmFzZS5l eHBvcnRfZG1hX2J1Zik7CisJfSBlbHNlCisJCW9iai0+YmFzZS5wcmltZV9mZCA9IGRtYV9idWZf ZmQob2JqLT5iYXNlLmV4cG9ydF9kbWFfYnVmKTsKKworCW11dGV4X2xvY2soJmRldi0+cHJpbWVf bXV0ZXgpOworCXJldCA9IGRybV9wcmltZV9pbnNlcnRfZmRfaGFuZGxlX21hcHBpbmcoJmZpbGVf cHJpdi0+cHJpbWUsCisJCQkJCQkgb2JqLT5iYXNlLmV4cG9ydF9kbWFfYnVmLAorCQkJCQkJIGhh bmRsZSk7CisJV0FSTl9PTihyZXQpOworCXJldCA9IGRybV9wcmltZV9hZGRfZG1hX2J1ZihkZXYs ICZvYmotPmJhc2UpOworCW11dGV4X3VubG9jaygmZGV2LT5wcmltZV9tdXRleCk7CisJaWYgKHJl dCkKKwkJcmV0dXJuIHJldDsKKworb3V0X2ZkOgorCSpwcmltZV9mZCA9IG9iai0+YmFzZS5wcmlt ZV9mZDsKKworCXJldHVybiAwOworfQorCitpbnQgdmdlbV9wcmltZV90b19oYW5kbGUoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKKwkJCSBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsIGludCBwcmltZV9m ZCwKKwkJCSB1aW50MzJfdCAqaGFuZGxlKQoreworCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3ZnZW0vdmdlbV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS92Z2VtL3Zn ZW1fZHJ2LmMKaW5kZXggY2Q2YWI0Mi4uOWNkMWVkNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3ZnZW0vdmdlbV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdmdlbS92Z2VtX2Rydi5j CkBAIC03MSwxMiArNzEsMTUgQEAgc3RhdGljIGludCB2Z2VtX29wZW4oc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlKQogCiAJZmlsZS0+ZHJpdmVyX3ByaXYgPSBm aWxlX3ByaXY7CiAKKwlkcm1fcHJpbWVfaW5pdF9maWxlX3ByaXZhdGUoJmZpbGVfcHJpdi0+cHJp bWUpOworCiAJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyB2b2lkIHZnZW1fcHJlY2xvc2Uoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlKQogewogCXN0cnVjdCBkcm1f dmdlbV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdiA9IGZpbGUtPmRyaXZlcl9wcml2OworCWRybV9w cmltZV9kZXN0cm95X2ZpbGVfcHJpdmF0ZSgmZmlsZV9wcml2LT5wcmltZSk7CiAJa2ZyZWUoZmls ZV9wcml2KTsKIH0KIApAQCAtMzEyLDYgKzMxNSw5IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX2RyaXZl ciB2Z2VtX2RyaXZlciA9IHsKIAkuZHVtYl9jcmVhdGUJCT0gdmdlbV9nZW1fZHVtYl9jcmVhdGUs CiAJLmR1bWJfbWFwX29mZnNldAk9IHZnZW1fZ2VtX2R1bWJfbWFwLAogCisJLnByaW1lX2hhbmRs ZV90b19mZAk9IHZnZW1fcHJpbWVfdG9fZmQsCisJLnByaW1lX2ZkX3RvX2hhbmRsZQk9IHZnZW1f cHJpbWVfdG9faGFuZGxlLAorCiAJLm5hbWUJPSBEUklWRVJfTkFNRSwKIAkuZGVzYwk9IERSSVZF Ul9ERVNDLAogCS5kYXRlCT0gRFJJVkVSX0RBVEUsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vdmdlbS92Z2VtX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL3ZnZW0vdmdlbV9kcnYuaAppbmRl eCBjYTYzZmEwYi4uNTZkMWMwZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZnZW0vdmdl bV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vdmdlbS92Z2VtX2Rydi5oCkBAIC00Miw2ICs0 Miw3IEBAIHN0cnVjdCBkcm1fdmdlbV9nZW1fb2JqZWN0IHsKIH07CiAKIHN0cnVjdCBkcm1fdmdl bV9maWxlX3ByaXZhdGUgeworCXN0cnVjdCBkcm1fcHJpbWVfZmlsZV9wcml2YXRlIHByaW1lOwog fTsKIAogLyogdmdlbV9kcnYuYyAqLwpAQCAtNDksNiArNTAsMTIgQEAgZXh0ZXJuIHZvaWQgdmdl bV9nZW1fcHV0X3BhZ2VzKHN0cnVjdCBkcm1fdmdlbV9nZW1fb2JqZWN0ICpvYmopOwogZXh0ZXJu IGludCB2Z2VtX2dlbV9nZXRfcGFnZXMoc3RydWN0IGRybV92Z2VtX2dlbV9vYmplY3QgKm9iaik7 CiAKIC8qIHZnZW1fZG1hX2J1Zi5jICovCitleHRlcm4gaW50IHZnZW1fcHJpbWVfdG9fZmQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwKKwkJCSAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdiwK KwkJCSAgICB1aW50MzJfdCBoYW5kbGUsIGludCAqcHJpbWVfZmQpOwogCitleHRlcm4gaW50IHZn ZW1fcHJpbWVfdG9faGFuZGxlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCisJCQkJc3RydWN0IGRy bV9maWxlICpmaWxlX3ByaXYsCisJCQkJaW50IHByaW1lX2ZkLCB1aW50MzJfdCAqaGFuZGxlKTsK IAogI2VuZGlmCi0tIAoxLjcuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2RyaS1kZXZlbAo=