From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v3 5/7] drm/atomic: Handle encoder assignment conflicts in a separate check, v3. Date: Thu, 3 Mar 2016 10:17:40 +0100 Message-ID: <1456996662-8704-6-git-send-email-maarten.lankhorst@linux.intel.com> References: <1456996662-8704-1-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1456996662-8704-1-git-send-email-maarten.lankhorst@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: dri-devel@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org VGhlIGN1cnJlbnQgY2hlY2sgZG9lc24ndCBoYW5kbGUgdGhlIGNhc2Ugd2hlcmUgd2UgZG9uJ3Qg c3RlYWwgYW4KZW5jb2RlciwgYnV0IGtlZXAgaXQgb24gdGhlIGN1cnJlbnQgY29ubmVjdG9yLiBJ ZiB3ZSByZXB1cnBvc2UKZGlzYWJsZV9jb25mbGljdGluZ19lbmNvZGVycyB0byBkbyB0aGUgY2hl Y2tpbmcsIHdlIGp1c3QgaGF2ZQp0byByZWplY3QgdGhlIG9uZXMgdGhhdCBjb25mbGljdC4KCkNo YW5nZXMgc2luY2UgdjE6Ci0gUmV0dXJuIGVhcmx5IHdpdGggZW1wdHkgZW5jb2Rlcl9tYXNrLCBk cm1fZm9yX2VhY2hfY29ubmVjdG9yCiAgcmVxdWlyZXMgY29ubmVjdGlvbl9tdXRleCBoZWxkLgpD aGFuZ2VzIHNpbmNlIHYyOgotIEFkZCBjb21tZW50cyBmb3IgdGhlIGxvb3BzLgoKU2lnbmVkLW9m Zi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNv bT4KVGVzdGNhc2U6IGttc19zZXRtb2RlLmludmFsaWQtY2xvbmUtc2luZ2xlLWNydGMtc3RlYWxp bmcKLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyB8IDc3ICsrKysrKysr KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0MyBpbnNlcnRp b25zKCspLCAzNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJt X2F0b21pY19oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCmlu ZGV4IGRiMTFjMmY5YjA5OC4uYmI2MDE0OGM1YzhkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2F0b21pY19oZWxwZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19o ZWxwZXIuYwpAQCAtODYsNyArODYsOCBAQCBkcm1fYXRvbWljX2hlbHBlcl9wbGFuZV9jaGFuZ2Vk KHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKIAl9CiB9CiAKLXN0YXRpYyBpbnQgZGlz YWJsZV9jb25mbGljdGluZ19jb25uZWN0b3JzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0 ZSkKK3N0YXRpYyBpbnQgaGFuZGxlX2NvbmZsaWN0aW5nX2VuY29kZXJzKHN0cnVjdCBkcm1fYXRv bWljX3N0YXRlICpzdGF0ZSwKKwkJCQkgICAgICAgYm9vbCBkaXNhYmxlX2NvbmZsaWN0aW5nX2Vu Y29kZXJzKQogewogCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlOwogCXN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3I7CkBAIC05NCw2ICs5NSwxMSBAQCBzdGF0aWMg aW50IGRpc2FibGVfY29uZmxpY3RpbmdfY29ubmVjdG9ycyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0 ZSAqc3RhdGUpCiAJdW5zaWduZWQgZW5jb2Rlcl9tYXNrID0gMDsKIAlpbnQgaSwgcmV0OwogCisJ LyoKKwkgKiBGaXJzdCBsb29wLCBmaW5kIGFsbCBuZXdseSBhc3NpZ25lZCBlbmNvZGVycyBmcm9t IHRoZSBjb25uZWN0b3JzCisJICogcGFydCBvZiB0aGUgc3RhdGUuIElmIHRoZSBzYW1lIGVuY29k ZXIgaXMgYXNzaWduZWQgdG8gbXVsdGlwbGUKKwkgKiBjb25uZWN0b3JzIGJhaWwgb3V0LgorCSAq LwogCWZvcl9lYWNoX2Nvbm5lY3Rvcl9pbl9zdGF0ZShzdGF0ZSwgY29ubmVjdG9yLCBjb25uX3N0 YXRlLCBpKSB7CiAJCWNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX2hlbHBlcl9mdW5jcyAqZnVu Y3MgPSBjb25uZWN0b3ItPmhlbHBlcl9wcml2YXRlOwogCQlzdHJ1Y3QgZHJtX2VuY29kZXIgKm5l d19lbmNvZGVyOwpAQCAtMTA2LDEwICsxMTIsMzMgQEAgc3RhdGljIGludCBkaXNhYmxlX2NvbmZs aWN0aW5nX2Nvbm5lY3RvcnMoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQogCQllbHNl CiAJCQluZXdfZW5jb2RlciA9IGZ1bmNzLT5iZXN0X2VuY29kZXIoY29ubmVjdG9yKTsKIAotCQlp ZiAobmV3X2VuY29kZXIpCisJCWlmIChuZXdfZW5jb2RlcikgeworCQkJaWYgKGVuY29kZXJfbWFz ayAmICgxIDw8IGRybV9lbmNvZGVyX2luZGV4KG5ld19lbmNvZGVyKSkpIHsKKwkJCQlEUk1fREVC VUdfQVRPTUlDKCJbRU5DT0RFUjolZDolc10gb24gW0NPTk5FQ1RPUjolZDolc10gYWxyZWFkeSBh c3NpZ25lZFxuIiwKKwkJCQkJbmV3X2VuY29kZXItPmJhc2UuaWQsIG5ld19lbmNvZGVyLT5uYW1l LAorCQkJCQljb25uZWN0b3ItPmJhc2UuaWQsIGNvbm5lY3Rvci0+bmFtZSk7CisKKwkJCQlyZXR1 cm4gLUVJTlZBTDsKKwkJCX0KKwogCQkJZW5jb2Rlcl9tYXNrIHw9IDEgPDwgZHJtX2VuY29kZXJf aW5kZXgobmV3X2VuY29kZXIpOworCQl9CiAJfQogCisJaWYgKCFlbmNvZGVyX21hc2spCisJCXJl dHVybiAwOworCisJLyoKKwkgKiBTZWNvbmQgbG9vcCwgaXRlcmF0ZSBvdmVyIGFsbCBjb25uZWN0 b3JzIG5vdCBwYXJ0IG9mIHRoZSBzdGF0ZS4KKwkgKgorCSAqIElmIGEgY29uZmxpY3RpbmcgZW5j b2RlciBpcyBmb3VuZCBhbmQgZGlzYWJsZV9jb25mbGljdGluZ19lbmNvZGVycworCSAqIGlzIG5v dCBzZXQsIGFuIGVycm9yIGlzIHJldHVybmVkLiBVc2Vyc3BhY2UgY2FuIHByb3ZpZGUgYSBzb2x1 dGlvbgorCSAqIHRocm91Z2ggdGhlIGF0b21pYyBpb2N0bC4KKwkgKgorCSAqIElmIHRoZSBmbGFn IGlzIHNldCBjb25mbGljdGluZyBjb25uZWN0b3JzIGFyZSByZW1vdmVkIGZyb20gdGhlIGNydGMK KwkgKiBhbmQgdGhlIGNydGMgaXMgZGlzYWJsZWQgaWYgbm8gZW5jb2RlciBpcyBsZWZ0LiBUaGlz IHByZXNlcnZlcworCSAqIGNvbXBhdGliaWxpdHkgd2l0aCB0aGUgbGVnYWN5IHNldF9jb25maWcg YmVoYXZpb3IuCisJICovCiAJZHJtX2Zvcl9lYWNoX2Nvbm5lY3Rvcihjb25uZWN0b3IsIHN0YXRl LT5kZXYpIHsKIAkJc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlOwogCkBAIC0xMjAs NiArMTQ5LDE1IEBAIHN0YXRpYyBpbnQgZGlzYWJsZV9jb25mbGljdGluZ19jb25uZWN0b3JzKHN0 cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKIAkJaWYgKCFlbmNvZGVyIHx8ICEoZW5jb2Rl cl9tYXNrICYgKDEgPDwgZHJtX2VuY29kZXJfaW5kZXgoZW5jb2RlcikpKSkKIAkJCWNvbnRpbnVl OwogCisJCWlmICghZGlzYWJsZV9jb25mbGljdGluZ19lbmNvZGVycykgeworCQkJRFJNX0RFQlVH X0FUT01JQygiW0VOQ09ERVI6JWQ6JXNdIGluIHVzZSBvbiBbQ1JUQzolZDolc10gYnkgW0NPTk5F Q1RPUjolZDolc11cbiIsCisJCQkJCSBlbmNvZGVyLT5iYXNlLmlkLCBlbmNvZGVyLT5uYW1lLAor CQkJCQkgY29ubmVjdG9yLT5zdGF0ZS0+Y3J0Yy0+YmFzZS5pZCwKKwkJCQkJIGNvbm5lY3Rvci0+ c3RhdGUtPmNydGMtPm5hbWUsCisJCQkJCSBjb25uZWN0b3ItPmJhc2UuaWQsIGNvbm5lY3Rvci0+ bmFtZSk7CisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfQorCiAJCWNvbm5fc3RhdGUgPSBkcm1fYXRv bWljX2dldF9jb25uZWN0b3Jfc3RhdGUoc3RhdGUsIGNvbm5lY3Rvcik7CiAJCWlmIChJU19FUlIo Y29ubl9zdGF0ZSkpCiAJCQlyZXR1cm4gUFRSX0VSUihjb25uX3N0YXRlKTsKQEAgLTE0OCwyNiAr MTg2LDYgQEAgc3RhdGljIGludCBkaXNhYmxlX2NvbmZsaWN0aW5nX2Nvbm5lY3RvcnMoc3RydWN0 IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQogCXJldHVybiAwOwogfQogCi1zdGF0aWMgYm9vbAot Y2hlY2tfcGVuZGluZ19lbmNvZGVyX2Fzc2lnbm1lbnQoc3RydWN0IGRybV9hdG9taWNfc3RhdGUg KnN0YXRlLAotCQkJCSBzdHJ1Y3QgZHJtX2VuY29kZXIgKm5ld19lbmNvZGVyKQotewotCXN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3I7Ci0Jc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUg KmNvbm5fc3RhdGU7Ci0JaW50IGk7Ci0KLQlmb3JfZWFjaF9jb25uZWN0b3JfaW5fc3RhdGUoc3Rh dGUsIGNvbm5lY3RvciwgY29ubl9zdGF0ZSwgaSkgewotCQlpZiAoY29ubl9zdGF0ZS0+YmVzdF9l bmNvZGVyICE9IG5ld19lbmNvZGVyKQotCQkJY29udGludWU7Ci0KLQkJLyogZW5jb2RlciBhbHJl YWR5IGFzc2lnbmVkIGFuZCB3ZSdyZSB0cnlpbmcgdG8gcmUtc3RlYWwgaXQhICovCi0JCWlmIChj b25uZWN0b3ItPnN0YXRlLT5iZXN0X2VuY29kZXIgIT0gY29ubl9zdGF0ZS0+YmVzdF9lbmNvZGVy KQotCQkJcmV0dXJuIGZhbHNlOwotCX0KLQotCXJldHVybiB0cnVlOwotfQotCiBzdGF0aWMgdm9p ZAogc2V0X2Jlc3RfZW5jb2RlcihzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCiAJCSBz dHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSwKQEAgLTMyNSwxMyArMzQzLDYg QEAgdXBkYXRlX2Nvbm5lY3Rvcl9yb3V0aW5nKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0 ZSwKIAkJcmV0dXJuIDA7CiAJfQogCi0JaWYgKCFjaGVja19wZW5kaW5nX2VuY29kZXJfYXNzaWdu bWVudChzdGF0ZSwgbmV3X2VuY29kZXIpKSB7Ci0JCURSTV9ERUJVR19BVE9NSUMoIkVuY29kZXIg Zm9yIFtDT05ORUNUT1I6JWQ6JXNdIGFscmVhZHkgYXNzaWduZWRcbiIsCi0JCQkJIGNvbm5lY3Rv ci0+YmFzZS5pZCwKLQkJCQkgY29ubmVjdG9yLT5uYW1lKTsKLQkJcmV0dXJuIC1FSU5WQUw7Ci0J fQotCiAJcmV0ID0gc3RlYWxfZW5jb2RlcihzdGF0ZSwgbmV3X2VuY29kZXIpOwogCWlmIChyZXQp IHsKIAkJRFJNX0RFQlVHX0FUT01JQygiRW5jb2RlciBzdGVhbGluZyBmYWlsZWQgZm9yIFtDT05O RUNUT1I6JWQ6JXNdXG4iLApAQCAtNTEwLDExICs1MjEsOSBAQCBkcm1fYXRvbWljX2hlbHBlcl9j aGVja19tb2Rlc2V0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCX0KIAl9CiAKLQlpZiAoc3Rh dGUtPmxlZ2FjeV9zZXRfY29uZmlnKSB7Ci0JCXJldCA9IGRpc2FibGVfY29uZmxpY3RpbmdfY29u bmVjdG9ycyhzdGF0ZSk7Ci0JCWlmIChyZXQpCi0JCQlyZXR1cm4gcmV0OwotCX0KKwlyZXQgPSBo YW5kbGVfY29uZmxpY3RpbmdfZW5jb2RlcnMoc3RhdGUsIHN0YXRlLT5sZWdhY3lfc2V0X2NvbmZp Zyk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKIAogCWZvcl9lYWNoX2Nvbm5lY3Rvcl9pbl9z dGF0ZShzdGF0ZSwgY29ubmVjdG9yLCBjb25uZWN0b3Jfc3RhdGUsIGkpIHsKIAkJLyoKLS0gCjIu MS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK