diff mbox

[v2,01/10] drm/i915/dsi: Document the panel enable / disable sequences from the spec

Message ID 20170228125925.7020-1-hdegoede@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Hans de Goede Feb. 28, 2017, 12:59 p.m. UTC
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>
---
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(+)

Comments

Paauwe, Bob J Feb. 28, 2017, 5:39 p.m. UTC | #1
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 mbox

Patch

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)