From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Stone Subject: [RFC PATCH 32/37] drm: atomic_helper: Reference, not duplicate, modes Date: Thu, 19 Mar 2015 04:33:31 +0000 Message-ID: <1426739616-10635-32-git-send-email-daniels@collabora.com> References: <1426739556-10429-1-git-send-email-daniels@collabora.com> <1426739616-10635-1-git-send-email-daniels@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [93.93.135.160]) by gabe.freedesktop.org (Postfix) with ESMTP id 02F136E969 for ; Wed, 18 Mar 2015 21:34:09 -0700 (PDT) In-Reply-To: <1426739616-10635-1-git-send-email-daniels@collabora.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 List-Id: dri-devel@lists.freedesktop.org VGFrZSBhIHJlZmVyZW5jZSB0byBleGlzdGluZyBtb2RlcywgcmF0aGVyIHRoYW4gZHVwbGljYXRp bmcgdGhlbSB0bwpjcmVhdGUgbmV3IG9uZXMuCgpTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgU3RvbmUg PGRhbmllbHNAY29sbGFib3JhLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19o ZWxwZXIuYyB8IDQ5ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmls ZSBjaGFuZ2VkLCAyNCBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljX2hlbHBlci5jCmluZGV4IGJjN2I2MjkuLmY1ZWU4M2MgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljX2hlbHBlci5jCkBAIC0yNjAsNyArMjYwLDEyIEBAIG1vZGVfZml4dXAoc3RydWN0 IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQogCQlpZiAoIWNydGNfc3RhdGUgfHwgIWNydGNfc3Rh dGUtPm1vZGVfY2hhbmdlZCkKIAkJCWNvbnRpbnVlOwogCi0JCWRybV9tb2RlX2NvcHkoJmNydGNf c3RhdGUtPmFkanVzdGVkX21vZGUsIGNydGNfc3RhdGUtPm1vZGUpOworCQlpZiAoY3J0Y19zdGF0 ZS0+bW9kZSkKKwkJCWRybV9tb2RlX2NvcHkoJmNydGNfc3RhdGUtPmFkanVzdGVkX21vZGUsCisJ CQkgICAgICAgICAgICAgIGNydGNfc3RhdGUtPm1vZGUpOworCQllbHNlCisJCQltZW1zZXQoJmNy dGNfc3RhdGUtPmFkanVzdGVkX21vZGUsIDAsCisJCQkgICAgICAgc2l6ZW9mKGNydGNfc3RhdGUt PmFkanVzdGVkX21vZGUpKTsKIAl9CiAKIAlmb3IgKGkgPSAwOyBpIDwgc3RhdGUtPm51bV9jb25u ZWN0b3I7IGkrKykgewpAQCAtNjk5LDE0ICs3MDQsMTIgQEAgc2V0X3JvdXRpbmdfbGlua3Moc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKm9sZF9zdGF0ZSkK IAkJaWYgKCFjcnRjKQogCQkJY29udGludWU7CiAKLQkJaWYgKGNydGMtPnN0YXRlLT5tb2RlKSB7 Ci0JCQlpZiAoY3J0Yy0+bW9kZSkKLQkJCQlkcm1fbW9kZV9kZXN0cm95KGRldiwgY3J0Yy0+bW9k ZSk7Ci0JCQljcnRjLT5tb2RlID0gZHJtX21vZGVfZHVwbGljYXRlKGRldiwgY3J0Yy0+c3RhdGUt Pm1vZGUpOwotCQl9IGVsc2UgaWYgKGNydGMtPm1vZGUpIHsKKwkJaWYgKGNydGMtPm1vZGUpCiAJ CQlkcm1fbW9kZV9kZXN0cm95KGRldiwgY3J0Yy0+bW9kZSk7Ci0JCQljcnRjLT5tb2RlID0gTlVM TDsKLQkJfQorCQljcnRjLT5tb2RlID0gY3J0Yy0+c3RhdGUtPm1vZGU7CisJCWlmIChjcnRjLT5t b2RlKQorCQkJZHJtX21vZGVfcmVmZXJlbmNlKGNydGMtPm1vZGUpOworCiAJCWNydGMtPmVuYWJs ZWQgPSBjcnRjLT5zdGF0ZS0+ZW5hYmxlOwogCQljcnRjLT54ID0gY3J0Yy0+cHJpbWFyeS0+c3Rh dGUtPnNyY194ID4+IDE2OwogCQljcnRjLT55ID0gY3J0Yy0+cHJpbWFyeS0+c3RhdGUtPnNyY195 ID4+IDE2OwpAQCAtNzMxLDggKzczNCw5IEBAIGNydGNfc2V0X21vZGUoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKm9sZF9zdGF0ZSkKIAkJZnVuY3MgPSBj cnRjLT5oZWxwZXJfcHJpdmF0ZTsKIAogCQlpZiAoY3J0Yy0+c3RhdGUtPmVuYWJsZSAmJiBmdW5j cy0+bW9kZV9zZXRfbm9mYikgewotCQkJRFJNX0RFQlVHX0FUT01JQygibW9kZXNldCBvbiBbQ1JU QzolZF1cbiIsCi0JCQkJCSBjcnRjLT5iYXNlLmlkKTsKKwkJCURSTV9ERUJVR19BVE9NSUMoIm1v ZGVzZXQgb24gW0NSVEM6JWRdIFtNT0RFOiVkXVxuIiwKKwkJCQkJIGNydGMtPmJhc2UuaWQsCisJ CQkJCSBjcnRjLT5zdGF0ZS0+bW9kZSA/IGNydGMtPnN0YXRlLT5tb2RlLT5iYXNlLmlkIDogMCk7 CiAKIAkJCWZ1bmNzLT5tb2RlX3NldF9ub2ZiKGNydGMpOwogCQl9CkBAIC0xNjUyLDcgKzE2NTYs OSBAQCByZXRyeToKIAljcnRjX3N0YXRlLT5hY3RpdmUgPSB0cnVlOwogCWlmIChjcnRjX3N0YXRl LT5tb2RlKQogCQlkcm1fbW9kZV9kZXN0cm95KGNydGMtPmRldiwgY3J0Y19zdGF0ZS0+bW9kZSk7 Ci0JY3J0Y19zdGF0ZS0+bW9kZSA9IGRybV9tb2RlX2R1cGxpY2F0ZShjcnRjLT5kZXYsIHNldC0+ bW9kZSk7CisJY3J0Y19zdGF0ZS0+bW9kZSA9IHNldC0+bW9kZTsKKwlpZiAoY3J0Y19zdGF0ZS0+ bW9kZSkKKwkJZHJtX21vZGVfcmVmZXJlbmNlKGNydGNfc3RhdGUtPm1vZGUpOwogCiAJcmV0ID0g ZHJtX2F0b21pY19zZXRfY3J0Y19mb3JfcGxhbmUocHJpbWFyeV9zdGF0ZSwgY3J0Yyk7CiAJaWYg KHJldCAhPSAwKQpAQCAtMTY2MCwxMiArMTY2NiwxMiBAQCByZXRyeToKIAlkcm1fYXRvbWljX3Nl dF9mYl9mb3JfcGxhbmUocHJpbWFyeV9zdGF0ZSwgc2V0LT5mYik7CiAJcHJpbWFyeV9zdGF0ZS0+ Y3J0Y194ID0gMDsKIAlwcmltYXJ5X3N0YXRlLT5jcnRjX3kgPSAwOwotCXByaW1hcnlfc3RhdGUt PmNydGNfaCA9IHNldC0+bW9kZS0+dmRpc3BsYXk7Ci0JcHJpbWFyeV9zdGF0ZS0+Y3J0Y193ID0g c2V0LT5tb2RlLT5oZGlzcGxheTsKKwlwcmltYXJ5X3N0YXRlLT5jcnRjX2ggPSBzZXQtPm1vZGUg PyBzZXQtPm1vZGUtPnZkaXNwbGF5IDogMDsKKwlwcmltYXJ5X3N0YXRlLT5jcnRjX3cgPSBzZXQt Pm1vZGUgPyBzZXQtPm1vZGUtPmhkaXNwbGF5IDogMDsKIAlwcmltYXJ5X3N0YXRlLT5zcmNfeCA9 IHNldC0+eCA8PCAxNjsKIAlwcmltYXJ5X3N0YXRlLT5zcmNfeSA9IHNldC0+eSA8PCAxNjsKLQlw cmltYXJ5X3N0YXRlLT5zcmNfaCA9IHNldC0+bW9kZS0+dmRpc3BsYXkgPDwgMTY7Ci0JcHJpbWFy eV9zdGF0ZS0+c3JjX3cgPSBzZXQtPm1vZGUtPmhkaXNwbGF5IDw8IDE2OworCXByaW1hcnlfc3Rh dGUtPnNyY19oID0gc2V0LT5tb2RlID8gc2V0LT5tb2RlLT52ZGlzcGxheSA8PCAxNiA6IDA7CisJ cHJpbWFyeV9zdGF0ZS0+c3JjX3cgPSBzZXQtPm1vZGUgPyBzZXQtPm1vZGUtPmhkaXNwbGF5IDw8 IDE2IDogMDsKIAogY29tbWl0OgogCXJldCA9IHVwZGF0ZV9vdXRwdXRfc3RhdGUoc3RhdGUsIHNl dCk7CkBAIC0yMTA1LDE1ICsyMTExLDggQEAgZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kdXBsaWNh dGVfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCXN0YXRlLT5wbGFuZXNfY2hhbmdlZCA9 IGZhbHNlOwogCXN0YXRlLT5ldmVudCA9IE5VTEw7CiAKLQlpZiAoY3J0Yy0+c3RhdGUtPm1vZGUp IHsKLQkJc3RhdGUtPm1vZGUgPQotCQkJZHJtX21vZGVfZHVwbGljYXRlKGNydGMtPmRldiwKLQkJ CSAgICAgICAgICAgICAgICAgICBjcnRjLT5zdGF0ZS0+bW9kZSk7Ci0JCWlmICghc3RhdGUtPm1v ZGUpIHsKLQkJCWtmcmVlKHN0YXRlKTsKLQkJCXN0YXRlID0gTlVMTDsKLQkJfQotCX0KKwlpZiAo c3RhdGUtPm1vZGUpCisJCWRybV9tb2RlX3JlZmVyZW5jZShzdGF0ZS0+bW9kZSk7CiAKIAlyZXR1 cm4gc3RhdGU7CiB9CkBAIC0yMTMwLDcgKzIxMjksNyBAQCBFWFBPUlRfU1lNQk9MKGRybV9hdG9t aWNfaGVscGVyX2NydGNfZHVwbGljYXRlX3N0YXRlKTsKIHZvaWQgZHJtX2F0b21pY19oZWxwZXJf Y3J0Y19kZXN0cm95X3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJCQkJICBzdHJ1Y3Qg ZHJtX2NydGNfc3RhdGUgKnN0YXRlKQogewotCWtmcmVlKHN0YXRlLT5tb2RlKTsKKwlkcm1fbW9k ZV9kZXN0cm95KGNydGMtPmRldiwgc3RhdGUtPm1vZGUpOwogCWtmcmVlKHN0YXRlKTsKIH0KIEVY UE9SVF9TWU1CT0woZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kZXN0cm95X3N0YXRlKTsKLS0gCjIu My4yCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmkt ZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=