From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Gordon Subject: [PATCH] Another flavour of for_each_engine_masked() Date: Thu, 1 Sep 2016 15:17:44 +0100 Message-ID: <1472739464-19399-1-git-send-email-david.s.gordon@intel.com> References: <20160827075401.16470-2-chris@chris-wilson.co.uk> 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 ESMTPS id DFC296E90F for ; Thu, 1 Sep 2016 14:18:09 +0000 (UTC) In-Reply-To: <20160827075401.16470-2-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 List-Id: intel-gfx@lists.freedesktop.org VGhpcyBtYWNybyB3YXMgcmVjZW50bHkgdXBkYXRlZCB0byBza2lwIHRlc3RpbmcgZm9yIG5vbi1l eGlzdGVudCBvcgp1bmludGVyZXN0aW5nIGVuZ2luZXMgYnkgdXNpbmcgZmZzKCkgdG8gZGlyZWN0 bHkgZmluZCB0aGUgbmV4dCBlbmdpbmUgb2YKaW50ZXJlc3QuIEhvd2V2ZXIsIGl0IHJlcXVpcmVk IHRoZSBpbnRyb2R1Y3Rpb24gb2YgYSBjYWxsZXItcHJvdmlkZWQKdGVtcG9yYXJ5IHZhcmlhYmxl LCB3aGljaCBzb21lIHBlb3BsZSByZWdhcmQgYXMgaW5lbGVnYW50LiBTbywgdGhpcwpwYXRjaCBw cm92aWRlcyBhbm90aGVyIHZhcmlhbnQsIHdoaWNoIHN0aWxsIHVzZXMgdGhlIGZhc3Qtc2tpcCBt ZWNoYW5pc20KYnV0IHdpdGhvdXQgcmVxdWlyaW5nIHRoZSB0ZW1wb3JhcnksIGZvciB0aGUgY29z dCBvZiBhIHNsaWdodCBpbmNyZWFzZQppbiBjb2RlIHNpemUgKH4yMCBieXRlcyBwZXIgY2FsbHNp dGUpLgoKU2lnbmVkLW9mZi1ieTogRGF2ZSBHb3Jkb24gPGRhdmlkLnMuZ29yZG9uQGludGVsLmNv bT4KQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpDYzogSm9vbmFz IExhaHRpbmVuIDxqb29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29tPgpDYzogTWlrYSBLdW9w cGFsYSA8bWlrYS5rdW9wcGFsYUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaCAgICAgICAgICAgIHwgMTkgKysrKysrKysrKy0tLS0tLS0tLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jICAgIHwgIDMgKy0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMgfCAgMyArLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfaXJxLmMgICAgICAgICAgICB8ICAzICstLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfdW5jb3JlLmMgICAgICAgIHwgIDkgKysrLS0tLS0tCiA1IGZpbGVzIGNoYW5nZWQsIDE2 IGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmlu ZGV4IGM0MTM1ODcuLjZjNTk4NzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMjA5Mywx NiArMjA5MywxNyBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpndWNf dG9faTkxNShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCiAJCWZvcl9lYWNoX2lmICgoKGlkX18pID0g KGVuZ2luZV9fKS0+aWQsIFwKIAkJCSAgICAgIGludGVsX2VuZ2luZV9pbml0aWFsaXplZChlbmdp bmVfXykpKQogCi0jZGVmaW5lIF9fbWFza19uZXh0X2JpdChtYXNrKSAoewkJCQkJXAotCWludCBf X2lkeCA9IGZmcyhtYXNrKSAtIDE7CQkJCQlcCi0JbWFzayAmPSB+QklUKF9faWR4KTsJCQkJCQlc Ci0JX19pZHg7CQkJCQkJCQlcCi19KQotCiAvKiBJdGVyYXRvciBvdmVyIHN1YnNldCBvZiBlbmdp bmVzIHNlbGVjdGVkIGJ5IG1hc2sgKi8KLSNkZWZpbmUgZm9yX2VhY2hfZW5naW5lX21hc2tlZChl bmdpbmVfXywgZGV2X3ByaXZfXywgbWFza19fLCB0bXBfXykgXAotCWZvciAodG1wX18gPSBtYXNr X18gJiBJTlRFTF9JTkZPKGRldl9wcml2X18pLT5yaW5nX21hc2s7CVwKLQkgICAgIHRtcF9fID8g KGVuZ2luZV9fID0gJihkZXZfcHJpdl9fKS0+ZW5naW5lW19fbWFza19uZXh0X2JpdCh0bXBfXyld KSwgMSA6IDA7ICkKKyNkZWZpbmUgZm9yX2VhY2hfZW5naW5lX21hc2tlZChlbmdpbmVfXywgZGV2 X3ByaXZfXywgbWFza19fKQkJXAorCWZvciAoKGVuZ2luZV9fKSA9IE5VTEw7CQkJCQkJXAorCSAg ICAgKHsJCQkJCQkJCVwKKwkJdTMyIG5leHRfXyA9IElOVEVMX0lORk8oZGV2X3ByaXZfXyktPnJp bmdfbWFzazsJCVwKKwkJaWYgKGxpa2VseShlbmdpbmVfXykpCQkJCQlcCisJCQluZXh0X18gJj0g fjF1IDw8IChlbmdpbmVfXyktPmlkOwkJXAorCQluZXh0X18gPSBmZnMobWFza19fICYgbmV4dF9f KTsJCQkJXAorCQkoZW5naW5lX18pID0gKGRldl9wcml2X18pLT5lbmdpbmUgKyBuZXh0X18gLSAx OwkJXAorCQluZXh0X187CQkJCQkJCVwKKwkgICAgIH0pOyApCiAKIGVudW0gaGRtaV9mb3JjZV9h dWRpbyB7CiAJSERNSV9BVURJT19PRkZfRFZJID0gLTIsCS8qIG5vIGF1eCBkYXRhIGZvciBIRE1J LURWSSBjb252ZXJ0ZXIgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX3JlcXVlc3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYwpp bmRleCA5Y2MwOGExLi41ZTU1MjcwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9yZXF1ZXN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVx dWVzdC5jCkBAIC03NjYsNyArNzY2LDYgQEAgc3RhdGljIGJvb2wgZW5naW5lX3JldGlyZV9yZXF1 ZXN0cyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiB2b2lkIGk5MTVfZ2VtX3JldGly ZV9yZXF1ZXN0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7CiAJc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOwotCXVuc2lnbmVkIGludCB0bXA7CiAKIAlsb2NrZGVw X2Fzc2VydF9oZWxkKCZkZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRleCk7CiAKQEAgLTc3NSw3ICs3 NzQsNyBAQCB2b2lkIGk5MTVfZ2VtX3JldGlyZV9yZXF1ZXN0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCiAKIAlHRU1fQlVHX09OKCFkZXZfcHJpdi0+Z3QuYXdha2UpOwogCi0J Zm9yX2VhY2hfZW5naW5lX21hc2tlZChlbmdpbmUsIGRldl9wcml2LCBkZXZfcHJpdi0+Z3QuYWN0 aXZlX2VuZ2luZXMsIHRtcCkKKwlmb3JfZWFjaF9lbmdpbmVfbWFza2VkKGVuZ2luZSwgZGV2X3By aXYsIGRldl9wcml2LT5ndC5hY3RpdmVfZW5naW5lcykKIAkJaWYgKGVuZ2luZV9yZXRpcmVfcmVx dWVzdHMoZW5naW5lKSkKIAkJCWRldl9wcml2LT5ndC5hY3RpdmVfZW5naW5lcyAmPSB+aW50ZWxf ZW5naW5lX2ZsYWcoZW5naW5lKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9ndWNfc3VibWlzc2lvbi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3Vi bWlzc2lvbi5jCmluZGV4IDMyNjk5YTcuLmU0MzY5NDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKQEAgLTMzMCw3ICszMzAsNiBAQCBzdGF0aWMgdm9pZCBn dWNfaW5pdF9jdHhfZGVzYyhzdHJ1Y3QgaW50ZWxfZ3VjICpndWMsCiAJc3RydWN0IGk5MTVfZ2Vt X2NvbnRleHQgKmN0eCA9IGNsaWVudC0+b3duZXI7CiAJc3RydWN0IGd1Y19jb250ZXh0X2Rlc2Mg ZGVzYzsKIAlzdHJ1Y3Qgc2dfdGFibGUgKnNnOwotCXVuc2lnbmVkIGludCB0bXA7CiAJdTMyIGdm eF9hZGRyOwogCiAJbWVtc2V0KCZkZXNjLCAwLCBzaXplb2YoZGVzYykpOwpAQCAtMzQwLDcgKzMz OSw3IEBAIHN0YXRpYyB2b2lkIGd1Y19pbml0X2N0eF9kZXNjKHN0cnVjdCBpbnRlbF9ndWMgKmd1 YywKIAlkZXNjLnByaW9yaXR5ID0gY2xpZW50LT5wcmlvcml0eTsKIAlkZXNjLmRiX2lkID0gY2xp ZW50LT5kb29yYmVsbF9pZDsKIAotCWZvcl9lYWNoX2VuZ2luZV9tYXNrZWQoZW5naW5lLCBkZXZf cHJpdiwgY2xpZW50LT5lbmdpbmVzLCB0bXApIHsKKwlmb3JfZWFjaF9lbmdpbmVfbWFza2VkKGVu Z2luZSwgZGV2X3ByaXYsIGNsaWVudC0+ZW5naW5lcykgewogCQlzdHJ1Y3QgaW50ZWxfY29udGV4 dCAqY2UgPSAmY3R4LT5lbmdpbmVbZW5naW5lLT5pZF07CiAJCXVpbnQzMl90IGd1Y19lbmdpbmVf aWQgPSBlbmdpbmUtPmd1Y19pZDsKIAkJc3RydWN0IGd1Y19leGVjbGlzdF9jb250ZXh0ICpscmMg PSAmZGVzYy5scmNbZ3VjX2VuZ2luZV9pZF07CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2lycS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwppbmRleCA4 MjM1OGQ0Li43NjEwZWNhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2ly cS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKQEAgLTMxNjksNyArMzE2 OSw2IEBAIHN0YXRpYyB2b2lkIGk5MTVfaGFuZ2NoZWNrX2VsYXBzZWQoc3RydWN0IHdvcmtfc3Ry dWN0ICp3b3JrKQogCiAJaWYgKGh1bmcpIHsKIAkJY2hhciBtc2dbODBdOwotCQl1bnNpZ25lZCBp bnQgdG1wOwogCQlpbnQgbGVuOwogCiAJCS8qIElmIHNvbWUgcmluZ3MgaHVuZyBidXQgb3RoZXJz IHdlcmUgc3RpbGwgYnVzeSwgb25seQpAQCAtMzE3OSw3ICszMTc4LDcgQEAgc3RhdGljIHZvaWQg aTkxNV9oYW5nY2hlY2tfZWxhcHNlZChzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiAJCQlodW5n ICY9IH5zdHVjazsKIAkJbGVuID0gc2NucHJpbnRmKG1zZywgc2l6ZW9mKG1zZyksCiAJCQkJIiVz IG9uICIsIHN0dWNrID09IGh1bmcgPyAiTm8gcHJvZ3Jlc3MiIDogIkhhbmciKTsKLQkJZm9yX2Vh Y2hfZW5naW5lX21hc2tlZChlbmdpbmUsIGRldl9wcml2LCBodW5nLCB0bXApCisJCWZvcl9lYWNo X2VuZ2luZV9tYXNrZWQoZW5naW5lLCBkZXZfcHJpdiwgaHVuZykKIAkJCWxlbiArPSBzY25wcmlu dGYobXNnICsgbGVuLCBzaXplb2YobXNnKSAtIGxlbiwKIAkJCQkJICIlcywgIiwgZW5naW5lLT5u YW1lKTsKIAkJbXNnW2xlbi0yXSA9ICdcMCc7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF91bmNvcmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5j CmluZGV4IGU5ZjY4Y2QuLjQzZjgzMzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3VuY29yZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5j CkBAIC0xNTk3LDEwICsxNTk3LDggQEAgc3RhdGljIGludCBnZW42X3Jlc2V0X2VuZ2luZXMoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCWlmIChlbmdpbmVfbWFzayA9PSBBTExf RU5HSU5FUykgewogCQlod19tYXNrID0gR0VONl9HUkRPTV9GVUxMOwogCX0gZWxzZSB7Ci0JCXVu c2lnbmVkIGludCB0bXA7Ci0KIAkJaHdfbWFzayA9IDA7Ci0JCWZvcl9lYWNoX2VuZ2luZV9tYXNr ZWQoZW5naW5lLCBkZXZfcHJpdiwgZW5naW5lX21hc2ssIHRtcCkKKwkJZm9yX2VhY2hfZW5naW5l X21hc2tlZChlbmdpbmUsIGRldl9wcml2LCBlbmdpbmVfbWFzaykKIAkJCWh3X21hc2sgfD0gaHdf ZW5naW5lX21hc2tbZW5naW5lLT5pZF07CiAJfQogCkBAIC0xNzE2LDE2ICsxNzE0LDE1IEBAIHN0 YXRpYyBpbnQgZ2VuOF9yZXNldF9lbmdpbmVzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwKIAkJCSAgICAgIHVuc2lnbmVkIGVuZ2luZV9tYXNrKQogewogCXN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZTsKLQl1bnNpZ25lZCBpbnQgdG1wOwogCi0JZm9yX2VhY2hfZW5naW5l X21hc2tlZChlbmdpbmUsIGRldl9wcml2LCBlbmdpbmVfbWFzaywgdG1wKQorCWZvcl9lYWNoX2Vu Z2luZV9tYXNrZWQoZW5naW5lLCBkZXZfcHJpdiwgZW5naW5lX21hc2spCiAJCWlmIChnZW44X3Jl cXVlc3RfZW5naW5lX3Jlc2V0KGVuZ2luZSkpCiAJCQlnb3RvIG5vdF9yZWFkeTsKIAogCXJldHVy biBnZW42X3Jlc2V0X2VuZ2luZXMoZGV2X3ByaXYsIGVuZ2luZV9tYXNrKTsKIAogbm90X3JlYWR5 OgotCWZvcl9lYWNoX2VuZ2luZV9tYXNrZWQoZW5naW5lLCBkZXZfcHJpdiwgZW5naW5lX21hc2ss IHRtcCkKKwlmb3JfZWFjaF9lbmdpbmVfbWFza2VkKGVuZ2luZSwgZGV2X3ByaXYsIGVuZ2luZV9t YXNrKQogCQlnZW44X3VucmVxdWVzdF9lbmdpbmVfcmVzZXQoZW5naW5lKTsKIAogCXJldHVybiAt RUlPOwotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo=