From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [RFC 04/39] drm/i915: Prelude to splitting i915_gem_do_execbuffer in two Date: Fri, 17 Jul 2015 15:33:13 +0100 Message-ID: <1437143628-6329-5-git-send-email-John.C.Harrison@Intel.com> References: <1437143628-6329-1-git-send-email-John.C.Harrison@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 3F5BA6E4E6 for ; Fri, 17 Jul 2015 07:33:55 -0700 (PDT) In-Reply-To: <1437143628-6329-1-git-send-email-John.C.Harrison@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 RnJvbTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KClRoZSBzY2hl ZHVsZXIgZGVjb3VwbGVzIHRoZSBzdWJtaXNzaW9uIG9mIGJhdGNoIGJ1ZmZlcnMgdG8gdGhlIGRy aXZlciB3aXRoIHRoZWlyCnN1Ym1pc3Npb24gdG8gdGhlIGhhcmR3YXJlLiBUaGlzIGJhc2ljYWxs eSBtZWFucyBzcGxpdHRpbmcgdGhlIGV4ZWNidWZmZXIoKQpmdW5jdGlvbiBpbiBoYWxmLiBUaGlz IGNoYW5nZSByZWFycmFuZ2VzIHNvbWUgY29kZSByZWFkeSBmb3IgdGhlIHNwbGl0IHRvIG9jY3Vy LgoKQ2hhbmdlLUlkOiBJY2M5YzhhZmFhYzE4ODIxZjNlYjhhMTUxYTQ5ZjkxOGY5MGMwNjhhMwpG b3I6IFZJWi0xNTg3ClNpZ25lZC1vZmYtYnk6IEpvaG4gSGFycmlzb24gPEpvaG4uQy5IYXJyaXNv bkBJbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZl ci5jIHwgNTcgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9scmMuYyAgICAgICAgICAgfCAxOCArKysrKysrLS0tCiAyIGZpbGVzIGNoYW5n ZWQsIDQ3IGluc2VydGlvbnMoKyksIDI4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwppbmRleCBkOTVkNDcyLi45ODhlY2Q0IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCkBAIC05MjYsMTAgKzkyNiw3 IEBAIGk5MTVfZ2VtX2V4ZWNidWZmZXJfbW92ZV90b19ncHUoc3RydWN0IGRybV9pOTE1X2dlbV9y ZXF1ZXN0ICpyZXEsCiAJaWYgKGZsdXNoX2RvbWFpbnMgJiBJOTE1X0dFTV9ET01BSU5fR1RUKQog CQl3bWIoKTsKIAotCS8qIFVuY29uZGl0aW9uYWxseSBpbnZhbGlkYXRlIGdwdSBjYWNoZXMgYW5k IGVuc3VyZSB0aGF0IHdlIGRvIGZsdXNoCi0JICogYW55IHJlc2lkdWFsIHdyaXRlcyBmcm9tIHRo ZSBwcmV2aW91cyBiYXRjaC4KLQkgKi8KLQlyZXR1cm4gaW50ZWxfcmluZ19pbnZhbGlkYXRlX2Fs bF9jYWNoZXMocmVxKTsKKwlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGJvb2wKQEAgLTEyNTMsMTcg KzEyNTAsNiBAQCBpOTE1X2dlbV9yaW5nYnVmZmVyX3N1Ym1pc3Npb24oc3RydWN0IGk5MTVfZXhl Y2J1ZmZlcl9wYXJhbXMgKnBhcmFtcywKIAkJfQogCX0KIAotCXJldCA9IGk5MTVfZ2VtX2V4ZWNi dWZmZXJfbW92ZV90b19ncHUocGFyYW1zLT5yZXF1ZXN0LCB2bWFzKTsKLQlpZiAocmV0KQotCQln b3RvIGVycm9yOwotCi0JcmV0ID0gaTkxNV9zd2l0Y2hfY29udGV4dChwYXJhbXMtPnJlcXVlc3Qp OwotCWlmIChyZXQpCi0JCWdvdG8gZXJyb3I7Ci0KLQlXQVJOKHBhcmFtcy0+Y3R4LT5wcGd0dCAm JiBwYXJhbXMtPmN0eC0+cHBndHQtPnBkX2RpcnR5X3JpbmdzICYgKDE8PHJpbmctPmlkKSwKLQkg ICAgICIlcyBkaWRuJ3QgY2xlYXIgcmVsb2FkXG4iLCByaW5nLT5uYW1lKTsKLQogCWluc3RwX21v ZGUgPSBhcmdzLT5mbGFncyAmIEk5MTVfRVhFQ19DT05TVEFOVFNfTUFTSzsKIAlpbnN0cF9tYXNr ID0gSTkxNV9FWEVDX0NPTlNUQU5UU19NQVNLOwogCXN3aXRjaCAoaW5zdHBfbW9kZSkgewpAQCAt MTMwMSw2ICsxMjg3LDMyIEBAIGk5MTVfZ2VtX3JpbmdidWZmZXJfc3VibWlzc2lvbihzdHJ1Y3Qg aTkxNV9leGVjYnVmZmVyX3BhcmFtcyAqcGFyYW1zLAogCQlnb3RvIGVycm9yOwogCX0KIAorCXJl dCA9IGk5MTVfZ2VtX2V4ZWNidWZmZXJfbW92ZV90b19ncHUocGFyYW1zLT5yZXF1ZXN0LCB2bWFz KTsKKwlpZiAocmV0KQorCQlnb3RvIGVycm9yOworCisJaTkxNV9nZW1fZXhlY2J1ZmZlcl9tb3Zl X3RvX2FjdGl2ZSh2bWFzLCBwYXJhbXMtPnJlcXVlc3QpOworCisJLyogVG8gYmUgc3BsaXQgaW50 byB0d28gZnVuY3Rpb25zIGhlcmUuLi4gKi8KKworCWludGVsX3J1bnRpbWVfcG1fZ2V0KGRldl9w cml2KTsKKworCS8qCisJICogVW5jb25kaXRpb25hbGx5IGludmFsaWRhdGUgZ3B1IGNhY2hlcyBh bmQgZW5zdXJlIHRoYXQgd2UgZG8gZmx1c2gKKwkgKiBhbnkgcmVzaWR1YWwgd3JpdGVzIGZyb20g dGhlIHByZXZpb3VzIGJhdGNoLgorCSAqLworCXJldCA9IGludGVsX3JpbmdfaW52YWxpZGF0ZV9h bGxfY2FjaGVzKHBhcmFtcy0+cmVxdWVzdCk7CisJaWYgKHJldCkKKwkJZ290byBlcnJvcjsKKwor CS8qIFN3aXRjaCB0byB0aGUgY29ycmVjdCBjb250ZXh0IGZvciB0aGUgYmF0Y2ggKi8KKwlyZXQg PSBpOTE1X3N3aXRjaF9jb250ZXh0KHBhcmFtcy0+cmVxdWVzdCk7CisJaWYgKHJldCkKKwkJZ290 byBlcnJvcjsKKworCVdBUk4ocGFyYW1zLT5jdHgtPnBwZ3R0ICYmIHBhcmFtcy0+Y3R4LT5wcGd0 dC0+cGRfZGlydHlfcmluZ3MgJiAoMTw8cmluZy0+aWQpLAorCSAgICAgIiVzIGRpZG4ndCBjbGVh ciByZWxvYWRcbiIsIHJpbmctPm5hbWUpOworCiAJaWYgKHJpbmcgPT0gJmRldl9wcml2LT5yaW5n W1JDU10gJiYKIAkJCWluc3RwX21vZGUgIT0gZGV2X3ByaXYtPnJlbGF0aXZlX2NvbnN0YW50c19t b2RlKSB7CiAJCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocGFyYW1zLT5yZXF1ZXN0LCA0KTsKQEAg LTEzNDQsMTUgKzEzNTYsMjAgQEAgaTkxNV9nZW1fcmluZ2J1ZmZlcl9zdWJtaXNzaW9uKHN0cnVj dCBpOTE1X2V4ZWNidWZmZXJfcGFyYW1zICpwYXJhbXMsCiAJCQkJCQlleGVjX3N0YXJ0LCBleGVj X2xlbiwKIAkJCQkJCXBhcmFtcy0+ZGlzcGF0Y2hfZmxhZ3MpOwogCQlpZiAocmV0KQotCQkJcmV0 dXJuIHJldDsKKwkJCWdvdG8gZXJyb3I7CiAJfQogCiAJdHJhY2VfaTkxNV9nZW1fcmluZ19kaXNw YXRjaChwYXJhbXMtPnJlcXVlc3QsIHBhcmFtcy0+ZGlzcGF0Y2hfZmxhZ3MpOwogCi0JaTkxNV9n ZW1fZXhlY2J1ZmZlcl9tb3ZlX3RvX2FjdGl2ZSh2bWFzLCBwYXJhbXMtPnJlcXVlc3QpOwogCWk5 MTVfZ2VtX2V4ZWNidWZmZXJfcmV0aXJlX2NvbW1hbmRzKHBhcmFtcyk7CiAKIGVycm9yOgorCS8q CisJICogaW50ZWxfZ3B1X2J1c3kgc2hvdWxkIGFsc28gZ2V0IGEgcmVmLCBzbyBpdCB3aWxsIGZy ZWUgd2hlbiB0aGUgZGV2aWNlCisJICogaXMgcmVhbGx5IGlkbGUuCisJICovCisJaW50ZWxfcnVu dGltZV9wbV9wdXQoZGV2X3ByaXYpOworCiAJa2ZyZWUoY2xpcHJlY3RzKTsKIAlyZXR1cm4gcmV0 OwogfQpAQCAtMTU2Myw4ICsxNTgwLDYgQEAgaTkxNV9nZW1fZG9fZXhlY2J1ZmZlcihzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCX0KICNlbmRpZgogCi0JaW50ZWxfcnVudGlt ZV9wbV9nZXQoZGV2X3ByaXYpOwotCiAJcmV0ID0gaTkxNV9tdXRleF9sb2NrX2ludGVycnVwdGli bGUoZGV2KTsKIAlpZiAocmV0KQogCQlnb3RvIHByZV9tdXRleF9lcnI7CkBAIC0xNzU5LDEwICsx Nzc0LDYgQEAgZXJyOgogCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwogCiBwcmVf bXV0ZXhfZXJyOgotCS8qIGludGVsX2dwdV9idXN5IHNob3VsZCBhbHNvIGdldCBhIHJlZiwgc28g aXQgd2lsbCBmcmVlIHdoZW4gdGhlIGRldmljZQotCSAqIGlzIHJlYWxseSBpZGxlLiAqLwotCWlu dGVsX3J1bnRpbWVfcG1fcHV0KGRldl9wcml2KTsKLQogCWlmIChmZF9mZW5jZV9jb21wbGV0ZSAh PSAtMSkgewogCQlzeXNfY2xvc2UoZmRfZmVuY2VfY29tcGxldGUpOwogCQlhcmdzLT5yc3ZkMiA9 IChfX3U2NCkgLTE7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCmluZGV4IDhhYTlhMTguLjg5ZjNi Y2QgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCkBAIC02MTMsMTAgKzYxMyw3IEBAIHN0YXRp YyBpbnQgZXhlY2xpc3RzX21vdmVfdG9fZ3B1KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAq cmVxLAogCWlmIChmbHVzaF9kb21haW5zICYgSTkxNV9HRU1fRE9NQUlOX0dUVCkKIAkJd21iKCk7 CiAKLQkvKiBVbmNvbmRpdGlvbmFsbHkgaW52YWxpZGF0ZSBncHUgY2FjaGVzIGFuZCBlbnN1cmUg dGhhdCB3ZSBkbyBmbHVzaAotCSAqIGFueSByZXNpZHVhbCB3cml0ZXMgZnJvbSB0aGUgcHJldmlv dXMgYmF0Y2guCi0JICovCi0JcmV0dXJuIGxvZ2ljYWxfcmluZ19pbnZhbGlkYXRlX2FsbF9jYWNo ZXMocmVxKTsKKwlyZXR1cm4gMDsKIH0KIAogaW50IGludGVsX2xvZ2ljYWxfcmluZ19hbGxvY19y ZXF1ZXN0X2V4dHJhcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QpCkBAIC04 ODksNiArODg2LDE4IEBAIGludCBpbnRlbF9leGVjbGlzdHNfc3VibWlzc2lvbihzdHJ1Y3QgaTkx NV9leGVjYnVmZmVyX3BhcmFtcyAqcGFyYW1zLAogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAK KwlpOTE1X2dlbV9leGVjYnVmZmVyX21vdmVfdG9fYWN0aXZlKHZtYXMsIHBhcmFtcy0+cmVxdWVz dCk7CisKKwkvKiBUbyBiZSBzcGxpdCBpbnRvIHR3byBmdW5jdGlvbnMgaGVyZS4uLiAqLworCisJ LyoKKwkgKiBVbmNvbmRpdGlvbmFsbHkgaW52YWxpZGF0ZSBncHUgY2FjaGVzIGFuZCBlbnN1cmUg dGhhdCB3ZSBkbyBmbHVzaAorCSAqIGFueSByZXNpZHVhbCB3cml0ZXMgZnJvbSB0aGUgcHJldmlv dXMgYmF0Y2guCisJICovCisJcmV0ID0gbG9naWNhbF9yaW5nX2ludmFsaWRhdGVfYWxsX2NhY2hl cyhwYXJhbXMtPnJlcXVlc3QpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKIAlpZiAocmlu ZyA9PSAmZGV2X3ByaXYtPnJpbmdbUkNTXSAmJgogCSAgICBpbnN0cF9tb2RlICE9IGRldl9wcml2 LT5yZWxhdGl2ZV9jb25zdGFudHNfbW9kZSkgewogCQlyZXQgPSBpbnRlbF9sb2dpY2FsX3Jpbmdf YmVnaW4ocGFyYW1zLT5yZXF1ZXN0LCA0KTsKQEAgLTkxMyw3ICs5MjIsNiBAQCBpbnQgaW50ZWxf ZXhlY2xpc3RzX3N1Ym1pc3Npb24oc3RydWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJhbXMgKnBhcmFt cywKIAogCXRyYWNlX2k5MTVfZ2VtX3JpbmdfZGlzcGF0Y2gocGFyYW1zLT5yZXF1ZXN0LCBwYXJh bXMtPmRpc3BhdGNoX2ZsYWdzKTsKIAotCWk5MTVfZ2VtX2V4ZWNidWZmZXJfbW92ZV90b19hY3Rp dmUodm1hcywgcGFyYW1zLT5yZXF1ZXN0KTsKIAlpOTE1X2dlbV9leGVjYnVmZmVyX3JldGlyZV9j b21tYW5kcyhwYXJhbXMpOwogCiAJcmV0dXJuIDA7Ci0tIAoxLjkuMQoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK