From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH v4 03/38] drm/i915: Prelude to splitting i915_gem_do_execbuffer in two Date: Mon, 11 Jan 2016 18:42:32 +0000 Message-ID: <1452537788-32136-4-git-send-email-John.C.Harrison@Intel.com> References: <1448278774-31376-1-git-send-email-John.C.Harrison@Intel.com> <1452537788-32136-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 73E516E517 for ; Mon, 11 Jan 2016 10:43:13 -0800 (PST) In-Reply-To: <1452537788-32136-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 aXZlcgp3aXRoIHRoZWlyIHN1Ym1pc3Npb24gdG8gdGhlIGhhcmR3YXJlLiBUaGlzIGJhc2ljYWxs eSBtZWFucyBzcGxpdHRpbmcKdGhlIGV4ZWNidWZmZXIoKSBmdW5jdGlvbiBpbiBoYWxmLiBUaGlz IGNoYW5nZSByZWFycmFuZ2VzIHNvbWUgY29kZQpyZWFkeSBmb3IgdGhlIHNwbGl0IHRvIG9jY3Vy LgoKRm9yOiBWSVotMTU4NwpTaWduZWQtb2ZmLWJ5OiBKb2huIEhhcnJpc29uIDxKb2huLkMuSGFy cmlzb25ASW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNi dWZmZXIuYyB8IDYzICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfbHJjLmMgICAgICAgICAgIHwgMTggKysrKysrLS0tCiAyIGZpbGVzIGNo YW5nZWQsIDUxIGluc2VydGlvbnMoKyksIDMwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwppbmRleCBiZmM0YzE3Li4wZWNhMmI2IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCkBAIC05MzMsMTAgKzkz Myw3IEBAIGk5MTVfZ2VtX2V4ZWNidWZmZXJfbW92ZV90b19ncHUoc3RydWN0IGRybV9pOTE1X2dl bV9yZXF1ZXN0ICpyZXEsCiAJaWYgKGZsdXNoX2RvbWFpbnMgJiBJOTE1X0dFTV9ET01BSU5fR1RU KQogCQl3bWIoKTsKIAotCS8qIFVuY29uZGl0aW9uYWxseSBpbnZhbGlkYXRlIGdwdSBjYWNoZXMg YW5kIGVuc3VyZSB0aGF0IHdlIGRvIGZsdXNoCi0JICogYW55IHJlc2lkdWFsIHdyaXRlcyBmcm9t IHRoZSBwcmV2aW91cyBiYXRjaC4KLQkgKi8KLQlyZXR1cm4gaW50ZWxfcmluZ19pbnZhbGlkYXRl X2FsbF9jYWNoZXMocmVxKTsKKwlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGJvb2wKQEAgLTExODks MTcgKzExODYsNiBAQCBpOTE1X2dlbV9yaW5nYnVmZmVyX3N1Ym1pc3Npb24oc3RydWN0IGk5MTVf ZXhlY2J1ZmZlcl9wYXJhbXMgKnBhcmFtcywKIAl1MzIgaW5zdHBfbWFzazsKIAlpbnQgcmV0Owog Ci0JcmV0ID0gaTkxNV9nZW1fZXhlY2J1ZmZlcl9tb3ZlX3RvX2dwdShwYXJhbXMtPnJlcXVlc3Qs IHZtYXMpOwotCWlmIChyZXQpCi0JCXJldHVybiByZXQ7Ci0KLQlyZXQgPSBpOTE1X3N3aXRjaF9j b250ZXh0KHBhcmFtcy0+cmVxdWVzdCk7Ci0JaWYgKHJldCkKLQkJcmV0dXJuIHJldDsKLQotCVdB Uk4ocGFyYW1zLT5jdHgtPnBwZ3R0ICYmIHBhcmFtcy0+Y3R4LT5wcGd0dC0+cGRfZGlydHlfcmlu Z3MgJiAoMTw8cmluZy0+aWQpLAotCSAgICAgIiVzIGRpZG4ndCBjbGVhciByZWxvYWRcbiIsIHJp bmctPm5hbWUpOwotCiAJaW5zdHBfbW9kZSA9IGFyZ3MtPmZsYWdzICYgSTkxNV9FWEVDX0NPTlNU QU5UU19NQVNLOwogCWluc3RwX21hc2sgPSBJOTE1X0VYRUNfQ09OU1RBTlRTX01BU0s7CiAJc3dp dGNoIChpbnN0cF9tb2RlKSB7CkBAIC0xMjMzLDExICsxMjE5LDM3IEBAIGk5MTVfZ2VtX3Jpbmdi dWZmZXJfc3VibWlzc2lvbihzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyX3BhcmFtcyAqcGFyYW1zLAog CQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKKwlyZXQgPSBpOTE1X2dlbV9leGVjYnVmZmVyX21vdmVf dG9fZ3B1KHBhcmFtcy0+cmVxdWVzdCwgdm1hcyk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsK KworCWk5MTVfZ2VtX2V4ZWNidWZmZXJfbW92ZV90b19hY3RpdmUodm1hcywgcGFyYW1zLT5yZXF1 ZXN0KTsKKworCS8qIFRvIGJlIHNwbGl0IGludG8gdHdvIGZ1bmN0aW9ucyBoZXJlLi4uICovCisK KwlpbnRlbF9ydW50aW1lX3BtX2dldChkZXZfcHJpdik7CisKKwkvKgorCSAqIFVuY29uZGl0aW9u YWxseSBpbnZhbGlkYXRlIGdwdSBjYWNoZXMgYW5kIGVuc3VyZSB0aGF0IHdlIGRvIGZsdXNoCisJ ICogYW55IHJlc2lkdWFsIHdyaXRlcyBmcm9tIHRoZSBwcmV2aW91cyBiYXRjaC4KKwkgKi8KKwly ZXQgPSBpbnRlbF9yaW5nX2ludmFsaWRhdGVfYWxsX2NhY2hlcyhwYXJhbXMtPnJlcXVlc3QpOwor CWlmIChyZXQpCisJCWdvdG8gZXJyb3I7CisKKwkvKiBTd2l0Y2ggdG8gdGhlIGNvcnJlY3QgY29u dGV4dCBmb3IgdGhlIGJhdGNoICovCisJcmV0ID0gaTkxNV9zd2l0Y2hfY29udGV4dChwYXJhbXMt PnJlcXVlc3QpOworCWlmIChyZXQpCisJCWdvdG8gZXJyb3I7CisKKwlXQVJOKHBhcmFtcy0+Y3R4 LT5wcGd0dCAmJiBwYXJhbXMtPmN0eC0+cHBndHQtPnBkX2RpcnR5X3JpbmdzICYgKDE8PHJpbmct PmlkKSwKKwkgICAgICIlcyBkaWRuJ3QgY2xlYXIgcmVsb2FkXG4iLCByaW5nLT5uYW1lKTsKKwog CWlmIChyaW5nID09ICZkZXZfcHJpdi0+cmluZ1tSQ1NdICYmCiAJICAgIGluc3RwX21vZGUgIT0g ZGV2X3ByaXYtPnJlbGF0aXZlX2NvbnN0YW50c19tb2RlKSB7CiAJCXJldCA9IGludGVsX3Jpbmdf YmVnaW4ocGFyYW1zLT5yZXF1ZXN0LCA0KTsKIAkJaWYgKHJldCkKLQkJCXJldHVybiByZXQ7CisJ CQlnb3RvIGVycm9yOwogCiAJCWludGVsX3JpbmdfZW1pdChyaW5nLCBNSV9OT09QKTsKIAkJaW50 ZWxfcmluZ19lbWl0KHJpbmcsIE1JX0xPQURfUkVHSVNURVJfSU1NKDEpKTsKQEAgLTEyNTEsNyAr MTI2Myw3IEBAIGk5MTVfZ2VtX3JpbmdidWZmZXJfc3VibWlzc2lvbihzdHJ1Y3QgaTkxNV9leGVj YnVmZmVyX3BhcmFtcyAqcGFyYW1zLAogCWlmIChhcmdzLT5mbGFncyAmIEk5MTVfRVhFQ19HRU43 X1NPTF9SRVNFVCkgewogCQlyZXQgPSBpOTE1X3Jlc2V0X2dlbjdfc29sX29mZnNldHMoZGV2LCBw YXJhbXMtPnJlcXVlc3QpOwogCQlpZiAocmV0KQotCQkJcmV0dXJuIHJldDsKKwkJCWdvdG8gZXJy b3I7CiAJfQogCiAJZXhlY19sZW4gICA9IGFyZ3MtPmJhdGNoX2xlbjsKQEAgLTEyNjIsMTQgKzEy NzQsMjAgQEAgaTkxNV9nZW1fcmluZ2J1ZmZlcl9zdWJtaXNzaW9uKHN0cnVjdCBpOTE1X2V4ZWNi dWZmZXJfcGFyYW1zICpwYXJhbXMsCiAJCQkJCWV4ZWNfc3RhcnQsIGV4ZWNfbGVuLAogCQkJCQlw YXJhbXMtPmRpc3BhdGNoX2ZsYWdzKTsKIAlpZiAocmV0KQotCQlyZXR1cm4gcmV0OworCQlnb3Rv IGVycm9yOwogCiAJdHJhY2VfaTkxNV9nZW1fcmluZ19kaXNwYXRjaChwYXJhbXMtPnJlcXVlc3Qs IHBhcmFtcy0+ZGlzcGF0Y2hfZmxhZ3MpOwogCi0JaTkxNV9nZW1fZXhlY2J1ZmZlcl9tb3ZlX3Rv X2FjdGl2ZSh2bWFzLCBwYXJhbXMtPnJlcXVlc3QpOwogCWk5MTVfZ2VtX2V4ZWNidWZmZXJfcmV0 aXJlX2NvbW1hbmRzKHBhcmFtcyk7CiAKLQlyZXR1cm4gMDsKK2Vycm9yOgorCS8qCisJICogaW50 ZWxfZ3B1X2J1c3kgc2hvdWxkIGFsc28gZ2V0IGEgcmVmLCBzbyBpdCB3aWxsIGZyZWUgd2hlbiB0 aGUgZGV2aWNlCisJICogaXMgcmVhbGx5IGlkbGUuCisJICovCisJaW50ZWxfcnVudGltZV9wbV9w dXQoZGV2X3ByaXYpOworCisJcmV0dXJuIHJldDsKIH0KIAogLyoqCkBAIC0xNDI0LDggKzE0NDIs NiBAQCBpOTE1X2dlbV9kb19leGVjYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQg KmRhdGEsCiAJCWRpc3BhdGNoX2ZsYWdzIHw9IEk5MTVfRElTUEFUQ0hfUlM7CiAJfQogCi0JaW50 ZWxfcnVudGltZV9wbV9nZXQoZGV2X3ByaXYpOwotCiAJcmV0ID0gaTkxNV9tdXRleF9sb2NrX2lu dGVycnVwdGlibGUoZGV2KTsKIAlpZiAocmV0KQogCQlnb3RvIHByZV9tdXRleF9lcnI7CkBAIC0x NTk5LDkgKzE2MTUsNiBAQCBlcnI6CiAJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7 CiAKIHByZV9tdXRleF9lcnI6Ci0JLyogaW50ZWxfZ3B1X2J1c3kgc2hvdWxkIGFsc28gZ2V0IGEg cmVmLCBzbyBpdCB3aWxsIGZyZWUgd2hlbiB0aGUgZGV2aWNlCi0JICogaXMgcmVhbGx5IGlkbGUu ICovCi0JaW50ZWxfcnVudGltZV9wbV9wdXQoZGV2X3ByaXYpOwogCXJldHVybiByZXQ7CiB9CiAK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKaW5kZXggZTUxMDczMC4uNGJmMGVlNiAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfbHJjLmMKQEAgLTY0NywxMCArNjQ3LDcgQEAgc3RhdGljIGludCBleGVjbGlz dHNfbW92ZV90b19ncHUoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCiAJaWYgKGZs dXNoX2RvbWFpbnMgJiBJOTE1X0dFTV9ET01BSU5fR1RUKQogCQl3bWIoKTsKIAotCS8qIFVuY29u ZGl0aW9uYWxseSBpbnZhbGlkYXRlIGdwdSBjYWNoZXMgYW5kIGVuc3VyZSB0aGF0IHdlIGRvIGZs dXNoCi0JICogYW55IHJlc2lkdWFsIHdyaXRlcyBmcm9tIHRoZSBwcmV2aW91cyBiYXRjaC4KLQkg Ki8KLQlyZXR1cm4gbG9naWNhbF9yaW5nX2ludmFsaWRhdGVfYWxsX2NhY2hlcyhyZXEpOworCXJl dHVybiAwOwogfQogCiBpbnQgaW50ZWxfbG9naWNhbF9yaW5nX2FsbG9jX3JlcXVlc3RfZXh0cmFz KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCkKQEAgLTkxMyw2ICs5MTAsMTgg QEAgaW50IGludGVsX2V4ZWNsaXN0c19zdWJtaXNzaW9uKHN0cnVjdCBpOTE1X2V4ZWNidWZmZXJf cGFyYW1zICpwYXJhbXMsCiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIAorCWk5MTVfZ2VtX2V4 ZWNidWZmZXJfbW92ZV90b19hY3RpdmUodm1hcywgcGFyYW1zLT5yZXF1ZXN0KTsKKworCS8qIFRv IGJlIHNwbGl0IGludG8gdHdvIGZ1bmN0aW9ucyBoZXJlLi4uICovCisKKwkvKgorCSAqIFVuY29u ZGl0aW9uYWxseSBpbnZhbGlkYXRlIGdwdSBjYWNoZXMgYW5kIGVuc3VyZSB0aGF0IHdlIGRvIGZs dXNoCisJICogYW55IHJlc2lkdWFsIHdyaXRlcyBmcm9tIHRoZSBwcmV2aW91cyBiYXRjaC4KKwkg Ki8KKwlyZXQgPSBsb2dpY2FsX3JpbmdfaW52YWxpZGF0ZV9hbGxfY2FjaGVzKHBhcmFtcy0+cmVx dWVzdCk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKwogCWlmIChyaW5nID09ICZkZXZfcHJp di0+cmluZ1tSQ1NdICYmCiAJICAgIGluc3RwX21vZGUgIT0gZGV2X3ByaXYtPnJlbGF0aXZlX2Nv bnN0YW50c19tb2RlKSB7CiAJCXJldCA9IGludGVsX2xvZ2ljYWxfcmluZ19iZWdpbihwYXJhbXMt PnJlcXVlc3QsIDQpOwpAQCAtOTM3LDcgKzk0Niw2IEBAIGludCBpbnRlbF9leGVjbGlzdHNfc3Vi bWlzc2lvbihzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyX3BhcmFtcyAqcGFyYW1zLAogCiAJdHJhY2Vf aTkxNV9nZW1fcmluZ19kaXNwYXRjaChwYXJhbXMtPnJlcXVlc3QsIHBhcmFtcy0+ZGlzcGF0Y2hf ZmxhZ3MpOwogCi0JaTkxNV9nZW1fZXhlY2J1ZmZlcl9tb3ZlX3RvX2FjdGl2ZSh2bWFzLCBwYXJh bXMtPnJlcXVlc3QpOwogCWk5MTVfZ2VtX2V4ZWNidWZmZXJfcmV0aXJlX2NvbW1hbmRzKHBhcmFt cyk7CiAKIAlyZXR1cm4gMDsKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo=