Message ID | 20170220140845.1714-14-hdegoede@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, 20 Feb 2017 15:08:43 +0100 Hans de Goede <hdegoede@redhat.com> wrote: > For v3 VBTs we should call MIPI_SEQ_TEAR_OFF before > MIPI_SEQ_DISPLAY_OFF, for non v3 VBTs this is a nop. Isn't this only for command mode? Or is there conflicting information on this? > > Signed-off-by: Hans de Goede <hdegoede@redhat.com> > --- > drivers/gpu/drm/i915/intel_dsi.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c > index 1914311..90263d6 100644 > --- a/drivers/gpu/drm/i915/intel_dsi.c > +++ b/drivers/gpu/drm/i915/intel_dsi.c > @@ -772,6 +772,7 @@ static void intel_dsi_post_disable(struct intel_encoder *encoder, > * XXX spec specifies SHUTDOWN before MIPI_SEQ_DISPLAY_OFF for > * v3 VBTs, but not for v2 VBTs? > */ > + intel_dsi_exec_vbt_sequence(intel_dsi, MIPI_SEQ_TEAR_OFF); > intel_dsi_exec_vbt_sequence(intel_dsi, MIPI_SEQ_DISPLAY_OFF); > > /* Transition to LP-00 */
Hi, On 24-02-17 18:02, Bob Paauwe wrote: > On Mon, 20 Feb 2017 15:08:43 +0100 > Hans de Goede <hdegoede@redhat.com> wrote: > >> For v3 VBTs we should call MIPI_SEQ_TEAR_OFF before >> MIPI_SEQ_DISPLAY_OFF, for non v3 VBTs this is a nop. > > Isn't this only for command mode? Or is there conflicting information > on this? In my (limited) set of test hardware vidmode panel VBTs simply do not define a MIPI_SEQ_TEAR_ON/OFF sequence. But it would probably be a good idea to guard this with a "if (is_cmd_mode(intel_dsi))" assuming we only want this for commandmode, which I think we do, but it would be good to have this confirmed. I'll add the guard when I send out a v2 after we've clarified some of the other review questions. Regards, Hans > >> >> Signed-off-by: Hans de Goede <hdegoede@redhat.com> >> --- >> drivers/gpu/drm/i915/intel_dsi.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c >> index 1914311..90263d6 100644 >> --- a/drivers/gpu/drm/i915/intel_dsi.c >> +++ b/drivers/gpu/drm/i915/intel_dsi.c >> @@ -772,6 +772,7 @@ static void intel_dsi_post_disable(struct intel_encoder *encoder, >> * XXX spec specifies SHUTDOWN before MIPI_SEQ_DISPLAY_OFF for >> * v3 VBTs, but not for v2 VBTs? >> */ >> + intel_dsi_exec_vbt_sequence(intel_dsi, MIPI_SEQ_TEAR_OFF); >> intel_dsi_exec_vbt_sequence(intel_dsi, MIPI_SEQ_DISPLAY_OFF); >> >> /* Transition to LP-00 */ > > >
On Sat, 25 Feb 2017, Hans de Goede <hdegoede@redhat.com> wrote: > Hi, > > On 24-02-17 18:02, Bob Paauwe wrote: >> On Mon, 20 Feb 2017 15:08:43 +0100 >> Hans de Goede <hdegoede@redhat.com> wrote: >> >>> For v3 VBTs we should call MIPI_SEQ_TEAR_OFF before >>> MIPI_SEQ_DISPLAY_OFF, for non v3 VBTs this is a nop. >> >> Isn't this only for command mode? Or is there conflicting information >> on this? > > In my (limited) set of test hardware vidmode panel VBTs simply > do not define a MIPI_SEQ_TEAR_ON/OFF sequence. But it would probably > be a good idea to guard this with a "if (is_cmd_mode(intel_dsi))" > assuming we only want this for commandmode, which I think we do, > but it would be good to have this confirmed. Logically you wouldn't do tear on/off on video mode panels. But that's really not the point. I wouldn't be surprised if there were setups where someone noticed that this particular sequence gets run at an appropriate time on Windows, and shoved some other stuff there, completely unrelated to tear on/off. BR, Jani. > > I'll add the guard when I send out a v2 after we've clarified > some of the other review questions. > > Regards, > > Hans > > > >> >>> >>> Signed-off-by: Hans de Goede <hdegoede@redhat.com> >>> --- >>> drivers/gpu/drm/i915/intel_dsi.c | 1 + >>> 1 file changed, 1 insertion(+) >>> >>> diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c >>> index 1914311..90263d6 100644 >>> --- a/drivers/gpu/drm/i915/intel_dsi.c >>> +++ b/drivers/gpu/drm/i915/intel_dsi.c >>> @@ -772,6 +772,7 @@ static void intel_dsi_post_disable(struct intel_encoder *encoder, >>> * XXX spec specifies SHUTDOWN before MIPI_SEQ_DISPLAY_OFF for >>> * v3 VBTs, but not for v2 VBTs? >>> */ >>> + intel_dsi_exec_vbt_sequence(intel_dsi, MIPI_SEQ_TEAR_OFF); >>> intel_dsi_exec_vbt_sequence(intel_dsi, MIPI_SEQ_DISPLAY_OFF); >>> >>> /* Transition to LP-00 */ >> >> >>
diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c index 1914311..90263d6 100644 --- a/drivers/gpu/drm/i915/intel_dsi.c +++ b/drivers/gpu/drm/i915/intel_dsi.c @@ -772,6 +772,7 @@ static void intel_dsi_post_disable(struct intel_encoder *encoder, * XXX spec specifies SHUTDOWN before MIPI_SEQ_DISPLAY_OFF for * v3 VBTs, but not for v2 VBTs? */ + intel_dsi_exec_vbt_sequence(intel_dsi, MIPI_SEQ_TEAR_OFF); intel_dsi_exec_vbt_sequence(intel_dsi, MIPI_SEQ_DISPLAY_OFF); /* Transition to LP-00 */
For v3 VBTs we should call MIPI_SEQ_TEAR_OFF before MIPI_SEQ_DISPLAY_OFF, for non v3 VBTs this is a nop. Signed-off-by: Hans de Goede <hdegoede@redhat.com> --- drivers/gpu/drm/i915/intel_dsi.c | 1 + 1 file changed, 1 insertion(+)