From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v3 4/7] drm/atomic: Handle encoder stealing from set_config better. Date: Thu, 3 Mar 2016 10:17:39 +0100 Message-ID: <1456996662-8704-5-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: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org SW5zdGVhZCBvZiBmYWlsaW5nIHdpdGggLUVJTlZBTCB3aGVuIGNvbmZsaWN0aW5nIGVuY29kZXJz IGFyZSBmb3VuZCwKdGhlIGxlZ2FjeSBzZXRfY29uZmlnIHdpbGwgZGlzYWJsZSBvdGhlciBjb25u ZWN0b3JzIHdoZW4gZW5jb2RlcnMKY29uZmxpY3QuCgpXaXRoIHRoZSBwcmV2aW91cyBjb21taXQg dGhpcyBiZWNvbWVzIGEgbG90IGVhc2llciB0byBpbXBsZW1lbnQuCnNldF9jb25maWcgb25seSBh ZGRzIGNvbm5lY3RvcnMgdG8gdGhlIHN0YXRlIHRoYXQgYXJlIG1vZGlmaWVkLAphbmQgYmVjYXVz ZSBvZiB0aGUgcHJldmlvdXMgY29tbWl0IHRoYXQgY2FsbHMgYWRkX2FmZmVjdGVkX2Nvbm5lY3Rv cnMKb25seSBvbiBzZXQtPmNydGMgaXQgbWVhbnMgYW55IGNvbm5lY3RvciBub3QgcGFydCBvZiB0 aGUgbW9kZXNldCBjYW4KYmUgc3RvbGVuIGZyb20uIFdlIGRpc2FibGUgdGhlIGNvbm5lY3RvciBp biB0aGF0IGNhc2UsIGFuZCBwb3NzaWJseQp0aGUgY3J0YyBpZiByZXF1aXJlZC4KCkF0b21pYyBt b2Rlc2V0IGl0c2VsZiBzdGlsbCBkb2Vzbid0IGFsbG93IGVuY29kZXIgc3RlYWxpbmcsIHRoZSBy ZXN1bHRzCndvdWxkIGJlIHRvbyB1bnByZWRpY3RhYmxlLgoKU2lnbmVkLW9mZi1ieTogTWFhcnRl biBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2 ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyB8IDY5ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKIGluY2x1ZGUvZHJtL2RybV9jcnRjLmggICAgICAgICAgICAgIHwg IDIgKysKIDIgZmlsZXMgY2hhbmdlZCwgNzEgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9h dG9taWNfaGVscGVyLmMKaW5kZXggNzJjYTg1YjMyMjYwLi5kYjExYzJmOWIwOTggMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCkBAIC04Niw2ICs4Niw2OCBAQCBkcm1fYXRvbWljX2hl bHBlcl9wbGFuZV9jaGFuZ2VkKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKIAl9CiB9 CiAKK3N0YXRpYyBpbnQgZGlzYWJsZV9jb25mbGljdGluZ19jb25uZWN0b3JzKHN0cnVjdCBkcm1f YXRvbWljX3N0YXRlICpzdGF0ZSkKK3sKKwlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29u bl9zdGF0ZTsKKwlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yOworCXN0cnVjdCBkcm1f ZW5jb2RlciAqZW5jb2RlcjsKKwl1bnNpZ25lZCBlbmNvZGVyX21hc2sgPSAwOworCWludCBpLCBy ZXQ7CisKKwlmb3JfZWFjaF9jb25uZWN0b3JfaW5fc3RhdGUoc3RhdGUsIGNvbm5lY3RvciwgY29u bl9zdGF0ZSwgaSkgeworCQljb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3Mg KmZ1bmNzID0gY29ubmVjdG9yLT5oZWxwZXJfcHJpdmF0ZTsKKwkJc3RydWN0IGRybV9lbmNvZGVy ICpuZXdfZW5jb2RlcjsKKworCQlpZiAoIWNvbm5fc3RhdGUtPmNydGMpCisJCQljb250aW51ZTsK KworCQlpZiAoZnVuY3MtPmF0b21pY19iZXN0X2VuY29kZXIpCisJCQluZXdfZW5jb2RlciA9IGZ1 bmNzLT5hdG9taWNfYmVzdF9lbmNvZGVyKGNvbm5lY3RvciwgY29ubl9zdGF0ZSk7CisJCWVsc2UK KwkJCW5ld19lbmNvZGVyID0gZnVuY3MtPmJlc3RfZW5jb2Rlcihjb25uZWN0b3IpOworCisJCWlm IChuZXdfZW5jb2RlcikKKwkJCWVuY29kZXJfbWFzayB8PSAxIDw8IGRybV9lbmNvZGVyX2luZGV4 KG5ld19lbmNvZGVyKTsKKwl9CisKKwlkcm1fZm9yX2VhY2hfY29ubmVjdG9yKGNvbm5lY3Rvciwg c3RhdGUtPmRldikgeworCQlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGU7CisKKwkJ aWYgKGRybV9hdG9taWNfZ2V0X2V4aXN0aW5nX2Nvbm5lY3Rvcl9zdGF0ZShzdGF0ZSwgY29ubmVj dG9yKSkKKwkJCWNvbnRpbnVlOworCisJCWVuY29kZXIgPSBjb25uZWN0b3ItPnN0YXRlLT5iZXN0 X2VuY29kZXI7CisJCWlmICghZW5jb2RlciB8fCAhKGVuY29kZXJfbWFzayAmICgxIDw8IGRybV9l bmNvZGVyX2luZGV4KGVuY29kZXIpKSkpCisJCQljb250aW51ZTsKKworCQljb25uX3N0YXRlID0g ZHJtX2F0b21pY19nZXRfY29ubmVjdG9yX3N0YXRlKHN0YXRlLCBjb25uZWN0b3IpOworCQlpZiAo SVNfRVJSKGNvbm5fc3RhdGUpKQorCQkJcmV0dXJuIFBUUl9FUlIoY29ubl9zdGF0ZSk7CisKKwkJ RFJNX0RFQlVHX0FUT01JQygiW0VOQ09ERVI6JWQ6JXNdIGluIHVzZSBvbiBbQ1JUQzolZDolc10s IGRpc2FibGluZyBbQ09OTkVDVE9SOiVkOiVzXVxuIiwKKwkJCQkgZW5jb2Rlci0+YmFzZS5pZCwg ZW5jb2Rlci0+bmFtZSwKKwkJCQkgY29ubl9zdGF0ZS0+Y3J0Yy0+YmFzZS5pZCwgY29ubl9zdGF0 ZS0+Y3J0Yy0+bmFtZSwKKwkJCQkgY29ubmVjdG9yLT5iYXNlLmlkLCBjb25uZWN0b3ItPm5hbWUp OworCisJCWNydGNfc3RhdGUgPSBkcm1fYXRvbWljX2dldF9leGlzdGluZ19jcnRjX3N0YXRlKHN0 YXRlLCBjb25uX3N0YXRlLT5jcnRjKTsKKworCQlyZXQgPSBkcm1fYXRvbWljX3NldF9jcnRjX2Zv cl9jb25uZWN0b3IoY29ubl9zdGF0ZSwgTlVMTCk7CisJCWlmIChyZXQpCisJCQlyZXR1cm4gcmV0 OworCisJCWlmICghY3J0Y19zdGF0ZS0+Y29ubmVjdG9yX21hc2spIHsKKwkJCXJldCA9IGRybV9h dG9taWNfc2V0X21vZGVfcHJvcF9mb3JfY3J0YyhjcnRjX3N0YXRlLAorCQkJCQkJCQlOVUxMKTsK KwkJCWlmIChyZXQgPCAwKQorCQkJCXJldHVybiByZXQ7CisKKwkJCWNydGNfc3RhdGUtPmFjdGl2 ZSA9IGZhbHNlOworCQl9CisJfQorCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBib29sCiBjaGVj a19wZW5kaW5nX2VuY29kZXJfYXNzaWdubWVudChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3Rh dGUsCiAJCQkJIHN0cnVjdCBkcm1fZW5jb2RlciAqbmV3X2VuY29kZXIpCkBAIC00NDgsNiArNTEw LDEyIEBAIGRybV9hdG9taWNfaGVscGVyX2NoZWNrX21vZGVzZXQoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKIAkJfQogCX0KIAorCWlmIChzdGF0ZS0+bGVnYWN5X3NldF9jb25maWcpIHsKKwkJcmV0 ID0gZGlzYWJsZV9jb25mbGljdGluZ19jb25uZWN0b3JzKHN0YXRlKTsKKwkJaWYgKHJldCkKKwkJ CXJldHVybiByZXQ7CisJfQorCiAJZm9yX2VhY2hfY29ubmVjdG9yX2luX3N0YXRlKHN0YXRlLCBj b25uZWN0b3IsIGNvbm5lY3Rvcl9zdGF0ZSwgaSkgewogCQkvKgogCQkgKiBUaGlzIG9ubHkgc2V0 cyBjcnRjLT5tb2RlX2NoYW5nZWQgZm9yIHJvdXRpbmcgY2hhbmdlcywKQEAgLTE3OTYsNiArMTg2 NCw3IEBAIGludCBkcm1fYXRvbWljX2hlbHBlcl9zZXRfY29uZmlnKHN0cnVjdCBkcm1fbW9kZV9z ZXQgKnNldCkKIAlpZiAoIXN0YXRlKQogCQlyZXR1cm4gLUVOT01FTTsKIAorCXN0YXRlLT5sZWdh Y3lfc2V0X2NvbmZpZyA9IHRydWU7CiAJc3RhdGUtPmFjcXVpcmVfY3R4ID0gZHJtX21vZGVzZXRf bGVnYWN5X2FjcXVpcmVfY3R4KGNydGMpOwogcmV0cnk6CiAJcmV0ID0gX19kcm1fYXRvbWljX2hl bHBlcl9zZXRfY29uZmlnKHNldCwgc3RhdGUpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJt X2NydGMuaCBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKaW5kZXggN2ZhZDE5M2RjNjQ1Li45YTk0 NmRmMjdmMDcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKKysrIGIvaW5jbHVk ZS9kcm0vZHJtX2NydGMuaApAQCAtMTY3Nyw2ICsxNjc3LDcgQEAgc3RydWN0IGRybV9icmlkZ2Ug ewogICogQGRldjogcGFyZW50IERSTSBkZXZpY2UKICAqIEBhbGxvd19tb2Rlc2V0OiBhbGxvdyBm dWxsIG1vZGVzZXQKICAqIEBsZWdhY3lfY3Vyc29yX3VwZGF0ZTogaGludCB0byBlbmZvcmNlIGxl Z2FjeSBjdXJzb3IgSU9DVEwgc2VtYW50aWNzCisgKiBAbGVnYWN5X3NldF9jb25maWc6IERpc2Fi bGUgY29uZmxpY3RpbmcgZW5jb2RlcnMgaW5zdGVhZCBvZiBmYWlsaW5nIHdpdGggLUVJTlZBTC4K ICAqIEBwbGFuZXM6IHBvaW50ZXIgdG8gYXJyYXkgb2YgcGxhbmUgcG9pbnRlcnMKICAqIEBwbGFu ZV9zdGF0ZXM6IHBvaW50ZXIgdG8gYXJyYXkgb2YgcGxhbmUgc3RhdGVzIHBvaW50ZXJzCiAgKiBA Y3J0Y3M6IHBvaW50ZXIgdG8gYXJyYXkgb2YgQ1JUQyBwb2ludGVycwpAQCAtMTY5MCw2ICsxNjkx LDcgQEAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXY7 CiAJYm9vbCBhbGxvd19tb2Rlc2V0IDogMTsKIAlib29sIGxlZ2FjeV9jdXJzb3JfdXBkYXRlIDog MTsKKwlib29sIGxlZ2FjeV9zZXRfY29uZmlnIDogMTsKIAlzdHJ1Y3QgZHJtX3BsYW5lICoqcGxh bmVzOwogCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKipwbGFuZV9zdGF0ZXM7CiAJc3RydWN0IGRy bV9jcnRjICoqY3J0Y3M7Ci0tIAoyLjEuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vZHJpLWRldmVsCg==