From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sam Ravnborg Subject: [PATCH v1 14/16] drm/panel: call prepare/enable only once Date: Sun, 4 Aug 2019 22:16:35 +0200 Message-ID: <20190804201637.1240-15-sam@ravnborg.org> References: <20190804201637.1240-1-sam@ravnborg.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190804201637.1240-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 Cc: Neil Armstrong , David Airlie , Laurent Pinchart , Marek Vasut , Laurent Pinchart , Sam Ravnborg , Krzysztof Kozlowski , Jonathan Hunter , Maxime Ripard , Kukjin Kim , Allison Randal , NXP Linux Team , Pengutronix Kernel Team , Jonas Karlman , Alison Wang , Gwan-gyeong Mun , Alexios Zavras , linux-samsung-soc@vger.kernel.org, linux-tegra@vger.kernel.org, Thomas Gleixner , Sean Paul , linux-arm-kernel@lists.infradead.org, Jernej Skrabec List-Id: linux-tegra@vger.kernel.org TWFueSBwYW5lbCBkcml2ZXJzIGR1cGxpY2F0ZSBsb2dpYyB0byBwcmV2ZW50IHByZXBhcmUgdG8g YmUgY2FsbGVkCmZvciBhIHBhbmVsIHRoYXQgaXMgYWxyZWFkeSBwcmVwYXJlZC4KTGlrZXdpc2Ug Zm9yIGVuYWJsZS4KCkltcGxlbWVudCB0aGlzIGxvZ2ljIGluIGRybV9wYW5lbCBzbyB0aGUgaW5k aXZpZHVhbCBkcml2ZXJzCm5vIGxvbmdlciBuZWVkcyB0aGlzLgpBIHBhbmVsIGlzIGNvbnNpZGVy ZWQgcHJlcGFyZWQvZW5hYmxlZCBvbmx5IGlmIHRoZSBwcmVwYXJlL2VuYWJsZSBjYWxsCnN1Y2Nl ZWRzLgpGb3IgZGlzYWJsZS91bnByZXBhcmUgaXQgaXMgdW5jb25kaXRpb25hbGx5IGNvbnNpZGVy ZWQKZGlzYWJsZWQvdW5wcmVwYXJlZC4KClRoaXMgYWxsb3dzIGNhbGxzIHRvIHByZXBhcmUvZW5h YmxlIGFnYWluLCBldmVuIGlmIHRoZXJlIHdlcmUKc29tZSBpc3N1ZSBkaXNhYmxpbmcgYSByZWd1 bGF0b3Igb3Igc2ltaWxhciBkdXJpbmcgZGlzYWJsZS91bnByZXBhcmUuCgpTaWduZWQtb2ZmLWJ5 OiBTYW0gUmF2bmJvcmcgPHNhbUByYXZuYm9yZy5vcmc+CkNjOiBNYWFydGVuIExhbmtob3JzdCA8 bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgpDYzogTWF4aW1lIFJpcGFyZCA8bWF4 aW1lLnJpcGFyZEBib290bGluLmNvbT4KQ2M6IFNlYW4gUGF1bCA8c2VhbkBwb29ybHkucnVuPgpD YzogVGhpZXJyeSBSZWRpbmcgPHRoaWVycnkucmVkaW5nQGdtYWlsLmNvbT4KQ2M6IFNhbSBSYXZu Ym9yZyA8c2FtQHJhdm5ib3JnLm9yZz4KQ2M6IERhdmlkIEFpcmxpZSA8YWlybGllZEBsaW51eC5p ZT4KQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbEBmZndsbC5jaD4KLS0tCiBkcml2ZXJzL2dwdS9k cm0vZHJtX3BhbmVsLmMgfCA2NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0t CiBpbmNsdWRlL2RybS9kcm1fcGFuZWwuaCAgICAgfCAyMSArKysrKysrKysrKysKIDIgZmlsZXMg Y2hhbmdlZCwgNzUgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2RybV9wYW5lbC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wYW5lbC5j CmluZGV4IGRhMTlkNWI0YTJmNC4uMDg1Mzc2NDA0MGRlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vZHJtX3BhbmVsLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wYW5lbC5jCkBAIC02 NiwxMCArNjYsMjEgQEAgRVhQT1JUX1NZTUJPTChkcm1fcGFuZWxfaW5pdCk7CiAgKi8KIGludCBk cm1fcGFuZWxfcHJlcGFyZShzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKIHsKLQlpZiAocGFuZWwg JiYgcGFuZWwtPmZ1bmNzICYmIHBhbmVsLT5mdW5jcy0+cHJlcGFyZSkKLQkJcmV0dXJuIHBhbmVs LT5mdW5jcy0+cHJlcGFyZShwYW5lbCk7CisJaW50IHJldCA9IC1FTk9TWVM7CiAKLQlyZXR1cm4g cGFuZWwgPyAtRU5PU1lTIDogLUVJTlZBTDsKKwlpZiAoIXBhbmVsKQorCQlyZXR1cm4gLUVJTlZB TDsKKworCWlmIChwYW5lbC0+cHJlcGFyZWQpCisJCXJldHVybiAwOworCisJaWYgKHBhbmVsLT5m dW5jcyAmJiBwYW5lbC0+ZnVuY3MtPnByZXBhcmUpCisJCXJldCA9IHBhbmVsLT5mdW5jcy0+cHJl cGFyZShwYW5lbCk7CisKKwlpZiAocmV0ID49IDApCisJCXBhbmVsLT5wcmVwYXJlZCA9IHRydWU7 CisKKwlyZXR1cm4gcmV0OwogfQogRVhQT1JUX1NZTUJPTChkcm1fcGFuZWxfcHJlcGFyZSk7CiAK QEAgLTg1LDEwICs5NiwyMSBAQCBFWFBPUlRfU1lNQk9MKGRybV9wYW5lbF9wcmVwYXJlKTsKICAq LwogaW50IGRybV9wYW5lbF9lbmFibGUoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCiB7Ci0JaWYg KHBhbmVsICYmIHBhbmVsLT5mdW5jcyAmJiBwYW5lbC0+ZnVuY3MtPmVuYWJsZSkKLQkJcmV0dXJu IHBhbmVsLT5mdW5jcy0+ZW5hYmxlKHBhbmVsKTsKKwlpbnQgcmV0ID0gLUVOT1NZUzsKIAotCXJl dHVybiBwYW5lbCA/IC1FTk9TWVMgOiAtRUlOVkFMOworCWlmICghcGFuZWwpCisJCXJldHVybiAt RUlOVkFMOworCisJaWYgKHBhbmVsLT5lbmFibGVkKQorCQlyZXR1cm4gMDsKKworCWlmIChwYW5l bC0+ZnVuY3MgJiYgcGFuZWwtPmZ1bmNzLT5lbmFibGUpCisJCXJldCA9IHBhbmVsLT5mdW5jcy0+ ZW5hYmxlKHBhbmVsKTsKKworCWlmIChyZXQgPj0gMCkKKwkJcGFuZWwtPmVuYWJsZWQgPSB0cnVl OworCisJcmV0dXJuIHJldDsKIH0KIEVYUE9SVF9TWU1CT0woZHJtX3BhbmVsX2VuYWJsZSk7CiAK QEAgLTEwNCwxMCArMTI2LDIwIEBAIEVYUE9SVF9TWU1CT0woZHJtX3BhbmVsX2VuYWJsZSk7CiAg Ki8KIGludCBkcm1fcGFuZWxfZGlzYWJsZShzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKIHsKLQlp ZiAocGFuZWwgJiYgcGFuZWwtPmZ1bmNzICYmIHBhbmVsLT5mdW5jcy0+ZGlzYWJsZSkKLQkJcmV0 dXJuIHBhbmVsLT5mdW5jcy0+ZGlzYWJsZShwYW5lbCk7CisJaW50IHJldCA9IC1FTk9TWVM7CiAK LQlyZXR1cm4gcGFuZWwgPyAtRU5PU1lTIDogLUVJTlZBTDsKKwlpZiAoIXBhbmVsKQorCQlyZXR1 cm4gLUVJTlZBTDsKKworCWlmICghcGFuZWwtPmVuYWJsZWQpCisJCXJldHVybiAwOworCisJaWYg KHBhbmVsLT5mdW5jcyAmJiBwYW5lbC0+ZnVuY3MtPmRpc2FibGUpCisJCXJldCA9IHBhbmVsLT5m dW5jcy0+ZGlzYWJsZShwYW5lbCk7CisKKwlwYW5lbC0+ZW5hYmxlZCA9IGZhbHNlOworCisJcmV0 dXJuIHJldDsKIH0KIEVYUE9SVF9TWU1CT0woZHJtX3BhbmVsX2Rpc2FibGUpOwogCkBAIC0xMjQs MTAgKzE1NiwyMCBAQCBFWFBPUlRfU1lNQk9MKGRybV9wYW5lbF9kaXNhYmxlKTsKICAqLwogaW50 IGRybV9wYW5lbF91bnByZXBhcmUoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCiB7Ci0JaWYgKHBh bmVsICYmIHBhbmVsLT5mdW5jcyAmJiBwYW5lbC0+ZnVuY3MtPnVucHJlcGFyZSkKLQkJcmV0dXJu IHBhbmVsLT5mdW5jcy0+dW5wcmVwYXJlKHBhbmVsKTsKKwlpbnQgcmV0ID0gLUVOT1NZUzsKIAot CXJldHVybiBwYW5lbCA/IC1FTk9TWVMgOiAtRUlOVkFMOworCWlmICghcGFuZWwpCisJCXJldHVy biAtRUlOVkFMOworCisJaWYgKCFwYW5lbC0+cHJlcGFyZWQpCisJCXJldHVybiAwOworCisJaWYg KHBhbmVsLT5mdW5jcyAmJiBwYW5lbC0+ZnVuY3MtPnVucHJlcGFyZSkKKwkJcmV0ID0gcGFuZWwt PmZ1bmNzLT51bnByZXBhcmUocGFuZWwpOworCisJcGFuZWwtPnByZXBhcmVkID0gZmFsc2U7CisK KwlyZXR1cm4gcmV0OwogfQogRVhQT1JUX1NZTUJPTChkcm1fcGFuZWxfdW5wcmVwYXJlKTsKIApk aWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX3BhbmVsLmggYi9pbmNsdWRlL2RybS9kcm1fcGFu ZWwuaAppbmRleCA2MjRiZDE1ZWNmYWIuLjc0OTM1MDBmYzliZCAxMDA2NDQKLS0tIGEvaW5jbHVk ZS9kcm0vZHJtX3BhbmVsLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX3BhbmVsLmgKQEAgLTY1LDYg KzY1LDkgQEAgc3RydWN0IGRybV9wYW5lbF9mdW5jcyB7CiAJICogQHByZXBhcmU6CiAJICoKIAkg KiBUdXJuIG9uIHBhbmVsIGFuZCBwZXJmb3JtIHNldCB1cC4KKwkgKiBXaGVuIHRoZSBwYW5lbCBp cyBzdWNjZXNzZnVsbHkgcHJlcGFyZWQgdGhlIHByZXBhcmUoKSBmdW5jdGlvbgorCSAqIHdpbGwg bm90IGJlIGNhbGxlZCBhZ2FpbiB1bnRpbCB0aGUgcGFuZWwgaGFzIGJlZW4gdW5wcmVwYXJlZC4K KwkgKgogCSAqLwogCWludCAoKnByZXBhcmUpKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKTsKIApA QCAtNzIsNiArNzUsOCBAQCBzdHJ1Y3QgZHJtX3BhbmVsX2Z1bmNzIHsKIAkgKiBAZW5hYmxlOgog CSAqCiAJICogRW5hYmxlIHBhbmVsICh0dXJuIG9uIGJhY2sgbGlnaHQsIGV0Yy4pLgorCSAqIFdo ZW4gdGhlIHBhbmVsIGlzIHN1Y2Nlc3NmdWxseSBlbmFibGVkIHRoZSBlbmFibGUoKSBmdW5jdGlv bgorCSAqIHdpbGwgbm90IGJlIGNhbGxlZCBhZ2FpbiB1bnRpbCB0aGUgcGFuZWwgaGFzIGJlZW4g ZGlzYWJsZWQuCiAJICovCiAJaW50ICgqZW5hYmxlKShzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCk7 CiAKQEAgLTc5LDYgKzg0LDcgQEAgc3RydWN0IGRybV9wYW5lbF9mdW5jcyB7CiAJICogQGRpc2Fi bGU6CiAJICoKIAkgKiBEaXNhYmxlIHBhbmVsICh0dXJuIG9mZiBiYWNrIGxpZ2h0LCBldGMuKS4K KwkgKiBJZiB0aGUgcGFuZWwgaXMgYWxyZWFkeSBkaXNhYmxlZCB0aGUgZGlzYWJsZSgpIGZ1bmN0 aW9uIGlzIG5vdCBjYWxsZWQuCiAJICovCiAJaW50ICgqZGlzYWJsZSkoc3RydWN0IGRybV9wYW5l bCAqcGFuZWwpOwogCkBAIC04Niw2ICs5Miw3IEBAIHN0cnVjdCBkcm1fcGFuZWxfZnVuY3Mgewog CSAqIEB1bnByZXBhcmU6CiAJICoKIAkgKiBUdXJuIG9mZiBwYW5lbC4KKwkgKiBJZiB0aGUgcGFu ZWwgaXMgYWxyZWFkeSB1bnByZXBhcmVkIHRoZSB1bnByZXBhcmUoKSBmdW5jdGlvbiBpcyBub3Qg Y2FsbGVkLgogCSAqLwogCWludCAoKnVucHJlcGFyZSkoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwp OwogCkBAIC0xNDUsNiArMTUyLDIwIEBAIHN0cnVjdCBkcm1fcGFuZWwgewogCSAqIFBhbmVsIGVu dHJ5IGluIHJlZ2lzdHJ5LgogCSAqLwogCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKKworCS8qKgor CSAqIEBwcmVwYXJlZDoKKwkgKgorCSAqIFNldCB0byB0cnVlIHdoZW4gdGhlIHBhbmVsIGlzIHN1 Y2Nlc3NmdWxseSBwcmVwYXJlZC4KKwkgKi8KKwlib29sIHByZXBhcmVkOworCisJLyoqCisJICog QGVuYWJsZWQ6CisJICoKKwkgKiBTZXQgdG8gdHJ1ZSB3aGVuIHRoZSBwYW5lbCBpcyBzdWNjZXNz ZnVsbHkgZW5hYmxlZC4KKwkgKi8KKwlib29sIGVuYWJsZWQ7CiB9OwogCiB2b2lkIGRybV9wYW5l bF9pbml0KHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKTsKLS0gCjIuMjAuMQoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlz dApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs