From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sam Ravnborg Subject: [PATCH v2 02/25] drm/panel: add backlight support Date: Sat, 7 Dec 2019 15:03:30 +0100 Message-ID: <20191207140353.23967-3-sam@ravnborg.org> References: <20191207140353.23967-1-sam@ravnborg.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20191207140353.23967-1-sam@ravnborg.org> 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, Thierry Reding , Laurent Pinchart , Linus Walleij , Sam Ravnborg Cc: Neil Armstrong , David Airlie , Maxime Ripard , linux-samsung-soc@vger.kernel.org, linux-rockchip@lists.infradead.org, Tomi Valkeinen , Jagan Teki , NXP Linux Team , Jitao Shi , Pengutronix Kernel Team , linux-mediatek@lists.infradead.org, Abhinav Kumar , linux-tegra@vger.kernel.org, Sean Paul , linux-arm-kernel@lists.infradead.org, Purism Kernel Team , linux-renesas-soc@vger.kernel.org, Boris Brezillon List-Id: linux-tegra@vger.kernel.org UGFuZWxzIG9mdGVuIHN1cHBvcnRzIGJhY2tsaWdodCBhcyBzcGVjaWZpZWQgaW4gYSBkZXZpY2Ug dHJlZS4KVXBkYXRlIHRoZSBkcm1fcGFuZWwgaW5mcmFzdHJ1Y3R1cmUgdG8gc3VwcG9ydCB0aGlz IHRvCnNpbXBsaWZ5IHRoZSBkcml2ZXJzLgoKV2l0aCB0aGlzIHRoZSBwYW5lbCBkcml2ZXIganVz dCBuZWVkcyB0byBhZGQgdGhlIGZvbGxvd2luZyB0byB0aGUKcHJvYmUoKSBmdW5jdGlvbjoKCiAg ICBlcnIgPSBkcm1fcGFuZWxfb2ZfYmFja2xpZ2h0KHBhbmVsKTsKICAgIGlmIChlcnIpCiAgICAg ICAgICAgIHJldHVybiBlcnI7CgpUaGVuIGRybV9wYW5lbCB3aWxsIGhhbmRsZSBhbGwgdGhlIHJl c3QuCgpUaGVyZSBpcyBvbmUgY2F2ZWF0IHdpdGggdGhlIGJhY2tsaWdodCBzdXBwb3J0LgpJZiBk cm1fcGFuZWxfKGVuYWJsZXxkaXNhYmxlKSBhcmUgY2FsbGVkIG11bHRpcGxlIHRpbWVzCmluIHJv dyB0aGVuIGJhY2tsaWdodF8oZW5hYmxlfGRpc2FibGUpIHdpbGwgYmUgY2FsbGVkIG11bHRpcGxl IHRpbWVzLgoKVGhlIGFib3ZlIHdpbGwgaGFwcGVuIHdoZW4gYSBwYW5lbCBkcml2ZXJzIHVuY29u ZGl0aW9uYWxseQpjYWxscyBkcm1fcGFuZWxfZGlzYWJsZSgpIGluIHRoZWlyIHNodXRkb3duKCkg ZnVuY3Rpb24sCndoYW4gdGhlIHBhbmVsIGlzIGFscmVhZHkgZGlzYWJsZWQgYW5kIHRoZW4gc2h1 dGRvd24oKSBpcyBjYWxsZWQuCgpSZWFkaW5nIHRoZSBiYWNrbGlnaHQgY29kZSBpdCBzZWVtcyBz YWZlIHRvIGNhbGwKdGhlIGJhY2tsaWdodF8oZW5hYmxlfGRpc2FibGUpIHNldmVyYWwgdGltZXMu Cgp2MzoKLSBJbXByb3ZlIGNvbW1lbnRzLCBmaXggZ3JhbW1hciAoTGF1cmVudCkKLSBEbyBub3Qg ZmFpbCBpbiBkcm1fcGFuZWxfb2ZfYmFja2xpZ2h0KCkgaWYgbm8gRFQgc3VwcG9ydCAoTGF1cmVu dCkKLSBMb2cgaWYgYmFja2xpZ2h0XyhlbmFibGV8ZGlzYWJsZSkgZmFpbHMgKExhdXJlbnQpCi0g SW1wcm92ZSBkcm1fcGFuZWxfb2ZfYmFja2xpZ2h0KCkgZG9jcwotIFVwZGF0ZWQgY2hhbmdlbG9n IHdpdGggYmFja2xpZ2h0IGFuYWx5c2lzICh0cmlnZ2VyZWQgYnkgTGF1cmVudCkKCnYyOgotIERy b3AgdGVzdCBvZiBDT05GSUdfRFJNX1BBTkVMIGluIGhlYWRlci1maWxlIChMYXVyZW50KQotIGRv IG5vdCBlbmFibGUgYmFja2xpZ2h0IGlmIC0+ZW5hYmxlKCkgcmV0dXJucyBhbiBlcnJvcgoKU2ln bmVkLW9mZi1ieTogU2FtIFJhdm5ib3JnIDxzYW1AcmF2bmJvcmcub3JnPgpDYzogVGhpZXJyeSBS ZWRpbmcgPHRoaWVycnkucmVkaW5nQGdtYWlsLmNvbT4KQ2M6IExhdXJlbnQgUGluY2hhcnQgPGxh dXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4KQ2M6IE1hYXJ0ZW4gTGFua2hvcnN0IDxt YWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+CkNjOiBNYXhpbWUgUmlwYXJkIDxtYXhp bWUucmlwYXJkQGJvb3RsaW4uY29tPgpDYzogU2VhbiBQYXVsIDxzZWFuQHBvb3JseS5ydW4+CkNj OiBEYXZpZCBBaXJsaWUgPGFpcmxpZWRAbGludXguaWU+CkNjOiBEYW5pZWwgVmV0dGVyIDxkYW5p ZWxAZmZ3bGwuY2g+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9wYW5lbC5jIHwgNTggKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogaW5jbHVkZS9kcm0vZHJtX3BhbmVsLmgg ICAgIHwgMjUgKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA4MiBpbnNlcnRpb25z KCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9wYW5l bC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wYW5lbC5jCmluZGV4IDRhYjcyMjlmYjIyYi4uYzMx MmQ1ZWIyMTRkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3BhbmVsLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9wYW5lbC5jCkBAIC0yMSwxMSArMjEsMTMgQEAKICAqIERFQUxJ TkdTIElOIFRIRSBTT0ZUV0FSRS4KICAqLwogCisjaW5jbHVkZSA8bGludXgvYmFja2xpZ2h0Lmg+ CiAjaW5jbHVkZSA8bGludXgvZXJyLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAKICNp bmNsdWRlIDxkcm0vZHJtX2NydGMuaD4KICNpbmNsdWRlIDxkcm0vZHJtX3BhbmVsLmg+CisjaW5j bHVkZSA8ZHJtL2RybV9wcmludC5oPgogCiBzdGF0aWMgREVGSU5FX01VVEVYKHBhbmVsX2xvY2sp Owogc3RhdGljIExJU1RfSEVBRChwYW5lbF9saXN0KTsKQEAgLTE5NiwxMSArMTk4LDIwIEBAIEVY UE9SVF9TWU1CT0woZHJtX3BhbmVsX3VucHJlcGFyZSk7CiAgKi8KIGludCBkcm1fcGFuZWxfZW5h YmxlKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQogeworCWludCByZXQgPSAwOworCiAJaWYgKCFw YW5lbCkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKIAlpZiAocGFuZWwtPmZ1bmNzICYmIHBhbmVsLT5m dW5jcy0+ZW5hYmxlKQotCQlyZXR1cm4gcGFuZWwtPmZ1bmNzLT5lbmFibGUocGFuZWwpOworCQly ZXQgPSBwYW5lbC0+ZnVuY3MtPmVuYWJsZShwYW5lbCk7CisKKwlpZiAocmV0IDwgMCkKKwkJcmV0 dXJuIHJldDsKKworCXJldCA9IGJhY2tsaWdodF9lbmFibGUocGFuZWwtPmJhY2tsaWdodCk7CisJ aWYgKHJldCA8IDApCisJCURSTV9ERVZfSU5GTyhwYW5lbC0+ZGV2LCAiZmFpbGVkIHRvIGVuYWJs ZSBiYWNrbGlnaHQ6ICVkXG4iLCByZXQpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0yMTgsOSArMjI5 LDE1IEBAIEVYUE9SVF9TWU1CT0woZHJtX3BhbmVsX2VuYWJsZSk7CiAgKi8KIGludCBkcm1fcGFu ZWxfZGlzYWJsZShzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKIHsKKwlpbnQgcmV0OworCiAJaWYg KCFwYW5lbCkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKKwlyZXQgPSBiYWNrbGlnaHRfZGlzYWJsZShw YW5lbC0+YmFja2xpZ2h0KTsKKwlpZiAocmV0IDwgMCkKKwkJRFJNX0RFVl9JTkZPKHBhbmVsLT5k ZXYsICJmYWlsZWQgdG8gZGlzYWJsZSBiYWNrbGlnaHQ6ICVkXG4iLCByZXQpOworCiAJaWYgKHBh bmVsLT5mdW5jcyAmJiBwYW5lbC0+ZnVuY3MtPmRpc2FibGUpCiAJCXJldHVybiBwYW5lbC0+ZnVu Y3MtPmRpc2FibGUocGFuZWwpOwogCkBAIC0yODksNiArMzA2LDQ1IEBAIHN0cnVjdCBkcm1fcGFu ZWwgKm9mX2RybV9maW5kX3BhbmVsKGNvbnN0IHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnApCiBFWFBP UlRfU1lNQk9MKG9mX2RybV9maW5kX3BhbmVsKTsKICNlbmRpZgogCisjaWZkZWYgQ09ORklHX0JB Q0tMSUdIVF9DTEFTU19ERVZJQ0UKKy8qKgorICogZHJtX3BhbmVsX29mX2JhY2tsaWdodCAtIHVz ZSBiYWNrbGlnaHQgZGV2aWNlIG5vZGUgZm9yIGJhY2tsaWdodAorICogQHBhbmVsOiBEUk0gcGFu ZWwKKyAqCisgKiBVc2UgdGhpcyBmdW5jdGlvbiB0byBlbmFibGUgYmFja2xpZ2h0IGhhbmRsaW5n IGlmIHlvdXIgcGFuZWwKKyAqIHVzZXMgZGV2aWNlIHRyZWUgYW5kIGhhcyBhIGJhY2tsaWdodCBw aGFuZGxlLgorICoKKyAqIFdoZW4gdGhlIHBhbmVsIGlzIGVuYWJsZWQgYmFja2xpZ2h0IHdpbGwg YmUgZW5hYmxlZCBhZnRlciBhCisgKiBzdWNjZXNzZnVsbCBjYWxsIHRvICZkcm1fcGFuZWxfZnVu Y3MuZW5hYmxlKCkKKyAqCisgKiBXaGVuIHRoZSBwYW5lbCBpcyBkaXNhYmxlZCBiYWNrbGlnaHQg d2lsbCBiZSBkaXNhYmxlZCBiZWZvcmUgdGhlCisgKiBjYWxsIHRvICZkcm1fcGFuZWxfZnVuY3Mu ZGlzYWJsZSgpLgorICoKKyAqIEEgdHlwaWNhbCBpbXBsZW1lbnRhdGlvbiBmb3IgYSBwYW5lbCBk cml2ZXIgc3VwcG9ydGluZyBkZXZpY2UgdHJlZQorICogd2lsbCBjYWxsIHRoaXMgZnVuY3Rpb24g YXQgcHJvYmUgdGltZS4gQmFja2xpZ2h0IHdpbGwgdGhlbiBiZSBoYW5kbGVkCisgKiB0cmFuc3Bh cmVudGx5IHdpdGhvdXQgcmVxdWlyaW5nIGFueSBpbnRlcnZlbnRpb24gZnJvbSB0aGUgZHJpdmVy LgorICogZHJtX3BhbmVsX29mX2JhY2tsaWdodCgpIG11c3QgYmUgY2FsbGVkIGFmdGVyIHRoZSBj YWxsIHRvIGRybV9wYW5lbF9pbml0KCkuCisgKgorICogUmV0dXJuOiAwIG9uIHN1Y2Nlc3Mgb3Ig YSBuZWdhdGl2ZSBlcnJvciBjb2RlIG9uIGZhaWx1cmUuCisgKi8KK2ludCBkcm1fcGFuZWxfb2Zf YmFja2xpZ2h0KHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQoreworCXN0cnVjdCBiYWNrbGlnaHRf ZGV2aWNlICpiYWNrbGlnaHQ7CisKKwlpZiAoIXBhbmVsIHx8ICFwYW5lbC0+ZGV2KQorCQlyZXR1 cm4gLUVJTlZBTDsKKworCWJhY2tsaWdodCA9IGRldm1fb2ZfZmluZF9iYWNrbGlnaHQocGFuZWwt PmRldik7CisKKwlpZiAoSVNfRVJSKGJhY2tsaWdodCkpCisgICAgICAgICAgICAgICAgcmV0dXJu IFBUUl9FUlIoYmFja2xpZ2h0KTsKKworCXBhbmVsLT5iYWNrbGlnaHQgPSBiYWNrbGlnaHQ7CisJ cmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9wYW5lbF9vZl9iYWNrbGlnaHQpOworI2Vu ZGlmCisKIE1PRFVMRV9BVVRIT1IoIlRoaWVycnkgUmVkaW5nIDx0cmVkaW5nQG52aWRpYS5jb20+ Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIkRSTSBwYW5lbCBpbmZyYXN0cnVjdHVyZSIpOwogTU9E VUxFX0xJQ0VOU0UoIkdQTCBhbmQgYWRkaXRpb25hbCByaWdodHMiKTsKZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvZHJtL2RybV9wYW5lbC5oIGIvaW5jbHVkZS9kcm0vZHJtX3BhbmVsLmgKaW5kZXggZDcx NjU1YjI2MzRjLi5jNzUxYzliMTdkZjAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9wYW5l bC5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9wYW5lbC5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5j bHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CiAKK3N0cnVjdCBi YWNrbGlnaHRfZGV2aWNlOwogc3RydWN0IGRldmljZV9ub2RlOwogc3RydWN0IGRybV9jb25uZWN0 b3I7CiBzdHJ1Y3QgZHJtX2RldmljZTsKQEAgLTU5LDYgKzYwLDEwIEBAIHN0cnVjdCBkaXNwbGF5 X3RpbWluZzsKICAqCiAgKiBUbyBzYXZlIHBvd2VyIHdoZW4gbm8gdmlkZW8gZGF0YSBpcyB0cmFu c21pdHRlZCwgYSBkcml2ZXIgY2FuIHBvd2VyIGRvd24KICAqIHRoZSBwYW5lbC4gVGhpcyBpcyB0 aGUgam9iIG9mIHRoZSAudW5wcmVwYXJlKCkgZnVuY3Rpb24uCisgKgorICogQmFja2xpZ2h0IGNh biBiZSBoYW5kbGVkIGF1dG9tYXRpY2FsbHkgaWYgY29uZmlndXJlZCB1c2luZworICogZHJtX3Bh bmVsX29mX2JhY2tsaWdodCgpLiBUaGVuIHRoZSBkcml2ZXIgZG9lcyBub3QgbmVlZCB0byBpbXBs ZW1lbnQgdGhlCisgKiBmdW5jdGlvbmFsaXR5IHRvIGVuYWJsZS9kaXNhYmxlIGJhY2tsaWdodC4K ICAqLwogc3RydWN0IGRybV9wYW5lbF9mdW5jcyB7CiAJLyoqCkBAIC0xNDYsNiArMTUxLDE3IEBA IHN0cnVjdCBkcm1fcGFuZWwgewogCSAqLwogCXN0cnVjdCBkZXZpY2UgKmRldjsKIAorCS8qKgor CSAqIEBiYWNrbGlnaHQ6CisJICoKKwkgKiBCYWNrbGlnaHQgZGV2aWNlLCB1c2VkIHRvIHR1cm4g b24gYmFja2xpZ2h0IGFmdGVyIHRoZSBjYWxsCisJICogdG8gZW5hYmxlKCksIGFuZCB0byB0dXJu IG9mZiBiYWNrbGlnaHQgYmVmb3JlIHRoZSBjYWxsIHRvCisJICogZGlzYWJsZSgpLgorCSAqIGJh Y2tsaWdodCBpcyBzZXQgYnkgZHJtX3BhbmVsX29mX2JhY2tsaWdodCgpIGFuZCBkcml2ZXJzCisJ ICogc2hhbGwgbm90IGFzc2lnbiBpdC4KKwkgKi8KKwlzdHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAq YmFja2xpZ2h0OworCiAJLyoqCiAJICogQGZ1bmNzOgogCSAqCkBAIC0xOTcsNCArMjEzLDEzIEBA IHN0YXRpYyBpbmxpbmUgc3RydWN0IGRybV9wYW5lbCAqb2ZfZHJtX2ZpbmRfcGFuZWwoY29uc3Qg c3RydWN0IGRldmljZV9ub2RlICpucCkKIH0KICNlbmRpZgogCisjaWYgSVNfRU5BQkxFRChDT05G SUdfQkFDS0xJR0hUX0NMQVNTX0RFVklDRSkKK2ludCBkcm1fcGFuZWxfb2ZfYmFja2xpZ2h0KHN0 cnVjdCBkcm1fcGFuZWwgKnBhbmVsKTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIGludCBkcm1fcGFu ZWxfb2ZfYmFja2xpZ2h0KHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQoreworCXJldHVybiAwOwor fQorI2VuZGlmCisKICNlbmRpZgotLSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9kcmktZGV2ZWw=