From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Stone Subject: [PATCH 09/11] drm: Add drm_atomic_set_mode_for_crtc Date: Fri, 22 May 2015 13:34:52 +0100 Message-ID: <1432298094-22239-10-git-send-email-daniels@collabora.com> References: <1432298094-22239-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 654926EA7A for ; Fri, 22 May 2015 05:35:07 -0700 (PDT) In-Reply-To: <1432298094-22239-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 QWRkIGEgbmV3IGhlbHBlciwgdG8gYmUgdXNlZCBsYXRlciBmb3IgYmxvYiBwcm9wZXJ0eSBtYW5h Z2VtZW50LCB0aGF0CnNldHMgdGhlIG1vZGUgZm9yIGEgQ1JUQyBzdGF0ZSwgYXMgd2VsbCBhcyB1 cGRhdGluZyB0aGUgQ1JUQyBlbmFibGUvYWN0aXZlCnN0YXRlIGF0IHRoZSBzYW1lIHRpbWUuCgpT aWduZWQtb2ZmLWJ5OiBEYW5pZWwgU3RvbmUgPGRhbmllbHNAY29sbGFib3JhLmNvbT4KVGVzdGVk LWJ5OiBTZWFuIFBhdWwgPHNlYW5wYXVsQGNocm9taXVtLm9yZz4KLS0tCiBkcml2ZXJzL2dwdS9k cm0vZHJtX2F0b21pYy5jICAgICAgICAgfCA0MiArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jICB8IDI0ICsrKysr Ky0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjX2hlbHBlci5jICAgIHwg IDYgKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAxNiArKysr KysrKystLS0tLQogaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oICAgICAgICAgICAgIHwgIDYgKysr KysrCiA1IGZpbGVzIGNoYW5nZWQsIDY4IGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2F0b21pYy5jCmluZGV4IDMxMzRmNTAuLjY3YzI1MWYgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMu YwpAQCAtMjkwLDYgKzI5MCw0OCBAQCBkcm1fYXRvbWljX2dldF9jcnRjX3N0YXRlKHN0cnVjdCBk cm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKIEVYUE9SVF9TWU1CT0woZHJtX2F0b21pY19nZXRfY3J0 Y19zdGF0ZSk7CiAKIC8qKgorICogZHJtX2F0b21pY19zZXRfbW9kZV9mb3JfY3J0YyAtIHNldCBt b2RlIGZvciBDUlRDCisgKiBAc3RhdGU6IHRoZSBDUlRDIHdob3NlIGluY29taW5nIHN0YXRlIHRv IHVwZGF0ZQorICogQG1vZGU6IGtlcm5lbC1pbnRlcm5hbCBtb2RlIHRvIHVzZSBmb3IgdGhlIENS VEMsIG9yIE5VTEwgdG8gZGlzYWJsZQorICoKKyAqIFNldCBhIG1vZGUgKG9yaWdpbmF0aW5nIGZy b20gdGhlIGtlcm5lbCkgb24gdGhlIGRlc2lyZWQgQ1JUQyBzdGF0ZSwgYW5kCisgKiB1cGRhdGUg dGhlIENSVEMgc3RhdGUncyBlbmFibGUgYW5kIG1vZGVfY2hhbmdlZCBwYXJhbWV0ZXJzIGFzIG5l Y2Vzc2FyeS4KKyAqIElmIGRpc2FibGluZywgaXQgd2lsbCBhbHNvIHNldCBhY3RpdmUgdG8gZmFs c2UuCisgKi8KK2ludCBkcm1fYXRvbWljX3NldF9tb2RlX2Zvcl9jcnRjKHN0cnVjdCBkcm1fY3J0 Y19zdGF0ZSAqc3RhdGUsCisJCQkJIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQorewor CS8qIEVhcmx5IHJldHVybiBmb3Igbm8gY2hhbmdlLiAqLworCWlmICghbW9kZSAmJiAhc3RhdGUt PmVuYWJsZSkKKwkJcmV0dXJuIDA7CisJaWYgKG1vZGUgJiYgc3RhdGUtPmVuYWJsZSAmJgorCSAg ICBtZW1jbXAoJnN0YXRlLT5tb2RlLCBtb2RlLCBzaXplb2YoKm1vZGUpKSA9PSAwKQorCQlyZXR1 cm4gMDsKKworCXN0YXRlLT5tb2RlX2NoYW5nZWQgPSB0cnVlOworCisJaWYgKG1vZGUpIHsKKwkJ ZHJtX21vZGVfY29weSgmc3RhdGUtPm1vZGUsIG1vZGUpOworCQlzdGF0ZS0+ZW5hYmxlID0gdHJ1 ZTsKKwl9IGVsc2UgeworCQltZW1zZXQoJnN0YXRlLT5tb2RlLCAwLCBzaXplb2Yoc3RhdGUtPm1v ZGUpKTsKKwkJc3RhdGUtPmVuYWJsZSA9IGZhbHNlOworCQlzdGF0ZS0+YWN0aXZlID0gZmFsc2U7 CisJfQorCisJaWYgKHN0YXRlLT5lbmFibGUpCisJCURSTV9ERUJVR19BVE9NSUMoIlNldCBbTU9E RTolc10gZm9yIENSVEMgc3RhdGUgJXBcbiIsCisJCQkJIG1vZGUtPm5hbWUsIHN0YXRlKTsKKwll bHNlCisJCURSTV9ERUJVR19BVE9NSUMoIlNldCBbTk9NT0RFXSBmb3IgQ1JUQyBzdGF0ZSAlcFxu IiwKKwkJCQkgc3RhdGUpOworCisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9hdG9t aWNfc2V0X21vZGVfZm9yX2NydGMpOworCisKKy8qKgogICogZHJtX2F0b21pY19jcnRjX3NldF9w cm9wZXJ0eSAtIHNldCBwcm9wZXJ0eSBvbiBDUlRDCiAgKiBAY3J0YzogdGhlIGRybSBDUlRDIHRv IHNldCBhIHByb3BlcnR5IG9uCiAgKiBAc3RhdGU6IHRoZSBzdGF0ZSBvYmplY3QgdG8gdXBkYXRl IHdpdGggdGhlIG5ldyBwcm9wZXJ0eSB2YWx1ZQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2RybV9hdG9taWNfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIu YwppbmRleCBhNjRiYWNkLi43MGNlMjQzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJt X2F0b21pY19oZWxwZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIu YwpAQCAtMzY5LDIwICszNjksNiBAQCBkcm1fYXRvbWljX2hlbHBlcl9jaGVja19tb2Rlc2V0KHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5l Y3Rvcl9zdGF0ZTsKIAlpbnQgaSwgcmV0OwogCi0JZm9yX2VhY2hfY3J0Y19pbl9zdGF0ZShzdGF0 ZSwgY3J0YywgY3J0Y19zdGF0ZSwgaSkgewotCQlpZiAoIWRybV9tb2RlX2VxdWFsKCZjcnRjLT5z dGF0ZS0+bW9kZSwgJmNydGNfc3RhdGUtPm1vZGUpKSB7Ci0JCQlEUk1fREVCVUdfQVRPTUlDKCJb Q1JUQzolZF0gbW9kZSBjaGFuZ2VkXG4iLAotCQkJCQkgY3J0Yy0+YmFzZS5pZCk7Ci0JCQljcnRj X3N0YXRlLT5tb2RlX2NoYW5nZWQgPSB0cnVlOwotCQl9Ci0KLQkJaWYgKGNydGMtPnN0YXRlLT5l bmFibGUgIT0gY3J0Y19zdGF0ZS0+ZW5hYmxlKSB7Ci0JCQlEUk1fREVCVUdfQVRPTUlDKCJbQ1JU QzolZF0gZW5hYmxlIGNoYW5nZWRcbiIsCi0JCQkJCSBjcnRjLT5iYXNlLmlkKTsKLQkJCWNydGNf c3RhdGUtPm1vZGVfY2hhbmdlZCA9IHRydWU7Ci0JCX0KLQl9Ci0KIAlmb3JfZWFjaF9jb25uZWN0 b3JfaW5fc3RhdGUoc3RhdGUsIGNvbm5lY3RvciwgY29ubmVjdG9yX3N0YXRlLCBpKSB7CiAJCS8q CiAJCSAqIFRoaXMgb25seSBzZXRzIGNydGMtPm1vZGVfY2hhbmdlZCBmb3Igcm91dGluZyBjaGFu Z2VzLApAQCAtMTYwNyw4ICsxNTkzLDkgQEAgcmV0cnk6CiAJCVdBUk5fT04oc2V0LT5mYik7CiAJ CVdBUk5fT04oc2V0LT5udW1fY29ubmVjdG9ycyk7CiAKLQkJY3J0Y19zdGF0ZS0+ZW5hYmxlID0g ZmFsc2U7Ci0JCWNydGNfc3RhdGUtPmFjdGl2ZSA9IGZhbHNlOworCQlyZXQgPSBkcm1fYXRvbWlj X3NldF9tb2RlX2Zvcl9jcnRjKGNydGNfc3RhdGUsIE5VTEwpOworCQlpZiAocmV0ICE9IDApCisJ CQlnb3RvIGZhaWw7CiAKIAkJcmV0ID0gZHJtX2F0b21pY19zZXRfY3J0Y19mb3JfcGxhbmUocHJp bWFyeV9zdGF0ZSwgTlVMTCk7CiAJCWlmIChyZXQgIT0gMCkKQEAgLTE2MjIsOSArMTYwOSwxMCBA QCByZXRyeToKIAlXQVJOX09OKCFzZXQtPmZiKTsKIAlXQVJOX09OKCFzZXQtPm51bV9jb25uZWN0 b3JzKTsKIAotCWNydGNfc3RhdGUtPmVuYWJsZSA9IHRydWU7CisJcmV0ID0gZHJtX2F0b21pY19z ZXRfbW9kZV9mb3JfY3J0YyhjcnRjX3N0YXRlLCBzZXQtPm1vZGUpOworCWlmIChyZXQgIT0gMCkK KwkJZ290byBmYWlsOwogCWNydGNfc3RhdGUtPmFjdGl2ZSA9IHRydWU7Ci0JZHJtX21vZGVfY29w eSgmY3J0Y19zdGF0ZS0+bW9kZSwgc2V0LT5tb2RlKTsKIAogCXJldCA9IGRybV9hdG9taWNfc2V0 X2NydGNfZm9yX3BsYW5lKHByaW1hcnlfc3RhdGUsIGNydGMpOwogCWlmIChyZXQgIT0gMCkKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fY3J0Y19oZWxwZXIuYwppbmRleCA5Mjk3YTYxLi5jYzc3YTRmIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaGVscGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2RybV9jcnRjX2hlbHBlci5jCkBAIC05MzcsMTAgKzkzNywxMCBAQCBpbnQgZHJtX2hlbHBlcl9j cnRjX21vZGVfc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0Yywgc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgKm1vZAogCQkJY3J0Y19zdGF0ZS0+Y3J0YyA9IGNydGM7CiAJfQogCi0JY3J0Y19zdGF0ZS0+ ZW5hYmxlID0gdHJ1ZTsKIAljcnRjX3N0YXRlLT5wbGFuZXNfY2hhbmdlZCA9IHRydWU7Ci0JY3J0 Y19zdGF0ZS0+bW9kZV9jaGFuZ2VkID0gdHJ1ZTsKLQlkcm1fbW9kZV9jb3B5KCZjcnRjX3N0YXRl LT5tb2RlLCBtb2RlKTsKKwlyZXQgPSBkcm1fYXRvbWljX3NldF9tb2RlX2Zvcl9jcnRjKGNydGNf c3RhdGUsIG1vZGUpOworCWlmIChyZXQpCisJCWdvdG8gb3V0OwogCWRybV9tb2RlX2NvcHkoJmNy dGNfc3RhdGUtPmFkanVzdGVkX21vZGUsIGFkanVzdGVkX21vZGUpOwogCiAJaWYgKGNydGNfZnVu Y3MtPmF0b21pY19jaGVjaykgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4 IDI0MDA5MmEuLjdlMzE5NzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAg LTk4OTYsNyArOTg5Niw5IEBAIHJldHJ5OgogCWlmIChyZXQpCiAJCWdvdG8gZmFpbDsKIAotCWRy bV9tb2RlX2NvcHkoJmNydGNfc3RhdGUtPmJhc2UubW9kZSwgbW9kZSk7CisJcmV0ID0gZHJtX2F0 b21pY19zZXRfbW9kZV9mb3JfY3J0YygmY3J0Y19zdGF0ZS0+YmFzZSwgbW9kZSk7CisJaWYgKHJl dCkKKwkJZ290byBmYWlsOwogCiAJaWYgKGludGVsX3NldF9tb2RlKGNydGMsIHN0YXRlKSkgewog CQlEUk1fREVCVUdfS01TKCJmYWlsZWQgdG8gc2V0IG1vZGUgb24gbG9hZC1kZXRlY3QgcGlwZVxu Iik7CkBAIC0xMjQ5NCw4ICsxMjQ5NiwxMSBAQCB2b2lkIGludGVsX2NydGNfcmVzdG9yZV9tb2Rl KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAogCQljcnRjX3N0YXRlLT5iYXNlLmVuYWJsZSA9IGlu dGVsX2NydGMtPm5ld19lbmFibGVkOwogCi0JCWlmICgmaW50ZWxfY3J0Yy0+YmFzZSA9PSBjcnRj KQotCQkJZHJtX21vZGVfY29weSgmY3J0Y19zdGF0ZS0+YmFzZS5tb2RlLCAmY3J0Yy0+bW9kZSk7 CisJCWlmICgmaW50ZWxfY3J0Yy0+YmFzZSA9PSBjcnRjKSB7CisJCQlyZXQgPSBkcm1fYXRvbWlj X3NldF9tb2RlX2Zvcl9jcnRjKCZjcnRjX3N0YXRlLT5iYXNlLAorCQkJCQkJCSAgICZjcnRjLT5t b2RlKTsKKwkJCVdBUk5fT04ocmV0KTsKKwkJfQogCX0KIAogCWludGVsX21vZGVzZXRfc2V0dXBf cGxhbmVfc3RhdGUoc3RhdGUsIGNydGMsICZjcnRjLT5tb2RlLApAQCAtMTI2MzMsOCArMTI2Mzgs OSBAQCBpbnRlbF9tb2Rlc2V0X3N0YWdlX291dHB1dF9zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAogCWlmIChJU19FUlIoY3J0Y19zdGF0ZSkpCiAJCXJldHVybiBQVFJfRVJSKGNydGNfc3Rh dGUpOwogCi0JaWYgKHNldC0+bW9kZSkKLQkJZHJtX21vZGVfY29weSgmY3J0Y19zdGF0ZS0+bW9k ZSwgc2V0LT5tb2RlKTsKKwlyZXQgPSBkcm1fYXRvbWljX3NldF9tb2RlX2Zvcl9jcnRjKGNydGNf c3RhdGUsIHNldC0+bW9kZSk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKIAogCWlmIChzZXQt Pm51bV9jb25uZWN0b3JzKQogCQljcnRjX3N0YXRlLT5hY3RpdmUgPSB0cnVlOwpkaWZmIC0tZ2l0 IGEvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oIGIvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oCmlu ZGV4IGU4OWRiMGMuLjU1ZjQ2MDQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9hdG9taWMu aAorKysgYi9pbmNsdWRlL2RybS9kcm1fYXRvbWljLmgKQEAgLTExMCw2ICsxMTAsMTIgQEAgZHJt X2F0b21pY19nZXRfZXhpc3RpbmdfY29ubmVjdG9yX3N0YXRlKHN0cnVjdCBkcm1fYXRvbWljX3N0 YXRlICpzdGF0ZSwKIH0KIAogaW50IF9fbXVzdF9jaGVjaworZHJtX2F0b21pY19zZXRfbW9kZV9m b3JfY3J0YyhzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlLAorCQkJICAgICBzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqbW9kZSk7CitpbnQgX19tdXN0X2NoZWNrCitkcm1fYXRvbWljX3NldF9t b2RlX3Byb3BfZm9yX2NydGMoc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSwKKwkJCQkgIHN0 cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqYmxvYik7CitpbnQgX19tdXN0X2NoZWNrCiBkcm1fYXRv bWljX3NldF9jcnRjX2Zvcl9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0 ZSwKIAkJCSAgICAgIHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7CiB2b2lkIGRybV9hdG9taWNfc2V0 X2ZiX2Zvcl9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSwKLS0gCjIu NC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmkt ZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=