From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [RFC 5/6] drm/i915: Allow fb modifier to set framebuffer tiling Date: Fri, 30 Jan 2015 17:36:57 +0000 Message-ID: <1422639418-28845-6-git-send-email-tvrtko.ursulin@linux.intel.com> References: <1422639418-28845-1-git-send-email-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 40B166E857 for ; Fri, 30 Jan 2015 09:37:26 -0800 (PST) In-Reply-To: <1422639418-28845-1-git-send-email-tvrtko.ursulin@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClVzZSB0aGUg ZmIgbW9kaWZpZXIgaWYgaXQgd2FzIHNwZWNpZmllZCBvdmVyIG9iamVjdCB0aWxpbmcgbW9kZS4K ClNpZ25lZC1vZmYtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+ Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgNDAgKysrKysrKysr KysrKysrKysrKysrKysrKysrKystLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMzMgaW5zZXJ0aW9u cygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5k ZXggZTIyYWZiZS4uY2E2OWRhMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpA QCAtMTI2NzEsNiArMTI2NzEsMjAgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZnJhbWVidWZm ZXJfZnVuY3MgaW50ZWxfZmJfZnVuY3MgPSB7CiAJLmNyZWF0ZV9oYW5kbGUgPSBpbnRlbF91c2Vy X2ZyYW1lYnVmZmVyX2NyZWF0ZV9oYW5kbGUsCiB9OwogCitzdGF0aWMgdW5zaWduZWQgaW50Citp bnRlbF9mYl9tb2RpZmllcl90b190aWxpbmcodTY0IG1vZGlmaWVyKQoreworCXN3aXRjaCAobW9k aWZpZXIpIHsKKwljYXNlIEk5MTVfRk9STUFUX01PRF9YX1RJTEVEOgorCQlyZXR1cm4gSTkxNV9U SUxJTkdfWDsKKwlkZWZhdWx0OgorCWNhc2UgSTkxNV9GT1JNQVRfTU9EX05PTkU6CisJCWJyZWFr OworCX0KKworCXJldHVybiBJOTE1X1RJTElOR19OT05FOworfQorCiBzdGF0aWMgaW50IGludGVs X2ZyYW1lYnVmZmVyX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCQkgIHN0cnVjdCBp bnRlbF9mcmFtZWJ1ZmZlciAqaW50ZWxfZmIsCiAJCQkJICBzdHJ1Y3QgZHJtX21vZGVfZmJfY21k MiAqbW9kZV9jbWQsCkBAIC0xMjY3OCwxMSArMTI2OTIsMjMgQEAgc3RhdGljIGludCBpbnRlbF9m cmFtZWJ1ZmZlcl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiB7CiAJaW50IGFsaWduZWRf aGVpZ2h0OwogCWludCBwaXRjaF9saW1pdDsKKwl1bnNpZ25lZCBpbnQgdGlsaW5nX21vZGUgPSBv YmotPnRpbGluZ19tb2RlOwogCWludCByZXQ7CiAKIAlXQVJOX09OKCFtdXRleF9pc19sb2NrZWQo JmRldi0+c3RydWN0X211dGV4KSk7CiAKLQlpZiAob2JqLT50aWxpbmdfbW9kZSA9PSBJOTE1X1RJ TElOR19ZKSB7CisJaWYgKG1vZGVfY21kLT5mbGFncyAmIERSTV9NT0RFX0ZCX01PRElGSUVSUykg eworCQl0aWxpbmdfbW9kZSA9CisJCQlpbnRlbF9mYl9tb2RpZmllcl90b190aWxpbmcobW9kZV9j bWQtPm1vZGlmaWVyWzBdKTsKKwkJaWYgKHRpbGluZ19tb2RlICE9IG9iai0+dGlsaW5nX21vZGUg JiYKKwkJCW9iai0+dGlsaW5nX21vZGUgIT0gSTkxNV9USUxJTkdfTk9ORSkgeworCQkJRFJNX0VS Uk9SKCJUaWxpbmcgbW9kaWZpZXIgbWlzbWF0Y2ggJXUgdnMgb2JqICV1IVxuIiwKKwkJCQkJdGls aW5nX21vZGUsIG9iai0+dGlsaW5nX21vZGUpOworCQkJcmV0dXJuIC1FSU5WQUw7CisJCX0KKwl9 CisKKwlpZiAodGlsaW5nX21vZGUgPT0gSTkxNV9USUxJTkdfWSkgewogCQlEUk1fREVCVUcoImhh cmR3YXJlIGRvZXMgbm90IHN1cHBvcnQgdGlsaW5nIFlcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsK IAl9CkBAIC0xMjY5NiwxMiArMTI3MjIsMTIgQEAgc3RhdGljIGludCBpbnRlbF9mcmFtZWJ1ZmZl cl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJaWYgKElOVEVMX0lORk8oZGV2KS0+Z2Vu ID49IDUgJiYgIUlTX1ZBTExFWVZJRVcoZGV2KSkgewogCQlwaXRjaF9saW1pdCA9IDMyKjEwMjQ7 CiAJfSBlbHNlIGlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA0KSB7Ci0JCWlmIChvYmotPnRp bGluZ19tb2RlKQorCQlpZiAodGlsaW5nX21vZGUpCiAJCQlwaXRjaF9saW1pdCA9IDE2KjEwMjQ7 CiAJCWVsc2UKIAkJCXBpdGNoX2xpbWl0ID0gMzIqMTAyNDsKIAl9IGVsc2UgaWYgKElOVEVMX0lO Rk8oZGV2KS0+Z2VuID49IDMpIHsKLQkJaWYgKG9iai0+dGlsaW5nX21vZGUpCisJCWlmICh0aWxp bmdfbW9kZSkKIAkJCXBpdGNoX2xpbWl0ID0gOCoxMDI0OwogCQllbHNlCiAJCQlwaXRjaF9saW1p dCA9IDE2KjEwMjQ7CkBAIC0xMjcxMSwxMiArMTI3MzcsMTIgQEAgc3RhdGljIGludCBpbnRlbF9m cmFtZWJ1ZmZlcl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAKIAlpZiAobW9kZV9jbWQt PnBpdGNoZXNbMF0gPiBwaXRjaF9saW1pdCkgewogCQlEUk1fREVCVUcoIiVzIHBpdGNoICglZCkg bXVzdCBiZSBhdCBsZXNzIHRoYW4gJWRcbiIsCi0JCQkgIG9iai0+dGlsaW5nX21vZGUgPyAidGls ZWQiIDogImxpbmVhciIsCisJCQkgIHRpbGluZ19tb2RlID8gInRpbGVkIiA6ICJsaW5lYXIiLAog CQkJICBtb2RlX2NtZC0+cGl0Y2hlc1swXSwgcGl0Y2hfbGltaXQpOwogCQlyZXR1cm4gLUVJTlZB TDsKIAl9CiAKLQlpZiAob2JqLT50aWxpbmdfbW9kZSAhPSBJOTE1X1RJTElOR19OT05FICYmCisJ aWYgKHRpbGluZ19tb2RlICE9IEk5MTVfVElMSU5HX05PTkUgJiYgb2JqLT5zdHJpZGUgJiYKIAkg ICAgbW9kZV9jbWQtPnBpdGNoZXNbMF0gIT0gb2JqLT5zdHJpZGUpIHsKIAkJRFJNX0RFQlVHKCJw aXRjaCAoJWQpIG11c3QgbWF0Y2ggdGlsaW5nIHN0cmlkZSAoJWQpXG4iLAogCQkJICBtb2RlX2Nt ZC0+cGl0Y2hlc1swXSwgb2JqLT5zdHJpZGUpOwpAQCAtMTI3NzEsNyArMTI3OTcsNyBAQCBzdGF0 aWMgaW50IGludGVsX2ZyYW1lYnVmZmVyX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJ cmV0dXJuIC1FSU5WQUw7CiAKIAlhbGlnbmVkX2hlaWdodCA9IGludGVsX2ZiX2FsaWduX2hlaWdo dChkZXYsIG1vZGVfY21kLT5oZWlnaHQsCi0JCQkJCSAgICAgICBvYmotPnRpbGluZ19tb2RlKTsK KwkJCQkJICAgICAgIHRpbGluZ19tb2RlKTsKIAkvKiBGSVhNRSBkcm0gaGVscGVyIGZvciBzaXpl IGNoZWNrcyAoZXNwZWNpYWxseSBwbGFuYXIgZm9ybWF0cyk/ICovCiAJaWYgKG9iai0+YmFzZS5z aXplIDwgYWxpZ25lZF9oZWlnaHQgKiBtb2RlX2NtZC0+cGl0Y2hlc1swXSkKIAkJcmV0dXJuIC1F SU5WQUw7CkBAIC0xMjc3OSw3ICsxMjgwNSw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfZnJhbWVidWZm ZXJfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCWRybV9oZWxwZXJfbW9kZV9maWxsX2Zi X3N0cnVjdCgmaW50ZWxfZmItPmJhc2UsIG1vZGVfY21kKTsKIAlpbnRlbF9mYi0+b2JqID0gb2Jq OwogCWludGVsX2ZiLT5vYmotPmZyYW1lYnVmZmVyX3JlZmVyZW5jZXMrKzsKLQlpbnRlbF9mYi0+ dGlsaW5nX21vZGUgPSBvYmotPnRpbGluZ19tb2RlOworCWludGVsX2ZiLT50aWxpbmdfbW9kZSA9 IHRpbGluZ19tb2RlOwogCiAJcmV0ID0gZHJtX2ZyYW1lYnVmZmVyX2luaXQoZGV2LCAmaW50ZWxf ZmItPmJhc2UsICZpbnRlbF9mYl9mdW5jcyk7CiAJaWYgKHJldCkgewotLSAKMi4yLjIKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==