From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [PATCH v3 01/24] drm/rockchip: dw-mipi-dsi: don't configure hardware in mode_set for MIPI Date: Mon, 30 Jan 2017 10:35:33 -0500 Message-ID: <20170130153533.GB20076@art_vandelay> References: <20170129132444.25251-1-john@metanate.com> <20170129132444.25251-2-john@metanate.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20170129132444.25251-2-john@metanate.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: John Keeping Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-rockchip@lists.infradead.org, Chris Zhong , linux-arm-kernel@lists.infradead.org List-Id: linux-rockchip.vger.kernel.org T24gU3VuLCBKYW4gMjksIDIwMTcgYXQgMDE6MjQ6MjFQTSArMDAwMCwgSm9obiBLZWVwaW5nIHdy b3RlOgo+IFdpdGggYXRvbWljIG1vZGVzZXR0aW5nIHRoZSBoYXJkd2FyZSB3aWxsIGJlIHBvd2Vy ZWQgb2ZmIHdoZW4gdGhlCj4gbW9kZV9zZXQgZnVuY3Rpb24gaXMgY2FsbGVkLiAgV2Ugc2hvdWxk IGNvbmZpZ3VyZSB0aGUgaGFyZHdhcmUgaW4gdGhlCj4gZW5hYmxlIGZ1bmN0aW9uLCB3aGljaCBp cyB0aGUgYXRvbWljIHZlcnNpb24gb2YgImNvbW1pdCIgc28gbGV0J3MgdXNlCj4gdGhlIGVuYWJs ZSBob29rIHJhdGhlciB0aGFuIGNvbW1pdCB3aGlsZSB3ZSdyZSBhdCBpdC4KPiAKClJldmlld2Vk LWJ5OiBTZWFuIFBhdWwgPHNlYW5wYXVsQGNocm9taXVtLm9yZz4KCj4gU2lnbmVkLW9mZi1ieTog Sm9obiBLZWVwaW5nIDxqb2huQG1ldGFuYXRlLmNvbT4KPiAtLS0KPiB2MzoKPiAtIFNxdWFzaCB0 b2dldGhlciB3aXRoIHRoZSBjb21taXQgdG8gcy9jb21taXQvZW5hYmxlLwo+IFVuY2hhbmdlZCBp biB2Mgo+IAo+ICBkcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvZHctbWlwaS1kc2kuYyB8IDQ5ICsr KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDIxIGlu c2VydGlvbnMoKyksIDI4IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vcm9ja2NoaXAvZHctbWlwaS1kc2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9k dy1taXBpLWRzaS5jCj4gaW5kZXggZDlhYTM4MmJiNjI5Li5iYmQ5OTIyOTlmNzMgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2R3LW1pcGktZHNpLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vcm9ja2NoaXAvZHctbWlwaS1kc2kuYwo+IEBAIC04MTksMzQgKzgxOSw4IEBA IHN0YXRpYyB2b2lkIGR3X21pcGlfZHNpX2VuY29kZXJfbW9kZV9zZXQoc3RydWN0IGRybV9lbmNv ZGVyICplbmNvZGVyLAo+ICAJCQkJCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9t b2RlKQo+ICB7Cj4gIAlzdHJ1Y3QgZHdfbWlwaV9kc2kgKmRzaSA9IGVuY29kZXJfdG9fZHNpKGVu Y29kZXIpOwo+IC0JaW50IHJldDsKPiAgCj4gIAlkc2ktPm1vZGUgPSBhZGp1c3RlZF9tb2RlOwo+ IC0KPiAtCXJldCA9IGR3X21pcGlfZHNpX2dldF9sYW5lX2Jwcyhkc2kpOwo+IC0JaWYgKHJldCA8 IDApCj4gLQkJcmV0dXJuOwo+IC0KPiAtCWlmIChjbGtfcHJlcGFyZV9lbmFibGUoZHNpLT5wY2xr KSkgewo+IC0JCWRldl9lcnIoZHNpLT5kZXYsICIlczogRmFpbGVkIHRvIGVuYWJsZSBwY2xrXG4i LCBfX2Z1bmNfXyk7Cj4gLQkJcmV0dXJuOwo+IC0JfQo+IC0KPiAtCWR3X21pcGlfZHNpX2luaXQo ZHNpKTsKPiAtCWR3X21pcGlfZHNpX2RwaV9jb25maWcoZHNpLCBtb2RlKTsKPiAtCWR3X21pcGlf ZHNpX3BhY2tldF9oYW5kbGVyX2NvbmZpZyhkc2kpOwo+IC0JZHdfbWlwaV9kc2lfdmlkZW9fbW9k ZV9jb25maWcoZHNpKTsKPiAtCWR3X21pcGlfZHNpX3ZpZGVvX3BhY2tldF9jb25maWcoZHNpLCBt b2RlKTsKPiAtCWR3X21pcGlfZHNpX2NvbW1hbmRfbW9kZV9jb25maWcoZHNpKTsKPiAtCWR3X21p cGlfZHNpX2xpbmVfdGltZXJfY29uZmlnKGRzaSk7Cj4gLQlkd19taXBpX2RzaV92ZXJ0aWNhbF90 aW1pbmdfY29uZmlnKGRzaSk7Cj4gLQlkd19taXBpX2RzaV9kcGh5X3RpbWluZ19jb25maWcoZHNp KTsKPiAtCWR3X21pcGlfZHNpX2RwaHlfaW50ZXJmYWNlX2NvbmZpZyhkc2kpOwo+IC0JZHdfbWlw aV9kc2lfY2xlYXJfZXJyKGRzaSk7Cj4gLQlpZiAoZHJtX3BhbmVsX3ByZXBhcmUoZHNpLT5wYW5l bCkpCj4gLQkJZGV2X2Vycihkc2ktPmRldiwgImZhaWxlZCB0byBwcmVwYXJlIHBhbmVsXG4iKTsK PiAtCj4gLQljbGtfZGlzYWJsZV91bnByZXBhcmUoZHNpLT5wY2xrKTsKPiAgfQo+ICAKPiAgc3Rh dGljIHZvaWQgZHdfbWlwaV9kc2lfZW5jb2Rlcl9kaXNhYmxlKHN0cnVjdCBkcm1fZW5jb2RlciAq ZW5jb2RlcikKPiBAQCAtODc1LDE3ICs4NDksMzYgQEAgc3RhdGljIHZvaWQgZHdfbWlwaV9kc2lf ZW5jb2Rlcl9kaXNhYmxlKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKPiAgCWNsa19kaXNh YmxlX3VucHJlcGFyZShkc2ktPnBjbGspOwo+ICB9Cj4gIAo+IC1zdGF0aWMgdm9pZCBkd19taXBp X2RzaV9lbmNvZGVyX2NvbW1pdChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCj4gK3N0YXRp YyB2b2lkIGR3X21pcGlfZHNpX2VuY29kZXJfZW5hYmxlKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5j b2RlcikKPiAgewo+ICAJc3RydWN0IGR3X21pcGlfZHNpICpkc2kgPSBlbmNvZGVyX3RvX2RzaShl bmNvZGVyKTsKPiAgCWludCBtdXggPSBkcm1fb2ZfZW5jb2Rlcl9hY3RpdmVfZW5kcG9pbnRfaWQo ZHNpLT5kZXYtPm9mX25vZGUsIGVuY29kZXIpOwo+ICAJdTMyIHZhbDsKPiArCWludCByZXQ7Cj4g Kwo+ICsJcmV0ID0gZHdfbWlwaV9kc2lfZ2V0X2xhbmVfYnBzKGRzaSk7Cj4gKwlpZiAocmV0IDwg MCkKPiArCQlyZXR1cm47Cj4gIAo+ICAJaWYgKGNsa19wcmVwYXJlX2VuYWJsZShkc2ktPnBjbGsp KSB7Cj4gIAkJZGV2X2Vycihkc2ktPmRldiwgIiVzOiBGYWlsZWQgdG8gZW5hYmxlIHBjbGtcbiIs IF9fZnVuY19fKTsKPiAgCQlyZXR1cm47Cj4gIAl9Cj4gIAo+ICsJZHdfbWlwaV9kc2lfaW5pdChk c2kpOwo+ICsJZHdfbWlwaV9kc2lfZHBpX2NvbmZpZyhkc2ksIGRzaS0+bW9kZSk7Cj4gKwlkd19t aXBpX2RzaV9wYWNrZXRfaGFuZGxlcl9jb25maWcoZHNpKTsKPiArCWR3X21pcGlfZHNpX3ZpZGVv X21vZGVfY29uZmlnKGRzaSk7Cj4gKwlkd19taXBpX2RzaV92aWRlb19wYWNrZXRfY29uZmlnKGRz aSwgZHNpLT5tb2RlKTsKPiArCWR3X21pcGlfZHNpX2NvbW1hbmRfbW9kZV9jb25maWcoZHNpKTsK PiArCWR3X21pcGlfZHNpX2xpbmVfdGltZXJfY29uZmlnKGRzaSk7Cj4gKwlkd19taXBpX2RzaV92 ZXJ0aWNhbF90aW1pbmdfY29uZmlnKGRzaSk7Cj4gKwlkd19taXBpX2RzaV9kcGh5X3RpbWluZ19j b25maWcoZHNpKTsKPiArCWR3X21pcGlfZHNpX2RwaHlfaW50ZXJmYWNlX2NvbmZpZyhkc2kpOwo+ ICsJZHdfbWlwaV9kc2lfY2xlYXJfZXJyKGRzaSk7Cj4gKwlpZiAoZHJtX3BhbmVsX3ByZXBhcmUo ZHNpLT5wYW5lbCkpCj4gKwkJZGV2X2Vycihkc2ktPmRldiwgImZhaWxlZCB0byBwcmVwYXJlIHBh bmVsXG4iKTsKPiArCj4gIAlkd19taXBpX2RzaV9waHlfaW5pdChkc2kpOwo+ICAJZHdfbWlwaV9k c2lfd2FpdF9mb3JfdHdvX2ZyYW1lcyhkc2kpOwo+ICAKPiBAQCAtOTMzLDcgKzkyNiw3IEBAIGR3 X21pcGlfZHNpX2VuY29kZXJfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rl ciwKPiAgCj4gIHN0YXRpYyBzdHJ1Y3QgZHJtX2VuY29kZXJfaGVscGVyX2Z1bmNzCj4gIGR3X21p cGlfZHNpX2VuY29kZXJfaGVscGVyX2Z1bmNzID0gewo+IC0JLmNvbW1pdCA9IGR3X21pcGlfZHNp X2VuY29kZXJfY29tbWl0LAo+ICsJLmVuYWJsZSA9IGR3X21pcGlfZHNpX2VuY29kZXJfZW5hYmxl LAo+ICAJLm1vZGVfc2V0ID0gZHdfbWlwaV9kc2lfZW5jb2Rlcl9tb2RlX3NldCwKPiAgCS5kaXNh YmxlID0gZHdfbWlwaV9kc2lfZW5jb2Rlcl9kaXNhYmxlLAo+ICAJLmF0b21pY19jaGVjayA9IGR3 X21pcGlfZHNpX2VuY29kZXJfYXRvbWljX2NoZWNrLAo+IC0tIAo+IDIuMTEuMC4xOTcuZ2I1NTZk ZTUuZGlydHkKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwo+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKPiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9k cmktZGV2ZWwKCi0tIApTZWFuIFBhdWwsIFNvZnR3YXJlIEVuZ2luZWVyLCBHb29nbGUgLyBDaHJv bWl1bSBPUwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpk cmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 From: seanpaul@chromium.org (Sean Paul) Date: Mon, 30 Jan 2017 10:35:33 -0500 Subject: [PATCH v3 01/24] drm/rockchip: dw-mipi-dsi: don't configure hardware in mode_set for MIPI In-Reply-To: <20170129132444.25251-2-john@metanate.com> References: <20170129132444.25251-1-john@metanate.com> <20170129132444.25251-2-john@metanate.com> Message-ID: <20170130153533.GB20076@art_vandelay> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Sun, Jan 29, 2017 at 01:24:21PM +0000, John Keeping wrote: > With atomic modesetting the hardware will be powered off when the > mode_set function is called. We should configure the hardware in the > enable function, which is the atomic version of "commit" so let's use > the enable hook rather than commit while we're at it. > Reviewed-by: Sean Paul > Signed-off-by: John Keeping > --- > v3: > - Squash together with the commit to s/commit/enable/ > Unchanged in v2 > > drivers/gpu/drm/rockchip/dw-mipi-dsi.c | 49 +++++++++++++++------------------- > 1 file changed, 21 insertions(+), 28 deletions(-) > > diff --git a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c > index d9aa382bb629..bbd992299f73 100644 > --- a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c > +++ b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c > @@ -819,34 +819,8 @@ static void dw_mipi_dsi_encoder_mode_set(struct drm_encoder *encoder, > struct drm_display_mode *adjusted_mode) > { > struct dw_mipi_dsi *dsi = encoder_to_dsi(encoder); > - int ret; > > dsi->mode = adjusted_mode; > - > - ret = dw_mipi_dsi_get_lane_bps(dsi); > - if (ret < 0) > - return; > - > - if (clk_prepare_enable(dsi->pclk)) { > - dev_err(dsi->dev, "%s: Failed to enable pclk\n", __func__); > - return; > - } > - > - dw_mipi_dsi_init(dsi); > - dw_mipi_dsi_dpi_config(dsi, mode); > - dw_mipi_dsi_packet_handler_config(dsi); > - dw_mipi_dsi_video_mode_config(dsi); > - dw_mipi_dsi_video_packet_config(dsi, mode); > - dw_mipi_dsi_command_mode_config(dsi); > - dw_mipi_dsi_line_timer_config(dsi); > - dw_mipi_dsi_vertical_timing_config(dsi); > - dw_mipi_dsi_dphy_timing_config(dsi); > - dw_mipi_dsi_dphy_interface_config(dsi); > - dw_mipi_dsi_clear_err(dsi); > - if (drm_panel_prepare(dsi->panel)) > - dev_err(dsi->dev, "failed to prepare panel\n"); > - > - clk_disable_unprepare(dsi->pclk); > } > > static void dw_mipi_dsi_encoder_disable(struct drm_encoder *encoder) > @@ -875,17 +849,36 @@ static void dw_mipi_dsi_encoder_disable(struct drm_encoder *encoder) > clk_disable_unprepare(dsi->pclk); > } > > -static void dw_mipi_dsi_encoder_commit(struct drm_encoder *encoder) > +static void dw_mipi_dsi_encoder_enable(struct drm_encoder *encoder) > { > struct dw_mipi_dsi *dsi = encoder_to_dsi(encoder); > int mux = drm_of_encoder_active_endpoint_id(dsi->dev->of_node, encoder); > u32 val; > + int ret; > + > + ret = dw_mipi_dsi_get_lane_bps(dsi); > + if (ret < 0) > + return; > > if (clk_prepare_enable(dsi->pclk)) { > dev_err(dsi->dev, "%s: Failed to enable pclk\n", __func__); > return; > } > > + dw_mipi_dsi_init(dsi); > + dw_mipi_dsi_dpi_config(dsi, dsi->mode); > + dw_mipi_dsi_packet_handler_config(dsi); > + dw_mipi_dsi_video_mode_config(dsi); > + dw_mipi_dsi_video_packet_config(dsi, dsi->mode); > + dw_mipi_dsi_command_mode_config(dsi); > + dw_mipi_dsi_line_timer_config(dsi); > + dw_mipi_dsi_vertical_timing_config(dsi); > + dw_mipi_dsi_dphy_timing_config(dsi); > + dw_mipi_dsi_dphy_interface_config(dsi); > + dw_mipi_dsi_clear_err(dsi); > + if (drm_panel_prepare(dsi->panel)) > + dev_err(dsi->dev, "failed to prepare panel\n"); > + > dw_mipi_dsi_phy_init(dsi); > dw_mipi_dsi_wait_for_two_frames(dsi); > > @@ -933,7 +926,7 @@ dw_mipi_dsi_encoder_atomic_check(struct drm_encoder *encoder, > > static struct drm_encoder_helper_funcs > dw_mipi_dsi_encoder_helper_funcs = { > - .commit = dw_mipi_dsi_encoder_commit, > + .enable = dw_mipi_dsi_encoder_enable, > .mode_set = dw_mipi_dsi_encoder_mode_set, > .disable = dw_mipi_dsi_encoder_disable, > .atomic_check = dw_mipi_dsi_encoder_atomic_check, > -- > 2.11.0.197.gb556de5.dirty > > _______________________________________________ > dri-devel mailing list > dri-devel at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Sean Paul, Software Engineer, Google / Chromium OS From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932476AbdA3Pfl (ORCPT ); Mon, 30 Jan 2017 10:35:41 -0500 Received: from mail-qt0-f181.google.com ([209.85.216.181]:33007 "EHLO mail-qt0-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932375AbdA3Pfg (ORCPT ); Mon, 30 Jan 2017 10:35:36 -0500 Date: Mon, 30 Jan 2017 10:35:33 -0500 From: Sean Paul To: John Keeping Cc: Mark Yao , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-rockchip@lists.infradead.org, Chris Zhong , linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v3 01/24] drm/rockchip: dw-mipi-dsi: don't configure hardware in mode_set for MIPI Message-ID: <20170130153533.GB20076@art_vandelay> References: <20170129132444.25251-1-john@metanate.com> <20170129132444.25251-2-john@metanate.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170129132444.25251-2-john@metanate.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, Jan 29, 2017 at 01:24:21PM +0000, John Keeping wrote: > With atomic modesetting the hardware will be powered off when the > mode_set function is called. We should configure the hardware in the > enable function, which is the atomic version of "commit" so let's use > the enable hook rather than commit while we're at it. > Reviewed-by: Sean Paul > Signed-off-by: John Keeping > --- > v3: > - Squash together with the commit to s/commit/enable/ > Unchanged in v2 > > drivers/gpu/drm/rockchip/dw-mipi-dsi.c | 49 +++++++++++++++------------------- > 1 file changed, 21 insertions(+), 28 deletions(-) > > diff --git a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c > index d9aa382bb629..bbd992299f73 100644 > --- a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c > +++ b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c > @@ -819,34 +819,8 @@ static void dw_mipi_dsi_encoder_mode_set(struct drm_encoder *encoder, > struct drm_display_mode *adjusted_mode) > { > struct dw_mipi_dsi *dsi = encoder_to_dsi(encoder); > - int ret; > > dsi->mode = adjusted_mode; > - > - ret = dw_mipi_dsi_get_lane_bps(dsi); > - if (ret < 0) > - return; > - > - if (clk_prepare_enable(dsi->pclk)) { > - dev_err(dsi->dev, "%s: Failed to enable pclk\n", __func__); > - return; > - } > - > - dw_mipi_dsi_init(dsi); > - dw_mipi_dsi_dpi_config(dsi, mode); > - dw_mipi_dsi_packet_handler_config(dsi); > - dw_mipi_dsi_video_mode_config(dsi); > - dw_mipi_dsi_video_packet_config(dsi, mode); > - dw_mipi_dsi_command_mode_config(dsi); > - dw_mipi_dsi_line_timer_config(dsi); > - dw_mipi_dsi_vertical_timing_config(dsi); > - dw_mipi_dsi_dphy_timing_config(dsi); > - dw_mipi_dsi_dphy_interface_config(dsi); > - dw_mipi_dsi_clear_err(dsi); > - if (drm_panel_prepare(dsi->panel)) > - dev_err(dsi->dev, "failed to prepare panel\n"); > - > - clk_disable_unprepare(dsi->pclk); > } > > static void dw_mipi_dsi_encoder_disable(struct drm_encoder *encoder) > @@ -875,17 +849,36 @@ static void dw_mipi_dsi_encoder_disable(struct drm_encoder *encoder) > clk_disable_unprepare(dsi->pclk); > } > > -static void dw_mipi_dsi_encoder_commit(struct drm_encoder *encoder) > +static void dw_mipi_dsi_encoder_enable(struct drm_encoder *encoder) > { > struct dw_mipi_dsi *dsi = encoder_to_dsi(encoder); > int mux = drm_of_encoder_active_endpoint_id(dsi->dev->of_node, encoder); > u32 val; > + int ret; > + > + ret = dw_mipi_dsi_get_lane_bps(dsi); > + if (ret < 0) > + return; > > if (clk_prepare_enable(dsi->pclk)) { > dev_err(dsi->dev, "%s: Failed to enable pclk\n", __func__); > return; > } > > + dw_mipi_dsi_init(dsi); > + dw_mipi_dsi_dpi_config(dsi, dsi->mode); > + dw_mipi_dsi_packet_handler_config(dsi); > + dw_mipi_dsi_video_mode_config(dsi); > + dw_mipi_dsi_video_packet_config(dsi, dsi->mode); > + dw_mipi_dsi_command_mode_config(dsi); > + dw_mipi_dsi_line_timer_config(dsi); > + dw_mipi_dsi_vertical_timing_config(dsi); > + dw_mipi_dsi_dphy_timing_config(dsi); > + dw_mipi_dsi_dphy_interface_config(dsi); > + dw_mipi_dsi_clear_err(dsi); > + if (drm_panel_prepare(dsi->panel)) > + dev_err(dsi->dev, "failed to prepare panel\n"); > + > dw_mipi_dsi_phy_init(dsi); > dw_mipi_dsi_wait_for_two_frames(dsi); > > @@ -933,7 +926,7 @@ dw_mipi_dsi_encoder_atomic_check(struct drm_encoder *encoder, > > static struct drm_encoder_helper_funcs > dw_mipi_dsi_encoder_helper_funcs = { > - .commit = dw_mipi_dsi_encoder_commit, > + .enable = dw_mipi_dsi_encoder_enable, > .mode_set = dw_mipi_dsi_encoder_mode_set, > .disable = dw_mipi_dsi_encoder_disable, > .atomic_check = dw_mipi_dsi_encoder_atomic_check, > -- > 2.11.0.197.gb556de5.dirty > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Sean Paul, Software Engineer, Google / Chromium OS