From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: [PATCH 08/10] drm/i915: Add ioctl to set per-context parameters Date: Tue, 4 Nov 2014 04:51:46 -0800 Message-ID: <1415105508-1590-9-git-send-email-rodrigo.vivi@intel.com> References: <1415105508-1590-1-git-send-email-rodrigo.vivi@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 0923C6E5A4 for ; Tue, 4 Nov 2014 11:51:37 -0800 (PST) In-Reply-To: <1415105508-1590-1-git-send-email-rodrigo.vivi@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 Cc: Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org RnJvbTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CgpTb21ldGltZXMg d2Ugd2lzaCB0byB0d2VhayBob3cgYW4gaW5kaXZpZHVhbCBjb250ZXh0IGJlaGF2ZXMuIFNpbmNl IHdlCmFsd2F5cyBjcmVhdGUgYSBjb250ZXh0IGZvciBldmVyeSBmaWxwLCB0aGlzIG1lYW5zIHRo YXQgaW5kaXZpZHVhbApwcm9jZXNzZXMgY2FuIGZpbmUgdHVuZSB0aGVpciBiZWhhdmlvdXIgZXZl biBpZiB0aGV5IGRvIG5vdCBleHBsaWNpdGx5CmNyZWF0ZSBhIGNvbnRleHQuCgpUaGUgZmlyc3Qg ZXhhbXBsZSBwYXJhbWV0ZXIgaGVyZSBpcyB0byBlbmFibGUgbXVsdGktcHJvY2VzcyBHUFUgdGVz dGluZywKYnV0IHRoZSBpbnRlcmZhY2Ugc2hvdWxkIGJlIGFibGUgdG8gY29wZSB3aXRoIHBhc3Np bmcgYXJiaXRyYXJpbHkgY29tcGxleApwYXJhbWV0ZXJzLgoKU2lnbmVkLW9mZi1ieTogQ2hyaXMg V2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+ClNpZ25lZC1vZmYtYnk6IFJvZHJpZ28g Vml2aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2RtYS5jICAgICAgICAgfCAgMiArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o ICAgICAgICAgfCAgNCArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5j IHwgNjkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBpbmNsdWRlL3VhcGkvZHJt L2k5MTVfZHJtLmggICAgICAgICAgICAgfCAxMiArKysrKysKIDQgZmlsZXMgY2hhbmdlZCwgODcg aW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1h LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jCmluZGV4IDFjMTQ1ZWQuLjA0YTZm NzcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYwpAQCAtMjA0Miw2ICsyMDQyLDggQEAgY29uc3Qg c3RydWN0IGRybV9pb2N0bF9kZXNjIGk5MTVfaW9jdGxzW10gPSB7CiAJRFJNX0lPQ1RMX0RFRl9E UlYoSTkxNV9SRUdfUkVBRCwgaTkxNV9yZWdfcmVhZF9pb2N0bCwgRFJNX1VOTE9DS0VEfERSTV9S RU5ERVJfQUxMT1cpLAogCURSTV9JT0NUTF9ERUZfRFJWKEk5MTVfR0VUX1JFU0VUX1NUQVRTLCBp OTE1X2dldF9yZXNldF9zdGF0c19pb2N0bCwgRFJNX1VOTE9DS0VEfERSTV9SRU5ERVJfQUxMT1cp LAogCURSTV9JT0NUTF9ERUZfRFJWKEk5MTVfR0VNX1VTRVJQVFIsIGk5MTVfZ2VtX3VzZXJwdHJf aW9jdGwsIERSTV9VTkxPQ0tFRHxEUk1fUkVOREVSX0FMTE9XKSwKKwlEUk1fSU9DVExfREVGX0RS VihJOTE1X0dFTV9DT05URVhUX0dFVFBBUkFNLCBpOTE1X2dlbV9jb250ZXh0X2dldHBhcmFtX2lv Y3RsLCBEUk1fVU5MT0NLRUR8RFJNX1JFTkRFUl9BTExPVyksCisJRFJNX0lPQ1RMX0RFRl9EUlYo STkxNV9HRU1fQ09OVEVYVF9TRVRQQVJBTSwgaTkxNV9nZW1fY29udGV4dF9zZXRwYXJhbV9pb2N0 bCwgRFJNX1VOTE9DS0VEfERSTV9SRU5ERVJfQUxMT1cpLAogfTsKIAogaW50IGk5MTVfbWF4X2lv Y3RsID0gQVJSQVlfU0laRShpOTE1X2lvY3Rscyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRl eCBhNzY4NjljLi44MmFmMzhlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTI2NzksNiAr MjY3OSwxMCBAQCBpbnQgaTkxNV9nZW1fY29udGV4dF9jcmVhdGVfaW9jdGwoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJCQkgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSk7CiBp bnQgaTkxNV9nZW1fY29udGV4dF9kZXN0cm95X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IHZvaWQgKmRhdGEsCiAJCQkJICAgc3RydWN0IGRybV9maWxlICpmaWxlKTsKK2ludCBpOTE1X2dl bV9jb250ZXh0X2dldHBhcmFtX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRh dGEsCisJCQkJICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KTsKK2ludCBpOTE1X2dlbV9j b250ZXh0X3NldHBhcmFtX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEs CisJCQkJICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KTsKIAogLyogaTkxNV9nZW1fZXZp Y3QuYyAqLwogaW50IF9fbXVzdF9jaGVjayBpOTE1X2dlbV9ldmljdF9zb21ldGhpbmcoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX2NvbnRleHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwpp bmRleCA5ZGE3OGQ1Li45NThkMmNmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9jb250ZXh0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29u dGV4dC5jCkBAIC03NDMsMyArNzQzLDcyIEBAIGludCBpOTE1X2dlbV9jb250ZXh0X2Rlc3Ryb3lf aW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAlEUk1fREVCVUdfRFJJ VkVSKCJIVyBjb250ZXh0ICVkIGRlc3Ryb3llZFxuIiwgYXJncy0+Y3R4X2lkKTsKIAlyZXR1cm4g MDsKIH0KKworaW50IGk5MTVfZ2VtX2NvbnRleHRfZ2V0cGFyYW1faW9jdGwoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKKwkJCQkgICAgc3RydWN0IGRybV9maWxlICpmaWxlKQor eworCXN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdiA9IGZpbGUtPmRyaXZl cl9wcml2OworCXN0cnVjdCBkcm1faTkxNV9nZW1fY29udGV4dF9wYXJhbSAqYXJncyA9IGRhdGE7 CisJc3RydWN0IGludGVsX2NvbnRleHQgKmN0eDsKKwlpbnQgcmV0OworCisJcmV0ID0gaTkxNV9t dXRleF9sb2NrX2ludGVycnVwdGlibGUoZGV2KTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0Owor CisJY3R4ID0gaTkxNV9nZW1fY29udGV4dF9nZXQoZmlsZV9wcml2LCBhcmdzLT5jdHhfaWQpOwor CWlmIChJU19FUlIoY3R4KSkgeworCQltdXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsK KwkJcmV0dXJuIFBUUl9FUlIoY3R4KTsKKwl9CisKKwlhcmdzLT5zaXplID0gMDsKKwlzd2l0Y2gg KGFyZ3MtPnBhcmFtKSB7CisJY2FzZSBJOTE1X0NPTlRFWFRfUEFSQU1fQkFOX1BFUklPRDoKKwkJ YXJncy0+dmFsdWUgPSBjdHgtPmhhbmdfc3RhdHMuYmFuX3BlcmlvZF9zZWNvbmRzOworCQlicmVh azsKKwlkZWZhdWx0OgorCQlyZXQgPSAtRUlOVkFMOworCQlicmVhazsKKwl9CisJbXV0ZXhfdW5s b2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7CisKKwlyZXR1cm4gcmV0OworfQorCitpbnQgaTkxNV9n ZW1fY29udGV4dF9zZXRwYXJhbV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpk YXRhLAorCQkJCSAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpCit7CisJc3RydWN0IGRybV9pOTE1 X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2ID0gZmlsZS0+ZHJpdmVyX3ByaXY7CisJc3RydWN0IGRy bV9pOTE1X2dlbV9jb250ZXh0X3BhcmFtICphcmdzID0gZGF0YTsKKwlzdHJ1Y3QgaW50ZWxfY29u dGV4dCAqY3R4OworCWludCByZXQ7CisKKwlyZXQgPSBpOTE1X211dGV4X2xvY2tfaW50ZXJydXB0 aWJsZShkZXYpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKKwljdHggPSBpOTE1X2dlbV9j b250ZXh0X2dldChmaWxlX3ByaXYsIGFyZ3MtPmN0eF9pZCk7CisJaWYgKElTX0VSUihjdHgpKSB7 CisJCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOworCQlyZXR1cm4gUFRSX0VSUihj dHgpOworCX0KKworCXN3aXRjaCAoYXJncy0+cGFyYW0pIHsKKwljYXNlIEk5MTVfQ09OVEVYVF9Q QVJBTV9CQU5fUEVSSU9EOgorCQlpZiAoYXJncy0+c2l6ZSkKKwkJCXJldCA9IC1FSU5WQUw7CisJ CWVsc2UgaWYgKGFyZ3MtPnZhbHVlIDwgY3R4LT5oYW5nX3N0YXRzLmJhbl9wZXJpb2Rfc2Vjb25k cyAmJgorCQkJICFjYXBhYmxlKENBUF9TWVNfQURNSU4pKQorCQkJcmV0ID0gLUVQRVJNOworCQll bHNlCisJCQljdHgtPmhhbmdfc3RhdHMuYmFuX3BlcmlvZF9zZWNvbmRzID0gYXJncy0+dmFsdWU7 CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldCA9IC1FSU5WQUw7CisJCWJyZWFrOworCX0KKwlt dXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKKworCXJldHVybiByZXQ7Cit9CmRpZmYg LS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmggYi9pbmNsdWRlL3VhcGkvZHJtL2k5 MTVfZHJtLmgKaW5kZXggNTYwMDdkYy4uMjQwMzg5NCAxMDA2NDQKLS0tIGEvaW5jbHVkZS91YXBp L2RybS9pOTE1X2RybS5oCisrKyBiL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaApAQCAtMjI0 LDYgKzIyNCw4IEBAIHR5cGVkZWYgc3RydWN0IF9kcm1faTkxNV9zYXJlYSB7CiAjZGVmaW5lIERS TV9JOTE1X1JFR19SRUFECQkweDMxCiAjZGVmaW5lIERSTV9JOTE1X0dFVF9SRVNFVF9TVEFUUwkw eDMyCiAjZGVmaW5lIERSTV9JOTE1X0dFTV9VU0VSUFRSCQkweDMzCisjZGVmaW5lIERSTV9JOTE1 X0dFTV9DT05URVhUX0dFVFBBUkFNCTB4MzQKKyNkZWZpbmUgRFJNX0k5MTVfR0VNX0NPTlRFWFRf U0VUUEFSQU0JMHgzNQogCiAjZGVmaW5lIERSTV9JT0NUTF9JOTE1X0lOSVQJCURSTV9JT1coIERS TV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9JTklULCBkcm1faTkxNV9pbml0X3QpCiAjZGVmaW5l IERSTV9JT0NUTF9JOTE1X0ZMVVNICQlEUk1fSU8gKCBEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5 MTVfRkxVU0gpCkBAIC0yNzUsNiArMjc3LDggQEAgdHlwZWRlZiBzdHJ1Y3QgX2RybV9pOTE1X3Nh cmVhIHsKICNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfUkVHX1JFQUQJCQlEUk1fSU9XUiAoRFJNX0NP TU1BTkRfQkFTRSArIERSTV9JOTE1X1JFR19SRUFELCBzdHJ1Y3QgZHJtX2k5MTVfcmVnX3JlYWQp CiAjZGVmaW5lIERSTV9JT0NUTF9JOTE1X0dFVF9SRVNFVF9TVEFUUwkJRFJNX0lPV1IgKERSTV9D T01NQU5EX0JBU0UgKyBEUk1fSTkxNV9HRVRfUkVTRVRfU1RBVFMsIHN0cnVjdCBkcm1faTkxNV9y ZXNldF9zdGF0cykKICNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfR0VNX1VTRVJQVFIJCQlEUk1fSU9X UiAoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0dFTV9VU0VSUFRSLCBzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX3VzZXJwdHIpCisjZGVmaW5lIERSTV9JT0NUTF9JOTE1X0dFTV9DT05URVhUX0dFVFBB UkFNCURSTV9JT1dSIChEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX0NPTlRFWFRfR0VU UEFSQU0sIHN0cnVjdCBkcm1faTkxNV9nZW1fY29udGV4dF9wYXJhbSkKKyNkZWZpbmUgRFJNX0lP Q1RMX0k5MTVfR0VNX0NPTlRFWFRfU0VUUEFSQU0JRFJNX0lPV1IgKERSTV9DT01NQU5EX0JBU0Ug KyBEUk1fSTkxNV9HRU1fQ09OVEVYVF9TRVRQQVJBTSwgc3RydWN0IGRybV9pOTE1X2dlbV9jb250 ZXh0X3BhcmFtKQogCiAvKiBBbGxvdyBkcml2ZXJzIHRvIHN1Ym1pdCBiYXRjaGJ1ZmZlcnMgZGly ZWN0bHkgdG8gaGFyZHdhcmUsIHJlbHlpbmcKICAqIG9uIHRoZSBzZWN1cml0eSBtZWNoYW5pc21z IHByb3ZpZGVkIGJ5IGhhcmR3YXJlLgpAQCAtMTA3NCw0ICsxMDc4LDEyIEBAIHN0cnVjdCBkcm1f aTkxNV9nZW1fdXNlcnB0ciB7CiAJX191MzIgaGFuZGxlOwogfTsKIAorc3RydWN0IGRybV9pOTE1 X2dlbV9jb250ZXh0X3BhcmFtIHsKKwlfX3UzMiBjdHhfaWQ7CisJX191MzIgc2l6ZTsKKwlfX3U2 NCBwYXJhbTsKKyNkZWZpbmUgSTkxNV9DT05URVhUX1BBUkFNX0JBTl9QRVJJT0QgMHgxCisJX191 NjQgdmFsdWU7Cit9OworCiAjZW5kaWYgLyogX1VBUElfSTkxNV9EUk1fSF8gKi8KLS0gCjEuOS4z CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=