Message ID | 1460996271-29795-1-git-send-email-ville.syrjala@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, 18 Apr 2016, ville.syrjala@linux.intel.com wrote: > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > The power cycle delay starts _after_ turning off the panel power. Do the > msleep after frobbing the pmic panel power gpio. > > Also toss in a FIXME about optimizing away needless waits. > > Cc: Shobhit Kumar <shobhit.kumar@intel.com> > Cc: Jani Nikula <jani.nikula@intel.com> > Fixes: fc45e8219907 ("drm/i915: Use the CRC gpio for panel enable/disable") > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Jani Nikula <jani.nikula@intel.com> > --- > drivers/gpu/drm/i915/intel_dsi.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c > index 34328ddaaab5..2b22bb9bb86f 100644 > --- a/drivers/gpu/drm/i915/intel_dsi.c > +++ b/drivers/gpu/drm/i915/intel_dsi.c > @@ -688,11 +688,16 @@ static void intel_dsi_post_disable(struct intel_encoder *encoder) > drm_panel_unprepare(intel_dsi->panel); > > msleep(intel_dsi->panel_off_delay); > - msleep(intel_dsi->panel_pwr_cycle_delay); > > /* Panel Disable over CRC PMIC */ > if (intel_dsi->gpio_panel) > gpiod_set_value_cansleep(intel_dsi->gpio_panel, 0); > + > + /* > + * FIXME As we do with eDP, just make a note of the time here > + * and perform the wait before the next panel power on. > + */ > + msleep(intel_dsi->panel_pwr_cycle_delay); > } > > static bool intel_dsi_get_hw_state(struct intel_encoder *encoder,
On Monday 18 April 2016 09:47 PM, ville.syrjala@linux.intel.com wrote: > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > The power cycle delay starts _after_ turning off the panel power. Do the > msleep after frobbing the pmic panel power gpio. > > Also toss in a FIXME about optimizing away needless waits. > > Cc: Shobhit Kumar <shobhit.kumar@intel.com> > Cc: Jani Nikula <jani.nikula@intel.com> > Fixes: fc45e8219907 ("drm/i915: Use the CRC gpio for panel enable/disable") > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Shobhit Kumar <shobhit.kumar@intel.com> > --- > drivers/gpu/drm/i915/intel_dsi.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c > index 34328ddaaab5..2b22bb9bb86f 100644 > --- a/drivers/gpu/drm/i915/intel_dsi.c > +++ b/drivers/gpu/drm/i915/intel_dsi.c > @@ -688,11 +688,16 @@ static void intel_dsi_post_disable(struct intel_encoder *encoder) > drm_panel_unprepare(intel_dsi->panel); > > msleep(intel_dsi->panel_off_delay); > - msleep(intel_dsi->panel_pwr_cycle_delay); > > /* Panel Disable over CRC PMIC */ > if (intel_dsi->gpio_panel) > gpiod_set_value_cansleep(intel_dsi->gpio_panel, 0); > + > + /* > + * FIXME As we do with eDP, just make a note of the time here > + * and perform the wait before the next panel power on. > + */ > + msleep(intel_dsi->panel_pwr_cycle_delay); > } > > static bool intel_dsi_get_hw_state(struct intel_encoder *encoder, >
On Mon, Apr 18, 2016 at 05:24:47PM -0000, Patchwork wrote: > == Series Details == > > Series: drm/i915: Wait for power cycle delay after turning off DSI panel power > URL : https://patchwork.freedesktop.org/series/5885/ > State : warning > > == Summary == > > Series 5885v1 drm/i915: Wait for power cycle delay after turning off DSI panel power > http://patchwork.freedesktop.org/api/1.0/series/5885/revisions/1/mbox/ > > Test gem_busy: > Subgroup basic-vebox: > skip -> PASS (bsw-nuc-2) > Test gem_sync: > Subgroup basic-each: > dmesg-fail -> PASS (hsw-brixbox) > Test kms_flip: > Subgroup basic-flip-vs-dpms: > pass -> DMESG-WARN (hsw-gt2) [ 212.413095] [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 109 [ 212.413118] Raw EDID: [ 212.413126] 00 ff ff ff ff ff ff 00 04 72 5b 03 63 15 90 34 [ 212.413138] 31 17 01 03 80 35 1e 78 ee a0 a5 a6 56 ff ff ff [ 212.413151] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 212.413164] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 212.413177] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 212.413190] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 212.413203] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 212.413216] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Flaky cable perhaps? > Test kms_pipe_crc_basic: > Subgroup hang-read-crc-pipe-b: > dmesg-warn -> PASS (snb-dellxps) > Subgroup suspend-read-crc-pipe-b: > skip -> PASS (hsw-brixbox) > > bdw-nuci7 total:203 pass:191 dwarn:0 dfail:0 fail:0 skip:12 > bdw-ultra total:203 pass:180 dwarn:0 dfail:0 fail:0 skip:23 > bsw-nuc-2 total:202 pass:163 dwarn:0 dfail:0 fail:0 skip:39 > byt-nuc total:202 pass:164 dwarn:0 dfail:0 fail:0 skip:38 > hsw-brixbox total:203 pass:179 dwarn:0 dfail:0 fail:0 skip:24 > hsw-gt2 total:203 pass:183 dwarn:1 dfail:0 fail:0 skip:19 > ivb-t430s total:203 pass:175 dwarn:0 dfail:0 fail:0 skip:28 > skl-i7k-2 total:203 pass:178 dwarn:0 dfail:0 fail:0 skip:25 > skl-nuci5 total:203 pass:192 dwarn:0 dfail:0 fail:0 skip:11 > snb-dellxps total:203 pass:165 dwarn:0 dfail:0 fail:0 skip:38 > snb-x220t total:203 pass:165 dwarn:0 dfail:0 fail:1 skip:37 > > Results at /archive/results/CI_IGT_test/Patchwork_1932/ > > b1acc63c4301f12ef2ca31872d937641aaf3c9dc drm-intel-nightly: 2016y-04m-18d-15h-55m-43s UTC integration manifest > 9e979d6 drm/i915: Wait for power cycle delay after turning off DSI panel power
On Tue, Apr 19, 2016 at 08:00:10AM +0530, Kumar, Shobhit wrote: > On Monday 18 April 2016 09:47 PM, ville.syrjala@linux.intel.com wrote: > > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > > > The power cycle delay starts _after_ turning off the panel power. Do the > > msleep after frobbing the pmic panel power gpio. > > > > Also toss in a FIXME about optimizing away needless waits. > > > > Cc: Shobhit Kumar <shobhit.kumar@intel.com> > > Cc: Jani Nikula <jani.nikula@intel.com> > > Fixes: fc45e8219907 ("drm/i915: Use the CRC gpio for panel enable/disable") > > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > > Reviewed-by: Shobhit Kumar <shobhit.kumar@intel.com> Pushed to dinq. Thanks for the reviews. > > > --- > > drivers/gpu/drm/i915/intel_dsi.c | 7 ++++++- > > 1 file changed, 6 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c > > index 34328ddaaab5..2b22bb9bb86f 100644 > > --- a/drivers/gpu/drm/i915/intel_dsi.c > > +++ b/drivers/gpu/drm/i915/intel_dsi.c > > @@ -688,11 +688,16 @@ static void intel_dsi_post_disable(struct intel_encoder *encoder) > > drm_panel_unprepare(intel_dsi->panel); > > > > msleep(intel_dsi->panel_off_delay); > > - msleep(intel_dsi->panel_pwr_cycle_delay); > > > > /* Panel Disable over CRC PMIC */ > > if (intel_dsi->gpio_panel) > > gpiod_set_value_cansleep(intel_dsi->gpio_panel, 0); > > + > > + /* > > + * FIXME As we do with eDP, just make a note of the time here > > + * and perform the wait before the next panel power on. > > + */ > > + msleep(intel_dsi->panel_pwr_cycle_delay); > > } > > > > static bool intel_dsi_get_hw_state(struct intel_encoder *encoder, > >
diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c index 34328ddaaab5..2b22bb9bb86f 100644 --- a/drivers/gpu/drm/i915/intel_dsi.c +++ b/drivers/gpu/drm/i915/intel_dsi.c @@ -688,11 +688,16 @@ static void intel_dsi_post_disable(struct intel_encoder *encoder) drm_panel_unprepare(intel_dsi->panel); msleep(intel_dsi->panel_off_delay); - msleep(intel_dsi->panel_pwr_cycle_delay); /* Panel Disable over CRC PMIC */ if (intel_dsi->gpio_panel) gpiod_set_value_cansleep(intel_dsi->gpio_panel, 0); + + /* + * FIXME As we do with eDP, just make a note of the time here + * and perform the wait before the next panel power on. + */ + msleep(intel_dsi->panel_pwr_cycle_delay); } static bool intel_dsi_get_hw_state(struct intel_encoder *encoder,