From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 11/70] drm/i915: Tidy batch pool logic Date: Tue, 7 Apr 2015 16:20:35 +0100 Message-ID: <1428420094-18352-12-git-send-email-chris@chris-wilson.co.uk> References: <1428420094-18352-1-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from relay.fireflyinternet.com (hostedrelay.fireflyinternet.com [109.228.30.76]) by gabe.freedesktop.org (Postfix) with ESMTP id DB6CC6E5DA for ; Tue, 7 Apr 2015 08:22:16 -0700 (PDT) In-Reply-To: <1428420094-18352-1-git-send-email-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 List-Id: intel-gfx@lists.freedesktop.org TW92ZSB0aGUgbWFkdmlzZSBsb2dpYyBvdXQgb2YgdGhlIGV4ZWNidWZmZXIgbWFpbiBwYXRoIGlu dG8gdGhlCnJlbGF0aXZlbHkgcmFyZSBhbGxvY2F0aW9uIHBhdGgsIG1ha2luZyB0aGUgZXhlY2J1 ZmZlciBtYW5pcHVsYXRpb24gbGVzcwpmcmFnaWxlLgoKU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2ls c29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+ClJldmlld2VkLWJ5OiBUdnJ0a28gVXJzdWxp biA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfY21kX3BhcnNlci5jICAgICB8IDEyICsrKy0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fYmF0Y2hfcG9vbC5jIHwgMzkgKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMgfCAxMyArKysrLS0t LS0tCiAzIGZpbGVzIGNoYW5nZWQsIDI3IGluc2VydGlvbnMoKyksIDM3IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfY21kX3BhcnNlci5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9jbWRfcGFyc2VyLmMKaW5kZXggNjFhZThmZjRlYWVkLi45 NjA1ZmY4ZjJmY2QgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfY21kX3Bh cnNlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfY21kX3BhcnNlci5jCkBAIC04 NjksNiArODY5LDkgQEAgc3RhdGljIHUzMiAqY29weV9iYXRjaChzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCAqZGVzdF9vYmosCiAJICAgIGJhdGNoX2xlbiArIGJhdGNoX3N0YXJ0X29mZnNldCA+ IHNyY19vYmotPmJhc2Uuc2l6ZSkKIAkJcmV0dXJuIEVSUl9QVFIoLUUyQklHKTsKIAorCWlmIChX QVJOX09OKGRlc3Rfb2JqLT5wYWdlc19waW5fY291bnQgPT0gMCkpCisJCXJldHVybiBFUlJfUFRS KC1FTk9ERVYpOworCiAJcmV0ID0gaTkxNV9nZW1fb2JqX3ByZXBhcmVfc2htZW1fcmVhZChzcmNf b2JqLCAmbmVlZHNfY2xmbHVzaCk7CiAJaWYgKHJldCkgewogCQlEUk1fREVCVUdfRFJJVkVSKCJD TUQ6IGZhaWxlZCB0byBwcmVwYXJlIHNoYWRvdyBiYXRjaFxuIik7CkBAIC04ODIsMTMgKzg4NSw2 IEBAIHN0YXRpYyB1MzIgKmNvcHlfYmF0Y2goc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmRl c3Rfb2JqLAogCQlnb3RvIHVucGluX3NyYzsKIAl9CiAKLQlyZXQgPSBpOTE1X2dlbV9vYmplY3Rf Z2V0X3BhZ2VzKGRlc3Rfb2JqKTsKLQlpZiAocmV0KSB7Ci0JCURSTV9ERUJVR19EUklWRVIoIkNN RDogRmFpbGVkIHRvIGdldCBwYWdlcyBmb3Igc2hhZG93IGJhdGNoXG4iKTsKLQkJZ290byB1bm1h cF9zcmM7Ci0JfQotCWk5MTVfZ2VtX29iamVjdF9waW5fcGFnZXMoZGVzdF9vYmopOwotCiAJcmV0 ID0gaTkxNV9nZW1fb2JqZWN0X3NldF90b19jcHVfZG9tYWluKGRlc3Rfb2JqLCB0cnVlKTsKIAlp ZiAocmV0KSB7CiAJCURSTV9ERUJVR19EUklWRVIoIkNNRDogRmFpbGVkIHRvIHNldCBzaGFkb3cg YmF0Y2ggdG8gQ1BVXG4iKTsKQEAgLTg5OCw3ICs4OTQsNiBAQCBzdGF0aWMgdTMyICpjb3B5X2Jh dGNoKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpkZXN0X29iaiwKIAlkc3QgPSB2bWFwX2Jh dGNoKGRlc3Rfb2JqLCAwLCBiYXRjaF9sZW4pOwogCWlmICghZHN0KSB7CiAJCURSTV9ERUJVR19E UklWRVIoIkNNRDogRmFpbGVkIHRvIHZtYXAgc2hhZG93IGJhdGNoXG4iKTsKLQkJaTkxNV9nZW1f b2JqZWN0X3VucGluX3BhZ2VzKGRlc3Rfb2JqKTsKIAkJcmV0ID0gLUVOT01FTTsKIAkJZ290byB1 bm1hcF9zcmM7CiAJfQpAQCAtMTEyOSw3ICsxMTI0LDYgQEAgaW50IGk5MTVfcGFyc2VfY21kcyhz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAogCX0KIAogCXZ1bm1hcChiYXRjaF9iYXNlKTsK LQlpOTE1X2dlbV9vYmplY3RfdW5waW5fcGFnZXMoc2hhZG93X2JhdGNoX29iaik7CiAKIAlyZXR1 cm4gcmV0OwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fYmF0 Y2hfcG9vbC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fYmF0Y2hfcG9vbC5jCmlu ZGV4IDU2NGJlN2M1ZWE3ZS4uMjFmMzM1NmNjMGFiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9iYXRjaF9wb29sLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fYmF0Y2hfcG9vbC5jCkBAIC02NywyNSArNjcsMjMgQEAgdm9pZCBpOTE1X2dlbV9i YXRjaF9wb29sX2Zpbmkoc3RydWN0IGk5MTVfZ2VtX2JhdGNoX3Bvb2wgKnBvb2wpCiAJCQkJCSBz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCwKIAkJCQkJIGJhdGNoX3Bvb2xfbGlzdCk7CiAKLQkJ V0FSTl9PTihvYmotPmFjdGl2ZSk7Ci0KLQkJbGlzdF9kZWxfaW5pdCgmb2JqLT5iYXRjaF9wb29s X2xpc3QpOworCQlsaXN0X2RlbCgmb2JqLT5iYXRjaF9wb29sX2xpc3QpOwogCQlkcm1fZ2VtX29i amVjdF91bnJlZmVyZW5jZSgmb2JqLT5iYXNlKTsKIAl9CiB9CiAKIC8qKgotICogaTkxNV9nZW1f YmF0Y2hfcG9vbF9nZXQoKSAtIHNlbGVjdCBhIGJ1ZmZlciBmcm9tIHRoZSBwb29sCisgKiBpOTE1 X2dlbV9iYXRjaF9wb29sX2dldCgpIC0gYWxsb2NhdGUgYSBidWZmZXIgZnJvbSB0aGUgcG9vbAog ICogQHBvb2w6IHRoZSBiYXRjaCBidWZmZXIgcG9vbAogICogQHNpemU6IHRoZSBtaW5pbXVtIGRl c2lyZWQgc2l6ZSBvZiB0aGUgcmV0dXJuZWQgYnVmZmVyCiAgKgotICogRmluZHMgb3IgYWxsb2Nh dGVzIGEgYmF0Y2ggYnVmZmVyIGluIHRoZSBwb29sIHdpdGggYXQgbGVhc3QgdGhlIHJlcXVlc3Rl ZAotICogc2l6ZS4gVGhlIGNhbGxlciBpcyByZXNwb25zaWJsZSBmb3IgYW55IGRvbWFpbiwgYWN0 aXZlL2luYWN0aXZlLCBvcgotICogcHVyZ2VhYmlsaXR5IG1hbmFnZW1lbnQgZm9yIHRoZSByZXR1 cm5lZCBidWZmZXIuCisgKiBSZXR1cm5zIGFuIGluYWN0aXZlIGJ1ZmZlciBmcm9tIEBwb29sIHdp dGggYXQgbGVhc3QgQHNpemUgYnl0ZXMsCisgKiB3aXRoIHRoZSBwYWdlcyBwaW5uZWQuIFRoZSBj YWxsZXIgbXVzdCBpOTE1X2dlbV9vYmplY3RfdW5waW5fcGFnZXMoKQorICogb24gdGhlIHJldHVy bmVkIG9iamVjdC4KICAqCiAgKiBOb3RlOiBDYWxsZXJzIG11c3QgaG9sZCB0aGUgc3RydWN0X211 dGV4CiAgKgotICogUmV0dXJuOiB0aGUgc2VsZWN0ZWQgYmF0Y2ggYnVmZmVyIG9iamVjdAorICog UmV0dXJuOiB0aGUgYnVmZmVyIG9iamVjdCBvciBhbiBlcnJvciBwb2ludGVyCiAgKi8KIHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICoKIGk5MTVfZ2VtX2JhdGNoX3Bvb2xfZ2V0KHN0cnVjdCBp OTE1X2dlbV9iYXRjaF9wb29sICpwb29sLApAQCAtOTcsOCArOTUsNyBAQCBpOTE1X2dlbV9iYXRj aF9wb29sX2dldChzdHJ1Y3QgaTkxNV9nZW1fYmF0Y2hfcG9vbCAqcG9vbCwKIAlXQVJOX09OKCFt dXRleF9pc19sb2NrZWQoJnBvb2wtPmRldi0+c3RydWN0X211dGV4KSk7CiAKIAlsaXN0X2Zvcl9l YWNoX2VudHJ5X3NhZmUodG1wLCBuZXh0LAotCQkJJnBvb2wtPmNhY2hlX2xpc3QsIGJhdGNoX3Bv b2xfbGlzdCkgewotCisJCQkJICZwb29sLT5jYWNoZV9saXN0LCBiYXRjaF9wb29sX2xpc3QpIHsK IAkJaWYgKHRtcC0+YWN0aXZlKQogCQkJY29udGludWU7CiAKQEAgLTExNCwyNSArMTExLDI3IEBA IGk5MTVfZ2VtX2JhdGNoX3Bvb2xfZ2V0KHN0cnVjdCBpOTE1X2dlbV9iYXRjaF9wb29sICpwb29s LAogCQkgKiBidXQgbm90ICd0b28gbXVjaCcgYmlnZ2VyLiBBIGJldHRlciB3YXkgdG8gZG8gdGhp cwogCQkgKiBtaWdodCBiZSB0byBidWNrZXQgdGhlIHBvb2wgb2JqZWN0cyBiYXNlZCBvbiBzaXpl LgogCQkgKi8KLQkJaWYgKHRtcC0+YmFzZS5zaXplID49IHNpemUgJiYKLQkJICAgIHRtcC0+YmFz ZS5zaXplIDw9ICgyICogc2l6ZSkpIHsKKwkJaWYgKHRtcC0+YmFzZS5zaXplID49IHNpemUgJiYg dG1wLT5iYXNlLnNpemUgPD0gMiAqIHNpemUpIHsKIAkJCW9iaiA9IHRtcDsKIAkJCWJyZWFrOwog CQl9CiAJfQogCi0JaWYgKCFvYmopIHsKKwlpZiAob2JqID09IE5VTEwpIHsKKwkJaW50IHJldDsK KwogCQlvYmogPSBpOTE1X2dlbV9hbGxvY19vYmplY3QocG9vbC0+ZGV2LCBzaXplKTsKLQkJaWYg KCFvYmopCisJCWlmIChvYmogPT0gTlVMTCkKIAkJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwog Ci0JCWxpc3RfYWRkX3RhaWwoJm9iai0+YmF0Y2hfcG9vbF9saXN0LCAmcG9vbC0+Y2FjaGVfbGlz dCk7Ci0JfQotCWVsc2UKLQkJLyogS2VlcCBsaXN0IGluIExSVSBvcmRlciAqLwotCQlsaXN0X21v dmVfdGFpbCgmb2JqLT5iYXRjaF9wb29sX2xpc3QsICZwb29sLT5jYWNoZV9saXN0KTsKKwkJcmV0 ID0gaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlcyhvYmopOworCQlpZiAocmV0KQorCQkJcmV0dXJu IEVSUl9QVFIocmV0KTsKIAotCW9iai0+bWFkdiA9IEk5MTVfTUFEVl9XSUxMTkVFRDsKKwkJb2Jq LT5tYWR2ID0gSTkxNV9NQURWX0RPTlRORUVEOworCX0KIAorCWxpc3RfbW92ZV90YWlsKCZvYmot PmJhdGNoX3Bvb2xfbGlzdCwgJnBvb2wtPmNhY2hlX2xpc3QpOworCWk5MTVfZ2VtX29iamVjdF9w aW5fcGFnZXMob2JqKTsKIAlyZXR1cm4gb2JqOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fZXhlY2J1ZmZlci5jCmluZGV4IDRkMzE5OTM1NDVhYi4uMDVmYzM2NDQ5NDYxIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCkBAIC0zNyw3ICszNyw2 IEBACiAjZGVmaW5lICBfX0VYRUNfT0JKRUNUX0hBU19GRU5DRSAoMTw8MzApCiAjZGVmaW5lICBf X0VYRUNfT0JKRUNUX05FRURTX01BUCAoMTw8MjkpCiAjZGVmaW5lICBfX0VYRUNfT0JKRUNUX05F RURTX0JJQVMgKDE8PDI4KQotI2RlZmluZSAgX19FWEVDX09CSkVDVF9QVVJHRUFCTEUgKDE8PDI3 KQogCiAjZGVmaW5lIEJBVENIX09GRlNFVF9CSUFTICgyNTYqMTAyNCkKIApAQCAtMjI0LDEyICsy MjMsNyBAQCBpOTE1X2dlbV9leGVjYnVmZmVyX3VucmVzZXJ2ZV92bWEoc3RydWN0IGk5MTVfdm1h ICp2bWEpCiAJaWYgKGVudHJ5LT5mbGFncyAmIF9fRVhFQ19PQkpFQ1RfSEFTX1BJTikKIAkJdm1h LT5waW5fY291bnQtLTsKIAotCWlmIChlbnRyeS0+ZmxhZ3MgJiBfX0VYRUNfT0JKRUNUX1BVUkdF QUJMRSkKLQkJb2JqLT5tYWR2ID0gSTkxNV9NQURWX0RPTlRORUVEOwotCi0JZW50cnktPmZsYWdz ICY9IH4oX19FWEVDX09CSkVDVF9IQVNfRkVOQ0UgfAotCQkJICBfX0VYRUNfT0JKRUNUX0hBU19Q SU4gfAotCQkJICBfX0VYRUNfT0JKRUNUX1BVUkdFQUJMRSk7CisJZW50cnktPmZsYWdzICY9IH4o X19FWEVDX09CSkVDVF9IQVNfRkVOQ0UgfCBfX0VYRUNfT0JKRUNUX0hBU19QSU4pOwogfQogCiBz dGF0aWMgdm9pZCBlYl9kZXN0cm95KHN0cnVjdCBlYl92bWFzICplYikKQEAgLTExODUsMTEgKzEx NzksMTMgQEAgaTkxNV9nZW1fZXhlY2J1ZmZlcl9wYXJzZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICpyaW5nLAogCWlmIChyZXQpCiAJCWdvdG8gZXJyOwogCisJaTkxNV9nZW1fb2JqZWN0X3VucGlu X3BhZ2VzKHNoYWRvd19iYXRjaF9vYmopOworCiAJbWVtc2V0KHNoYWRvd19leGVjX2VudHJ5LCAw LCBzaXplb2YoKnNoYWRvd19leGVjX2VudHJ5KSk7CiAKIAl2bWEgPSBpOTE1X2dlbV9vYmpfdG9f Z2d0dChzaGFkb3dfYmF0Y2hfb2JqKTsKIAl2bWEtPmV4ZWNfZW50cnkgPSBzaGFkb3dfZXhlY19l bnRyeTsKLQl2bWEtPmV4ZWNfZW50cnktPmZsYWdzID0gX19FWEVDX09CSkVDVF9QVVJHRUFCTEUg fCBfX0VYRUNfT0JKRUNUX0hBU19QSU47CisJdm1hLT5leGVjX2VudHJ5LT5mbGFncyA9IF9fRVhF Q19PQkpFQ1RfSEFTX1BJTjsKIAlkcm1fZ2VtX29iamVjdF9yZWZlcmVuY2UoJnNoYWRvd19iYXRj aF9vYmotPmJhc2UpOwogCWxpc3RfYWRkX3RhaWwoJnZtYS0+ZXhlY19saXN0LCAmZWItPnZtYXMp OwogCkBAIC0xMTk4LDYgKzExOTQsNyBAQCBpOTE1X2dlbV9leGVjYnVmZmVyX3BhcnNlKHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCiAJcmV0dXJuIHNoYWRvd19iYXRjaF9vYmo7CiAKIGVy cjoKKwlpOTE1X2dlbV9vYmplY3RfdW5waW5fcGFnZXMoc2hhZG93X2JhdGNoX29iaik7CiAJaWYg KHJldCA9PSAtRUFDQ0VTKSAvKiB1bmhhbmRsZWQgY2hhaW5lZCBiYXRjaCAqLwogCQlyZXR1cm4g YmF0Y2hfb2JqOwogCWVsc2UKLS0gCjIuMS40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo=