From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v2 4/6] drm/atomic: Handle encoder stealing from set_config better. Date: Wed, 24 Feb 2016 09:37:31 +0100 Message-ID: <1456303053-28806-5-git-send-email-maarten.lankhorst@linux.intel.com> References: <1456303053-28806-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: <1456303053-28806-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 ZWN0b3JzIHdoZW4gZW5jb2RlcnMKY29uZmxpY3QuCgpXaXRoIHRoZSBjbGVhbnVwIHRvIHVwZGF0 ZV9vdXRwdXRfc3RhdGUgdGhpcyBpcyBhIGxvdCBlYXNpZXIgdG8KaW1wbGVtZW50LiBzZXRfY29u ZmlnIG9ubHkgYWRkcyBjb25uZWN0b3JzIHRvIHRoZSBzdGF0ZSB0aGF0IGFyZQptb2RpZmllZCwg YW5kIGJlY2F1c2Ugb2YgdGhlIHByZXZpb3VzIGNvbW1pdCB0aGF0IGNhbGxzCmFkZF9hZmZlY3Rl ZF9jb25uZWN0b3JzIG9ubHkgb24gc2V0LT5jcnRjIGl0IG1lYW5zIGFueSBjb25uZWN0b3Igbm90 CnBhcnQgb2YgdGhlIG1vZGVzZXQgY2FuIGJlIHN0b2xlbiBmcm9tLiBXZSBkaXNhYmxlIHRoZSBj b25uZWN0b3IgaW4KdGhhdCBjYXNlLCBhbmQgcG9zc2libHkgdGhlIGNydGMgaWYgbm8gY29ubmVj dG9ycyBhcmUgbGVmdC4KCkF0b21pYyBtb2Rlc2V0IGl0c2VsZiBzdGlsbCBkb2Vzbid0IGFsbG93 IGVuY29kZXIgc3RlYWxpbmcsIHRoZQpyZXN1bHRzIHdvdWxkIGJlIHRvbyB1bnByZWRpY3RhYmxl LgoKU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxp bnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyB8 IDY5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUvZHJtL2Ry bV9jcnRjLmggICAgICAgICAgICAgIHwgIDIgKysKIDIgZmlsZXMgY2hhbmdlZCwgNzEgaW5zZXJ0 aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5j IGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKaW5kZXggZTg5YTVkYTI3NDYz Li4zNTQzYzdmY2QwNzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hl bHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCkBAIC04Niw2 ICs4Niw2OCBAQCBkcm1fYXRvbWljX2hlbHBlcl9wbGFuZV9jaGFuZ2VkKHN0cnVjdCBkcm1fYXRv bWljX3N0YXRlICpzdGF0ZSwKIAl9CiB9CiAKK3N0YXRpYyBpbnQgZGlzYWJsZV9jb25mbGljdGlu Z19jb25uZWN0b3JzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKK3sKKwlzdHJ1Y3Qg ZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZTsKKwlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yOworCXN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcjsKKwl1bnNpZ25lZCBlbmNv ZGVyX21hc2sgPSAwOworCWludCBpLCByZXQ7CisKKwlmb3JfZWFjaF9jb25uZWN0b3JfaW5fc3Rh dGUoc3RhdGUsIGNvbm5lY3RvciwgY29ubl9zdGF0ZSwgaSkgeworCQljb25zdCBzdHJ1Y3QgZHJt X2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3MgKmZ1bmNzID0gY29ubmVjdG9yLT5oZWxwZXJfcHJpdmF0 ZTsKKwkJc3RydWN0IGRybV9lbmNvZGVyICpuZXdfZW5jb2RlcjsKKworCQlpZiAoIWNvbm5fc3Rh dGUtPmNydGMpCisJCQljb250aW51ZTsKKworCQlpZiAoZnVuY3MtPmF0b21pY19iZXN0X2VuY29k ZXIpCisJCQluZXdfZW5jb2RlciA9IGZ1bmNzLT5hdG9taWNfYmVzdF9lbmNvZGVyKGNvbm5lY3Rv ciwgY29ubl9zdGF0ZSk7CisJCWVsc2UKKwkJCW5ld19lbmNvZGVyID0gZnVuY3MtPmJlc3RfZW5j b2Rlcihjb25uZWN0b3IpOworCisJCWlmIChuZXdfZW5jb2RlcikKKwkJCWVuY29kZXJfbWFzayB8 PSAxIDw8IGRybV9lbmNvZGVyX2luZGV4KG5ld19lbmNvZGVyKTsKKwl9CisKKwlkcm1fZm9yX2Vh Y2hfY29ubmVjdG9yKGNvbm5lY3Rvciwgc3RhdGUtPmRldikgeworCQlzdHJ1Y3QgZHJtX2NydGNf c3RhdGUgKmNydGNfc3RhdGU7CisKKwkJaWYgKGRybV9hdG9taWNfZ2V0X2V4aXN0aW5nX2Nvbm5l Y3Rvcl9zdGF0ZShzdGF0ZSwgY29ubmVjdG9yKSkKKwkJCWNvbnRpbnVlOworCisJCWVuY29kZXIg PSBjb25uZWN0b3ItPnN0YXRlLT5iZXN0X2VuY29kZXI7CisJCWlmICghZW5jb2RlciB8fCAhKGVu Y29kZXJfbWFzayAmICgxIDw8IGRybV9lbmNvZGVyX2luZGV4KGVuY29kZXIpKSkpCisJCQljb250 aW51ZTsKKworCQljb25uX3N0YXRlID0gZHJtX2F0b21pY19nZXRfY29ubmVjdG9yX3N0YXRlKHN0 YXRlLCBjb25uZWN0b3IpOworCQlpZiAoSVNfRVJSKGNvbm5fc3RhdGUpKQorCQkJcmV0dXJuIFBU Ul9FUlIoY29ubl9zdGF0ZSk7CisKKwkJRFJNX0RFQlVHX0FUT01JQygiW0VOQ09ERVI6JWQ6JXNd IGluIHVzZSBvbiBbQ1JUQzolZDolc10sIGRpc2FibGluZyBbQ09OTkVDVE9SOiVkOiVzXVxuIiwK KwkJCQkgZW5jb2Rlci0+YmFzZS5pZCwgZW5jb2Rlci0+bmFtZSwKKwkJCQkgY29ubl9zdGF0ZS0+ Y3J0Yy0+YmFzZS5pZCwgY29ubl9zdGF0ZS0+Y3J0Yy0+bmFtZSwKKwkJCQkgY29ubmVjdG9yLT5i YXNlLmlkLCBjb25uZWN0b3ItPm5hbWUpOworCisJCWNydGNfc3RhdGUgPSBkcm1fYXRvbWljX2dl dF9leGlzdGluZ19jcnRjX3N0YXRlKHN0YXRlLCBjb25uX3N0YXRlLT5jcnRjKTsKKworCQlyZXQg PSBkcm1fYXRvbWljX3NldF9jcnRjX2Zvcl9jb25uZWN0b3IoY29ubl9zdGF0ZSwgTlVMTCk7CisJ CWlmIChyZXQpCisJCQlyZXR1cm4gcmV0OworCisJCWlmICghY3J0Y19zdGF0ZS0+Y29ubmVjdG9y X21hc2spIHsKKwkJCXJldCA9IGRybV9hdG9taWNfc2V0X21vZGVfcHJvcF9mb3JfY3J0YyhjcnRj X3N0YXRlLAorCQkJCQkJCQlOVUxMKTsKKwkJCWlmIChyZXQgPCAwKQorCQkJCXJldHVybiByZXQ7 CisKKwkJCWNydGNfc3RhdGUtPmFjdGl2ZSA9IGZhbHNlOworCQl9CisJfQorCisJcmV0dXJuIDA7 Cit9CisKIHN0YXRpYyBib29sCiBjaGVja19wZW5kaW5nX2VuY29kZXJfYXNzaWdubWVudChzdHJ1 Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCiAJCQkJIHN0cnVjdCBkcm1fZW5jb2RlciAqbmV3 X2VuY29kZXIpCkBAIC00NDksNiArNTExLDEyIEBAIGRybV9hdG9taWNfaGVscGVyX2NoZWNrX21v ZGVzZXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJfQogCX0KIAorCWlmIChzdGF0ZS0+bGVn YWN5X3NldF9jb25maWcpIHsKKwkJcmV0ID0gZGlzYWJsZV9jb25mbGljdGluZ19jb25uZWN0b3Jz KHN0YXRlKTsKKwkJaWYgKHJldCkKKwkJCXJldHVybiByZXQ7CisJfQorCiAJZm9yX2VhY2hfY29u bmVjdG9yX2luX3N0YXRlKHN0YXRlLCBjb25uZWN0b3IsIGNvbm5lY3Rvcl9zdGF0ZSwgaSkgewog CQkvKgogCQkgKiBUaGlzIG9ubHkgc2V0cyBjcnRjLT5tb2RlX2NoYW5nZWQgZm9yIHJvdXRpbmcg Y2hhbmdlcywKQEAgLTE3OTcsNiArMTg2NSw3IEBAIGludCBkcm1fYXRvbWljX2hlbHBlcl9zZXRf Y29uZmlnKHN0cnVjdCBkcm1fbW9kZV9zZXQgKnNldCkKIAlpZiAoIXN0YXRlKQogCQlyZXR1cm4g LUVOT01FTTsKIAorCXN0YXRlLT5sZWdhY3lfc2V0X2NvbmZpZyA9IHRydWU7CiAJc3RhdGUtPmFj cXVpcmVfY3R4ID0gZHJtX21vZGVzZXRfbGVnYWN5X2FjcXVpcmVfY3R4KGNydGMpOwogcmV0cnk6 CiAJcmV0ID0gX19kcm1fYXRvbWljX2hlbHBlcl9zZXRfY29uZmlnKHNldCwgc3RhdGUpOwpkaWZm IC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2NydGMuaCBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgK aW5kZXggN2ZhZDE5M2RjNjQ1Li45YTk0NmRmMjdmMDcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJt L2RybV9jcnRjLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX2NydGMuaApAQCAtMTY3Nyw2ICsxNjc3 LDcgQEAgc3RydWN0IGRybV9icmlkZ2UgewogICogQGRldjogcGFyZW50IERSTSBkZXZpY2UKICAq IEBhbGxvd19tb2Rlc2V0OiBhbGxvdyBmdWxsIG1vZGVzZXQKICAqIEBsZWdhY3lfY3Vyc29yX3Vw ZGF0ZTogaGludCB0byBlbmZvcmNlIGxlZ2FjeSBjdXJzb3IgSU9DVEwgc2VtYW50aWNzCisgKiBA bGVnYWN5X3NldF9jb25maWc6IERpc2FibGUgY29uZmxpY3RpbmcgZW5jb2RlcnMgaW5zdGVhZCBv ZiBmYWlsaW5nIHdpdGggLUVJTlZBTC4KICAqIEBwbGFuZXM6IHBvaW50ZXIgdG8gYXJyYXkgb2Yg cGxhbmUgcG9pbnRlcnMKICAqIEBwbGFuZV9zdGF0ZXM6IHBvaW50ZXIgdG8gYXJyYXkgb2YgcGxh bmUgc3RhdGVzIHBvaW50ZXJzCiAgKiBAY3J0Y3M6IHBvaW50ZXIgdG8gYXJyYXkgb2YgQ1JUQyBw b2ludGVycwpAQCAtMTY5MCw2ICsxNjkxLDcgQEAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgewog CXN0cnVjdCBkcm1fZGV2aWNlICpkZXY7CiAJYm9vbCBhbGxvd19tb2Rlc2V0IDogMTsKIAlib29s IGxlZ2FjeV9jdXJzb3JfdXBkYXRlIDogMTsKKwlib29sIGxlZ2FjeV9zZXRfY29uZmlnIDogMTsK IAlzdHJ1Y3QgZHJtX3BsYW5lICoqcGxhbmVzOwogCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKipw bGFuZV9zdGF0ZXM7CiAJc3RydWN0IGRybV9jcnRjICoqY3J0Y3M7Ci0tIAoyLjEuMAoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxp bmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==