From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v2.1 5/6] drm/atomic: Handle encoder assignment conflicts in a separate check, v3. Date: Wed, 2 Mar 2016 14:38:58 +0100 Message-ID: <56D6ECF2.5080009@linux.intel.com> References: <1456303053-28806-1-git-send-email-maarten.lankhorst@linux.intel.com> <1456303053-28806-6-git-send-email-maarten.lankhorst@linux.intel.com> <20160301172119.GL15993@intel.com> <56D5D551.2000004@linux.intel.com> <20160301175847.GN15993@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20160301175847.GN15993@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org VGhlIGN1cnJlbnQgY2hlY2sgZG9lc24ndCBoYW5kbGUgdGhlIGNhc2Ugd2hlcmUgd2UgZG9uJ3Qg c3RlYWwgYW4KZW5jb2RlciwgYnV0IGtlZXAgaXQgb24gdGhlIGN1cnJlbnQgY29ubmVjdG9yLiBJ ZiB3ZSByZXB1cnBvc2UKZGlzYWJsZV9jb25mbGljdGluZ19lbmNvZGVycyB0byBkbyB0aGUgY2hl Y2tpbmcsIHdlIGp1c3QgaGF2ZQp0byByZWplY3QgdGhlIG9uZXMgdGhhdCBjb25mbGljdC4KCkNo YW5nZXMgc2luY2UgdjE6Ci0gUmV0dXJuIGVhcmx5IHdpdGggZW1wdHkgZW5jb2Rlcl9tYXNrLCBk cm1fZm9yX2VhY2hfY29ubmVjdG9yCiAgcmVxdWlyZXMgY29ubmVjdGlvbl9tdXRleCBoZWxkLgpD aGFuZ2VzIHNpbmNlIHYyOgotIEFkZCBjb21tZW50cyB0byB0aGUgbG9vcHMuCgpTaWduZWQtb2Zm LWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29t PgpUZXN0Y2FzZToga21zX3NldG1vZGUuaW52YWxpZC1jbG9uZS1zaW5nbGUtY3J0Yy1zdGVhbGlu ZwotLS0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKaW5kZXggZGIxMWMyZjliMDk4Li5i YjYwMTQ4YzVjOGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBl ci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCkBAIC04Niw3ICs4 Niw4IEBAIGRybV9hdG9taWNfaGVscGVyX3BsYW5lX2NoYW5nZWQoc3RydWN0IGRybV9hdG9taWNf c3RhdGUgKnN0YXRlLAogCX0KIH0KIAotc3RhdGljIGludCBkaXNhYmxlX2NvbmZsaWN0aW5nX2Nv bm5lY3RvcnMoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQorc3RhdGljIGludCBoYW5k bGVfY29uZmxpY3RpbmdfZW5jb2RlcnMoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAor CQkJCSAgICAgICBib29sIGRpc2FibGVfY29uZmxpY3RpbmdfZW5jb2RlcnMpCiB7CiAJc3RydWN0 IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGU7CiAJc3RydWN0IGRybV9jb25uZWN0b3Ig KmNvbm5lY3RvcjsKQEAgLTk0LDYgKzk1LDExIEBAIHN0YXRpYyBpbnQgZGlzYWJsZV9jb25mbGlj dGluZ19jb25uZWN0b3JzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKIAl1bnNpZ25l ZCBlbmNvZGVyX21hc2sgPSAwOwogCWludCBpLCByZXQ7CiAKKwkvKgorCSAqIEZpcnN0IGxvb3As IGZpbmQgYWxsIG5ld2x5IGFzc2lnbmVkIGVuY29kZXJzIGZyb20gdGhlIGNvbm5lY3RvcnMKKwkg KiBwYXJ0IG9mIHRoZSBzdGF0ZS4gSWYgdGhlIHNhbWUgZW5jb2RlciBpcyBhc3NpZ25lZCB0byBt dWx0aXBsZQorCSAqIGNvbm5lY3RvcnMgYmFpbCBvdXQuCisJICovCiAJZm9yX2VhY2hfY29ubmVj dG9yX2luX3N0YXRlKHN0YXRlLCBjb25uZWN0b3IsIGNvbm5fc3RhdGUsIGkpIHsKIAkJY29uc3Qg c3RydWN0IGRybV9jb25uZWN0b3JfaGVscGVyX2Z1bmNzICpmdW5jcyA9IGNvbm5lY3Rvci0+aGVs cGVyX3ByaXZhdGU7CiAJCXN0cnVjdCBkcm1fZW5jb2RlciAqbmV3X2VuY29kZXI7CkBAIC0xMDYs MTAgKzExMiwzMyBAQCBzdGF0aWMgaW50IGRpc2FibGVfY29uZmxpY3RpbmdfY29ubmVjdG9ycyhz dHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAJCWVsc2UKIAkJCW5ld19lbmNvZGVyID0g ZnVuY3MtPmJlc3RfZW5jb2Rlcihjb25uZWN0b3IpOwogCi0JCWlmIChuZXdfZW5jb2RlcikKKwkJ aWYgKG5ld19lbmNvZGVyKSB7CisJCQlpZiAoZW5jb2Rlcl9tYXNrICYgKDEgPDwgZHJtX2VuY29k ZXJfaW5kZXgobmV3X2VuY29kZXIpKSkgeworCQkJCURSTV9ERUJVR19BVE9NSUMoIltFTkNPREVS OiVkOiVzXSBvbiBbQ09OTkVDVE9SOiVkOiVzXSBhbHJlYWR5IGFzc2lnbmVkXG4iLAorCQkJCQlu ZXdfZW5jb2Rlci0+YmFzZS5pZCwgbmV3X2VuY29kZXItPm5hbWUsCisJCQkJCWNvbm5lY3Rvci0+ YmFzZS5pZCwgY29ubmVjdG9yLT5uYW1lKTsKKworCQkJCXJldHVybiAtRUlOVkFMOworCQkJfQor CiAJCQllbmNvZGVyX21hc2sgfD0gMSA8PCBkcm1fZW5jb2Rlcl9pbmRleChuZXdfZW5jb2Rlcik7 CisJCX0KIAl9CiAKKwlpZiAoIWVuY29kZXJfbWFzaykKKwkJcmV0dXJuIDA7CisKKwkvKgorCSAq IFNlY29uZCBsb29wLCBpdGVyYXRlIG92ZXIgYWxsIGNvbm5lY3RvcnMgbm90IHBhcnQgb2YgdGhl IHN0YXRlLgorCSAqCisJICogSWYgYSBjb25mbGljdGluZyBlbmNvZGVyIGlzIGZvdW5kIGFuZCBk aXNhYmxlX2NvbmZsaWN0aW5nX2VuY29kZXJzCisJICogaXMgbm90IHNldCwgYW4gZXJyb3IgaXMg cmV0dXJuZWQuIFVzZXJzcGFjZSBjYW4gcHJvdmlkZSBhIHNvbHV0aW9uCisJICogdGhyb3VnaCB0 aGUgYXRvbWljIGlvY3RsLgorCSAqCisJICogSWYgdGhlIGZsYWcgaXMgc2V0IGNvbmZsaWN0aW5n IGNvbm5lY3RvcnMgYXJlIHJlbW92ZWQgZnJvbSB0aGUgY3J0YworCSAqIGFuZCB0aGUgY3J0YyBp cyBkaXNhYmxlZCBpZiBubyBlbmNvZGVyIGlzIGxlZnQuIFRoaXMgcHJlc2VydmVzCisJICogY29t cGF0aWJpbGl0eSB3aXRoIHRoZSBsZWdhY3kgc2V0X2NvbmZpZyBiZWhhdmlvci4KKwkgKi8KIAlk cm1fZm9yX2VhY2hfY29ubmVjdG9yKGNvbm5lY3Rvciwgc3RhdGUtPmRldikgewogCQlzdHJ1Y3Qg ZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGU7CiAKQEAgLTEyMCw2ICsxNDksMTUgQEAgc3RhdGlj IGludCBkaXNhYmxlX2NvbmZsaWN0aW5nX2Nvbm5lY3RvcnMoc3RydWN0IGRybV9hdG9taWNfc3Rh dGUgKnN0YXRlKQogCQlpZiAoIWVuY29kZXIgfHwgIShlbmNvZGVyX21hc2sgJiAoMSA8PCBkcm1f ZW5jb2Rlcl9pbmRleChlbmNvZGVyKSkpKQogCQkJY29udGludWU7CiAKKwkJaWYgKCFkaXNhYmxl X2NvbmZsaWN0aW5nX2VuY29kZXJzKSB7CisJCQlEUk1fREVCVUdfQVRPTUlDKCJbRU5DT0RFUjol ZDolc10gaW4gdXNlIG9uIFtDUlRDOiVkOiVzXSBieSBbQ09OTkVDVE9SOiVkOiVzXVxuIiwKKwkJ CQkJIGVuY29kZXItPmJhc2UuaWQsIGVuY29kZXItPm5hbWUsCisJCQkJCSBjb25uZWN0b3ItPnN0 YXRlLT5jcnRjLT5iYXNlLmlkLAorCQkJCQkgY29ubmVjdG9yLT5zdGF0ZS0+Y3J0Yy0+bmFtZSwK KwkJCQkJIGNvbm5lY3Rvci0+YmFzZS5pZCwgY29ubmVjdG9yLT5uYW1lKTsKKwkJCXJldHVybiAt RUlOVkFMOworCQl9CisKIAkJY29ubl9zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X2Nvbm5lY3Rvcl9z dGF0ZShzdGF0ZSwgY29ubmVjdG9yKTsKIAkJaWYgKElTX0VSUihjb25uX3N0YXRlKSkKIAkJCXJl dHVybiBQVFJfRVJSKGNvbm5fc3RhdGUpOwpAQCAtMTQ4LDI2ICsxODYsNiBAQCBzdGF0aWMgaW50 IGRpc2FibGVfY29uZmxpY3RpbmdfY29ubmVjdG9ycyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAq c3RhdGUpCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBib29sCi1jaGVja19wZW5kaW5nX2VuY29k ZXJfYXNzaWdubWVudChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCi0JCQkJIHN0cnVj dCBkcm1fZW5jb2RlciAqbmV3X2VuY29kZXIpCi17Ci0Jc3RydWN0IGRybV9jb25uZWN0b3IgKmNv bm5lY3RvcjsKLQlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZTsKLQlpbnQg aTsKLQotCWZvcl9lYWNoX2Nvbm5lY3Rvcl9pbl9zdGF0ZShzdGF0ZSwgY29ubmVjdG9yLCBjb25u X3N0YXRlLCBpKSB7Ci0JCWlmIChjb25uX3N0YXRlLT5iZXN0X2VuY29kZXIgIT0gbmV3X2VuY29k ZXIpCi0JCQljb250aW51ZTsKLQotCQkvKiBlbmNvZGVyIGFscmVhZHkgYXNzaWduZWQgYW5kIHdl J3JlIHRyeWluZyB0byByZS1zdGVhbCBpdCEgKi8KLQkJaWYgKGNvbm5lY3Rvci0+c3RhdGUtPmJl c3RfZW5jb2RlciAhPSBjb25uX3N0YXRlLT5iZXN0X2VuY29kZXIpCi0JCQlyZXR1cm4gZmFsc2U7 Ci0JfQotCi0JcmV0dXJuIHRydWU7Ci19Ci0KIHN0YXRpYyB2b2lkCiBzZXRfYmVzdF9lbmNvZGVy KHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKIAkJIHN0cnVjdCBkcm1fY29ubmVjdG9y X3N0YXRlICpjb25uX3N0YXRlLApAQCAtMzI1LDEzICszNDMsNiBAQCB1cGRhdGVfY29ubmVjdG9y X3JvdXRpbmcoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAogCQlyZXR1cm4gMDsKIAl9 CiAKLQlpZiAoIWNoZWNrX3BlbmRpbmdfZW5jb2Rlcl9hc3NpZ25tZW50KHN0YXRlLCBuZXdfZW5j b2RlcikpIHsKLQkJRFJNX0RFQlVHX0FUT01JQygiRW5jb2RlciBmb3IgW0NPTk5FQ1RPUjolZDol c10gYWxyZWFkeSBhc3NpZ25lZFxuIiwKLQkJCQkgY29ubmVjdG9yLT5iYXNlLmlkLAotCQkJCSBj b25uZWN0b3ItPm5hbWUpOwotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0KIAlyZXQgPSBzdGVhbF9l bmNvZGVyKHN0YXRlLCBuZXdfZW5jb2Rlcik7CiAJaWYgKHJldCkgewogCQlEUk1fREVCVUdfQVRP TUlDKCJFbmNvZGVyIHN0ZWFsaW5nIGZhaWxlZCBmb3IgW0NPTk5FQ1RPUjolZDolc11cbiIsCkBA IC01MTAsMTEgKzUyMSw5IEBAIGRybV9hdG9taWNfaGVscGVyX2NoZWNrX21vZGVzZXQoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKIAkJfQogCX0KIAotCWlmIChzdGF0ZS0+bGVnYWN5X3NldF9jb25m aWcpIHsKLQkJcmV0ID0gZGlzYWJsZV9jb25mbGljdGluZ19jb25uZWN0b3JzKHN0YXRlKTsKLQkJ aWYgKHJldCkKLQkJCXJldHVybiByZXQ7Ci0JfQorCXJldCA9IGhhbmRsZV9jb25mbGljdGluZ19l bmNvZGVycyhzdGF0ZSwgc3RhdGUtPmxlZ2FjeV9zZXRfY29uZmlnKTsKKwlpZiAocmV0KQorCQly ZXR1cm4gcmV0OwogCiAJZm9yX2VhY2hfY29ubmVjdG9yX2luX3N0YXRlKHN0YXRlLCBjb25uZWN0 b3IsIGNvbm5lY3Rvcl9zdGF0ZSwgaSkgewogCQkvKgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVsCg==