From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: [PATCH 1/3] drm/panel: simple: Add ability to override typical timing Date: Tue, 6 Feb 2018 11:56:20 -0500 Message-ID: <20180206165626.37692-2-seanpaul@chromium.org> References: <20180206165626.37692-1-seanpaul@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180206165626.37692-1-seanpaul@chromium.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, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org Cc: Thierry Reding , Mark Rutland , Jeffy Chen , Doug Anderson , Rob Herring , =?UTF-8?q?St=C3=A9phane=20Marchesin?= List-Id: devicetree@vger.kernel.org VGhpcyBwYXRjaCBhZGRzIHRoZSBhYmlsaXR5IHRvIG92ZXJyaWRlIHRoZSB0eXBpY2FsIGRpc3Bs YXkgdGltaW5nIGZvciBhCmdpdmVuIHBhbmVsLiBUaGlzIGlzIHVzZWZ1bCBmb3IgZGV2aWNlcyB3 aGljaCBoYXZlIHRpbWluZyBjb25zdHJhaW50cwp0aGF0IGRvIG5vdCBhcHBseSBhY3Jvc3MgdGhl IGVudGlyZSBkaXNwbGF5IGRyaXZlciAoZWc6IHRvIGF2b2lkCmNyb3NzdGFsayBiZXR3ZWVuIHBh bmVsIGFuZCBkaWdpdGl6ZXIgb24gY2VydGFpbiBsYXB0b3BzKS4gVGhlIHJ1bGVzIGFyZQphcyBm b2xsb3dzOgoKLSBwYW5lbCBtdXN0IG5vdCBzcGVjaWZ5IGZpeGVkIG1vZGUgKHNpbmNlIHRoZSBv dmVycmlkZSBtb2RlIHdpbGwKICBlaXRoZXIgYmUgdGhlIHNhbWUgYXMgdGhlIGZpeGVkIG1vZGUs IG9yIHdlJ2xsIGJlIHVuYWJsZSB0bwogIGNoZWNrIHRoZSBib3VuZHMgb2YgdGhlIG92ZXJyaWVk KQotIHBhbmVsIG11c3Qgc3BlY2lmeSBhdCBsZWFzdCBvbmUgZGlzcGxheV90aW1pbmcgcmFuZ2Ug d2hpY2ggd2lsbCBiZQogIHVzZWQgdG8gZW5zdXJlIHRoZSBvdmVycmlkZSBtb2RlIGZpdHMgd2l0 aGluIGl0cyBib3VuZHMKCkNjOiBEb3VnIEFuZGVyc29uIDxkaWFuZGVyc0BjaHJvbWl1bS5vcmc+ CkNjOiBIZWlrbyBTdHVlYm5lciA8aGVpa29Ac250ZWNoLmRlPgpDYzogSmVmZnkgQ2hlbiA8amVm ZnkuY2hlbkByb2NrLWNoaXBzLmNvbT4KQ2M6IFJvYiBIZXJyaW5nIDxyb2JoK2R0QGtlcm5lbC5v cmc+CkNjOiBTdMOpcGhhbmUgTWFyY2hlc2luIDxtYXJjaGV1QGNocm9taXVtLm9yZz4KQ2M6IFRo aWVycnkgUmVkaW5nIDx0aGllcnJ5LnJlZGluZ0BnbWFpbC5jb20+CkNjOiBkZXZpY2V0cmVlQHZn ZXIua2VybmVsLm9yZwpDYzogZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpDYzogbGlu dXgtcm9ja2NoaXBAbGlzdHMuaW5mcmFkZWFkLm9yZwpTaWduZWQtb2ZmLWJ5OiBTZWFuIFBhdWwg PHNlYW5wYXVsQGNocm9taXVtLm9yZz4KLS0tCiAuLi4vYmluZGluZ3MvZGlzcGxheS9wYW5lbC9z aW1wbGUtcGFuZWwudHh0ICAgICAgICB8IDIwICsrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9wYW5l bC9wYW5lbC1zaW1wbGUuYyAgICAgICAgICAgICAgIHwgNjkgKysrKysrKysrKysrKysrKysrKysr LQogMiBmaWxlcyBjaGFuZ2VkLCA4OCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZm IC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvcGFuZWwv c2ltcGxlLXBhbmVsLnR4dCBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNw bGF5L3BhbmVsL3NpbXBsZS1wYW5lbC50eHQKaW5kZXggMTZkOGZmMDg4YjdkLi41OTBiYmZmNmZj OTAgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5 L3BhbmVsL3NpbXBsZS1wYW5lbC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2Jp bmRpbmdzL2Rpc3BsYXkvcGFuZWwvc2ltcGxlLXBhbmVsLnR4dApAQCAtNyw2ICs3LDE0IEBAIE9w dGlvbmFsIHByb3BlcnRpZXM6CiAtIGRkYy1pMmMtYnVzOiBwaGFuZGxlIG9mIGFuIEkyQyBjb250 cm9sbGVyIHVzZWQgZm9yIEREQyBFRElEIHByb2JpbmcKIC0gZW5hYmxlLWdwaW9zOiBHUElPIHBp biB0byBlbmFibGUgb3IgZGlzYWJsZSB0aGUgcGFuZWwKIC0gYmFja2xpZ2h0OiBwaGFuZGxlIG9m IHRoZSBiYWNrbGlnaHQgZGV2aWNlIGF0dGFjaGVkIHRvIHRoZSBwYW5lbAorLSBvdmVycmlkZS1t b2RlOiBGb3IgZGV2aWNlcyB3aGljaCByZXF1aXJlIGEgbW9kZSB3aGljaCBkaWZmZXJzIGZyb20g dGhlCisJCSBkaXNwbGF5X3RpbWluZydzICJ0eXBpY2FsIiBtb2RlLCBhbmQgd2hvc2UgcmVzdHJp Y3Rpb25zIGNhbm5vdAorCQkgYmUgYXBwbGllZCBhY3Jvc3MgdGhlIGVudGlyZSBwbGF0Zm9ybS4g VGhlIG1vZGUgbXVzdCBmYWxsCisJCSB3aXRoaW4gdGhlIGJvdW5kcyBvZiB0aGUgcGFuZWwncyBz cGVjaWZpZWQgZGlzcGxheV90aW1pbmcsIGFuZAorCQkgY2Fubm90IGJlIHVzZWQgaWYgdGhlIHBh bmVsIGFscmVhZHkgc3BlY2lmaWVzIGEgc2luZ2xlIGZpeGVkCisJCSBtb2RlLiBUaGUgZm9ybWF0 IGlzIHNwZWNpZmllZCB1bmRlciAidGltaW5nIHN1Ym5vZGUiIGluCisJCSBkaXNwbGF5LXRpbWlu Zy50eHQKKwogCiBFeGFtcGxlOgogCkBAIC0xOCw0ICsyNiwxNiBAQCBFeGFtcGxlOgogCQllbmFi bGUtZ3Bpb3MgPSA8JmdwaW8gOTAgMD47CiAKIAkJYmFja2xpZ2h0ID0gPCZiYWNrbGlnaHQ+Owor CisJCW92ZXJyaWRlLW1vZGUgeworCQkJY2xvY2stZnJlcXVlbmN5ID0gPDI2NjYwNDcyMD47CisJ CQloYWN0aXZlID0gPDI0MDA+OworCQkJaGZyb250LXBvcmNoID0gPDQ4PjsKKwkJCWhiYWNrLXBv cmNoID0gPDg0PjsKKwkJCWhzeW5jLWxlbiA9IDwzMj47CisJCQl2YWN0aXZlID0gPDE2MDA+Owor CQkJdmZyb250LXBvcmNoID0gPDM+OworCQkJdmJhY2stcG9yY2ggPSA8MTIwPjsKKwkJCXZzeW5j LWxlbiA9IDwxMD47CisJCX0KIAl9OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVs L3BhbmVsLXNpbXBsZS5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNpbXBsZS5jCmlu ZGV4IDU1OTE5ODRhMzkyYi4uYjc3NDM2NWYzNjM1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vcGFuZWwvcGFuZWwtc2ltcGxlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVs LXNpbXBsZS5jCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSA8ZHJtL2RybV9wYW5lbC5oPgog CiAjaW5jbHVkZSA8dmlkZW8vZGlzcGxheV90aW1pbmcuaD4KKyNpbmNsdWRlIDx2aWRlby9vZl9k aXNwbGF5X3RpbWluZy5oPgogI2luY2x1ZGUgPHZpZGVvL3ZpZGVvbW9kZS5oPgogCiBzdHJ1Y3Qg cGFuZWxfZGVzYyB7CkBAIC04Nyw2ICs4OCw4IEBAIHN0cnVjdCBwYW5lbF9zaW1wbGUgewogCXN0 cnVjdCBpMmNfYWRhcHRlciAqZGRjOwogCiAJc3RydWN0IGdwaW9fZGVzYyAqZW5hYmxlX2dwaW87 CisKKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSBvdmVycmlkZV9tb2RlOwogfTsKIAogc3RhdGlj IGlubGluZSBzdHJ1Y3QgcGFuZWxfc2ltcGxlICp0b19wYW5lbF9zaW1wbGUoc3RydWN0IGRybV9w YW5lbCAqcGFuZWwpCkBAIC05OSwxMSArMTAyLDIyIEBAIHN0YXRpYyBpbnQgcGFuZWxfc2ltcGxl X2dldF9maXhlZF9tb2RlcyhzdHJ1Y3QgcGFuZWxfc2ltcGxlICpwYW5lbCkKIAlzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yID0gcGFuZWwtPmJhc2UuY29ubmVjdG9yOwogCXN0cnVjdCBk cm1fZGV2aWNlICpkcm0gPSBwYW5lbC0+YmFzZS5kcm07CiAJc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgKm1vZGU7CisJYm9vbCBoYXNfb3ZlcnJpZGUgPSBwYW5lbC0+b3ZlcnJpZGVfbW9kZS50eXBl OwogCXVuc2lnbmVkIGludCBpLCBudW0gPSAwOwogCiAJaWYgKCFwYW5lbC0+ZGVzYykKIAkJcmV0 dXJuIDA7CiAKKwlpZiAoaGFzX292ZXJyaWRlKSB7CisJCW1vZGUgPSBkcm1fbW9kZV9kdXBsaWNh dGUoZHJtLCAmcGFuZWwtPm92ZXJyaWRlX21vZGUpOworCQlpZiAobW9kZSkgeworCQkJZHJtX21v ZGVfcHJvYmVkX2FkZChjb25uZWN0b3IsIG1vZGUpOworCQkJbnVtKys7CisJCX0gZWxzZSB7CisJ CQlkZXZfZXJyKGRybS0+ZGV2LCAiZmFpbGVkIHRvIGFkZCBvdmVycmlkZSBtb2RlXG4iKTsKKwkJ fQorCX0KKwogCWZvciAoaSA9IDA7IGkgPCBwYW5lbC0+ZGVzYy0+bnVtX3RpbWluZ3M7IGkrKykg ewogCQljb25zdCBzdHJ1Y3QgZGlzcGxheV90aW1pbmcgKmR0ID0gJnBhbmVsLT5kZXNjLT50aW1p bmdzW2ldOwogCQlzdHJ1Y3QgdmlkZW9tb2RlIHZtOwpAQCAtMTIwLDcgKzEzNCw3IEBAIHN0YXRp YyBpbnQgcGFuZWxfc2ltcGxlX2dldF9maXhlZF9tb2RlcyhzdHJ1Y3QgcGFuZWxfc2ltcGxlICpw YW5lbCkKIAogCQltb2RlLT50eXBlIHw9IERSTV9NT0RFX1RZUEVfRFJJVkVSOwogCi0JCWlmIChw YW5lbC0+ZGVzYy0+bnVtX3RpbWluZ3MgPT0gMSkKKwkJaWYgKHBhbmVsLT5kZXNjLT5udW1fdGlt aW5ncyA9PSAxICYmICFoYXNfb3ZlcnJpZGUpCiAJCQltb2RlLT50eXBlIHw9IERSTV9NT0RFX1RZ UEVfUFJFRkVSUkVEOwogCiAJCWRybV9tb2RlX3Byb2JlZF9hZGQoY29ubmVjdG9yLCBtb2RlKTsK QEAgLTI5MSwxMCArMzA1LDU4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3BhbmVsX2Z1bmNz IHBhbmVsX3NpbXBsZV9mdW5jcyA9IHsKIAkuZ2V0X3RpbWluZ3MgPSBwYW5lbF9zaW1wbGVfZ2V0 X3RpbWluZ3MsCiB9OwogCisjZGVmaW5lIFBBTkVMX1NJTVBMRV9CT1VORFNfQ0hFQ0sodG9fY2hl Y2ssIGJvdW5kcywgZmllbGQpIFwKKwkodG9fY2hlY2stPmZpZWxkLnR5cCA+PSBib3VuZHMtPmZp ZWxkLm1pbiAmJiBcCisJIHRvX2NoZWNrLT5maWVsZC50eXAgPD0gYm91bmRzLT5maWVsZC5tYXgp CitzdGF0aWMgdm9pZCBwYW5lbF9zaW1wbGVfYWRkX292ZXJyaWRlX21vZGUoc3RydWN0IGRldmlj ZSAqZGV2LAorCQkJCQkgICBzdHJ1Y3QgcGFuZWxfc2ltcGxlICpwYW5lbCwKKwkJCQkJICAgY29u c3Qgc3RydWN0IGRpc3BsYXlfdGltaW5nICpvdCkKK3sKKwljb25zdCBzdHJ1Y3QgcGFuZWxfZGVz YyAqZGVzYyA9IHBhbmVsLT5kZXNjOworCXN0cnVjdCB2aWRlb21vZGUgdm07CisJaW50IGk7CisK KwlpZiAoZGVzYy0+bnVtX21vZGVzKSB7CisJCWRldl9lcnIoZGV2LCAiUmVqZWN0IG92ZXJyaWRl IG1vZGU6IHBhbmVsIGhhcyBhIGZpeGVkIG1vZGVcbiIpOworCQlyZXR1cm47CisJfQorCWlmICgh ZGVzYy0+bnVtX3RpbWluZ3MpIHsKKwkJZGV2X2VycihkZXYsICJSZWplY3Qgb3ZlcnJpZGUgbW9k ZTogbm8gdGltaW5ncyBzcGVjaWZpZWRcbiIpOworCQlyZXR1cm47CisJfQorCisJZm9yIChpID0g MDsgaSA8IHBhbmVsLT5kZXNjLT5udW1fdGltaW5nczsgaSsrKSB7CisJCWNvbnN0IHN0cnVjdCBk aXNwbGF5X3RpbWluZyAqZHQgPSAmcGFuZWwtPmRlc2MtPnRpbWluZ3NbaV07CisKKwkJaWYgKCFQ QU5FTF9TSU1QTEVfQk9VTkRTX0NIRUNLKG90LCBkdCwgaGFjdGl2ZSkgfHwKKwkJICAgICFQQU5F TF9TSU1QTEVfQk9VTkRTX0NIRUNLKG90LCBkdCwgaGZyb250X3BvcmNoKSB8fAorCQkgICAgIVBB TkVMX1NJTVBMRV9CT1VORFNfQ0hFQ0sob3QsIGR0LCBoYmFja19wb3JjaCkgfHwKKwkJICAgICFQ QU5FTF9TSU1QTEVfQk9VTkRTX0NIRUNLKG90LCBkdCwgaHN5bmNfbGVuKSB8fAorCQkgICAgIVBB TkVMX1NJTVBMRV9CT1VORFNfQ0hFQ0sob3QsIGR0LCB2YWN0aXZlKSB8fAorCQkgICAgIVBBTkVM X1NJTVBMRV9CT1VORFNfQ0hFQ0sob3QsIGR0LCB2ZnJvbnRfcG9yY2gpIHx8CisJCSAgICAhUEFO RUxfU0lNUExFX0JPVU5EU19DSEVDSyhvdCwgZHQsIHZiYWNrX3BvcmNoKSB8fAorCQkgICAgIVBB TkVMX1NJTVBMRV9CT1VORFNfQ0hFQ0sob3QsIGR0LCB2c3luY19sZW4pKQorCQkJY29udGludWU7 CisKKwkJaWYgKG90LT5mbGFncyAhPSBkdC0+ZmxhZ3MpCisJCQljb250aW51ZTsKKworCQl2aWRl b21vZGVfZnJvbV90aW1pbmcob3QsICZ2bSk7CisJCWRybV9kaXNwbGF5X21vZGVfZnJvbV92aWRl b21vZGUoJnZtLCAmcGFuZWwtPm92ZXJyaWRlX21vZGUpOworCQlwYW5lbC0+b3ZlcnJpZGVfbW9k ZS50eXBlIHw9IERSTV9NT0RFX1RZUEVfRFJJVkVSIHwKKwkJCQkJICAgICBEUk1fTU9ERV9UWVBF X1BSRUZFUlJFRDsKKwkJcmV0dXJuOworCX0KKworCWRldl9lcnIoZGV2LCAiUmVqZWN0IG92ZXJy aWRlIG1vZGU6IE5vIGRpc3BsYXlfdGltaW5nIGZvdW5kXG4iKTsKKwlyZXR1cm47Cit9CisKIHN0 YXRpYyBpbnQgcGFuZWxfc2ltcGxlX3Byb2JlKHN0cnVjdCBkZXZpY2UgKmRldiwgY29uc3Qgc3Ry dWN0IHBhbmVsX2Rlc2MgKmRlc2MpCiB7CiAJc3RydWN0IGRldmljZV9ub2RlICpiYWNrbGlnaHQs ICpkZGM7CiAJc3RydWN0IHBhbmVsX3NpbXBsZSAqcGFuZWw7CisJc3RydWN0IGRpc3BsYXlfdGlt aW5nIG92ZXJyaWRlX3RpbWluZzsKIAlpbnQgZXJyOwogCiAJcGFuZWwgPSBkZXZtX2t6YWxsb2Mo ZGV2LCBzaXplb2YoKnBhbmVsKSwgR0ZQX0tFUk5FTCk7CkBAIC0zMzgsNiArNDAwLDExIEBAIHN0 YXRpYyBpbnQgcGFuZWxfc2ltcGxlX3Byb2JlKHN0cnVjdCBkZXZpY2UgKmRldiwgY29uc3Qgc3Ry dWN0IHBhbmVsX2Rlc2MgKmRlc2MpCiAJCX0KIAl9CiAKKwllcnIgPSBvZl9nZXRfZGlzcGxheV90 aW1pbmcoZGV2LT5vZl9ub2RlLCAib3ZlcnJpZGUtbW9kZSIsCisJCQkJICAgICZvdmVycmlkZV90 aW1pbmcpOworCWlmICghZXJyKQorCQlwYW5lbF9zaW1wbGVfYWRkX292ZXJyaWRlX21vZGUoZGV2 LCBwYW5lbCwgJm92ZXJyaWRlX3RpbWluZyk7CisKIAlkcm1fcGFuZWxfaW5pdCgmcGFuZWwtPmJh c2UpOwogCXBhbmVsLT5iYXNlLmRldiA9IGRldjsKIAlwYW5lbC0+YmFzZS5mdW5jcyA9ICZwYW5l bF9zaW1wbGVfZnVuY3M7Ci0tIAoyLjE2LjAucmMxLjIzOC5nNTMwZDY0OWE3OS1nb29nCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFp bGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK