From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH 04/39] drm/i915: Prelude to splitting i915_gem_do_execbuffer in two Date: Mon, 23 Nov 2015 11:38:59 +0000 Message-ID: <1448278774-31376-5-git-send-email-John.C.Harrison@Intel.com> References: <1448278774-31376-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 mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id A9BF4721EF for ; Mon, 23 Nov 2015 03:39:39 -0800 (PST) In-Reply-To: <1448278774-31376-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 ci5jIHwgNjQgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9scmMuYyAgICAgICAgICAgfCAxOCArKysrKystLS0KIDIgZmlsZXMgY2hhbmdl ZCwgNTEgaW5zZXJ0aW9ucygrKSwgMzEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCmluZGV4IDVmNjI5ZjguLmY3ZjEwNTcgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKQEAgLTkzNSwxMCArOTM1LDcg QEAgaTkxNV9nZW1fZXhlY2J1ZmZlcl9tb3ZlX3RvX2dwdShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3Jl cXVlc3QgKnJlcSwKIAlpZiAoZmx1c2hfZG9tYWlucyAmIEk5MTVfR0VNX0RPTUFJTl9HVFQpCiAJ CXdtYigpOwogCi0JLyogVW5jb25kaXRpb25hbGx5IGludmFsaWRhdGUgZ3B1IGNhY2hlcyBhbmQg ZW5zdXJlIHRoYXQgd2UgZG8gZmx1c2gKLQkgKiBhbnkgcmVzaWR1YWwgd3JpdGVzIGZyb20gdGhl IHByZXZpb3VzIGJhdGNoLgotCSAqLwotCXJldHVybiBpbnRlbF9yaW5nX2ludmFsaWRhdGVfYWxs X2NhY2hlcyhyZXEpOworCXJldHVybiAwOwogfQogCiBzdGF0aWMgYm9vbApAQCAtMTE5MSwxNyAr MTE4OCw2IEBAIGk5MTVfZ2VtX3JpbmdidWZmZXJfc3VibWlzc2lvbihzdHJ1Y3QgaTkxNV9leGVj YnVmZmVyX3BhcmFtcyAqcGFyYW1zLAogCXUzMiBpbnN0cF9tYXNrOwogCWludCByZXQ7CiAKLQly ZXQgPSBpOTE1X2dlbV9leGVjYnVmZmVyX21vdmVfdG9fZ3B1KHBhcmFtcy0+cmVxdWVzdCwgdm1h cyk7Ci0JaWYgKHJldCkKLQkJcmV0dXJuIHJldDsKLQotCXJldCA9IGk5MTVfc3dpdGNoX2NvbnRl eHQocGFyYW1zLT5yZXF1ZXN0KTsKLQlpZiAocmV0KQotCQlyZXR1cm4gcmV0OwotCi0JV0FSTihw YXJhbXMtPmN0eC0+cHBndHQgJiYgcGFyYW1zLT5jdHgtPnBwZ3R0LT5wZF9kaXJ0eV9yaW5ncyAm ICgxPDxyaW5nLT5pZCksCi0JICAgICAiJXMgZGlkbid0IGNsZWFyIHJlbG9hZFxuIiwgcmluZy0+ bmFtZSk7Ci0KIAlpbnN0cF9tb2RlID0gYXJncy0+ZmxhZ3MgJiBJOTE1X0VYRUNfQ09OU1RBTlRT X01BU0s7CiAJaW5zdHBfbWFzayA9IEk5MTVfRVhFQ19DT05TVEFOVFNfTUFTSzsKIAlzd2l0Y2gg KGluc3RwX21vZGUpIHsKQEAgLTEyMzUsMTEgKzEyMjEsMzcgQEAgaTkxNV9nZW1fcmluZ2J1ZmZl cl9zdWJtaXNzaW9uKHN0cnVjdCBpOTE1X2V4ZWNidWZmZXJfcGFyYW1zICpwYXJhbXMsCiAJCXJl dHVybiAtRUlOVkFMOwogCX0KIAorCXJldCA9IGk5MTVfZ2VtX2V4ZWNidWZmZXJfbW92ZV90b19n cHUocGFyYW1zLT5yZXF1ZXN0LCB2bWFzKTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCisJ aTkxNV9nZW1fZXhlY2J1ZmZlcl9tb3ZlX3RvX2FjdGl2ZSh2bWFzLCBwYXJhbXMtPnJlcXVlc3Qp OworCisJLyogVG8gYmUgc3BsaXQgaW50byB0d28gZnVuY3Rpb25zIGhlcmUuLi4gKi8KKworCWlu dGVsX3J1bnRpbWVfcG1fZ2V0KGRldl9wcml2KTsKKworCS8qCisJICogVW5jb25kaXRpb25hbGx5 IGludmFsaWRhdGUgZ3B1IGNhY2hlcyBhbmQgZW5zdXJlIHRoYXQgd2UgZG8gZmx1c2gKKwkgKiBh bnkgcmVzaWR1YWwgd3JpdGVzIGZyb20gdGhlIHByZXZpb3VzIGJhdGNoLgorCSAqLworCXJldCA9 IGludGVsX3JpbmdfaW52YWxpZGF0ZV9hbGxfY2FjaGVzKHBhcmFtcy0+cmVxdWVzdCk7CisJaWYg KHJldCkKKwkJZ290byBlcnJvcjsKKworCS8qIFN3aXRjaCB0byB0aGUgY29ycmVjdCBjb250ZXh0 IGZvciB0aGUgYmF0Y2ggKi8KKwlyZXQgPSBpOTE1X3N3aXRjaF9jb250ZXh0KHBhcmFtcy0+cmVx dWVzdCk7CisJaWYgKHJldCkKKwkJZ290byBlcnJvcjsKKworCVdBUk4ocGFyYW1zLT5jdHgtPnBw Z3R0ICYmIHBhcmFtcy0+Y3R4LT5wcGd0dC0+cGRfZGlydHlfcmluZ3MgJiAoMTw8cmluZy0+aWQp LAorCSAgICAgIiVzIGRpZG4ndCBjbGVhciByZWxvYWRcbiIsIHJpbmctPm5hbWUpOworCiAJaWYg KHJpbmcgPT0gJmRldl9wcml2LT5yaW5nW1JDU10gJiYKIAkgICAgaW5zdHBfbW9kZSAhPSBkZXZf cHJpdi0+cmVsYXRpdmVfY29uc3RhbnRzX21vZGUpIHsKIAkJcmV0ID0gaW50ZWxfcmluZ19iZWdp bihwYXJhbXMtPnJlcXVlc3QsIDQpOwogCQlpZiAocmV0KQotCQkJcmV0dXJuIHJldDsKKwkJCWdv dG8gZXJyb3I7CiAKIAkJaW50ZWxfcmluZ19lbWl0KHJpbmcsIE1JX05PT1ApOwogCQlpbnRlbF9y aW5nX2VtaXQocmluZywgTUlfTE9BRF9SRUdJU1RFUl9JTU0oMSkpOwpAQCAtMTI1Myw3ICsxMjY1 LDcgQEAgaTkxNV9nZW1fcmluZ2J1ZmZlcl9zdWJtaXNzaW9uKHN0cnVjdCBpOTE1X2V4ZWNidWZm ZXJfcGFyYW1zICpwYXJhbXMsCiAJaWYgKGFyZ3MtPmZsYWdzICYgSTkxNV9FWEVDX0dFTjdfU09M X1JFU0VUKSB7CiAJCXJldCA9IGk5MTVfcmVzZXRfZ2VuN19zb2xfb2Zmc2V0cyhkZXYsIHBhcmFt cy0+cmVxdWVzdCk7CiAJCWlmIChyZXQpCi0JCQlyZXR1cm4gcmV0OworCQkJZ290byBlcnJvcjsK IAl9CiAKIAlleGVjX2xlbiAgID0gYXJncy0+YmF0Y2hfbGVuOwpAQCAtMTI2NCwxNCArMTI3Niwy MCBAQCBpOTE1X2dlbV9yaW5nYnVmZmVyX3N1Ym1pc3Npb24oc3RydWN0IGk5MTVfZXhlY2J1ZmZl cl9wYXJhbXMgKnBhcmFtcywKIAkJCQkJZXhlY19zdGFydCwgZXhlY19sZW4sCiAJCQkJCXBhcmFt cy0+ZGlzcGF0Y2hfZmxhZ3MpOwogCWlmIChyZXQpCi0JCXJldHVybiByZXQ7CisJCWdvdG8gZXJy b3I7CiAKIAl0cmFjZV9pOTE1X2dlbV9yaW5nX2Rpc3BhdGNoKHBhcmFtcy0+cmVxdWVzdCwgcGFy YW1zLT5kaXNwYXRjaF9mbGFncyk7CiAKLQlpOTE1X2dlbV9leGVjYnVmZmVyX21vdmVfdG9fYWN0 aXZlKHZtYXMsIHBhcmFtcy0+cmVxdWVzdCk7CiAJaTkxNV9nZW1fZXhlY2J1ZmZlcl9yZXRpcmVf Y29tbWFuZHMocGFyYW1zKTsKIAotCXJldHVybiAwOworZXJyb3I6CisJLyoKKwkgKiBpbnRlbF9n cHVfYnVzeSBzaG91bGQgYWxzbyBnZXQgYSByZWYsIHNvIGl0IHdpbGwgZnJlZSB3aGVuIHRoZSBk ZXZpY2UKKwkgKiBpcyByZWFsbHkgaWRsZS4KKwkgKi8KKwlpbnRlbF9ydW50aW1lX3BtX3B1dChk ZXZfcHJpdik7CisKKwlyZXR1cm4gcmV0OwogfQogCiAvKioKQEAgLTE0ODAsOCArMTQ5OCw2IEBA IGk5MTVfZ2VtX2RvX2V4ZWNidWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0 YSwKIAkJYXJncy0+ZmxhZ3MgJj0gfkk5MTVfRVhFQ19XQUlUX0ZFTkNFOwogCX0KIAotCWludGVs X3J1bnRpbWVfcG1fZ2V0KGRldl9wcml2KTsKLQogCXJldCA9IGk5MTVfbXV0ZXhfbG9ja19pbnRl cnJ1cHRpYmxlKGRldik7CiAJaWYgKHJldCkKIAkJZ290byBwcmVfbXV0ZXhfZXJyOwpAQCAtMTY4 OCwxMCArMTcwNCw2IEBAIGVycjoKIAltdXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsK IAogcHJlX211dGV4X2VycjoKLQkvKiBpbnRlbF9ncHVfYnVzeSBzaG91bGQgYWxzbyBnZXQgYSBy ZWYsIHNvIGl0IHdpbGwgZnJlZSB3aGVuIHRoZSBkZXZpY2UKLQkgKiBpcyByZWFsbHkgaWRsZS4g Ki8KLQlpbnRlbF9ydW50aW1lX3BtX3B1dChkZXZfcHJpdik7Ci0KIAlyZXR1cm4gcmV0OwogfQog CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCmluZGV4IGU1MTA3MzAuLjRiZjBlZTYgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2xyYy5jCkBAIC02NDcsMTAgKzY0Nyw3IEBAIHN0YXRpYyBpbnQgZXhlY2xp c3RzX21vdmVfdG9fZ3B1KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAogCWlmIChm bHVzaF9kb21haW5zICYgSTkxNV9HRU1fRE9NQUlOX0dUVCkKIAkJd21iKCk7CiAKLQkvKiBVbmNv bmRpdGlvbmFsbHkgaW52YWxpZGF0ZSBncHUgY2FjaGVzIGFuZCBlbnN1cmUgdGhhdCB3ZSBkbyBm bHVzaAotCSAqIGFueSByZXNpZHVhbCB3cml0ZXMgZnJvbSB0aGUgcHJldmlvdXMgYmF0Y2guCi0J ICovCi0JcmV0dXJuIGxvZ2ljYWxfcmluZ19pbnZhbGlkYXRlX2FsbF9jYWNoZXMocmVxKTsKKwly ZXR1cm4gMDsKIH0KIAogaW50IGludGVsX2xvZ2ljYWxfcmluZ19hbGxvY19yZXF1ZXN0X2V4dHJh cyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QpCkBAIC05MTMsNiArOTEwLDE4 IEBAIGludCBpbnRlbF9leGVjbGlzdHNfc3VibWlzc2lvbihzdHJ1Y3QgaTkxNV9leGVjYnVmZmVy X3BhcmFtcyAqcGFyYW1zLAogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKKwlpOTE1X2dlbV9l eGVjYnVmZmVyX21vdmVfdG9fYWN0aXZlKHZtYXMsIHBhcmFtcy0+cmVxdWVzdCk7CisKKwkvKiBU byBiZSBzcGxpdCBpbnRvIHR3byBmdW5jdGlvbnMgaGVyZS4uLiAqLworCisJLyoKKwkgKiBVbmNv bmRpdGlvbmFsbHkgaW52YWxpZGF0ZSBncHUgY2FjaGVzIGFuZCBlbnN1cmUgdGhhdCB3ZSBkbyBm bHVzaAorCSAqIGFueSByZXNpZHVhbCB3cml0ZXMgZnJvbSB0aGUgcHJldmlvdXMgYmF0Y2guCisJ ICovCisJcmV0ID0gbG9naWNhbF9yaW5nX2ludmFsaWRhdGVfYWxsX2NhY2hlcyhwYXJhbXMtPnJl cXVlc3QpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKIAlpZiAocmluZyA9PSAmZGV2X3By aXYtPnJpbmdbUkNTXSAmJgogCSAgICBpbnN0cF9tb2RlICE9IGRldl9wcml2LT5yZWxhdGl2ZV9j b25zdGFudHNfbW9kZSkgewogCQlyZXQgPSBpbnRlbF9sb2dpY2FsX3JpbmdfYmVnaW4ocGFyYW1z LT5yZXF1ZXN0LCA0KTsKQEAgLTkzNyw3ICs5NDYsNiBAQCBpbnQgaW50ZWxfZXhlY2xpc3RzX3N1 Ym1pc3Npb24oc3RydWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJhbXMgKnBhcmFtcywKIAogCXRyYWNl X2k5MTVfZ2VtX3JpbmdfZGlzcGF0Y2gocGFyYW1zLT5yZXF1ZXN0LCBwYXJhbXMtPmRpc3BhdGNo X2ZsYWdzKTsKIAotCWk5MTVfZ2VtX2V4ZWNidWZmZXJfbW92ZV90b19hY3RpdmUodm1hcywgcGFy YW1zLT5yZXF1ZXN0KTsKIAlpOTE1X2dlbV9leGVjYnVmZmVyX3JldGlyZV9jb21tYW5kcyhwYXJh bXMpOwogCiAJcmV0dXJuIDA7Ci0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK