Message ID | 20170228125925.7020-1-hdegoede@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, 28 Feb 2017 13:59:16 +0100 Hans de Goede <hdegoede@redhat.com> wrote: > Document the DSI panel enable / disable sequences from the spec, > for easy comparison between the code and the spec. > > Signed-off-by: Hans de Goede <hdegoede@redhat.com> > Acked-by: Jani Nikula <jani.nikula@intel.com> I think this looks a lot better and makes it more obvious any differences between the different sequences. Thanks Hans! The rest of the patches in this series look good too. So for the series: Reviewed-by: Bob Paauwe <bob.j.paauwe@intel.com> > --- > Changes in v2: > -Make the comment a table with 3 columns for easier comparison of the > 3 sequences > --- > drivers/gpu/drm/i915/intel_dsi.c | 37 +++++++++++++++++++++++++++++++++++++ > 1 file changed, 37 insertions(+) > > diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c > index 20ed799..c271475 100644 > --- a/drivers/gpu/drm/i915/intel_dsi.c > +++ b/drivers/gpu/drm/i915/intel_dsi.c > @@ -554,6 +554,43 @@ static void intel_dsi_prepare(struct intel_encoder *intel_encoder, > struct intel_crtc_state *pipe_config); > static void intel_dsi_unprepare(struct intel_encoder *encoder); > > +/* > + * Panel enable/disable sequences from the VBT spec. > + * > + * Note the spec has AssertReset / DeassertReset swapped from their > + * usual naming. We use the normal names to avoid confusion (so below > + * they are swapped compared to the spec). > + * > + * Steps starting with MIPI refer to VBT sequences, note that for v2 > + * VBTs several steps which have a VBT in v2 are expected to be handled > + * directly by the driver, by directly driving gpios for example. > + * > + * v2 video mode seq v3 video mode seq command mode seq > + * - power on - MIPIPanelPowerOn - power on > + * - wait t1+t2 - wait t1+t2 > + * - MIPIDeassertResetPin - MIPIDeassertResetPin - MIPIDeassertResetPin > + * - io lines to lp-11 - io lines to lp-11 - io lines to lp-11 > + * - MIPISendInitialDcsCmds - MIPISendInitialDcsCmds - MIPISendInitialDcsCmds > + * - MIPITearOn > + * - MIPIDisplayOn > + * - turn on DPI - turn on DPI - set pipe to dsr mode > + * - MIPIDisplayOn - MIPIDisplayOn > + * - wait t5 - wait t5 > + * - backlight on - MIPIBacklightOn - backlight on > + * ... ... ... issue mem cmds ... > + * - backlight off - MIPIBacklightOff - backlight off > + * - wait t6 - wait t6 > + * - MIPIDisplayOff > + * - turn off DPI - turn off DPI - disable pipe dsr mode > + * - MIPITearOff > + * - MIPIDisplayOff - MIPIDisplayOff > + * - io lines to lp-00 - io lines to lp-00 - io lines to lp-00 > + * - MIPIAssertResetPin - MIPIAssertResetPin - MIPIAssertResetPin > + * - wait t3 - wait t3 > + * - power off - MIPIPanelPowerOff - power off > + * - wait t4 - wait t4 > + */ > + > static void intel_dsi_pre_enable(struct intel_encoder *encoder, > struct intel_crtc_state *pipe_config, > struct drm_connector_state *conn_state)
diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c index 20ed799..c271475 100644 --- a/drivers/gpu/drm/i915/intel_dsi.c +++ b/drivers/gpu/drm/i915/intel_dsi.c @@ -554,6 +554,43 @@ static void intel_dsi_prepare(struct intel_encoder *intel_encoder, struct intel_crtc_state *pipe_config); static void intel_dsi_unprepare(struct intel_encoder *encoder); +/* + * Panel enable/disable sequences from the VBT spec. + * + * Note the spec has AssertReset / DeassertReset swapped from their + * usual naming. We use the normal names to avoid confusion (so below + * they are swapped compared to the spec). + * + * Steps starting with MIPI refer to VBT sequences, note that for v2 + * VBTs several steps which have a VBT in v2 are expected to be handled + * directly by the driver, by directly driving gpios for example. + * + * v2 video mode seq v3 video mode seq command mode seq + * - power on - MIPIPanelPowerOn - power on + * - wait t1+t2 - wait t1+t2 + * - MIPIDeassertResetPin - MIPIDeassertResetPin - MIPIDeassertResetPin + * - io lines to lp-11 - io lines to lp-11 - io lines to lp-11 + * - MIPISendInitialDcsCmds - MIPISendInitialDcsCmds - MIPISendInitialDcsCmds + * - MIPITearOn + * - MIPIDisplayOn + * - turn on DPI - turn on DPI - set pipe to dsr mode + * - MIPIDisplayOn - MIPIDisplayOn + * - wait t5 - wait t5 + * - backlight on - MIPIBacklightOn - backlight on + * ... ... ... issue mem cmds ... + * - backlight off - MIPIBacklightOff - backlight off + * - wait t6 - wait t6 + * - MIPIDisplayOff + * - turn off DPI - turn off DPI - disable pipe dsr mode + * - MIPITearOff + * - MIPIDisplayOff - MIPIDisplayOff + * - io lines to lp-00 - io lines to lp-00 - io lines to lp-00 + * - MIPIAssertResetPin - MIPIAssertResetPin - MIPIAssertResetPin + * - wait t3 - wait t3 + * - power off - MIPIPanelPowerOff - power off + * - wait t4 - wait t4 + */ + static void intel_dsi_pre_enable(struct intel_encoder *encoder, struct intel_crtc_state *pipe_config, struct drm_connector_state *conn_state)