* [PATCH 0/7] drm/i915/dsi: sequence execution tweaks
@ 2016-05-16 15:08 Jani Nikula
2016-05-16 15:08 ` [PATCH 1/7] drm/i915/dsi: don't debug log "missing" sequences Jani Nikula
` (7 more replies)
0 siblings, 8 replies; 9+ messages in thread
From: Jani Nikula @ 2016-05-16 15:08 UTC (permalink / raw)
To: intel-gfx; +Cc: Deepak M, Jani Nikula
Run the power/backlight on/off sequences, log about not running tear
on/off sequences, add a consistency check, and improve the debug
logging.
BR,
Jani.
Jani Nikula (7):
drm/i915/dsi: don't debug log "missing" sequences
drm/i915/dsi: add debug logging to element execution
drm/i915/dsi: add skip functions for spi and pmic elements
drm/i915/dsi: run power on/off sequences in panel prepare/unprepare
hooks
drm/i915/dsi: run backlight on/off sequences in panel enable/disable
hooks
drm/i915/bios: log about presence of DSI sequences we do not run
drm/i915/dsi: double check element parsing against size if present
drivers/gpu/drm/i915/intel_bios.c | 4 +++
drivers/gpu/drm/i915/intel_dsi_panel_vbt.c | 45 ++++++++++++++++++++++++++----
2 files changed, 43 insertions(+), 6 deletions(-)
--
2.1.4
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/7] drm/i915/dsi: don't debug log "missing" sequences
2016-05-16 15:08 [PATCH 0/7] drm/i915/dsi: sequence execution tweaks Jani Nikula
@ 2016-05-16 15:08 ` Jani Nikula
2016-05-16 15:08 ` [PATCH 2/7] drm/i915/dsi: add debug logging to element execution Jani Nikula
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Jani Nikula @ 2016-05-16 15:08 UTC (permalink / raw)
To: intel-gfx; +Cc: Deepak M, Jani Nikula
This is not interesting. They are not "missing", they are just not part
of the VBT sequences for the panel.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/intel_dsi_panel_vbt.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
index f122484bedfc..4d05f0bfaea3 100644
--- a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
+++ b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
@@ -385,11 +385,8 @@ static void generic_exec_sequence(struct drm_panel *panel, enum mipi_seq seq_id)
return;
data = dev_priv->vbt.dsi.sequence[seq_id];
- if (!data) {
- DRM_DEBUG_KMS("MIPI sequence %d - %s not available\n",
- seq_id, sequence_name(seq_id));
+ if (!data)
return;
- }
WARN_ON(*data != seq_id);
--
2.1.4
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 2/7] drm/i915/dsi: add debug logging to element execution
2016-05-16 15:08 [PATCH 0/7] drm/i915/dsi: sequence execution tweaks Jani Nikula
2016-05-16 15:08 ` [PATCH 1/7] drm/i915/dsi: don't debug log "missing" sequences Jani Nikula
@ 2016-05-16 15:08 ` Jani Nikula
2016-05-16 15:08 ` [PATCH 3/7] drm/i915/dsi: add skip functions for spi and pmic elements Jani Nikula
` (5 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Jani Nikula @ 2016-05-16 15:08 UTC (permalink / raw)
To: intel-gfx; +Cc: Deepak M, Jani Nikula
Just simple breadcrumbs for now. While at it, rename the i2c skip
function.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/intel_dsi_panel_vbt.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
index 4d05f0bfaea3..3e840a526f53 100644
--- a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
+++ b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
@@ -126,6 +126,8 @@ static const u8 *mipi_exec_send_packet(struct intel_dsi *intel_dsi,
u16 len;
enum port port;
+ DRM_DEBUG_KMS("\n");
+
flags = *data++;
type = *data++;
@@ -199,6 +201,8 @@ static const u8 *mipi_exec_delay(struct intel_dsi *intel_dsi, const u8 *data)
{
u32 delay = *((const u32 *) data);
+ DRM_DEBUG_KMS("\n");
+
usleep_range(delay, delay + 10);
data += 4;
@@ -307,6 +311,8 @@ static const u8 *mipi_exec_gpio(struct intel_dsi *intel_dsi, const u8 *data)
u8 gpio_source, gpio_index;
bool value;
+ DRM_DEBUG_KMS("\n");
+
if (dev_priv->vbt.dsi.seq_version >= 3)
data++;
@@ -331,8 +337,10 @@ static const u8 *mipi_exec_gpio(struct intel_dsi *intel_dsi, const u8 *data)
return data;
}
-static const u8 *mipi_exec_i2c_skip(struct intel_dsi *intel_dsi, const u8 *data)
+static const u8 *mipi_exec_i2c(struct intel_dsi *intel_dsi, const u8 *data)
{
+ DRM_DEBUG_KMS("Skipping I2C element execution\n");
+
return data + *(data + 6) + 7;
}
@@ -342,7 +350,7 @@ static const fn_mipi_elem_exec exec_elem[] = {
[MIPI_SEQ_ELEM_SEND_PKT] = mipi_exec_send_packet,
[MIPI_SEQ_ELEM_DELAY] = mipi_exec_delay,
[MIPI_SEQ_ELEM_GPIO] = mipi_exec_gpio,
- [MIPI_SEQ_ELEM_I2C] = mipi_exec_i2c_skip,
+ [MIPI_SEQ_ELEM_I2C] = mipi_exec_i2c,
};
/*
--
2.1.4
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 3/7] drm/i915/dsi: add skip functions for spi and pmic elements
2016-05-16 15:08 [PATCH 0/7] drm/i915/dsi: sequence execution tweaks Jani Nikula
2016-05-16 15:08 ` [PATCH 1/7] drm/i915/dsi: don't debug log "missing" sequences Jani Nikula
2016-05-16 15:08 ` [PATCH 2/7] drm/i915/dsi: add debug logging to element execution Jani Nikula
@ 2016-05-16 15:08 ` Jani Nikula
2016-05-16 15:08 ` [PATCH 4/7] drm/i915/dsi: run power on/off sequences in panel prepare/unprepare hooks Jani Nikula
` (4 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Jani Nikula @ 2016-05-16 15:08 UTC (permalink / raw)
To: intel-gfx; +Cc: Deepak M, Jani Nikula
In sequence block v3 these are gracefully skipped anyway, but add the
functions so we can have some debug breadcrumbs.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/intel_dsi_panel_vbt.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
index 3e840a526f53..7dd850760c4d 100644
--- a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
+++ b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
@@ -344,6 +344,20 @@ static const u8 *mipi_exec_i2c(struct intel_dsi *intel_dsi, const u8 *data)
return data + *(data + 6) + 7;
}
+static const u8 *mipi_exec_spi(struct intel_dsi *intel_dsi, const u8 *data)
+{
+ DRM_DEBUG_KMS("Skipping SPI element execution\n");
+
+ return data + *(data + 5) + 6;
+}
+
+static const u8 *mipi_exec_pmic(struct intel_dsi *intel_dsi, const u8 *data)
+{
+ DRM_DEBUG_KMS("Skipping PMIC element execution\n");
+
+ return data + 14;
+}
+
typedef const u8 * (*fn_mipi_elem_exec)(struct intel_dsi *intel_dsi,
const u8 *data);
static const fn_mipi_elem_exec exec_elem[] = {
@@ -351,6 +365,8 @@ static const fn_mipi_elem_exec exec_elem[] = {
[MIPI_SEQ_ELEM_DELAY] = mipi_exec_delay,
[MIPI_SEQ_ELEM_GPIO] = mipi_exec_gpio,
[MIPI_SEQ_ELEM_I2C] = mipi_exec_i2c,
+ [MIPI_SEQ_ELEM_SPI] = mipi_exec_spi,
+ [MIPI_SEQ_ELEM_PMIC] = mipi_exec_pmic,
};
/*
--
2.1.4
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 4/7] drm/i915/dsi: run power on/off sequences in panel prepare/unprepare hooks
2016-05-16 15:08 [PATCH 0/7] drm/i915/dsi: sequence execution tweaks Jani Nikula
` (2 preceding siblings ...)
2016-05-16 15:08 ` [PATCH 3/7] drm/i915/dsi: add skip functions for spi and pmic elements Jani Nikula
@ 2016-05-16 15:08 ` Jani Nikula
2016-05-16 15:08 ` [PATCH 5/7] drm/i915/dsi: run backlight on/off sequences in panel enable/disable hooks Jani Nikula
` (3 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Jani Nikula @ 2016-05-16 15:08 UTC (permalink / raw)
To: intel-gfx; +Cc: Deepak M, Jani Nikula
Based on the documentation alone, it's anyone's guess when exactly we
should be running these sequences. Add them where it feels logical. The
drm panel hooks don't currently offer us more granularity anyway.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/intel_dsi_panel_vbt.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
index 7dd850760c4d..e0337a82a6b4 100644
--- a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
+++ b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
@@ -459,6 +459,7 @@ static void generic_exec_sequence(struct drm_panel *panel, enum mipi_seq seq_id)
static int vbt_panel_prepare(struct drm_panel *panel)
{
generic_exec_sequence(panel, MIPI_SEQ_ASSERT_RESET);
+ generic_exec_sequence(panel, MIPI_SEQ_POWER_ON);
generic_exec_sequence(panel, MIPI_SEQ_INIT_OTP);
return 0;
@@ -466,6 +467,7 @@ static int vbt_panel_prepare(struct drm_panel *panel)
static int vbt_panel_unprepare(struct drm_panel *panel)
{
+ generic_exec_sequence(panel, MIPI_SEQ_POWER_OFF);
generic_exec_sequence(panel, MIPI_SEQ_DEASSERT_RESET);
return 0;
--
2.1.4
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 5/7] drm/i915/dsi: run backlight on/off sequences in panel enable/disable hooks
2016-05-16 15:08 [PATCH 0/7] drm/i915/dsi: sequence execution tweaks Jani Nikula
` (3 preceding siblings ...)
2016-05-16 15:08 ` [PATCH 4/7] drm/i915/dsi: run power on/off sequences in panel prepare/unprepare hooks Jani Nikula
@ 2016-05-16 15:08 ` Jani Nikula
2016-05-16 15:08 ` [PATCH 6/7] drm/i915/bios: log about presence of DSI sequences we do not run Jani Nikula
` (2 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Jani Nikula @ 2016-05-16 15:08 UTC (permalink / raw)
To: intel-gfx; +Cc: Deepak M, Jani Nikula
Based on the documentation alone, it's anyone's guess when exactly we
should be running these sequences. Add them where it feels logical. The
drm panel hooks don't currently offer us more granularity anyway.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/intel_dsi_panel_vbt.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
index e0337a82a6b4..d078c5765014 100644
--- a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
+++ b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
@@ -476,12 +476,14 @@ static int vbt_panel_unprepare(struct drm_panel *panel)
static int vbt_panel_enable(struct drm_panel *panel)
{
generic_exec_sequence(panel, MIPI_SEQ_DISPLAY_ON);
+ generic_exec_sequence(panel, MIPI_SEQ_BACKLIGHT_ON);
return 0;
}
static int vbt_panel_disable(struct drm_panel *panel)
{
+ generic_exec_sequence(panel, MIPI_SEQ_BACKLIGHT_OFF);
generic_exec_sequence(panel, MIPI_SEQ_DISPLAY_OFF);
return 0;
--
2.1.4
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 6/7] drm/i915/bios: log about presence of DSI sequences we do not run
2016-05-16 15:08 [PATCH 0/7] drm/i915/dsi: sequence execution tweaks Jani Nikula
` (4 preceding siblings ...)
2016-05-16 15:08 ` [PATCH 5/7] drm/i915/dsi: run backlight on/off sequences in panel enable/disable hooks Jani Nikula
@ 2016-05-16 15:08 ` Jani Nikula
2016-05-16 15:08 ` [PATCH 7/7] drm/i915/dsi: double check element parsing against size if present Jani Nikula
2016-05-16 15:35 ` ✗ Ro.CI.BAT: failure for drm/i915/dsi: sequence execution tweaks Patchwork
7 siblings, 0 replies; 9+ messages in thread
From: Jani Nikula @ 2016-05-16 15:08 UTC (permalink / raw)
To: intel-gfx; +Cc: Deepak M, Jani Nikula
Leave behind some debugging clues in case some panels don't work
properly.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/intel_bios.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
index 8b68c4882fba..8cab24bb5c29 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -991,6 +991,10 @@ parse_mipi_sequence(struct drm_i915_private *dev_priv,
goto err;
}
+ /* Log about presence of sequences we won't run. */
+ if (seq_id == MIPI_SEQ_TEAR_ON || seq_id == MIPI_SEQ_TEAR_OFF)
+ DRM_DEBUG_KMS("Unsupported sequence %u\n", seq_id);
+
dev_priv->vbt.dsi.sequence[seq_id] = data + index;
if (sequence->version >= 3)
--
2.1.4
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 7/7] drm/i915/dsi: double check element parsing against size if present
2016-05-16 15:08 [PATCH 0/7] drm/i915/dsi: sequence execution tweaks Jani Nikula
` (5 preceding siblings ...)
2016-05-16 15:08 ` [PATCH 6/7] drm/i915/bios: log about presence of DSI sequences we do not run Jani Nikula
@ 2016-05-16 15:08 ` Jani Nikula
2016-05-16 15:35 ` ✗ Ro.CI.BAT: failure for drm/i915/dsi: sequence execution tweaks Patchwork
7 siblings, 0 replies; 9+ messages in thread
From: Jani Nikula @ 2016-05-16 15:08 UTC (permalink / raw)
To: intel-gfx; +Cc: Deepak M, Jani Nikula
Be a little paranoid in case the specs change or something.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/intel_dsi_panel_vbt.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
index d078c5765014..30fcb02fce9b 100644
--- a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
+++ b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
@@ -441,7 +441,15 @@ static void generic_exec_sequence(struct drm_panel *panel, enum mipi_seq seq_id)
operation_size = *data++;
if (mipi_elem_exec) {
+ const u8 *next = data + operation_size;
+
data = mipi_elem_exec(intel_dsi, data);
+
+ /* Consistency check if we have size. */
+ if (operation_size && data != next) {
+ DRM_ERROR("Inconsistent operation size\n");
+ return;
+ }
} else if (operation_size) {
/* We have size, skip. */
DRM_DEBUG_KMS("Unsupported MIPI operation byte %u\n",
--
2.1.4
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 9+ messages in thread
* ✗ Ro.CI.BAT: failure for drm/i915/dsi: sequence execution tweaks
2016-05-16 15:08 [PATCH 0/7] drm/i915/dsi: sequence execution tweaks Jani Nikula
` (6 preceding siblings ...)
2016-05-16 15:08 ` [PATCH 7/7] drm/i915/dsi: double check element parsing against size if present Jani Nikula
@ 2016-05-16 15:35 ` Patchwork
7 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2016-05-16 15:35 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
== Series Details ==
Series: drm/i915/dsi: sequence execution tweaks
URL : https://patchwork.freedesktop.org/series/7234/
State : failure
== Summary ==
Series 7234v1 drm/i915/dsi: sequence execution tweaks
http://patchwork.freedesktop.org/api/1.0/series/7234/revisions/1/mbox
Test kms_flip:
Subgroup basic-flip-vs-wf_vblank:
pass -> FAIL (ro-ivb2-i7-3770)
pass -> FAIL (ro-byt-n2820)
fail -> PASS (ro-hsw-i3-4010u)
ro-bdw-i5-5250u total:219 pass:181 dwarn:0 dfail:0 fail:0 skip:38
ro-bdw-i7-5557U total:219 pass:206 dwarn:0 dfail:0 fail:0 skip:13
ro-bdw-i7-5600u total:219 pass:187 dwarn:0 dfail:0 fail:0 skip:32
ro-bsw-n3050 total:219 pass:175 dwarn:0 dfail:0 fail:2 skip:42
ro-byt-n2820 total:218 pass:173 dwarn:0 dfail:0 fail:4 skip:41
ro-hsw-i3-4010u total:218 pass:193 dwarn:0 dfail:0 fail:0 skip:25
ro-hsw-i7-4770r total:219 pass:194 dwarn:0 dfail:0 fail:0 skip:25
ro-ilk-i7-620lm total:219 pass:151 dwarn:0 dfail:0 fail:1 skip:67
ro-ilk1-i5-650 total:214 pass:151 dwarn:0 dfail:0 fail:2 skip:61
ro-ivb-i7-3770 total:219 pass:183 dwarn:0 dfail:0 fail:0 skip:36
ro-ivb2-i7-3770 total:219 pass:186 dwarn:0 dfail:0 fail:1 skip:32
ro-skl-i7-6700hq total:214 pass:189 dwarn:0 dfail:0 fail:0 skip:25
ro-snb-i7-2620M total:219 pass:177 dwarn:0 dfail:0 fail:1 skip:41
Results at /archive/results/CI_IGT_test/RO_Patchwork_909/
d381724 drm-intel-nightly: 2016y-05m-16d-12h-14m-04s UTC integration manifest
2075953 drm/i915/dsi: double check element parsing against size if present
a158996 drm/i915/bios: log about presence of DSI sequences we do not run
f5ee3b8 drm/i915/dsi: run backlight on/off sequences in panel enable/disable hooks
5e59831 drm/i915/dsi: run power on/off sequences in panel prepare/unprepare hooks
408b6d6 drm/i915/dsi: add skip functions for spi and pmic elements
ff3e4b9 drm/i915/dsi: add debug logging to element execution
39c0e84 drm/i915/dsi: don't debug log "missing" sequences
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2016-05-16 15:35 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-16 15:08 [PATCH 0/7] drm/i915/dsi: sequence execution tweaks Jani Nikula
2016-05-16 15:08 ` [PATCH 1/7] drm/i915/dsi: don't debug log "missing" sequences Jani Nikula
2016-05-16 15:08 ` [PATCH 2/7] drm/i915/dsi: add debug logging to element execution Jani Nikula
2016-05-16 15:08 ` [PATCH 3/7] drm/i915/dsi: add skip functions for spi and pmic elements Jani Nikula
2016-05-16 15:08 ` [PATCH 4/7] drm/i915/dsi: run power on/off sequences in panel prepare/unprepare hooks Jani Nikula
2016-05-16 15:08 ` [PATCH 5/7] drm/i915/dsi: run backlight on/off sequences in panel enable/disable hooks Jani Nikula
2016-05-16 15:08 ` [PATCH 6/7] drm/i915/bios: log about presence of DSI sequences we do not run Jani Nikula
2016-05-16 15:08 ` [PATCH 7/7] drm/i915/dsi: double check element parsing against size if present Jani Nikula
2016-05-16 15:35 ` ✗ Ro.CI.BAT: failure for drm/i915/dsi: sequence execution tweaks Patchwork
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.