From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 1/3] drm/i915: Extract vfunc setup from logical ring initializers Date: Tue, 12 Jan 2016 17:32:34 +0000 Message-ID: <1452619956-27014-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 mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 078DF6E6AC for ; Tue, 12 Jan 2016 09:32:41 -0800 (PST) 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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCk1ham9yaXR5 IG9mIHRoZW0gd2FzIGR1cGxpY2F0ZWQgY29kZSBhbmQgb25seSByZW5kZXIgcmluZwpjdXJyZW50 bHkgb3ZlcnJpZGVzIHNvbWUgb2YgdGhlbS4gV2UgY2FuIHNhdmUgc29tZSBsaW5lcyBvZgpjb2Rl IGFuZCBhbHNvIHRha2UgYXdheSB0aGUgY29uZnVzaW9uIG9uIHdoeSBic2QyIGRpZCBub3QKZG8g dGhlIHNlcW5vIGNvaGVyZW5jeSB3b3JrYXJvdW5kLiAoVkNTMiByaW5nIGRvZXMgbm90IGV4aXN0 Cm9uIHBsYXRmb3JtcyB3aGVyZSB3b3JrYXJvdW5kIGlzIG5lZWRlZCBidXQgdGhhdCB3YXMgbm90 CmRvY3VtZW50ZWQgaW4gdGhlIGNvZGUuKQoKU2lnbmVkLW9mZi1ieTogVHZydGtvIFVyc3VsaW4g PHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMt d2lsc29uLmNvLnVrPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIHwgODgg KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQs IDI5IGluc2VydGlvbnMoKyksIDU5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJj LmMKaW5kZXggYWIzNDRlMGI4NzhjLi5lMjljZjFjNzM3NDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2xyYy5jCkBAIC0xOTQyLDcgKzE5NDIsMjggQEAgdm9pZCBpbnRlbF9sb2dpY2FsX3JpbmdfY2xl YW51cChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQogCXJpbmctPmRldiA9IE5VTEw7CiB9 CiAKLXN0YXRpYyBpbnQgbG9naWNhbF9yaW5nX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg c3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKK3N0YXRpYyB2b2lkCitsb2dpY2FsX3Jpbmdf ZGVmYXVsdF92ZnVuY3Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwKKwkJCSAgICBzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICpyaW5nKQoreworCS8qIERlZmF1bHQgdmZ1bmNzIHdoaWNoIGNhbiBiZSBv dmVycmlkZW4gYnkgZWFjaCBlbmdpbmUuICovCisJcmluZy0+aW5pdF9odyA9IGdlbjhfaW5pdF9j b21tb25fcmluZzsKKwlyaW5nLT5lbWl0X3JlcXVlc3QgPSBnZW44X2VtaXRfcmVxdWVzdDsKKwly aW5nLT5lbWl0X2ZsdXNoID0gZ2VuOF9lbWl0X2ZsdXNoOworCXJpbmctPmlycV9nZXQgPSBnZW44 X2xvZ2ljYWxfcmluZ19nZXRfaXJxOworCXJpbmctPmlycV9wdXQgPSBnZW44X2xvZ2ljYWxfcmlu Z19wdXRfaXJxOworCXJpbmctPmVtaXRfYmJfc3RhcnQgPSBnZW44X2VtaXRfYmJfc3RhcnQ7CisJ aWYgKElTX0JYVF9SRVZJRChkZXYsIDAsIEJYVF9SRVZJRF9BMSkpIHsKKwkJcmluZy0+Z2V0X3Nl cW5vID0gYnh0X2FfZ2V0X3NlcW5vOworCQlyaW5nLT5zZXRfc2Vxbm8gPSBieHRfYV9zZXRfc2Vx bm87CisJfSBlbHNlIHsKKwkJcmluZy0+Z2V0X3NlcW5vID0gZ2VuOF9nZXRfc2Vxbm87CisJCXJp bmctPnNldF9zZXFubyA9IGdlbjhfc2V0X3NlcW5vOworCX0KK30KKworc3RhdGljIGludAorbG9n aWNhbF9yaW5nX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqcmluZykKIHsKIAlpbnQgcmV0OwogCkBAIC0yMDAzLDI0ICsyMDI0LDE2IEBAIHN0YXRp YyBpbnQgbG9naWNhbF9yZW5kZXJfcmluZ19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJ aWYgKEhBU19MM19EUEYoZGV2KSkKIAkJcmluZy0+aXJxX2tlZXBfbWFzayB8PSBHVF9SRU5ERVJf TDNfUEFSSVRZX0VSUk9SX0lOVEVSUlVQVDsKIAorCWxvZ2ljYWxfcmluZ19kZWZhdWx0X3ZmdW5j cyhkZXYsIHJpbmcpOworCisJLyogT3ZlcnJpZGUgc29tZSBmb3IgcmVuZGVyIHJpbmcuICovCiAJ aWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuID49IDkpCiAJCXJpbmctPmluaXRfaHcgPSBnZW45X2lu aXRfcmVuZGVyX3Jpbmc7CiAJZWxzZQogCQlyaW5nLT5pbml0X2h3ID0gZ2VuOF9pbml0X3JlbmRl cl9yaW5nOwogCXJpbmctPmluaXRfY29udGV4dCA9IGdlbjhfaW5pdF9yY3NfY29udGV4dDsKIAly aW5nLT5jbGVhbnVwID0gaW50ZWxfZmluaV9waXBlX2NvbnRyb2w7Ci0JaWYgKElTX0JYVF9SRVZJ RChkZXYsIDAsIEJYVF9SRVZJRF9BMSkpIHsKLQkJcmluZy0+Z2V0X3NlcW5vID0gYnh0X2FfZ2V0 X3NlcW5vOwotCQlyaW5nLT5zZXRfc2Vxbm8gPSBieHRfYV9zZXRfc2Vxbm87Ci0JfSBlbHNlIHsK LQkJcmluZy0+Z2V0X3NlcW5vID0gZ2VuOF9nZXRfc2Vxbm87Ci0JCXJpbmctPnNldF9zZXFubyA9 IGdlbjhfc2V0X3NlcW5vOwotCX0KLQlyaW5nLT5lbWl0X3JlcXVlc3QgPSBnZW44X2VtaXRfcmVx dWVzdDsKIAlyaW5nLT5lbWl0X2ZsdXNoID0gZ2VuOF9lbWl0X2ZsdXNoX3JlbmRlcjsKLQlyaW5n LT5pcnFfZ2V0ID0gZ2VuOF9sb2dpY2FsX3JpbmdfZ2V0X2lycTsKLQlyaW5nLT5pcnFfcHV0ID0g Z2VuOF9sb2dpY2FsX3JpbmdfcHV0X2lycTsKLQlyaW5nLT5lbWl0X2JiX3N0YXJ0ID0gZ2VuOF9l bWl0X2JiX3N0YXJ0OwogCiAJcmluZy0+ZGV2ID0gZGV2OwogCkBAIC0yMDYwLDE5ICsyMDczLDcg QEAgc3RhdGljIGludCBsb2dpY2FsX2JzZF9yaW5nX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRl dikKIAlyaW5nLT5pcnFfa2VlcF9tYXNrID0KIAkJR1RfQ09OVEVYVF9TV0lUQ0hfSU5URVJSVVBU IDw8IEdFTjhfVkNTMV9JUlFfU0hJRlQ7CiAKLQlyaW5nLT5pbml0X2h3ID0gZ2VuOF9pbml0X2Nv bW1vbl9yaW5nOwotCWlmIChJU19CWFRfUkVWSUQoZGV2LCAwLCBCWFRfUkVWSURfQTEpKSB7Ci0J CXJpbmctPmdldF9zZXFubyA9IGJ4dF9hX2dldF9zZXFubzsKLQkJcmluZy0+c2V0X3NlcW5vID0g Ynh0X2Ffc2V0X3NlcW5vOwotCX0gZWxzZSB7Ci0JCXJpbmctPmdldF9zZXFubyA9IGdlbjhfZ2V0 X3NlcW5vOwotCQlyaW5nLT5zZXRfc2Vxbm8gPSBnZW44X3NldF9zZXFubzsKLQl9Ci0JcmluZy0+ ZW1pdF9yZXF1ZXN0ID0gZ2VuOF9lbWl0X3JlcXVlc3Q7Ci0JcmluZy0+ZW1pdF9mbHVzaCA9IGdl bjhfZW1pdF9mbHVzaDsKLQlyaW5nLT5pcnFfZ2V0ID0gZ2VuOF9sb2dpY2FsX3JpbmdfZ2V0X2ly cTsKLQlyaW5nLT5pcnFfcHV0ID0gZ2VuOF9sb2dpY2FsX3JpbmdfcHV0X2lycTsKLQlyaW5nLT5l bWl0X2JiX3N0YXJ0ID0gZ2VuOF9lbWl0X2JiX3N0YXJ0OworCWxvZ2ljYWxfcmluZ19kZWZhdWx0 X3ZmdW5jcyhkZXYsIHJpbmcpOwogCiAJcmV0dXJuIGxvZ2ljYWxfcmluZ19pbml0KGRldiwgcmlu Zyk7CiB9CkBAIC0yMDkwLDE0ICsyMDkxLDcgQEAgc3RhdGljIGludCBsb2dpY2FsX2JzZDJfcmlu Z19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJcmluZy0+aXJxX2tlZXBfbWFzayA9CiAJ CUdUX0NPTlRFWFRfU1dJVENIX0lOVEVSUlVQVCA8PCBHRU44X1ZDUzJfSVJRX1NISUZUOwogCi0J cmluZy0+aW5pdF9odyA9IGdlbjhfaW5pdF9jb21tb25fcmluZzsKLQlyaW5nLT5nZXRfc2Vxbm8g PSBnZW44X2dldF9zZXFubzsKLQlyaW5nLT5zZXRfc2Vxbm8gPSBnZW44X3NldF9zZXFubzsKLQly aW5nLT5lbWl0X3JlcXVlc3QgPSBnZW44X2VtaXRfcmVxdWVzdDsKLQlyaW5nLT5lbWl0X2ZsdXNo ID0gZ2VuOF9lbWl0X2ZsdXNoOwotCXJpbmctPmlycV9nZXQgPSBnZW44X2xvZ2ljYWxfcmluZ19n ZXRfaXJxOwotCXJpbmctPmlycV9wdXQgPSBnZW44X2xvZ2ljYWxfcmluZ19wdXRfaXJxOwotCXJp bmctPmVtaXRfYmJfc3RhcnQgPSBnZW44X2VtaXRfYmJfc3RhcnQ7CisJbG9naWNhbF9yaW5nX2Rl ZmF1bHRfdmZ1bmNzKGRldiwgcmluZyk7CiAKIAlyZXR1cm4gbG9naWNhbF9yaW5nX2luaXQoZGV2 LCByaW5nKTsKIH0KQEAgLTIxMTUsMTkgKzIxMDksNyBAQCBzdGF0aWMgaW50IGxvZ2ljYWxfYmx0 X3JpbmdfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCXJpbmctPmlycV9rZWVwX21hc2sg PQogCQlHVF9DT05URVhUX1NXSVRDSF9JTlRFUlJVUFQgPDwgR0VOOF9CQ1NfSVJRX1NISUZUOwog Ci0JcmluZy0+aW5pdF9odyA9IGdlbjhfaW5pdF9jb21tb25fcmluZzsKLQlpZiAoSVNfQlhUX1JF VklEKGRldiwgMCwgQlhUX1JFVklEX0ExKSkgewotCQlyaW5nLT5nZXRfc2Vxbm8gPSBieHRfYV9n ZXRfc2Vxbm87Ci0JCXJpbmctPnNldF9zZXFubyA9IGJ4dF9hX3NldF9zZXFubzsKLQl9IGVsc2Ug ewotCQlyaW5nLT5nZXRfc2Vxbm8gPSBnZW44X2dldF9zZXFubzsKLQkJcmluZy0+c2V0X3NlcW5v ID0gZ2VuOF9zZXRfc2Vxbm87Ci0JfQotCXJpbmctPmVtaXRfcmVxdWVzdCA9IGdlbjhfZW1pdF9y ZXF1ZXN0OwotCXJpbmctPmVtaXRfZmx1c2ggPSBnZW44X2VtaXRfZmx1c2g7Ci0JcmluZy0+aXJx X2dldCA9IGdlbjhfbG9naWNhbF9yaW5nX2dldF9pcnE7Ci0JcmluZy0+aXJxX3B1dCA9IGdlbjhf bG9naWNhbF9yaW5nX3B1dF9pcnE7Ci0JcmluZy0+ZW1pdF9iYl9zdGFydCA9IGdlbjhfZW1pdF9i Yl9zdGFydDsKKwlsb2dpY2FsX3JpbmdfZGVmYXVsdF92ZnVuY3MoZGV2LCByaW5nKTsKIAogCXJl dHVybiBsb2dpY2FsX3JpbmdfaW5pdChkZXYsIHJpbmcpOwogfQpAQCAtMjE0NSwxOSArMjEyNyw3 IEBAIHN0YXRpYyBpbnQgbG9naWNhbF92ZWJveF9yaW5nX2luaXQoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKIAlyaW5nLT5pcnFfa2VlcF9tYXNrID0KIAkJR1RfQ09OVEVYVF9TV0lUQ0hfSU5URVJS VVBUIDw8IEdFTjhfVkVDU19JUlFfU0hJRlQ7CiAKLQlyaW5nLT5pbml0X2h3ID0gZ2VuOF9pbml0 X2NvbW1vbl9yaW5nOwotCWlmIChJU19CWFRfUkVWSUQoZGV2LCAwLCBCWFRfUkVWSURfQTEpKSB7 Ci0JCXJpbmctPmdldF9zZXFubyA9IGJ4dF9hX2dldF9zZXFubzsKLQkJcmluZy0+c2V0X3NlcW5v ID0gYnh0X2Ffc2V0X3NlcW5vOwotCX0gZWxzZSB7Ci0JCXJpbmctPmdldF9zZXFubyA9IGdlbjhf Z2V0X3NlcW5vOwotCQlyaW5nLT5zZXRfc2Vxbm8gPSBnZW44X3NldF9zZXFubzsKLQl9Ci0Jcmlu Zy0+ZW1pdF9yZXF1ZXN0ID0gZ2VuOF9lbWl0X3JlcXVlc3Q7Ci0JcmluZy0+ZW1pdF9mbHVzaCA9 IGdlbjhfZW1pdF9mbHVzaDsKLQlyaW5nLT5pcnFfZ2V0ID0gZ2VuOF9sb2dpY2FsX3JpbmdfZ2V0 X2lycTsKLQlyaW5nLT5pcnFfcHV0ID0gZ2VuOF9sb2dpY2FsX3JpbmdfcHV0X2lycTsKLQlyaW5n LT5lbWl0X2JiX3N0YXJ0ID0gZ2VuOF9lbWl0X2JiX3N0YXJ0OworCWxvZ2ljYWxfcmluZ19kZWZh dWx0X3ZmdW5jcyhkZXYsIHJpbmcpOwogCiAJcmV0dXJuIGxvZ2ljYWxfcmluZ19pbml0KGRldiwg cmluZyk7CiB9Ci0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngK