From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v3 1/7] drm/atomic: Clean up update_output_state. Date: Thu, 3 Mar 2016 10:17:36 +0100 Message-ID: <1456996662-8704-2-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 V2l0aCB0aGUgYWRkaXRpb24gb2YgY3J0Y19zdGF0ZS0+Y29ubmVjdG9yX21hc2sgb3RoZXIgY29u bmVjdG9ycyBmcm9tCmRpZmZlcmVudCBjcnRjJ3MgYXJlbid0IG5lZWRlZCBhbnkgbW9yZSwgc28g b25seSBjYWxsCmFkZF9hZmZlY3RlZF9jb25uZWN0b3JzIG9uIHRoZSB0YXJnZXQgY3J0Yy4gVGhp cyBhbGxvd3MgYSBjbGVhbnVwCnRvIGZpcnN0IHJlbW92ZSBhbGwgY3VycmVudCBjb25uZWN0b3Jz LCB0aGVuIGFkZCBhbGwgc2V0LT5jb25uZWN0b3JzCnRvIHRoZSB0YXJnZXQgY3J0Yy4KClNpZ25l ZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRl bC5jb20+ClJldmlld2VkLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXgu aW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jIHwgNDEg KysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE3 IGluc2VydGlvbnMoKyksIDI0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1fYXRvbWljX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVs cGVyLmMKaW5kZXggNGRhNGYyYTQ5MDc4Li5hMDIyNmQ0Yjk0OWEgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f YXRvbWljX2hlbHBlci5jCkBAIC0xNzYxLDI4ICsxNzYxLDE4IEBAIHN0YXRpYyBpbnQgdXBkYXRl X291dHB1dF9zdGF0ZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCiAJc3RydWN0IGRy bV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlOwogCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3I7CiAJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGU7Ci0JaW50IHJldCwg aSwgajsKKwlpbnQgcmV0LCBpOwogCiAJcmV0ID0gZHJtX21vZGVzZXRfbG9jaygmZGV2LT5tb2Rl X2NvbmZpZy5jb25uZWN0aW9uX211dGV4LAogCQkJICAgICAgIHN0YXRlLT5hY3F1aXJlX2N0eCk7 CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIAotCS8qIEZpcnN0IGdyYWIgYWxsIGFmZmVjdGVk IGNvbm5lY3Rvci9jcnRjIHN0YXRlcy4gKi8KLQlmb3IgKGkgPSAwOyBpIDwgc2V0LT5udW1fY29u bmVjdG9yczsgaSsrKSB7Ci0JCWNvbm5fc3RhdGUgPSBkcm1fYXRvbWljX2dldF9jb25uZWN0b3Jf c3RhdGUoc3RhdGUsCi0JCQkJCQkJICAgIHNldC0+Y29ubmVjdG9yc1tpXSk7Ci0JCWlmIChJU19F UlIoY29ubl9zdGF0ZSkpCi0JCQlyZXR1cm4gUFRSX0VSUihjb25uX3N0YXRlKTsKLQl9Ci0KLQlm b3JfZWFjaF9jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRjLCBjcnRjX3N0YXRlLCBpKSB7Ci0JCXJl dCA9IGRybV9hdG9taWNfYWRkX2FmZmVjdGVkX2Nvbm5lY3RvcnMoc3RhdGUsIGNydGMpOwotCQlp ZiAocmV0KQotCQkJcmV0dXJuIHJldDsKLQl9CisJLyogRmlyc3QgZGlzYWJsZSBhbGwgY29ubmVj dG9ycyBvbiB0aGUgdGFyZ2V0IGNydGMuICovCisJcmV0ID0gZHJtX2F0b21pY19hZGRfYWZmZWN0 ZWRfY29ubmVjdG9ycyhzdGF0ZSwgc2V0LT5jcnRjKTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0 OwogCi0JLyogVGhlbiByZWNvbXB1dGUgY29ubmVjdG9yLT5jcnRjIGxpbmtzIGFuZCBjcnRjIGVu YWJsaW5nIHN0YXRlLiAqLwogCWZvcl9lYWNoX2Nvbm5lY3Rvcl9pbl9zdGF0ZShzdGF0ZSwgY29u bmVjdG9yLCBjb25uX3N0YXRlLCBpKSB7CiAJCWlmIChjb25uX3N0YXRlLT5jcnRjID09IHNldC0+ Y3J0YykgewogCQkJcmV0ID0gZHJtX2F0b21pY19zZXRfY3J0Y19mb3JfY29ubmVjdG9yKGNvbm5f c3RhdGUsCkBAIC0xNzkwLDE2ICsxNzgwLDE5IEBAIHN0YXRpYyBpbnQgdXBkYXRlX291dHB1dF9z dGF0ZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCiAJCQlpZiAocmV0KQogCQkJCXJl dHVybiByZXQ7CiAJCX0KKwl9CiAKLQkJZm9yIChqID0gMDsgaiA8IHNldC0+bnVtX2Nvbm5lY3Rv cnM7IGorKykgewotCQkJaWYgKHNldC0+Y29ubmVjdG9yc1tqXSA9PSBjb25uZWN0b3IpIHsKLQkJ CQlyZXQgPSBkcm1fYXRvbWljX3NldF9jcnRjX2Zvcl9jb25uZWN0b3IoY29ubl9zdGF0ZSwKLQkJ CQkJCQkJCXNldC0+Y3J0Yyk7Ci0JCQkJaWYgKHJldCkKLQkJCQkJcmV0dXJuIHJldDsKLQkJCQli cmVhazsKLQkJCX0KLQkJfQorCS8qIFRoZW4gc2V0IGFsbCBjb25uZWN0b3JzIGZyb20gc2V0LT5j b25uZWN0b3JzIG9uIHRoZSB0YXJnZXQgY3J0YyAqLworCWZvciAoaSA9IDA7IGkgPCBzZXQtPm51 bV9jb25uZWN0b3JzOyBpKyspIHsKKwkJY29ubl9zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X2Nvbm5l Y3Rvcl9zdGF0ZShzdGF0ZSwKKwkJCQkJCQkgICAgc2V0LT5jb25uZWN0b3JzW2ldKTsKKwkJaWYg KElTX0VSUihjb25uX3N0YXRlKSkKKwkJCXJldHVybiBQVFJfRVJSKGNvbm5fc3RhdGUpOworCisJ CXJldCA9IGRybV9hdG9taWNfc2V0X2NydGNfZm9yX2Nvbm5lY3Rvcihjb25uX3N0YXRlLAorCQkJ CQkJCXNldC0+Y3J0Yyk7CisJCWlmIChyZXQpCisJCQlyZXR1cm4gcmV0OwogCX0KIAogCWZvcl9l YWNoX2NydGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIGNydGNfc3RhdGUsIGkpIHsKLS0gCjIuMS4w CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK