From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 31/38] drm/i915: Record space required for request emission Date: Tue, 20 Sep 2016 09:30:05 +0100 Message-ID: <20160920083012.2754-32-chris@chris-wilson.co.uk> References: <20160920083012.2754-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x241.google.com (mail-wm0-x241.google.com [IPv6:2a00:1450:400c:c09::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 22ADB89C60 for ; Tue, 20 Sep 2016 08:30:55 +0000 (UTC) Received: by mail-wm0-x241.google.com with SMTP id b184so2073630wma.3 for ; Tue, 20 Sep 2016 01:30:55 -0700 (PDT) In-Reply-To: <20160920083012.2754-1-chris@chris-wilson.co.uk> 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: mika.kuoppala@intel.com List-Id: intel-gfx@lists.freedesktop.org SW4gdGhlIG5leHQgcGF0Y2gsIHdlIHdpbGwgdXNlIGRlZmVycmVkIHJlcXVlc3QgZW1pc3Npb24u IFRoYXQgcmVxdWlyZXMKcmVzZXJ2aW5nIHN1ZmZpY2llbnQgc3BhY2UgaW4gdGhlIHJpbmdidWZm ZXIgdG8gZW1pdCB0aGUgcmVxdWVzdCwgd2hpY2gKZmlyc3QgcmVxdWlyZXMgdXMgdG8ga25vdyBo b3cgbGFyZ2UgdGhlIHJlcXVlc3QgaXMuCgpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNo cmlzQGNocmlzLXdpbHNvbi5jby51az4KUmV2aWV3ZWQtYnk6IEpvb25hcyBMYWh0aW5lbiA8am9v bmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9yZXF1ZXN0LmMgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMu YyAgICAgICAgfCAgNiArKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZm ZXIuYyB8IDI5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggfCAgMSArCiA0IGZpbGVzIGNoYW5nZWQsIDM1IGluc2Vy dGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fcmVxdWVzdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVx dWVzdC5jCmluZGV4IDhhMzE5MzYwOWJjMy4uYzZjMzFhYWI5ZTM4IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jCkBAIC00MjcsNiArNDI3LDcgQEAgaTkxNV9nZW1fcmVx dWVzdF9hbGxvYyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCiAJICogYXdheSwgZS5n LiBiZWNhdXNlIGEgR1BVIHNjaGVkdWxlciBoYXMgZGVmZXJyZWQgaXQuCiAJICovCiAJcmVxLT5y ZXNlcnZlZF9zcGFjZSA9IE1JTl9TUEFDRV9GT1JfQUREX1JFUVVFU1Q7CisJR0VNX0JVR19PTihy ZXEtPnJlc2VydmVkX3NwYWNlIDwgZW5naW5lLT5lbWl0X3JlcXVlc3Rfc3opOwogCiAJaWYgKGk5 MTUuZW5hYmxlX2V4ZWNsaXN0cykKIAkJcmV0ID0gaW50ZWxfbG9naWNhbF9yaW5nX2FsbG9jX3Jl cXVlc3RfZXh0cmFzKHJlcSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCmluZGV4IGEyNDIxYTU2 NmVkNi4uODdlNmJmNDM5MmZkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9scmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpAQCAtMTU3Miw2 ICsxNTcyLDggQEAgc3RhdGljIGludCBnZW44X2VtaXRfcmVxdWVzdChzdHJ1Y3QgZHJtX2k5MTVf Z2VtX3JlcXVlc3QgKnJlcXVlc3QpCiAJcmV0dXJuIGludGVsX2xvZ2ljYWxfcmluZ19hZHZhbmNl KHJlcXVlc3QpOwogfQogCitzdGF0aWMgY29uc3QgaW50IGdlbjhfZW1pdF9yZXF1ZXN0X3N6ID0g NiArIFdBX1RBSUxfRFdPUkRTOworCiBzdGF0aWMgaW50IGdlbjhfZW1pdF9yZXF1ZXN0X3JlbmRl cihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QpCiB7CiAJc3RydWN0IGludGVs X3JpbmcgKnJpbmcgPSByZXF1ZXN0LT5yaW5nOwpAQCAtMTYwMyw2ICsxNjA1LDggQEAgc3RhdGlj IGludCBnZW44X2VtaXRfcmVxdWVzdF9yZW5kZXIoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0 ICpyZXF1ZXN0KQogCXJldHVybiBpbnRlbF9sb2dpY2FsX3JpbmdfYWR2YW5jZShyZXF1ZXN0KTsK IH0KIAorc3RhdGljIGNvbnN0IGludCBnZW44X2VtaXRfcmVxdWVzdF9yZW5kZXJfc3ogPSA4ICsg V0FfVEFJTF9EV09SRFM7CisKIHN0YXRpYyBpbnQgZ2VuOF9pbml0X3Jjc19jb250ZXh0KHN0cnVj dCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQogewogCWludCByZXQ7CkBAIC0xNjc3LDYgKzE2 ODEsNyBAQCBsb2dpY2FsX3JpbmdfZGVmYXVsdF92ZnVuY3Moc3RydWN0IGludGVsX2VuZ2luZV9j cyAqZW5naW5lKQogCWVuZ2luZS0+cmVzZXRfaHcgPSByZXNldF9jb21tb25fcmluZzsKIAllbmdp bmUtPmVtaXRfZmx1c2ggPSBnZW44X2VtaXRfZmx1c2g7CiAJZW5naW5lLT5lbWl0X3JlcXVlc3Qg PSBnZW44X2VtaXRfcmVxdWVzdDsKKwllbmdpbmUtPmVtaXRfcmVxdWVzdF9zeiA9IGdlbjhfZW1p dF9yZXF1ZXN0X3N6OwogCWVuZ2luZS0+c3VibWl0X3JlcXVlc3QgPSBleGVjbGlzdHNfc3VibWl0 X3JlcXVlc3Q7CiAKIAllbmdpbmUtPmlycV9lbmFibGUgPSBnZW44X2xvZ2ljYWxfcmluZ19lbmFi bGVfaXJxOwpAQCAtMTc5OSw2ICsxODA0LDcgQEAgaW50IGxvZ2ljYWxfcmVuZGVyX3JpbmdfaW5p dChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJZW5naW5lLT5pbml0X2NvbnRleHQg PSBnZW44X2luaXRfcmNzX2NvbnRleHQ7CiAJZW5naW5lLT5lbWl0X2ZsdXNoID0gZ2VuOF9lbWl0 X2ZsdXNoX3JlbmRlcjsKIAllbmdpbmUtPmVtaXRfcmVxdWVzdCA9IGdlbjhfZW1pdF9yZXF1ZXN0 X3JlbmRlcjsKKwllbmdpbmUtPmVtaXRfcmVxdWVzdF9zeiA9IGdlbjhfZW1pdF9yZXF1ZXN0X3Jl bmRlcl9zejsKIAogCXJldCA9IGludGVsX2VuZ2luZV9jcmVhdGVfc2NyYXRjaChlbmdpbmUsIDQw OTYpOwogCWlmIChyZXQpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y aW5nYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKaW5k ZXggZGUzODc2Y2JmNThhLi41NjkxNWMxYTliN2QgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9yaW5nYnVmZmVyLmMKQEAgLTE0MDUsNiArMTQwNSw4IEBAIHN0YXRpYyBpbnQgaTl4eF9lbWl0 X3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCiAJcmV0dXJuIDA7CiB9 CiAKK3N0YXRpYyBjb25zdCBpbnQgaTl4eF9lbWl0X3JlcXVlc3Rfc3ogPSA0OworCiAvKioKICAq IGdlbjZfc2VtYV9lbWl0X3JlcXVlc3QgLSBVcGRhdGUgdGhlIHNlbWFwaG9yZSBtYWlsYm94IHJl Z2lzdGVycwogICoKQEAgLTE0NTgsNiArMTQ2MCw4IEBAIHN0YXRpYyBpbnQgZ2VuOF9yZW5kZXJf ZW1pdF9yZXF1ZXN0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQogCXJldHVybiAw OwogfQogCitzdGF0aWMgY29uc3QgaW50IGdlbjhfcmVuZGVyX2VtaXRfcmVxdWVzdF9zeiA9IDg7 CisKIC8qKgogICogaW50ZWxfcmluZ19zeW5jIC0gc3luYyB0aGUgd2FpdGVyIHRvIHRoZSBzaWdu YWxsZXIgb24gc2Vxbm8KICAqCkBAIC0yNjc3LDggKzI2ODEsMjEgQEAgc3RhdGljIHZvaWQgaW50 ZWxfcmluZ19kZWZhdWx0X3ZmdW5jcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs CiAJZW5naW5lLT5yZXNldF9odyA9IHJlc2V0X3JpbmdfY29tbW9uOwogCiAJZW5naW5lLT5lbWl0 X3JlcXVlc3QgPSBpOXh4X2VtaXRfcmVxdWVzdDsKLQlpZiAoaTkxNS5zZW1hcGhvcmVzKQorCWVu Z2luZS0+ZW1pdF9yZXF1ZXN0X3N6ID0gaTl4eF9lbWl0X3JlcXVlc3Rfc3o7CisJaWYgKGk5MTUu c2VtYXBob3JlcykgeworCQlpbnQgbnVtX3JpbmdzOworCiAJCWVuZ2luZS0+ZW1pdF9yZXF1ZXN0 ID0gZ2VuNl9zZW1hX2VtaXRfcmVxdWVzdDsKKworCQludW1fcmluZ3MgPSBod2VpZ2h0MzIoSU5U RUxfSU5GTyhkZXZfcHJpdiktPnJpbmdfbWFzaykgLSAxOworCQlpZiAoSU5URUxfR0VOKGRldl9w cml2KSA+PSA4KSB7CisJCQllbmdpbmUtPmVtaXRfcmVxdWVzdF9zeiArPSBudW1fcmluZ3MgKiA2 OworCQl9IGVsc2UgeworCQkJZW5naW5lLT5lbWl0X3JlcXVlc3Rfc3ogKz0gbnVtX3JpbmdzICog MzsKKwkJCWlmIChudW1fcmluZ3MgJiAxKQorCQkJCWVuZ2luZS0+ZW1pdF9yZXF1ZXN0X3N6Kys7 CisJCX0KKwl9CiAJZW5naW5lLT5zdWJtaXRfcmVxdWVzdCA9IGk5eHhfc3VibWl0X3JlcXVlc3Q7 CiAKIAlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA4KQpAQCAtMjcwNiw5ICsyNzIzLDE3IEBA IGludCBpbnRlbF9pbml0X3JlbmRlcl9yaW5nX2J1ZmZlcihzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICplbmdpbmUpCiAJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOCkgewogCQllbmdpbmUtPmlu aXRfY29udGV4dCA9IGludGVsX3Jjc19jdHhfaW5pdDsKIAkJZW5naW5lLT5lbWl0X3JlcXVlc3Qg PSBnZW44X3JlbmRlcl9lbWl0X3JlcXVlc3Q7CisJCWVuZ2luZS0+ZW1pdF9yZXF1ZXN0X3N6ID0g Z2VuOF9yZW5kZXJfZW1pdF9yZXF1ZXN0X3N6OwogCQllbmdpbmUtPmVtaXRfZmx1c2ggPSBnZW44 X3JlbmRlcl9yaW5nX2ZsdXNoOwotCQlpZiAoaTkxNS5zZW1hcGhvcmVzKQorCQlpZiAoaTkxNS5z ZW1hcGhvcmVzKSB7CisJCQlpbnQgbnVtX3JpbmdzOworCiAJCQllbmdpbmUtPnNlbWFwaG9yZS5z aWduYWwgPSBnZW44X3Jjc19zaWduYWw7CisKKwkJCW51bV9yaW5ncyA9CisJCQkJaHdlaWdodDMy KElOVEVMX0lORk8oZGV2X3ByaXYpLT5yaW5nX21hc2spIC0gMTsKKwkJCWVuZ2luZS0+ZW1pdF9y ZXF1ZXN0X3N6ICs9IG51bV9yaW5ncyAqIDY7CisJCX0KIAl9IGVsc2UgaWYgKElOVEVMX0dFTihk ZXZfcHJpdikgPj0gNikgewogCQllbmdpbmUtPmluaXRfY29udGV4dCA9IGludGVsX3Jjc19jdHhf aW5pdDsKIAkJZW5naW5lLT5lbWl0X2ZsdXNoID0gZ2VuN19yZW5kZXJfcmluZ19mbHVzaDsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAppbmRleCAyYmVlOTA4MDY2ZDAuLjA4 MWRmNDBiMzExMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1 ZmZlci5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaApAQCAt MjI5LDYgKzIyOSw3IEBAIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgewogI2RlZmluZSBJOTE1X0RJ U1BBVENIX1BJTk5FRCBCSVQoMSkKICNkZWZpbmUgSTkxNV9ESVNQQVRDSF9SUyAgICAgQklUKDIp CiAJaW50CQkoKmVtaXRfcmVxdWVzdCkoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEp OworCWludAkJZW1pdF9yZXF1ZXN0X3N6OwogCiAJLyogUGFzcyB0aGUgcmVxdWVzdCB0byB0aGUg aGFyZHdhcmUgcXVldWUgKGUuZy4gZGlyZWN0bHkgaW50bwogCSAqIHRoZSBsZWdhY3kgcmluZ2J1 ZmZlciBvciB0byB0aGUgZW5kIG9mIGFuIGV4ZWNsaXN0KS4KLS0gCjIuOS4zCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK