From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maxime Ripard Subject: [PATCH] drm/panel: panel-simple: Support panel-dpi Date: Thu, 7 Mar 2019 11:10:30 +0100 Message-ID: <20190307101030.3822-1-maxime.ripard@bootlin.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from relay8-d.mail.gandi.net (relay8-d.mail.gandi.net [217.70.183.201]) by gabe.freedesktop.org (Postfix) with ESMTPS id 935298940E for ; Thu, 7 Mar 2019 10:10:36 +0000 (UTC) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Maarten Lankhorst , Sean Paul , Maxime Ripard , Eric Anholt Cc: eben@raspberrypi.org, dri-devel@lists.freedesktop.org, Paul Kocialkowski , Thierry Reding , Laurent Pinchart , Thomas Petazzoni List-Id: dri-devel@lists.freedesktop.org VGhlIGtlcm5lbCBoYXMgYSBkZXZpY2UgdHJlZSBiaW5kaW5nIGZvciBwYW5lbC1kcGkgd2hpY2gg YWxsb3dzIGZvciB0aGUKcGFuZWwgdGltaW5ncyB0byBiZSBkZXNjcmliZWQgaW4gdGhlIGRldmlj ZS10cmVlLCBob3dldmVyIGl0IHdhc24ndApzdXBwb3J0ZWQgc28gZmFyIGV4Y2VwdCBpbiBhIChz bWFsbCkgbnVtYmVyIG9mIEtNUyBkcml2ZXJzIHRoYXQgaGFkIGFuCmFkLWhvYyBzb2x1dGlvbiBm b3IgdGhpcyAob21hcGRybSBmb3IgZXhhbXBsZSkuCgpKdXN0IGxpa2Ugd2UndmUgc2VlbiB3aXRo IHBhbmVsLWx2ZHMsIGFuZCBldmVuIHRob3VnaCB0aGUgY3VycmVudCBkb2dtYSBpcwp0byBzZXQg dGhlIHRpbWluZ3Mgd2l0aGluIHRoZSBkcml2ZXIsIGhhdmluZyB0aGVtIGluIHRoZSBkZXZpY2Ug dHJlZQpwcm92aWRlcyBhIG51bWJlciBvZiBiZW5lZml0cy4KClRoZSBmaXJzdCBpcyB0aGF0IGl0 IGFsbG93cyB0aGlyZCBwYXJ0eSB1c2VycyB0byBlbmFibGUgYSByYW5kb20gcGFuZWwKd2l0aG91 dCBoYXZpbmcgdG8gbW9kaWZ5IGFuZCByZWNvbXBpbGUgdGhlaXIga2VybmVsIG9mIGNob2ljZS4g VGhpcyBtaWdodApzb3VuZCBsaWtlIHdoYXQgd2UncmUgdHJ5aW5nIHRvIGF2b2lkIGluIHRoZSBm aXJzdCBwbGFjZSwgYnV0IGl0CnNpZ25pZmljYW50bHkgbG93ZXJzIHRoZSBiYXJyaWVyIG9mIGVu dHJ5LCBib3RoIHRlY2huaWNhbCBhbmQgcHJhY3RpY2FsLgoKSW5kZWVkLCB1c2VycyBtaWdodCBu b3QgaGF2ZSB0aGUga25vd2xlZGdlIG9uIGhvdyB0byByZWNvbXBpbGUgYW5kIG1vZGlmeSBhCmtl cm5lbCBieSB0aGVpciBvd24sIG9yIG1pZ2h0IG5vdCBoYXZlIGFueSBkb2N1bWVudGF0aW9uIG9u IHRoZSBwYW5lbAppdHNlbGYgd2hpY2ggd291bGQgcHJldmVudCBhbnkgaW5jbHVzaW9uLgoKQnV0 IG1vZGVybnMgc3lzdGVtcyBhbHNvIHRlbmQgdG8gbW92ZSB0byBtZWNoYW5pc21zIGxpa2Ugc2Vj dXJlIGJvb3Qgd2hpY2gKd291bGQgcHJldmVudCB0aGF0IGtlcm5lbCwgcHJvdmlkZWQgdGhhdCB0 aGUga2VybmVsIHdhcyBhYmxlIHRvIGRvIHRoYXQsCmZyb20gcnVubmluZyBpbiB0aGUgc3lzdGVt LCB1bmxlc3MgeW91IHdvdWxkIGtub3cgaG93IChhbmQgYmUgYWJsZSkgdG8KaW5zdGFsbCBjdXN0 b20ga2V5cyBpbnRvIHlvdXIgc3lzdGVtLgoKV2hpbGUgdGhlIERUIGl0c2VsZiBtaWdodCBoYXZl IHRoZSBzYW1lIGNvbnN0cmFpbnRzLCBtZWNoYW5pc21zIGxpa2UgdGhlCm92ZXJsYXlzIGFsbG93 cyB0byBjaXJjdW12ZW50IGl0LgoKQW5vdGhlciB0aGluZyB0aGF0IHBhbmVsLWRwaSBhbGxvd3Mg dG8gYWRkcmVzcyBpcyBFTUMsIHdoZXJlIGV2ZW4gdGhvdWdoCnRoZSB0aW1pbmdzIGRlc2NyaWJl ZCBpbiB0aGUgZHJpdmVyIGNvdWxkIGJlIGZ1bmN0aW9uYWwgb24gdGhlIGJvYXJkIGFuZApmb3Ig dGhlIHBhbmVsLCBpdCB3b3VsZCBiZSBiZXR0ZXIgdG8gdXNlIGFub3RoZXIgYXJiaXRyYXJ5IGZy ZXF1ZW5jeSBvbiBhCnBhcnRpY3VsYXIgYm9hcmQgdG8gaW5jcmVhc2UgdGhlIHNwcmVhZCBvZiB0 aGUgRU0gZW1pc3Npb25zLgoKU2lnbmVkLW9mZi1ieTogTWF4aW1lIFJpcGFyZCA8bWF4aW1lLnJp cGFyZEBib290bGluLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2ltcGxl LmMgfCA0NyArKysrKysrKysrKysrKysrKysrKysrKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgNDIg aW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vcGFuZWwvcGFuZWwtc2ltcGxlLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2lt cGxlLmMKaW5kZXggOWU4MjE4ZjZhM2YyLi45YWVlMDJmMDVhMWQgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaW1wbGUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFu ZWwvcGFuZWwtc2ltcGxlLmMKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlIDxkcm0vZHJtX3Bh bmVsLmg+CiAKICNpbmNsdWRlIDx2aWRlby9kaXNwbGF5X3RpbWluZy5oPgorI2luY2x1ZGUgPHZp ZGVvL29mX2Rpc3BsYXlfdGltaW5nLmg+CiAjaW5jbHVkZSA8dmlkZW8vdmlkZW9tb2RlLmg+CiAK IHN0cnVjdCBwYW5lbF9kZXNjIHsKQEAgLTM5Niw2ICszOTcsMzAgQEAgc3RhdGljIHZvaWQgcGFu ZWxfc2ltcGxlX3NodXRkb3duKHN0cnVjdCBkZXZpY2UgKmRldikKIAlwYW5lbF9zaW1wbGVfdW5w cmVwYXJlKCZwYW5lbC0+YmFzZSk7CiB9CiAKK3N0YXRpYyBzdHJ1Y3QgcGFuZWxfZGVzYyAqcGFu ZWxfc2ltcGxlX29mX3BhcnNlKHN0cnVjdCBkZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3QgZGlzcGxh eV90aW1pbmcgKnRpbWluZ3M7CisJc3RydWN0IHBhbmVsX2Rlc2MgKmRlc2M7CisJaW50IHJldDsK KworCWRlc2MgPSBkZXZtX2t6YWxsb2MoZGV2LCBzaXplb2YoKmRlc2MpLCBHRlBfS0VSTkVMKTsK KwlpZiAoIWRlc2MpCisJCXJldHVybiBOVUxMOworCisJdGltaW5ncyA9IGRldm1fa3phbGxvYyhk ZXYsIHNpemVvZigqdGltaW5ncyksIEdGUF9LRVJORUwpOworCWlmICghdGltaW5ncykKKwkJcmV0 dXJuIE5VTEw7CisKKwlyZXQgPSBvZl9nZXRfZGlzcGxheV90aW1pbmcoZGV2LT5vZl9ub2RlLCAi cGFuZWwtdGltaW5nIiwgdGltaW5ncyk7CisJaWYgKHJldCkKKwkJcmV0dXJuIE5VTEw7CisKKwlk ZXNjLT50aW1pbmdzID0gdGltaW5nczsKKwlkZXNjLT5udW1fdGltaW5ncyA9IDE7CisKKwlyZXR1 cm4gZGVzYzsKK30KKwogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlIGFtcGly ZV9hbV80ODAyNzJoM3RtcXdfdDAxaF9tb2RlID0gewogCS5jbG9jayA9IDkwMDAsCiAJLmhkaXNw bGF5ID0gNDgwLApAQCAtMjgwOCw2ICsyODMzLDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9k ZXZpY2VfaWQgcGxhdGZvcm1fb2ZfbWF0Y2hbXSA9IHsKIAl9LCB7CiAJCS5jb21wYXRpYmxlID0g IndpbnN0YXIsd2YzNWx0aWFjZCIsCiAJCS5kYXRhID0gJndpbnN0YXJfd2YzNWx0aWFjZCwKKwl9 LCB7CisJCS5jb21wYXRpYmxlID0gInBhbmVsLWRwaSIsCiAJfSwgewogCQkvKiBzZW50aW5lbCAq LwogCX0KQEAgLTI4MTYsMTMgKzI4NDMsMjMgQEAgTU9EVUxFX0RFVklDRV9UQUJMRShvZiwgcGxh dGZvcm1fb2ZfbWF0Y2gpOwogCiBzdGF0aWMgaW50IHBhbmVsX3NpbXBsZV9wbGF0Zm9ybV9wcm9i ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogewotCWNvbnN0IHN0cnVjdCBvZl9kZXZp Y2VfaWQgKmlkOworCWNvbnN0IHN0cnVjdCBwYW5lbF9kZXNjICpkZXNjOwogCi0JaWQgPSBvZl9t YXRjaF9ub2RlKHBsYXRmb3JtX29mX21hdGNoLCBwZGV2LT5kZXYub2Zfbm9kZSk7Ci0JaWYgKCFp ZCkKLQkJcmV0dXJuIC1FTk9ERVY7CisJaWYgKG9mX2RldmljZV9pc19jb21wYXRpYmxlKHBkZXYt PmRldi5vZl9ub2RlLCAicGFuZWwtZHBpIikpIHsKKwkJZGVzYyA9IHBhbmVsX3NpbXBsZV9vZl9w YXJzZSgmcGRldi0+ZGV2KTsKKwkJaWYgKCFkZXNjKQorCQkJcmV0dXJuIC1FSU5WQUw7CisJfSBl bHNlIHsKKwkJY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCAqaWQ7CiAKLQlyZXR1cm4gcGFuZWxf c2ltcGxlX3Byb2JlKCZwZGV2LT5kZXYsIGlkLT5kYXRhKTsKKwkJaWQgPSBvZl9tYXRjaF9ub2Rl KHBsYXRmb3JtX29mX21hdGNoLCBwZGV2LT5kZXYub2Zfbm9kZSk7CisJCWlmICghaWQpCisJCQly ZXR1cm4gLUVOT0RFVjsKKworCQlkZXNjID0gaWQtPmRhdGE7CisJfQorCisJcmV0dXJuIHBhbmVs X3NpbXBsZV9wcm9iZSgmcGRldi0+ZGV2LCBkZXNjKTsKIH0KIAogc3RhdGljIGludCBwYW5lbF9z aW1wbGVfcGxhdGZvcm1fcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCi0tIAoy LjIwLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRy aS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbA==