From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arun Siluvery Subject: [PATCH v2 1/7] drm/i915/gen8: Add infrastructure to initialize WA batch buffers Date: Fri, 29 May 2015 19:03:19 +0100 Message-ID: <1432922605-5893-2-git-send-email-arun.siluvery@linux.intel.com> References: <1432922605-5893-1-git-send-email-arun.siluvery@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 68C826EE2E for ; Fri, 29 May 2015 11:03:56 -0700 (PDT) In-Reply-To: <1432922605-5893-1-git-send-email-arun.siluvery@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 Cc: Namrta List-Id: intel-gfx@lists.freedesktop.org VGhpcyBwYXRjaCBhZGRzIGZ1bmN0aW9ucyB0byBzZXR1cCBXQSBiYXRjaCBidWZmZXJzIGJ1dCB0 aGV5IGFyZSBub3QgeWV0CmVuYWJsZWQgaW4gdGhpcyBwYXRjaC4gU29tZSBvZiB0aGUgV0EgYXJl IHRvIGJlIGFwcGxpZWQgZHVyaW5nIGNvbnRleHQgc2F2ZQpidXQgYmVmb3JlIHJlc3RvcmUgYW5k IHNvbWUgYXQgdGhlIGVuZCBvZiBjb250ZXh0IHNhdmUvcmVzdG9yZSBidXQgYmVmb3JlCmV4ZWN1 dGluZyB0aGUgaW5zdHJ1Y3Rpb25zIGluIHRoZSByaW5nLCBXQSBiYXRjaCBidWZmZXJzIGFyZSBj cmVhdGVkIGZvcgp0aGlzIHB1cnBvc2UgYW5kIHRoZXNlIFdBIGNhbm5vdCBiZSBhcHBsaWVkIHVz aW5nIG5vcm1hbCBtZWFucy4KClNpZ25lZC1vZmYtYnk6IE5hbXJ0YSA8bmFtcnRhLnNhbG9uaWVA aW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBBcnVuIFNpbHV2ZXJ5IDxhcnVuLnNpbHV2ZXJ5QGxp bnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICB8ICAg MyArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgfCAxMDEgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDEwNCBpbnNlcnRp b25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggNzMxYjVjZS4uZGQ0YjMxZCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC04MTQsNiArODE0LDkgQEAgc3RydWN0IGludGVsX2Nv bnRleHQgewogCiAJLyogRXhlY2xpc3RzICovCiAJYm9vbCByY3NfaW5pdGlhbGl6ZWQ7CisJc3Ry dWN0IGludGVsX3JpbmdidWZmZXIgKmluZGlyZWN0X2N0eF93YV9iYjsKKwlzdHJ1Y3QgaW50ZWxf cmluZ2J1ZmZlciAqcGVyX2N0eF93YV9iYjsKKwogCXN0cnVjdCB7CiAJCXN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0ICpzdGF0ZTsKIAkJc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWY7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCmluZGV4IDA0MTNiOGYuLjUwZTFiMzcgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2xyYy5jCkBAIC0xMDc3LDYgKzEwNzcsMTA3IEBAIHN0YXRpYyBpbnQgaW50 ZWxfbG9naWNhbF9yaW5nX3dvcmthcm91bmRzX2VtaXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAq cmluZywKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIHN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICoK K2NyZWF0ZV93YV9iYihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLCB1aW50MzJfdCBiYl9z aXplKQoreworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSByaW5nLT5kZXY7CisJc3RydWN0IGlu dGVsX3JpbmdidWZmZXIgKnJpbmdidWY7CisJaW50IHJldDsKKworCXJpbmdidWYgPSBremFsbG9j KHNpemVvZigqcmluZ2J1ZiksIEdGUF9LRVJORUwpOworCWlmICghcmluZ2J1ZikKKwkJcmV0dXJu IE5VTEw7CisKKwlyaW5nYnVmLT5yaW5nID0gcmluZzsKKwlyaW5nYnVmLT5zaXplID0gcm91bmR1 cChiYl9zaXplLCBQQUdFX1NJWkUpOworCXJpbmdidWYtPmVmZmVjdGl2ZV9zaXplID0gcmluZ2J1 Zi0+c2l6ZTsKKwlyaW5nYnVmLT5oZWFkID0gMDsKKwlyaW5nYnVmLT50YWlsID0gMDsKKwlyaW5n YnVmLT5zcGFjZSA9IHJpbmdidWYtPnNpemU7CisJcmluZ2J1Zi0+bGFzdF9yZXRpcmVkX2hlYWQg PSAtMTsKKworCXJldCA9IGludGVsX2FsbG9jX3JpbmdidWZmZXJfb2JqKGRldiwgcmluZ2J1Zik7 CisJaWYgKHJldCkgeworCQlEUk1fREVCVUdfRFJJVkVSKAorCQkiRmFpbGVkIHRvIGFsbG9jYXRl IHJpbmdidWYgb2JqIGZvciB3YV9iYiVzOiAlZFxuIiwKKwkJcmluZy0+bmFtZSwgcmV0KTsKKwkJ a2ZyZWUocmluZ2J1Zik7CisJCXJldHVybiBOVUxMOworCX0KKworICAgICAgICByZXQgPSBpbnRl bF9waW5fYW5kX21hcF9yaW5nYnVmZmVyX29iaihkZXYsIHJpbmdidWYpOworICAgICAgICBpZiAo cmV0KSB7CisgICAgICAgICAgICAgICAgRFJNX0VSUk9SKCJGYWlsZWQgdG8gcGluIGFuZCBtYXAg JXMgdy9hIGJhdGNoOiAlZFxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgcmluZy0+bmFt ZSwgcmV0KTsKKyAgICAgICAgICAgICAgICBpbnRlbF9kZXN0cm95X3JpbmdidWZmZXJfb2JqKHJp bmdidWYpOworICAgICAgICAgICAgICAgIGtmcmVlKHJpbmdidWYpOworICAgICAgICAgICAgICAg IHJldHVybiBOVUxMOworICAgICAgICB9CisKKwlyZXR1cm4gcmluZ2J1ZjsKK30KKworc3RhdGlj IGludCBnZW44X2luaXRfaW5kaXJlY3RjdHhfYmIoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmlu ZywKKwkJCQkgICAgc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCkKK3sKKwlpbnQgaTsKKwlzdHJ1 Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZiA9IE5VTEw7CisKKwlyaW5nYnVmID0gY3JlYXRl X3dhX2JiKHJpbmcsIFBBR0VfU0laRSk7CisJaWYgKCFyaW5nYnVmKQorCQlyZXR1cm4gLUVOT01F TTsKKworCWN0eC0+aW5kaXJlY3RfY3R4X3dhX2JiID0gcmluZ2J1ZjsKKworCS8qIEZJWE1FOiBm aWxsIG9uZSBjYWNoZSBsaW5lIHdpdGggTk9PUHMuCisJICogUmVwbGFjZSB0aGVzZSBpbnN0cnVj dGlvbnMgd2l0aCBXQQorCSAqLworCWZvciAoaSA9IDA7IGkgPCAxNjsgKytpKQorCQlpbnRlbF9s b2dpY2FsX3JpbmdfZW1pdChyaW5nYnVmLCBNSV9OT09QKTsKKworCS8qCisJICogTUlfQkFUQ0hf QlVGRkVSX0VORCBpcyBub3QgcmVxdWlyZWQgaW4gSW5kaXJlY3QgY3R4IEJCIGJlY2F1c2UKKwkg KiBleGVjdXRpb24gZGVwZW5kcyBvbiB0aGUgc2l6ZSBkZWZpbmVkIGluIENUWF9SQ1NfSU5ESVJF Q1RfQ1RYCisJICovCisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBnZW44X2luaXRfcGVy Y3R4X2JiKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCisJCQkgICAgICAgc3RydWN0IGlu dGVsX2NvbnRleHQgKmN0eCkKK3sKKwlpbnQgaTsKKwlzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAq cmluZ2J1ZiA9IE5VTEw7CisKKwlyaW5nYnVmID0gY3JlYXRlX3dhX2JiKHJpbmcsIFBBR0VfU0la RSk7CisJaWYgKCFyaW5nYnVmKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWN0eC0+cGVyX2N0eF93 YV9iYiA9IHJpbmdidWY7CisKKwkvKiBGSVhNRTogUmVwbGFjZSB0aGVzZSBpbnN0cnVjdGlvbnMg d2l0aCBXQSAqLworCWZvciAoaSA9IDA7IGkgPCAxNTsgKytpKQorCQlpbnRlbF9sb2dpY2FsX3Jp bmdfZW1pdChyaW5nYnVmLCBNSV9OT09QKTsKKworCWludGVsX2xvZ2ljYWxfcmluZ19lbWl0KHJp bmdidWYsIE1JX0JBVENIX0JVRkZFUl9FTkQpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBp bnQgaW50ZWxfaW5pdF93b3JrYXJvdW5kX2JiKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcs CisJCQkJICAgIHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgpCit7CisJaW50IHJldDsKKwlzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2ID0gcmluZy0+ZGV2OworCisJaWYgKFdBUk5fT04ocmluZy0+aWQg IT0gUkNTKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKiBGSVhNRTogQWRkIEdlbiBzcGVjaWZp YyBpbml0IGZ1bmN0aW9ucyAqLworCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbnQgZ2VuOF9p bml0X2NvbW1vbl9yaW5nKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiB7CiAJc3RydWN0 IGRybV9kZXZpY2UgKmRldiA9IHJpbmctPmRldjsKLS0gCjIuMy4wCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=