From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Stone Subject: [RFC PATCH 31/37] drm: crtc_helper: Reference, not duplicate, modes Date: Thu, 19 Mar 2015 04:33:30 +0000 Message-ID: <1426739616-10635-31-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 EABCD6E964 for ; Wed, 18 Mar 2015 21:34:07 -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 PGRhbmllbHNAY29sbGFib3JhLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaGVs cGVyLmMgfCA0MyArKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmls ZSBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCAyNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJt X2NydGNfaGVscGVyLmMKaW5kZXggYzIzZjMxZi4uMDhmMDM2NyAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2RybV9jcnRjX2hlbHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0 Y19oZWxwZXIuYwpAQCAtMzAxLDcgKzMwMSw3IEBAIGJvb2wgZHJtX2NydGNfaGVscGVyX3NldF9t b2RlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkgKiBzZXR0aW5nLgogCSAqLwogCWlmIChtb2Rl KQotCQljcnRjLT5tb2RlID0gZHJtX21vZGVfZHVwbGljYXRlKGNydGMtPmRldiwgbW9kZSk7CisJ CWNydGMtPm1vZGUgPSBkcm1fbW9kZV9yZWZlcmVuY2UobW9kZSk7CiAJZWxzZQogCQljcnRjLT5t b2RlID0gTlVMTDsKIAljcnRjLT54ID0geDsKQEAgLTQyMSw3ICs0MjEsOCBAQCBkb25lOgogCQlj cnRjLT54ID0gc2F2ZWRfeDsKIAkJY3J0Yy0+eSA9IHNhdmVkX3k7CiAJfSBlbHNlIHsKLQkJZHJt X21vZGVfZGVzdHJveShkZXYsIHNhdmVkX21vZGUpOworCQlpZiAoc2F2ZWRfbW9kZSkKKwkJCWRy bV9tb2RlX2Rlc3Ryb3koZGV2LCBzYXZlZF9tb2RlKTsKIAl9CiAKIAlyZXR1cm4gcmV0OwpAQCAt NTQ3LDcgKzU0OCwxMCBAQCBpbnQgZHJtX2NydGNfaGVscGVyX3NldF9jb25maWcoc3RydWN0IGRy bV9tb2RlX3NldCAqc2V0KQogCX0KIAogCXNhdmVfc2V0LmNydGMgPSBzZXQtPmNydGM7Ci0Jc2F2 ZV9zZXQubW9kZSA9IHNldC0+Y3J0Yy0+bW9kZTsKKwlpZiAoc2V0LT5jcnRjLT5tb2RlKQorCQlz YXZlX3NldC5tb2RlID0gZHJtX21vZGVfcmVmZXJlbmNlKHNldC0+Y3J0Yy0+bW9kZSk7CisJZWxz ZQorCQlzYXZlX3NldC5tb2RlID0gTlVMTDsKIAlzYXZlX3NldC54ID0gc2V0LT5jcnRjLT54Owog CXNhdmVfc2V0LnkgPSBzZXQtPmNydGMtPnk7CiAJc2F2ZV9zZXQuZmIgPSBzZXQtPmNydGMtPnBy aW1hcnktPmZiOwpAQCAtNzE4LDYgKzcyMiw4IEBAIGZhaWw6CiAJCQkJICAgICAgc2F2ZV9zZXQu eSwgc2F2ZV9zZXQuZmIpKQogCQlEUk1fRVJST1IoImZhaWxlZCB0byByZXN0b3JlIGNvbmZpZyBh ZnRlciBtb2Rlc2V0IGZhaWx1cmVcbiIpOwogCisJaWYgKHNhdmVfc2V0Lm1vZGUpCisJCWRybV9t b2RlX2Rlc3Ryb3koZGV2LCBzYXZlX3NldC5tb2RlKTsKIAlrZnJlZShzYXZlX2Nvbm5lY3RvcnMp OwogCWtmcmVlKHNhdmVfZW5jb2RlcnMpOwogCXJldHVybiByZXQ7CkBAIC05NTQsMjkgKzk2MCw5 IEBAIGludCBkcm1faGVscGVyX2NydGNfbW9kZV9zZXQoc3RydWN0IGRybV9jcnRjICpjcnRjLAog CWVsc2UgaWYgKGNydGMtPnN0YXRlKSB7CiAJCWNydGNfc3RhdGUgPSBrbWVtZHVwKGNydGMtPnN0 YXRlLCBzaXplb2YoKmNydGNfc3RhdGUpLAogCQkJCSAgICAgR0ZQX0tFUk5FTCk7Ci0JCS8qIFhY WDogdGhpcyBpcyB1bnBsZWFzYW50OiB3ZSBzaG91bGQgbWFuZGF0ZSBkdXAgaW5zdGVhZCAqLwot CQlpZiAoY3J0Y19zdGF0ZSkgewotCQkJY3J0Y19zdGF0ZS0+bW9kZSA9Ci0JCQkJZHJtX21vZGVf ZHVwbGljYXRlKGNydGMtPmRldiwKLQkJCQkgICAgICAgICAgICAgICAgICAgY3J0Yy0+c3RhdGUt Pm1vZGUpOwotCQkJaWYgKCFjcnRjX3N0YXRlLT5tb2RlKSB7Ci0JCQkJa2ZyZWUoY3J0Y19zdGF0 ZSk7Ci0JCQkJY3J0Y19zdGF0ZSA9IE5VTEw7Ci0JCQl9Ci0JCX0KIAl9Ci0JZWxzZSB7CisJZWxz ZQogCQljcnRjX3N0YXRlID0ga3phbGxvYyhzaXplb2YoKmNydGNfc3RhdGUpLCBHRlBfS0VSTkVM KTsKLQkJaWYgKGNydGNfc3RhdGUpIHsKLQkJCWNydGNfc3RhdGUtPm1vZGUgPSBremFsbG9jKHNp emVvZigqY3J0Y19zdGF0ZS0+bW9kZSksCi0JCQkgICAgICAgICAgICAgICAgICAgICAgICAgICBH RlBfS0VSTkVMKTsKLQkJCS8qIFhYWDogYXMgYWJvdmUsIGJ1dCBtYW5kYXRlIGEgbmV3X3N0YXRl ICovCi0JCQlpZiAoIWNydGNfc3RhdGUtPm1vZGUpIHsKLQkJCQlrZnJlZShjcnRjX3N0YXRlKTsK LQkJCQljcnRjX3N0YXRlID0gTlVMTDsKLQkJCX0KLQkJfQotCX0KIAlpZiAoIWNydGNfc3RhdGUp CiAJCXJldHVybiAtRU5PTUVNOwogCWNydGNfc3RhdGUtPmNydGMgPSBjcnRjOwpAQCAtOTg0LDcg Kzk3MCwxMiBAQCBpbnQgZHJtX2hlbHBlcl9jcnRjX21vZGVfc2V0KHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywKIAljcnRjX3N0YXRlLT5lbmFibGUgPSB0cnVlOwogCWNydGNfc3RhdGUtPnBsYW5lc19j aGFuZ2VkID0gdHJ1ZTsKIAljcnRjX3N0YXRlLT5tb2RlX2NoYW5nZWQgPSB0cnVlOwotCWRybV9t b2RlX2NvcHkoY3J0Y19zdGF0ZS0+bW9kZSwgbW9kZSk7CisJaWYgKGNydGNfc3RhdGUtPm1vZGUp CisJCWRybV9tb2RlX2Rlc3Ryb3koY3J0Yy0+ZGV2LCBjcnRjX3N0YXRlLT5tb2RlKTsKKwlpZiAo bW9kZSkKKwkJY3J0Y19zdGF0ZS0+bW9kZSA9IGRybV9tb2RlX3JlZmVyZW5jZShtb2RlKTsKKwll bHNlCisJCWNydGNfc3RhdGUtPm1vZGUgPSBOVUxMOwogCWRybV9tb2RlX2NvcHkoJmNydGNfc3Rh dGUtPmFkanVzdGVkX21vZGUsIGFkanVzdGVkX21vZGUpOwogCiAJaWYgKGNydGNfZnVuY3MtPmF0 b21pY19jaGVjaykgewpAQCAtMTAwNiw3ICs5OTcsNyBAQCBpbnQgZHJtX2hlbHBlcl9jcnRjX21v ZGVfc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJaWYgKGNydGMtPmZ1bmNzLT5hdG9taWNf ZGVzdHJveV9zdGF0ZSkKIAkJCWNydGMtPmZ1bmNzLT5hdG9taWNfZGVzdHJveV9zdGF0ZShjcnRj LCBjcnRjX3N0YXRlKTsKIAkJZWxzZSB7Ci0JCQlrZnJlZShjcnRjX3N0YXRlLT5tb2RlKTsKKwkJ CWRybV9tb2RlX2Rlc3Ryb3koY3J0Yy0+ZGV2LCBjcnRjX3N0YXRlLT5tb2RlKTsKIAkJCWtmcmVl KGNydGNfc3RhdGUpOwogCQl9CiAJfQotLSAKMi4zLjIKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVs QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVsCg==