From mboxrd@z Thu Jan 1 00:00:00 1970 From: Douglas Anderson Subject: [PATCH v4 2/7] drm/panel: simple: Add ability to override typical timing Date: Thu, 28 Mar 2019 10:17:05 -0700 Message-ID: <20190328171710.31949-3-dianders@chromium.org> References: <20190328171710.31949-1-dianders@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190328171710.31949-1-dianders@chromium.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Thierry Reding , Heiko Stuebner , Sean Paul Cc: devicetree@vger.kernel.org, Rob Herring , David Airlie , Jeffy Chen , Doug Anderson , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org, Boris Brezillon , Laurent Pinchart , =?UTF-8?q?Enric=20Balletb=C3=B2?= , =?UTF-8?q?St=C3=A9phane=20Marchesin?= , Ezequiel Garcia , mka@chromium.org List-Id: linux-rockchip.vger.kernel.org RnJvbTogU2VhbiBQYXVsIDxzZWFucGF1bEBjaHJvbWl1bS5vcmc+CgpUaGlzIHBhdGNoIGFkZHMg dGhlIGFiaWxpdHkgdG8gb3ZlcnJpZGUgdGhlIHR5cGljYWwgZGlzcGxheSB0aW1pbmcgZm9yIGEK Z2l2ZW4gcGFuZWwuIFRoaXMgaXMgdXNlZnVsIGZvciBkZXZpY2VzIHdoaWNoIGhhdmUgdGltaW5n IGNvbnN0cmFpbnRzCnRoYXQgZG8gbm90IGFwcGx5IGFjcm9zcyB0aGUgZW50aXJlIGRpc3BsYXkg ZHJpdmVyIChlZzogdG8gYXZvaWQKY3Jvc3N0YWxrIGJldHdlZW4gcGFuZWwgYW5kIGRpZ2l0aXpl ciBvbiBjZXJ0YWluIGxhcHRvcHMpLiBUaGUgcnVsZXMgYXJlCmFzIGZvbGxvd3M6CgotIHBhbmVs IG11c3Qgbm90IHNwZWNpZnkgZml4ZWQgbW9kZSAoc2luY2UgdGhlIG92ZXJyaWRlIG1vZGUgd2ls bAogIGVpdGhlciBiZSB0aGUgc2FtZSBhcyB0aGUgZml4ZWQgbW9kZSwgb3Igd2UnbGwgYmUgdW5h YmxlIHRvCiAgY2hlY2sgdGhlIGJvdW5kcyBvZiB0aGUgb3ZlcnJpZWQpCi0gcGFuZWwgbXVzdCBz cGVjaWZ5IGF0IGxlYXN0IG9uZSBkaXNwbGF5X3RpbWluZyByYW5nZSB3aGljaCB3aWxsIGJlCiAg dXNlZCB0byBlbnN1cmUgdGhlIG92ZXJyaWRlIG1vZGUgZml0cyB3aXRoaW4gaXRzIGJvdW5kcwoK Q2hhbmdlcyBpbiB2MjoKIC0gUGFyc2UgdGhlIGZ1bGwgZGlzcGxheS10aW1pbmdzIG5vZGUgKHVz aW5nIHRoZSBuYXRpdmUtbW9kZSkgKFJvYikKQ2hhbmdlcyBpbiB2MzoKIC0gTm8gbG9uZ2VyIHBh cnNlIGRpc3BsYXktdGltaW5ncyBzdWJub2RlLCB1c2UgcGFuZWwtdGltaW5nIChSb2IpCkNoYW5n ZXMgaW4gdjQ6CiAtIERvbid0IGFkZCBtb2RlIGZyb20gdGltaW5nIGlmIG92ZXJyaWRlIHdhcyBz cGVjaWZpZWQgKFRoaWVycnkpCiAtIEFkZCB3YXJuaW5nIGlmIHRpbWluZyBhbmQgZml4ZWQgbW9k ZSB3YXMgc3BlY2lmaWVkIChUaGllcnJ5KQogLSBEb24ndCBhZGQgZml4ZWQgbW9kZSBpZiB0aW1p bmcgd2FzIHNwZWNpZmllZCAoVGhpZXJyeSkKIC0gUmVmYWN0b3IvcmVuYW1lIGEgYml0IHRvIGF2 b2lkIGV4dHJhIGluZGVudGF0aW9uIGZyb20gImlmIiB0ZXN0cwogLSBpIHNob3VsZCBiZSB1bnNp Z25lZCAoVGhpZXJyeSkKIC0gQWRkIGFubm95aW5nIFdBUk5fT05zIGZvciBzb21lIGNhc2VzIChU aGllcnJ5KQogLSBTaW1wbGlmeSAnTm8gZGlzcGxheV90aW1pbmcgZm91bmQnIGhhbmRsaW5nIChU aGllcnJ5KQogLSBSZW5hbWUgdG8gcGFuZWxfc2ltcGxlX3BhcnNlX292ZXJyaWRlX21vZGUoKSAo VGhpZXJyeSkKCkNjOiBEb3VnIEFuZGVyc29uIDxkaWFuZGVyc0BjaHJvbWl1bS5vcmc+CkNjOiBF cmljIEFuaG9sdCA8ZXJpY0BhbmhvbHQubmV0PgpDYzogSGVpa28gU3R1ZWJuZXIgPGhlaWtvQHNu dGVjaC5kZT4KQ2M6IEplZmZ5IENoZW4gPGplZmZ5LmNoZW5Acm9jay1jaGlwcy5jb20+CkNjOiBS b2IgSGVycmluZyA8cm9iaCtkdEBrZXJuZWwub3JnPgpDYzogU3TDqXBoYW5lIE1hcmNoZXNpbiA8 bWFyY2hldUBjaHJvbWl1bS5vcmc+CkNjOiBUaGllcnJ5IFJlZGluZyA8dGhpZXJyeS5yZWRpbmdA Z21haWwuY29tPgpDYzogZGV2aWNldHJlZUB2Z2VyLmtlcm5lbC5vcmcKQ2M6IGRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKU2lnbmVkLW9mZi1ieTogU2VhbiBQYXVsIDxzZWFucGF1bEBj aHJvbWl1bS5vcmc+ClRlc3RlZC1ieTogRW5yaWMgQmFsbGV0Ym8gaSBTZXJyYSA8ZW5yaWMuYmFs bGV0Ym9AY29sbGFib3JhLmNvbT4KU2lnbmVkLW9mZi1ieTogRG91Z2xhcyBBbmRlcnNvbiA8ZGlh bmRlcnNAY2hyb21pdW0ub3JnPgotLS0KCiBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2lt cGxlLmMgfCAxMDkgKysrKysrKysrKysrKysrKysrKysrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwg MTA0IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL3BhbmVsL3BhbmVsLXNpbXBsZS5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVs LXNpbXBsZS5jCmluZGV4IDllODIxOGY2YTNmMi4uYWQ0ZjRhYWMyZDQ0IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2ltcGxlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L3BhbmVsL3BhbmVsLXNpbXBsZS5jCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSA8ZHJtL2Ry bV9wYW5lbC5oPgogCiAjaW5jbHVkZSA8dmlkZW8vZGlzcGxheV90aW1pbmcuaD4KKyNpbmNsdWRl IDx2aWRlby9vZl9kaXNwbGF5X3RpbWluZy5oPgogI2luY2x1ZGUgPHZpZGVvL3ZpZGVvbW9kZS5o PgogCiBzdHJ1Y3QgcGFuZWxfZGVzYyB7CkBAIC05MSw2ICs5Miw4IEBAIHN0cnVjdCBwYW5lbF9z aW1wbGUgewogCXN0cnVjdCBpMmNfYWRhcHRlciAqZGRjOwogCiAJc3RydWN0IGdwaW9fZGVzYyAq ZW5hYmxlX2dwaW87CisKKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSBvdmVycmlkZV9tb2RlOwog fTsKIAogc3RhdGljIGlubGluZSBzdHJ1Y3QgcGFuZWxfc2ltcGxlICp0b19wYW5lbF9zaW1wbGUo c3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCkBAIC05OCwxNiArMTAxLDEzIEBAIHN0YXRpYyBpbmxp bmUgc3RydWN0IHBhbmVsX3NpbXBsZSAqdG9fcGFuZWxfc2ltcGxlKHN0cnVjdCBkcm1fcGFuZWwg KnBhbmVsKQogCXJldHVybiBjb250YWluZXJfb2YocGFuZWwsIHN0cnVjdCBwYW5lbF9zaW1wbGUs IGJhc2UpOwogfQogCi1zdGF0aWMgaW50IHBhbmVsX3NpbXBsZV9nZXRfZml4ZWRfbW9kZXMoc3Ry dWN0IHBhbmVsX3NpbXBsZSAqcGFuZWwpCitzdGF0aWMgdW5zaWduZWQgaW50IHBhbmVsX3NpbXBs ZV9nZXRfdGltaW5nc19tb2RlcyhzdHJ1Y3QgcGFuZWxfc2ltcGxlICpwYW5lbCkKIHsKIAlzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gcGFuZWwtPmJhc2UuY29ubmVjdG9yOwogCXN0 cnVjdCBkcm1fZGV2aWNlICpkcm0gPSBwYW5lbC0+YmFzZS5kcm07CiAJc3RydWN0IGRybV9kaXNw bGF5X21vZGUgKm1vZGU7CiAJdW5zaWduZWQgaW50IGksIG51bSA9IDA7CiAKLQlpZiAoIXBhbmVs LT5kZXNjKQotCQlyZXR1cm4gMDsKLQogCWZvciAoaSA9IDA7IGkgPCBwYW5lbC0+ZGVzYy0+bnVt X3RpbWluZ3M7IGkrKykgewogCQljb25zdCBzdHJ1Y3QgZGlzcGxheV90aW1pbmcgKmR0ID0gJnBh bmVsLT5kZXNjLT50aW1pbmdzW2ldOwogCQlzdHJ1Y3QgdmlkZW9tb2RlIHZtOwpAQCAtMTMxLDYg KzEzMSwxNiBAQCBzdGF0aWMgaW50IHBhbmVsX3NpbXBsZV9nZXRfZml4ZWRfbW9kZXMoc3RydWN0 IHBhbmVsX3NpbXBsZSAqcGFuZWwpCiAJCW51bSsrOwogCX0KIAorCXJldHVybiBudW07Cit9CisK K3N0YXRpYyB1bnNpZ25lZCBpbnQgcGFuZWxfc2ltcGxlX2dldF9maXhlZF9tb2RlcyhzdHJ1Y3Qg cGFuZWxfc2ltcGxlICpwYW5lbCkKK3sKKwlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y ID0gcGFuZWwtPmJhc2UuY29ubmVjdG9yOworCXN0cnVjdCBkcm1fZGV2aWNlICpkcm0gPSBwYW5l bC0+YmFzZS5kcm07CisJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGU7CisJdW5zaWduZWQg aW50IGksIG51bSA9IDA7CisKIAlmb3IgKGkgPSAwOyBpIDwgcGFuZWwtPmRlc2MtPm51bV9tb2Rl czsgaSsrKSB7CiAJCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptID0gJnBhbmVsLT5k ZXNjLT5tb2Rlc1tpXTsKIApAQCAtMTUyLDYgKzE2Miw0NCBAQCBzdGF0aWMgaW50IHBhbmVsX3Np bXBsZV9nZXRfZml4ZWRfbW9kZXMoc3RydWN0IHBhbmVsX3NpbXBsZSAqcGFuZWwpCiAJCW51bSsr OwogCX0KIAorCXJldHVybiBudW07Cit9CisKK3N0YXRpYyBpbnQgcGFuZWxfc2ltcGxlX2dldF9u b25fZWRpZF9tb2RlcyhzdHJ1Y3QgcGFuZWxfc2ltcGxlICpwYW5lbCkKK3sKKwlzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yID0gcGFuZWwtPmJhc2UuY29ubmVjdG9yOworCXN0cnVjdCBk cm1fZGV2aWNlICpkcm0gPSBwYW5lbC0+YmFzZS5kcm07CisJc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgKm1vZGU7CisJYm9vbCBoYXNfb3ZlcnJpZGUgPSBwYW5lbC0+b3ZlcnJpZGVfbW9kZS50eXBl OworCXVuc2lnbmVkIGludCBudW0gPSAwOworCisJaWYgKCFwYW5lbC0+ZGVzYykKKwkJcmV0dXJu IDA7CisKKwlpZiAoaGFzX292ZXJyaWRlKSB7CisJCW1vZGUgPSBkcm1fbW9kZV9kdXBsaWNhdGUo ZHJtLCAmcGFuZWwtPm92ZXJyaWRlX21vZGUpOworCQlpZiAobW9kZSkgeworCQkJZHJtX21vZGVf cHJvYmVkX2FkZChjb25uZWN0b3IsIG1vZGUpOworCQkJbnVtID0gMTsKKwkJfSBlbHNlIHsKKwkJ CWRldl9lcnIoZHJtLT5kZXYsICJmYWlsZWQgdG8gYWRkIG92ZXJyaWRlIG1vZGVcbiIpOworCQl9 CisJfQorCisJLyogT25seSBhZGQgdGltaW5ncyBpZiBvdmVycmlkZSB3YXMgbm90IHRoZXJlIG9y IGZhaWxlZCB0byB2YWxpZGF0ZSAqLworCWlmIChudW0gPT0gMCAmJiBwYW5lbC0+ZGVzYy0+bnVt X3RpbWluZ3MpCisJCW51bSA9IHBhbmVsX3NpbXBsZV9nZXRfdGltaW5nc19tb2RlcyhwYW5lbCk7 CisKKwkvKgorCSAqIE9ubHkgYWRkIGZpeGVkIG1vZGVzIGlmIHRpbWluZ3Mvb3ZlcnJpZGUgYWRk ZWQgbm8gbW9kZS4KKwkgKgorCSAqIFdlIHNob3VsZCBvbmx5IGV2ZXIgaGF2ZSBlaXRoZXIgdGhl IGRpc3BsYXkgdGltaW5ncyBzcGVjaWZpZWQKKwkgKiBvciBhIGZpeGVkIG1vZGUuIEFueXRoaW5n IGVsc2UgaXMgcmF0aGVyIGJvZ3VzLgorCSAqLworCVdBUk5fT04ocGFuZWwtPmRlc2MtPm51bV90 aW1pbmdzICYmIHBhbmVsLT5kZXNjLT5udW1fbW9kZXMpOworCWlmIChudW0gPT0gMCkKKwkJbnVt ID0gcGFuZWxfc2ltcGxlX2dldF9maXhlZF9tb2RlcyhwYW5lbCk7CisKIAljb25uZWN0b3ItPmRp c3BsYXlfaW5mby5icGMgPSBwYW5lbC0+ZGVzYy0+YnBjOwogCWNvbm5lY3Rvci0+ZGlzcGxheV9p bmZvLndpZHRoX21tID0gcGFuZWwtPmRlc2MtPnNpemUud2lkdGg7CiAJY29ubmVjdG9yLT5kaXNw bGF5X2luZm8uaGVpZ2h0X21tID0gcGFuZWwtPmRlc2MtPnNpemUuaGVpZ2h0OwpAQCAtMjY4LDcg KzMxNiw3IEBAIHN0YXRpYyBpbnQgcGFuZWxfc2ltcGxlX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3Bh bmVsICpwYW5lbCkKIAl9CiAKIAkvKiBhZGQgaGFyZC1jb2RlZCBwYW5lbCBtb2RlcyAqLwotCW51 bSArPSBwYW5lbF9zaW1wbGVfZ2V0X2ZpeGVkX21vZGVzKHApOworCW51bSArPSBwYW5lbF9zaW1w bGVfZ2V0X25vbl9lZGlkX21vZGVzKHApOwogCiAJcmV0dXJuIG51bTsKIH0KQEAgLTI5OSwxMCAr MzQ3LDU4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3BhbmVsX2Z1bmNzIHBhbmVsX3NpbXBs ZV9mdW5jcyA9IHsKIAkuZ2V0X3RpbWluZ3MgPSBwYW5lbF9zaW1wbGVfZ2V0X3RpbWluZ3MsCiB9 OwogCisjZGVmaW5lIFBBTkVMX1NJTVBMRV9CT1VORFNfQ0hFQ0sodG9fY2hlY2ssIGJvdW5kcywg ZmllbGQpIFwKKwkodG9fY2hlY2stPmZpZWxkLnR5cCA+PSBib3VuZHMtPmZpZWxkLm1pbiAmJiBc CisJIHRvX2NoZWNrLT5maWVsZC50eXAgPD0gYm91bmRzLT5maWVsZC5tYXgpCitzdGF0aWMgdm9p ZCBwYW5lbF9zaW1wbGVfcGFyc2Vfb3ZlcnJpZGVfbW9kZShzdHJ1Y3QgZGV2aWNlICpkZXYsCisJ CQkJCSAgICAgc3RydWN0IHBhbmVsX3NpbXBsZSAqcGFuZWwsCisJCQkJCSAgICAgY29uc3Qgc3Ry dWN0IGRpc3BsYXlfdGltaW5nICpvdCkKK3sKKwljb25zdCBzdHJ1Y3QgcGFuZWxfZGVzYyAqZGVz YyA9IHBhbmVsLT5kZXNjOworCXN0cnVjdCB2aWRlb21vZGUgdm07CisJdW5zaWduZWQgaW50IGk7 CisKKwlpZiAoV0FSTl9PTihkZXNjLT5udW1fbW9kZXMpKSB7CisJCWRldl9lcnIoZGV2LCAiUmVq ZWN0IG92ZXJyaWRlIG1vZGU6IHBhbmVsIGhhcyBhIGZpeGVkIG1vZGVcbiIpOworCQlyZXR1cm47 CisJfQorCWlmIChXQVJOX09OKCFkZXNjLT5udW1fdGltaW5ncykpIHsKKwkJZGV2X2VycihkZXYs ICJSZWplY3Qgb3ZlcnJpZGUgbW9kZTogbm8gdGltaW5ncyBzcGVjaWZpZWRcbiIpOworCQlyZXR1 cm47CisJfQorCisJZm9yIChpID0gMDsgaSA8IHBhbmVsLT5kZXNjLT5udW1fdGltaW5nczsgaSsr KSB7CisJCWNvbnN0IHN0cnVjdCBkaXNwbGF5X3RpbWluZyAqZHQgPSAmcGFuZWwtPmRlc2MtPnRp bWluZ3NbaV07CisKKwkJaWYgKCFQQU5FTF9TSU1QTEVfQk9VTkRTX0NIRUNLKG90LCBkdCwgaGFj dGl2ZSkgfHwKKwkJICAgICFQQU5FTF9TSU1QTEVfQk9VTkRTX0NIRUNLKG90LCBkdCwgaGZyb250 X3BvcmNoKSB8fAorCQkgICAgIVBBTkVMX1NJTVBMRV9CT1VORFNfQ0hFQ0sob3QsIGR0LCBoYmFj a19wb3JjaCkgfHwKKwkJICAgICFQQU5FTF9TSU1QTEVfQk9VTkRTX0NIRUNLKG90LCBkdCwgaHN5 bmNfbGVuKSB8fAorCQkgICAgIVBBTkVMX1NJTVBMRV9CT1VORFNfQ0hFQ0sob3QsIGR0LCB2YWN0 aXZlKSB8fAorCQkgICAgIVBBTkVMX1NJTVBMRV9CT1VORFNfQ0hFQ0sob3QsIGR0LCB2ZnJvbnRf cG9yY2gpIHx8CisJCSAgICAhUEFORUxfU0lNUExFX0JPVU5EU19DSEVDSyhvdCwgZHQsIHZiYWNr X3BvcmNoKSB8fAorCQkgICAgIVBBTkVMX1NJTVBMRV9CT1VORFNfQ0hFQ0sob3QsIGR0LCB2c3lu Y19sZW4pKQorCQkJY29udGludWU7CisKKwkJaWYgKG90LT5mbGFncyAhPSBkdC0+ZmxhZ3MpCisJ CQljb250aW51ZTsKKworCQl2aWRlb21vZGVfZnJvbV90aW1pbmcob3QsICZ2bSk7CisJCWRybV9k aXNwbGF5X21vZGVfZnJvbV92aWRlb21vZGUoJnZtLCAmcGFuZWwtPm92ZXJyaWRlX21vZGUpOwor CQlwYW5lbC0+b3ZlcnJpZGVfbW9kZS50eXBlIHw9IERSTV9NT0RFX1RZUEVfRFJJVkVSIHwKKwkJ CQkJICAgICBEUk1fTU9ERV9UWVBFX1BSRUZFUlJFRDsKKwkJYnJlYWs7CisJfQorCisJaWYgKFdB Uk5fT04oIXBhbmVsLT5vdmVycmlkZV9tb2RlLnR5cGUpKQorCQlkZXZfZXJyKGRldiwgIlJlamVj dCBvdmVycmlkZSBtb2RlOiBObyBkaXNwbGF5X3RpbWluZyBmb3VuZFxuIik7Cit9CisKIHN0YXRp YyBpbnQgcGFuZWxfc2ltcGxlX3Byb2JlKHN0cnVjdCBkZXZpY2UgKmRldiwgY29uc3Qgc3RydWN0 IHBhbmVsX2Rlc2MgKmRlc2MpCiB7CiAJc3RydWN0IGRldmljZV9ub2RlICpiYWNrbGlnaHQsICpk ZGM7CiAJc3RydWN0IHBhbmVsX3NpbXBsZSAqcGFuZWw7CisJc3RydWN0IGRpc3BsYXlfdGltaW5n IGR0OwogCWludCBlcnI7CiAKIAlwYW5lbCA9IGRldm1fa3phbGxvYyhkZXYsIHNpemVvZigqcGFu ZWwpLCBHRlBfS0VSTkVMKTsKQEAgLTM0OCw2ICs0NDQsOSBAQCBzdGF0aWMgaW50IHBhbmVsX3Np bXBsZV9wcm9iZShzdHJ1Y3QgZGV2aWNlICpkZXYsIGNvbnN0IHN0cnVjdCBwYW5lbF9kZXNjICpk ZXNjKQogCQl9CiAJfQogCisJaWYgKCFvZl9nZXRfZGlzcGxheV90aW1pbmcoZGV2LT5vZl9ub2Rl LCAicGFuZWwtdGltaW5nIiwgJmR0KSkKKwkJcGFuZWxfc2ltcGxlX3BhcnNlX292ZXJyaWRlX21v ZGUoZGV2LCBwYW5lbCwgJmR0KTsKKwogCWRybV9wYW5lbF9pbml0KCZwYW5lbC0+YmFzZSk7CiAJ cGFuZWwtPmJhc2UuZGV2ID0gZGV2OwogCXBhbmVsLT5iYXNlLmZ1bmNzID0gJnBhbmVsX3NpbXBs ZV9mdW5jczsKLS0gCjIuMjEuMC4zOTIuZ2Y4ZjY3ODcxNTllLWdvb2cKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QK ZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbA== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C0E1DC43381 for ; Thu, 28 Mar 2019 17:18:23 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 7ACAF2183F for ; Thu, 28 Mar 2019 17:18:23 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="K/icZPmA" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727593AbfC1RSA (ORCPT ); Thu, 28 Mar 2019 13:18:00 -0400 Received: from mail-pl1-f194.google.com ([209.85.214.194]:44893 "EHLO mail-pl1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727463AbfC1RR6 (ORCPT ); Thu, 28 Mar 2019 13:17:58 -0400 Received: by mail-pl1-f194.google.com with SMTP id g12so5268995pll.11 for ; Thu, 28 Mar 2019 10:17:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=aReZeTSxMM1wXIMnaZC/78auAvzmRRvwq++CtJnHKd0=; b=K/icZPmAjbF+TUk2TvZobuzYP9E0brJqs2mBKjZ17RAIZtMXrM69njFw92rYEXetag DsWNlQW9J0fe6sRZvSi+BpBgk1xDxw0PWb47H2glbRn1D0/D5lBvBfQvDfpcug4KqQrZ WZOpi3OFUJxzqosCGo2QgbOE6VjC9qqcgMzzI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=aReZeTSxMM1wXIMnaZC/78auAvzmRRvwq++CtJnHKd0=; b=m7RNsEVYSd6naEh+HO8f9n5bMYjxMjvMAv36NU1/ZfPmgpkjiQXvMX+T0h8uM9QSho vW4H1+hPQwiTgikVVZXHO5yKE740oBXNI6TVhIdguEAcvf5+0bAe9fafub5szmNx2Nj4 235obH5cKwabZo4ITFNfFOoXc7oR/D9kDQ8mLTCqaH+9+yZ4o3KQVxcogc/Dv80AEpsG 5S74VgDKWR549dItrJvyj0/SEmbmeDlIEoiCF1l9guE0ZBTRzyyxGtskBsybm8GNcJQ1 0L7pPE/fmrwu+bXHYZ2Xew4RdMfoqEcDZbAQYoBYNWBcfFOZMZb29PumELi0e0A1r1GS tl4A== X-Gm-Message-State: APjAAAXJlFHn6t2RhDlW8fRteIUbkVqPBWP+LYFplM5LqxuTV5gL+qux dHpeUx7BW/56RcIsF6/2cb806g== X-Google-Smtp-Source: APXvYqzHLbqgE3KIJMsjZ2yyceU7G9pfXxw542LUpPg6X5c3k3vfQbEx6Y8QLsdKkFgHxF734plgGw== X-Received: by 2002:a17:902:2927:: with SMTP id g36mr16023956plb.57.1553793477320; Thu, 28 Mar 2019 10:17:57 -0700 (PDT) Received: from tictac2.mtv.corp.google.com ([2620:15c:202:1:24fa:e766:52c9:e3b2]) by smtp.gmail.com with ESMTPSA id r10sm31699414pfn.188.2019.03.28.10.17.56 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 28 Mar 2019 10:17:56 -0700 (PDT) From: Douglas Anderson To: Thierry Reding , Heiko Stuebner , Sean Paul Cc: linux-rockchip@lists.infradead.org, Laurent Pinchart , dri-devel@lists.freedesktop.org, Boris Brezillon , Ezequiel Garcia , =?UTF-8?q?Enric=20Balletb=C3=B2?= , Rob Herring , mka@chromium.org, Doug Anderson , Eric Anholt , Jeffy Chen , =?UTF-8?q?St=C3=A9phane=20Marchesin?= , devicetree@vger.kernel.org, David Airlie , linux-kernel@vger.kernel.org, Daniel Vetter Subject: [PATCH v4 2/7] drm/panel: simple: Add ability to override typical timing Date: Thu, 28 Mar 2019 10:17:05 -0700 Message-Id: <20190328171710.31949-3-dianders@chromium.org> X-Mailer: git-send-email 2.21.0.392.gf8f6787159e-goog In-Reply-To: <20190328171710.31949-1-dianders@chromium.org> References: <20190328171710.31949-1-dianders@chromium.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Sean Paul This patch adds the ability to override the typical display timing for a given panel. This is useful for devices which have timing constraints that do not apply across the entire display driver (eg: to avoid crosstalk between panel and digitizer on certain laptops). The rules are as follows: - panel must not specify fixed mode (since the override mode will either be the same as the fixed mode, or we'll be unable to check the bounds of the overried) - panel must specify at least one display_timing range which will be used to ensure the override mode fits within its bounds Changes in v2: - Parse the full display-timings node (using the native-mode) (Rob) Changes in v3: - No longer parse display-timings subnode, use panel-timing (Rob) Changes in v4: - Don't add mode from timing if override was specified (Thierry) - Add warning if timing and fixed mode was specified (Thierry) - Don't add fixed mode if timing was specified (Thierry) - Refactor/rename a bit to avoid extra indentation from "if" tests - i should be unsigned (Thierry) - Add annoying WARN_ONs for some cases (Thierry) - Simplify 'No display_timing found' handling (Thierry) - Rename to panel_simple_parse_override_mode() (Thierry) Cc: Doug Anderson Cc: Eric Anholt Cc: Heiko Stuebner Cc: Jeffy Chen Cc: Rob Herring Cc: Stéphane Marchesin Cc: Thierry Reding Cc: devicetree@vger.kernel.org Cc: dri-devel@lists.freedesktop.org Signed-off-by: Sean Paul Tested-by: Enric Balletbo i Serra Signed-off-by: Douglas Anderson --- drivers/gpu/drm/panel/panel-simple.c | 109 +++++++++++++++++++++++++-- 1 file changed, 104 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index 9e8218f6a3f2..ad4f4aac2d44 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -34,6 +34,7 @@ #include #include