Commit 5cda0d20 authored by Jani Nikula's avatar Jani Nikula

drm/i915/dsi: be defensive about out of bounds sequence id

Untie the VBT based generic panel driver from the VBT parsing, so that
the two don't have to be updated in lockstep.
Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/7a6e3e7c4404c0e4dbcf003acd8737a6ecbe218f.1450702954.git.jani.nikula@intel.com
parent 8d3ed2f3
...@@ -246,14 +246,21 @@ static const fn_mipi_elem_exec exec_elem[] = { ...@@ -246,14 +246,21 @@ static const fn_mipi_elem_exec exec_elem[] = {
*/ */
static const char * const seq_name[] = { static const char * const seq_name[] = {
"UNDEFINED", [MIPI_SEQ_ASSERT_RESET] = "MIPI_SEQ_ASSERT_RESET",
"MIPI_SEQ_ASSERT_RESET", [MIPI_SEQ_INIT_OTP] = "MIPI_SEQ_INIT_OTP",
"MIPI_SEQ_INIT_OTP", [MIPI_SEQ_DISPLAY_ON] = "MIPI_SEQ_DISPLAY_ON",
"MIPI_SEQ_DISPLAY_ON", [MIPI_SEQ_DISPLAY_OFF] = "MIPI_SEQ_DISPLAY_OFF",
"MIPI_SEQ_DISPLAY_OFF", [MIPI_SEQ_DEASSERT_RESET] = "MIPI_SEQ_DEASSERT_RESET",
"MIPI_SEQ_DEASSERT_RESET"
}; };
static const char *sequence_name(enum mipi_seq seq_id)
{
if (seq_id < ARRAY_SIZE(seq_name) && seq_name[seq_id])
return seq_name[seq_id];
else
return "(unknown)";
}
static void generic_exec_sequence(struct intel_dsi *intel_dsi, const u8 *data) static void generic_exec_sequence(struct intel_dsi *intel_dsi, const u8 *data)
{ {
fn_mipi_elem_exec mipi_elem_exec; fn_mipi_elem_exec mipi_elem_exec;
...@@ -262,7 +269,8 @@ static void generic_exec_sequence(struct intel_dsi *intel_dsi, const u8 *data) ...@@ -262,7 +269,8 @@ static void generic_exec_sequence(struct intel_dsi *intel_dsi, const u8 *data)
if (!data) if (!data)
return; return;
DRM_DEBUG_DRIVER("Starting MIPI sequence - %s\n", seq_name[*data]); DRM_DEBUG_DRIVER("Starting MIPI sequence %u - %s\n",
*data, sequence_name(*data));
/* go to the first element of the sequence */ /* go to the first element of the sequence */
data++; data++;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment