* [PATCH] drm/i915/bios: iterate over child devices to initialize ddi_port_info
@ 2019-03-22 12:10 Jani Nikula
2019-03-22 12:52 ` ✗ Fi.CI.SPARSE: warning for " Patchwork
` (6 more replies)
0 siblings, 7 replies; 8+ messages in thread
From: Jani Nikula @ 2019-03-22 12:10 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula
Iterate over child devices instead of ports in parse_ddi_ports() to
initialize dri_port_info. We'll eventually need to decide some stuff
based on the child device order, which may be different from the port
order.
As a bonus, this allows better abstractions for e.g. dvo port mapping.
There's a subtle change in the DDC pin and AUX channel sanitization as
we change the order. Otherwise, this should not change behaviour.
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/i915_drv.h | 1 +
drivers/gpu/drm/i915/intel_bios.c | 104 +++++++++++++++++-------------
2 files changed, 59 insertions(+), 46 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index fefcb39aefc4..d82d63dfa5a1 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -954,6 +954,7 @@ struct ddi_vbt_port_info {
#define HDMI_LEVEL_SHIFT_UNKNOWN 0xff
u8 hdmi_level_shift;
+ u8 present:1;
u8 supports_dvi:1;
u8 supports_hdmi:1;
u8 supports_dp:1;
diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
index 64f20175a6dc..1dc8d03ff127 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -1247,10 +1247,11 @@ static void sanitize_ddc_pin(struct drm_i915_private *dev_priv,
if (!info->alternate_ddc_pin)
return;
- for_each_port_masked(p, (1 << port) - 1) {
+ for (p = PORT_A; p < I915_MAX_PORTS; p++) {
struct ddi_vbt_port_info *i = &dev_priv->vbt.ddi_port_info[p];
- if (info->alternate_ddc_pin != i->alternate_ddc_pin)
+ if (p == port || !i->present ||
+ info->alternate_ddc_pin != i->alternate_ddc_pin)
continue;
DRM_DEBUG_KMS("port %c trying to use the same DDC pin (0x%x) as port %c, "
@@ -1264,8 +1265,8 @@ static void sanitize_ddc_pin(struct drm_i915_private *dev_priv,
* port. Otherwise they share the same ddc bin and
* system couldn't communicate with them separately.
*
- * Due to parsing the ports in alphabetical order,
- * a higher port will always clobber a lower one.
+ * Due to parsing the ports in child device order,
+ * a later device will always clobber an earlier one.
*/
i->supports_dvi = false;
i->supports_hdmi = false;
@@ -1283,10 +1284,11 @@ static void sanitize_aux_ch(struct drm_i915_private *dev_priv,
if (!info->alternate_aux_channel)
return;
- for_each_port_masked(p, (1 << port) - 1) {
+ for (p = PORT_A; p < I915_MAX_PORTS; p++) {
struct ddi_vbt_port_info *i = &dev_priv->vbt.ddi_port_info[p];
- if (info->alternate_aux_channel != i->alternate_aux_channel)
+ if (p == port || !i->present ||
+ info->alternate_aux_channel != i->alternate_aux_channel)
continue;
DRM_DEBUG_KMS("port %c trying to use the same AUX CH (0x%x) as port %c, "
@@ -1300,8 +1302,8 @@ static void sanitize_aux_ch(struct drm_i915_private *dev_priv,
* port. Otherwise they share the same aux channel
* and system couldn't communicate with them separately.
*
- * Due to parsing the ports in alphabetical order,
- * a higher port will always clobber a lower one.
+ * Due to parsing the ports in child device order,
+ * a later device will always clobber an earlier one.
*/
i->supports_dp = false;
i->alternate_aux_channel = 0;
@@ -1349,49 +1351,58 @@ static u8 map_ddc_pin(struct drm_i915_private *dev_priv, u8 vbt_pin)
return 0;
}
-static void parse_ddi_port(struct drm_i915_private *dev_priv, enum port port,
- u8 bdb_version)
+static enum port dvo_port_to_port(u8 dvo_port)
{
- struct child_device_config *it, *child = NULL;
- struct ddi_vbt_port_info *info = &dev_priv->vbt.ddi_port_info[port];
- int i, j;
- bool is_dvi, is_hdmi, is_dp, is_edp, is_crt;
- /* Each DDI port can have more than one value on the "DVO Port" field,
+ /*
+ * Each DDI port can have more than one value on the "DVO Port" field,
* so look for all the possible values for each port.
*/
- int dvo_ports[][3] = {
- {DVO_PORT_HDMIA, DVO_PORT_DPA, -1},
- {DVO_PORT_HDMIB, DVO_PORT_DPB, -1},
- {DVO_PORT_HDMIC, DVO_PORT_DPC, -1},
- {DVO_PORT_HDMID, DVO_PORT_DPD, -1},
- {DVO_PORT_CRT, DVO_PORT_HDMIE, DVO_PORT_DPE},
- {DVO_PORT_HDMIF, DVO_PORT_DPF, -1},
+ static const int dvo_ports[][3] = {
+ [PORT_A] = { DVO_PORT_HDMIA, DVO_PORT_DPA, -1},
+ [PORT_B] = { DVO_PORT_HDMIB, DVO_PORT_DPB, -1},
+ [PORT_C] = { DVO_PORT_HDMIC, DVO_PORT_DPC, -1},
+ [PORT_D] = { DVO_PORT_HDMID, DVO_PORT_DPD, -1},
+ [PORT_E] = { DVO_PORT_CRT, DVO_PORT_HDMIE, DVO_PORT_DPE},
+ [PORT_F] = { DVO_PORT_HDMIF, DVO_PORT_DPF, -1},
};
+ enum port port;
+ int i;
- /*
- * Find the first child device to reference the port, report if more
- * than one found.
- */
- for (i = 0; i < dev_priv->vbt.child_dev_num; i++) {
- it = dev_priv->vbt.child_dev + i;
-
- for (j = 0; j < 3; j++) {
- if (dvo_ports[port][j] == -1)
+ for (port = PORT_A; port < ARRAY_SIZE(dvo_ports); port++) {
+ for (i = 0; i < ARRAY_SIZE(dvo_ports[port]); i++) {
+ if (dvo_ports[port][i] == -1)
break;
- if (it->dvo_port == dvo_ports[port][j]) {
- if (child) {
- DRM_DEBUG_KMS("More than one child device for port %c in VBT, using the first.\n",
- port_name(port));
- } else {
- child = it;
- }
- }
+ if (dvo_port == dvo_ports[port][i])
+ return port;
}
}
- if (!child)
+
+ return PORT_NONE;
+}
+
+static void parse_ddi_port(struct drm_i915_private *dev_priv,
+ const struct child_device_config *child,
+ u8 bdb_version)
+{
+ struct ddi_vbt_port_info *info;
+ bool is_dvi, is_hdmi, is_dp, is_edp, is_crt;
+ enum port port;
+
+ port = dvo_port_to_port(child->dvo_port);
+ if (port == PORT_NONE)
return;
+ info = &dev_priv->vbt.ddi_port_info[port];
+
+ if (info->present) {
+ DRM_DEBUG_KMS("More than one child device for port %c in VBT, using the first.\n",
+ port_name(port));
+ return;
+ }
+
+ info->present = true;
+
is_dvi = child->device_type & DEVICE_TYPE_TMDS_DVI_SIGNALING;
is_dp = child->device_type & DEVICE_TYPE_DISPLAYPORT_OUTPUT;
is_crt = child->device_type & DEVICE_TYPE_ANALOG_OUTPUT;
@@ -1523,19 +1534,20 @@ static void parse_ddi_port(struct drm_i915_private *dev_priv, enum port port,
static void parse_ddi_ports(struct drm_i915_private *dev_priv, u8 bdb_version)
{
- enum port port;
+ const struct child_device_config *child;
+ int i;
if (!HAS_DDI(dev_priv) && !IS_CHERRYVIEW(dev_priv))
return;
- if (!dev_priv->vbt.child_dev_num)
- return;
-
if (bdb_version < 155)
return;
- for (port = PORT_A; port < I915_MAX_PORTS; port++)
- parse_ddi_port(dev_priv, port, bdb_version);
+ for (i = 0; i < dev_priv->vbt.child_dev_num; i++) {
+ child = dev_priv->vbt.child_dev + i;
+
+ parse_ddi_port(dev_priv, child, bdb_version);
+ }
}
static void
--
2.20.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 8+ messages in thread* ✗ Fi.CI.SPARSE: warning for drm/i915/bios: iterate over child devices to initialize ddi_port_info 2019-03-22 12:10 [PATCH] drm/i915/bios: iterate over child devices to initialize ddi_port_info Jani Nikula @ 2019-03-22 12:52 ` Patchwork 2019-03-22 13:14 ` ✓ Fi.CI.BAT: success " Patchwork ` (5 subsequent siblings) 6 siblings, 0 replies; 8+ messages in thread From: Patchwork @ 2019-03-22 12:52 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx == Series Details == Series: drm/i915/bios: iterate over child devices to initialize ddi_port_info URL : https://patchwork.freedesktop.org/series/58407/ State : warning == Summary == $ dim sparse origin/drm-tip Sparse version: v0.5.2 Commit: drm/i915/bios: iterate over child devices to initialize ddi_port_info -drivers/gpu/drm/i915/selftests/../i915_drv.h:3572:16: warning: expression using sizeof(void) +drivers/gpu/drm/i915/selftests/../i915_drv.h:3573:16: warning: expression using sizeof(void) _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
* ✓ Fi.CI.BAT: success for drm/i915/bios: iterate over child devices to initialize ddi_port_info 2019-03-22 12:10 [PATCH] drm/i915/bios: iterate over child devices to initialize ddi_port_info Jani Nikula 2019-03-22 12:52 ` ✗ Fi.CI.SPARSE: warning for " Patchwork @ 2019-03-22 13:14 ` Patchwork 2019-03-23 9:32 ` ✗ Fi.CI.SPARSE: warning for drm/i915/bios: iterate over child devices to initialize ddi_port_info (rev2) Patchwork ` (4 subsequent siblings) 6 siblings, 0 replies; 8+ messages in thread From: Patchwork @ 2019-03-22 13:14 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx == Series Details == Series: drm/i915/bios: iterate over child devices to initialize ddi_port_info URL : https://patchwork.freedesktop.org/series/58407/ State : success == Summary == CI Bug Log - changes from CI_DRM_5794 -> Patchwork_12572 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://patchwork.freedesktop.org/api/1.0/series/58407/revisions/1/mbox/ Known issues ------------ Here are the changes found in Patchwork_12572 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_exec_basic@gtt-bsd: - fi-bwr-2160: NOTRUN -> SKIP [fdo#109271] +103 * igt@gem_exec_basic@gtt-bsd1: - fi-bxt-j4205: NOTRUN -> SKIP [fdo#109271] +47 * igt@gem_exec_basic@gtt-bsd2: - fi-kbl-7500u: NOTRUN -> SKIP [fdo#109271] +9 * igt@gem_exec_basic@readonly-bsd: - fi-pnv-d510: NOTRUN -> SKIP [fdo#109271] +76 * igt@gem_mmap_gtt@basic-write-cpu-read-gtt: - fi-apl-guc: NOTRUN -> SKIP [fdo#109271] +50 * igt@i915_selftest@live_execlists: - fi-apl-guc: NOTRUN -> INCOMPLETE [fdo#103927] / [fdo#109720] * igt@kms_busy@basic-flip-a: - fi-gdg-551: PASS -> FAIL [fdo#103182] +1 * igt@kms_busy@basic-flip-c: - fi-bwr-2160: NOTRUN -> SKIP [fdo#109271] / [fdo#109278] - fi-pnv-d510: NOTRUN -> SKIP [fdo#109271] / [fdo#109278] - fi-byt-j1900: NOTRUN -> SKIP [fdo#109271] / [fdo#109278] * igt@kms_chamelium@dp-crc-fast: - fi-kbl-7500u: NOTRUN -> DMESG-WARN [fdo#103841] * igt@kms_chamelium@hdmi-crc-fast: - fi-byt-j1900: NOTRUN -> SKIP [fdo#109271] +52 * igt@kms_chamelium@vga-edid-read: - fi-hsw-4770r: NOTRUN -> SKIP [fdo#109271] +45 * igt@runner@aborted: - fi-kbl-7500u: NOTRUN -> FAIL [fdo#103841] #### Possible fixes #### * igt@i915_selftest@live_evict: - fi-bsw-kefka: DMESG-WARN [fdo#107709] -> PASS * igt@i915_selftest@live_uncore: - fi-ivb-3770: DMESG-FAIL [fdo#110210] -> PASS [fdo#103182]: https://bugs.freedesktop.org/show_bug.cgi?id=103182 [fdo#103841]: https://bugs.freedesktop.org/show_bug.cgi?id=103841 [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927 [fdo#107709]: https://bugs.freedesktop.org/show_bug.cgi?id=107709 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278 [fdo#109720]: https://bugs.freedesktop.org/show_bug.cgi?id=109720 [fdo#110210]: https://bugs.freedesktop.org/show_bug.cgi?id=110210 Participating hosts (32 -> 36) ------------------------------ Additional (7): fi-hsw-4770r fi-byt-j1900 fi-bwr-2160 fi-apl-guc fi-kbl-7500u fi-bxt-j4205 fi-pnv-d510 Missing (3): fi-ctg-p8600 fi-hsw-4770 fi-hsw-4200u Build changes ------------- * Linux: CI_DRM_5794 -> Patchwork_12572 CI_DRM_5794: 487d6c295c12d99c218b489ab39618831d7d31d6 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_4898: be2f88cd36fd4ba836d9f2453e90673c86649489 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_12572: d2b88ed60256bc87d88c67f6e31bc19a9a25e791 @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == d2b88ed60256 drm/i915/bios: iterate over child devices to initialize ddi_port_info == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12572/ _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
* ✗ Fi.CI.SPARSE: warning for drm/i915/bios: iterate over child devices to initialize ddi_port_info (rev2) 2019-03-22 12:10 [PATCH] drm/i915/bios: iterate over child devices to initialize ddi_port_info Jani Nikula 2019-03-22 12:52 ` ✗ Fi.CI.SPARSE: warning for " Patchwork 2019-03-22 13:14 ` ✓ Fi.CI.BAT: success " Patchwork @ 2019-03-23 9:32 ` Patchwork 2019-03-23 9:47 ` ✓ Fi.CI.IGT: success for drm/i915/bios: iterate over child devices to initialize ddi_port_info Patchwork ` (3 subsequent siblings) 6 siblings, 0 replies; 8+ messages in thread From: Patchwork @ 2019-03-23 9:32 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx == Series Details == Series: drm/i915/bios: iterate over child devices to initialize ddi_port_info (rev2) URL : https://patchwork.freedesktop.org/series/58407/ State : warning == Summary == $ dim sparse origin/drm-tip Sparse version: v0.5.2 Commit: drm/i915/bios: iterate over child devices to initialize ddi_port_info -drivers/gpu/drm/i915/selftests/../i915_drv.h:3576:16: warning: expression using sizeof(void) +drivers/gpu/drm/i915/selftests/../i915_drv.h:3577:16: warning: expression using sizeof(void) _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
* ✓ Fi.CI.IGT: success for drm/i915/bios: iterate over child devices to initialize ddi_port_info 2019-03-22 12:10 [PATCH] drm/i915/bios: iterate over child devices to initialize ddi_port_info Jani Nikula ` (2 preceding siblings ...) 2019-03-23 9:32 ` ✗ Fi.CI.SPARSE: warning for drm/i915/bios: iterate over child devices to initialize ddi_port_info (rev2) Patchwork @ 2019-03-23 9:47 ` Patchwork 2019-03-23 9:51 ` ✓ Fi.CI.BAT: success for drm/i915/bios: iterate over child devices to initialize ddi_port_info (rev2) Patchwork ` (2 subsequent siblings) 6 siblings, 0 replies; 8+ messages in thread From: Patchwork @ 2019-03-23 9:47 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx == Series Details == Series: drm/i915/bios: iterate over child devices to initialize ddi_port_info URL : https://patchwork.freedesktop.org/series/58407/ State : success == Summary == CI Bug Log - changes from CI_DRM_5794_full -> Patchwork_12572_full ==================================================== Summary ------- **SUCCESS** No regressions found. Known issues ------------ Here are the changes found in Patchwork_12572_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_busy@busy-bsd2: - shard-iclb: NOTRUN -> SKIP [fdo#109276] +6 * igt@gem_ctx_param@invalid-param-set: - shard-snb: NOTRUN -> FAIL [fdo#109674] * igt@gem_exec_parse@chained-batch: - shard-iclb: NOTRUN -> SKIP [fdo#109289] * igt@gem_pread@stolen-normal: - shard-skl: NOTRUN -> SKIP [fdo#109271] +82 * igt@gem_pwrite@stolen-normal: - shard-iclb: NOTRUN -> SKIP [fdo#109277] * igt@i915_pm_rpm@drm-resources-equal: - shard-apl: PASS -> INCOMPLETE [fdo#103927] * igt@i915_pm_rpm@gem-execbuf-stress-extra-wait: - shard-snb: NOTRUN -> SKIP [fdo#109271] +137 * igt@i915_pm_sseu@full-enable: - shard-iclb: NOTRUN -> SKIP [fdo#109288] * igt@i915_selftest@live_workarounds: - shard-iclb: PASS -> DMESG-FAIL [fdo#108954] * igt@kms_atomic_transition@3x-modeset-transitions-fencing: - shard-glk: NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +1 * igt@kms_busy@basic-flip-f: - shard-kbl: NOTRUN -> SKIP [fdo#109271] / [fdo#109278] * igt@kms_busy@extended-modeset-hang-newfb-render-c: - shard-skl: NOTRUN -> DMESG-WARN [fdo#110222] +3 * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-b: - shard-snb: NOTRUN -> DMESG-WARN [fdo#110222] * igt@kms_chamelium@hdmi-cmp-yv16: - shard-iclb: NOTRUN -> SKIP [fdo#109284] * igt@kms_color@pipe-a-degamma: - shard-iclb: NOTRUN -> FAIL [fdo#104782] * igt@kms_content_protection@atomic: - shard-kbl: NOTRUN -> FAIL [fdo#108597] / [fdo#108739] * igt@kms_cursor_crc@cursor-64x21-random: - shard-glk: NOTRUN -> FAIL [fdo#103232] * igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic: - shard-iclb: NOTRUN -> SKIP [fdo#109274] +4 * igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size: - shard-iclb: PASS -> FAIL [fdo#103355] * igt@kms_fbcon_fbt@psr-suspend: - shard-skl: NOTRUN -> FAIL [fdo#103833] * igt@kms_flip@plain-flip-fb-recreate: - shard-skl: PASS -> FAIL [fdo#100368] * igt@kms_force_connector_basic@force-load-detect: - shard-iclb: NOTRUN -> SKIP [fdo#109285] * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-render: - shard-iclb: PASS -> FAIL [fdo#103167] +1 * igt@kms_frontbuffer_tracking@fbc-stridechange: - shard-iclb: PASS -> FAIL [fdo#105682] / [fdo#108040] * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-mmap-gtt: - shard-iclb: PASS -> FAIL [fdo#109247] +27 * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-pwrite: - shard-iclb: NOTRUN -> FAIL [fdo#109247] +4 * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-mmap-cpu: - shard-iclb: NOTRUN -> SKIP [fdo#109280] +17 * igt@kms_frontbuffer_tracking@fbcpsr-stridechange: - shard-skl: NOTRUN -> FAIL [fdo#105683] * igt@kms_pipe_b_c_ivb@enable-pipe-c-while-b-has-3-lanes: - shard-kbl: NOTRUN -> SKIP [fdo#109271] +17 * igt@kms_pipe_crc_basic@hang-read-crc-pipe-f: - shard-iclb: NOTRUN -> SKIP [fdo#109278] +4 * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-e: - shard-snb: NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +16 * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a: - shard-skl: PASS -> FAIL [fdo#103191] / [fdo#107362] * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-f: - shard-skl: NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +8 * igt@kms_plane_alpha_blend@pipe-a-coverage-7efc: - shard-skl: PASS -> FAIL [fdo#107815] / [fdo#108145] * igt@kms_plane_alpha_blend@pipe-b-alpha-transparant-fb: - shard-skl: NOTRUN -> FAIL [fdo#108145] +1 * igt@kms_plane_alpha_blend@pipe-c-alpha-basic: - shard-kbl: NOTRUN -> FAIL [fdo#108145] / [fdo#108590] - shard-skl: NOTRUN -> FAIL [fdo#107815] / [fdo#108145] * igt@kms_plane_alpha_blend@pipe-c-alpha-transparant-fb: - shard-glk: NOTRUN -> FAIL [fdo#108145] * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc: - shard-skl: NOTRUN -> FAIL [fdo#107815] * igt@kms_plane_scaling@pipe-a-scaler-with-pixel-format: - shard-glk: PASS -> SKIP [fdo#109271] / [fdo#109278] * igt@kms_psr2_su@page_flip: - shard-iclb: PASS -> SKIP [fdo#109642] * igt@kms_psr@cursor_mmap_cpu: - shard-iclb: PASS -> FAIL [fdo#107383] / [fdo#110215] +2 * igt@kms_psr@cursor_mmap_gtt: - shard-iclb: NOTRUN -> FAIL [fdo#107383] / [fdo#110215] +1 * igt@kms_psr@psr2_basic: - shard-iclb: PASS -> SKIP [fdo#109441] +1 * igt@kms_psr@psr2_primary_page_flip: - shard-iclb: NOTRUN -> SKIP [fdo#109441] +2 * igt@kms_setmode@basic: - shard-apl: PASS -> FAIL [fdo#99912] * igt@kms_vblank@pipe-a-ts-continuation-suspend: - shard-iclb: PASS -> FAIL [fdo#104894] * igt@prime_nv_pcopy@test2: - shard-iclb: NOTRUN -> SKIP [fdo#109291] +1 * igt@prime_vgem@sync-bsd1: - shard-glk: NOTRUN -> SKIP [fdo#109271] +17 #### Possible fixes #### * igt@gem_exec_parallel@default-contexts: - shard-snb: INCOMPLETE [fdo#105411] -> PASS * igt@gem_partial_pwrite_pread@writes-after-reads-display: - shard-iclb: TIMEOUT [fdo#109673] -> PASS * igt@gem_tiled_fence_blits@normal: - shard-snb: FAIL -> PASS * igt@i915_pm_rpm@dpms-lpsp: - shard-skl: INCOMPLETE [fdo#107807] -> PASS * igt@i915_pm_rpm@system-suspend: - shard-skl: INCOMPLETE [fdo#104108] / [fdo#107807] -> PASS * igt@i915_suspend@forcewake: - shard-skl: INCOMPLETE [fdo#104108] / [fdo#107773] -> PASS * igt@kms_cursor_crc@cursor-256x85-sliding: - shard-apl: FAIL [fdo#103232] -> PASS * igt@kms_cursor_legacy@cursor-vs-flip-atomic: - shard-iclb: FAIL [fdo#103355] -> PASS * igt@kms_draw_crc@draw-method-xrgb8888-mmap-gtt-untiled: - shard-skl: FAIL [fdo#108472] -> PASS * igt@kms_draw_crc@draw-method-xrgb8888-mmap-gtt-xtiled: - shard-skl: FAIL [fdo#107791] -> PASS * igt@kms_flip@2x-dpms-vs-vblank-race-interruptible: - shard-glk: FAIL [fdo#103060] -> PASS * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-move: - shard-iclb: FAIL [fdo#103167] -> PASS +4 * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-mmap-cpu: - shard-skl: FAIL [fdo#105682] -> PASS +1 * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-pwrite: - shard-iclb: FAIL [fdo#109247] -> PASS +20 * igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-cpu: - shard-iclb: FAIL [fdo#105682] / [fdo#109247] -> PASS * {igt@kms_plane@pixel-format-pipe-a-planes-source-clamping}: - shard-glk: SKIP [fdo#109271] -> PASS +1 * igt@kms_plane_scaling@pipe-b-scaler-with-pixel-format: - shard-glk: SKIP [fdo#109271] / [fdo#109278] -> PASS * igt@kms_psr@psr2_sprite_blt: - shard-iclb: SKIP [fdo#109441] -> PASS +2 * igt@kms_psr@sprite_mmap_cpu: - shard-iclb: FAIL [fdo#107383] / [fdo#110215] -> PASS +4 * igt@kms_rotation_crc@multiplane-rotation-cropping-bottom: - shard-kbl: DMESG-FAIL [fdo#105763] -> PASS #### Warnings #### * igt@i915_pm_rpm@modeset-non-lpsp-stress: - shard-skl: SKIP [fdo#109271] -> INCOMPLETE [fdo#107807] ### Piglit changes ### #### Issues hit #### * spec@glsl-1.30@execution@tex-miplevel-selection texture(bias) 2d: - pig-snb-2600: NOTRUN -> FAIL [fdo#110112] {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#100368]: https://bugs.freedesktop.org/show_bug.cgi?id=100368 [fdo#103060]: https://bugs.freedesktop.org/show_bug.cgi?id=103060 [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167 [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191 [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232 [fdo#103355]: https://bugs.freedesktop.org/show_bug.cgi?id=103355 [fdo#103833]: https://bugs.freedesktop.org/show_bug.cgi?id=103833 [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927 [fdo#104108]: https://bugs.freedesktop.org/show_bug.cgi?id=104108 [fdo#104782]: https://bugs.freedesktop.org/show_bug.cgi?id=104782 [fdo#104894]: https://bugs.freedesktop.org/show_bug.cgi?id=104894 [fdo#105411]: https://bugs.freedesktop.org/show_bug.cgi?id=105411 [fdo#105682]: https://bugs.freedesktop.org/show_bug.cgi?id=105682 [fdo#105683]: https://bugs.freedesktop.org/show_bug.cgi?id=105683 [fdo#105763]: https://bugs.freedesktop.org/show_bug.cgi?id=105763 [fdo#107362]: https://bugs.freedesktop.org/show_bug.cgi?id=107362 [fdo#107383]: https://bugs.freedesktop.org/show_bug.cgi?id=107383 [fdo#107773]: https://bugs.freedesktop.org/show_bug.cgi?id=107773 [fdo#107791]: https://bugs.freedesktop.org/show_bug.cgi?id=107791 [fdo#107807]: https://bugs.freedesktop.org/show_bug.cgi?id=107807 [fdo#107815]: https://bugs.freedesktop.org/show_bug.cgi?id=107815 [fdo#108040]: https://bugs.freedesktop.org/show_bug.cgi?id=108040 [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145 [fdo#108472]: https://bugs.freedesktop.org/show_bug.cgi?id=108472 [fdo#108590]: https://bugs.freedesktop.org/show_bug.cgi?id=108590 [fdo#108597]: https://bugs.freedesktop.org/show_bug.cgi?id=108597 [fdo#108739]: https://bugs.freedesktop.org/show_bug.cgi?id=108739 [fdo#108954]: https://bugs.freedesktop.org/show_bug.cgi?id=108954 [fdo#109247]: https://bugs.freedesktop.org/show_bug.cgi?id=109247 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274 [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276 [fdo#109277]: https://bugs.freedesktop.org/show_bug.cgi?id=109277 [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278 [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280 [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284 [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285 [fdo#109288]: https://bugs.freedesktop.org/show_bug.cgi?id=109288 [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289 [fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291 [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441 [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642 [fdo#109673]: https://bugs.freedesktop.org/show_bug.cgi?id=109673 [fdo#109674]: https://bugs.freedesktop.org/show_bug.cgi?id=109674 [fdo#110112]: https://bugs.freedesktop.org/show_bug.cgi?id=110112 [fdo#110215]: https://bugs.freedesktop.org/show_bug.cgi?id=110215 [fdo#110222]: https://bugs.freedesktop.org/show_bug.cgi?id=110222 [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912 Participating hosts (10 -> 10) ------------------------------ Additional (1): pig-snb-2600 Missing (1): shard-hsw Build changes ------------- * Linux: CI_DRM_5794 -> Patchwork_12572 CI_DRM_5794: 487d6c295c12d99c218b489ab39618831d7d31d6 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_4898: be2f88cd36fd4ba836d9f2453e90673c86649489 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_12572: d2b88ed60256bc87d88c67f6e31bc19a9a25e791 @ git://anongit.freedesktop.org/gfx-ci/linux piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12572/ _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
* ✓ Fi.CI.BAT: success for drm/i915/bios: iterate over child devices to initialize ddi_port_info (rev2) 2019-03-22 12:10 [PATCH] drm/i915/bios: iterate over child devices to initialize ddi_port_info Jani Nikula ` (3 preceding siblings ...) 2019-03-23 9:47 ` ✓ Fi.CI.IGT: success for drm/i915/bios: iterate over child devices to initialize ddi_port_info Patchwork @ 2019-03-23 9:51 ` Patchwork 2019-03-24 6:30 ` ✓ Fi.CI.IGT: " Patchwork 2019-03-25 13:30 ` [PATCH] drm/i915/bios: iterate over child devices to initialize ddi_port_info Jani Nikula 6 siblings, 0 replies; 8+ messages in thread From: Patchwork @ 2019-03-23 9:51 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx == Series Details == Series: drm/i915/bios: iterate over child devices to initialize ddi_port_info (rev2) URL : https://patchwork.freedesktop.org/series/58407/ State : success == Summary == CI Bug Log - changes from CI_DRM_5797 -> Patchwork_12583 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://patchwork.freedesktop.org/api/1.0/series/58407/revisions/2/mbox/ Known issues ------------ Here are the changes found in Patchwork_12583 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@amdgpu/amd_basic@query-info: - fi-bsw-kefka: NOTRUN -> SKIP [fdo#109271] +55 * igt@amdgpu/amd_cs_nop@sync-fork-compute0: - fi-icl-u3: NOTRUN -> SKIP [fdo#109315] +17 * igt@gem_exec_basic@basic-bsd2: - fi-icl-u3: NOTRUN -> SKIP [fdo#109276] +7 * igt@gem_exec_basic@readonly-bsd: - fi-pnv-d510: NOTRUN -> SKIP [fdo#109271] +76 * igt@gem_exec_parse@basic-rejected: - fi-icl-u3: NOTRUN -> SKIP [fdo#109289] +1 * igt@gem_exec_store@basic-bsd2: - fi-hsw-4770: NOTRUN -> SKIP [fdo#109271] +41 * igt@gem_mmap_gtt@basic-write-cpu-read-gtt: - fi-apl-guc: NOTRUN -> SKIP [fdo#109271] +50 * igt@i915_selftest@live_contexts: - fi-icl-u3: NOTRUN -> DMESG-FAIL [fdo#108569] * igt@i915_selftest@live_execlists: - fi-apl-guc: NOTRUN -> INCOMPLETE [fdo#103927] / [fdo#109720] * igt@kms_busy@basic-flip-a: - fi-bsw-n3050: NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +1 * igt@kms_busy@basic-flip-c: - fi-bsw-kefka: NOTRUN -> SKIP [fdo#109271] / [fdo#109278] - fi-pnv-d510: NOTRUN -> SKIP [fdo#109271] / [fdo#109278] - fi-blb-e6850: NOTRUN -> SKIP [fdo#109271] / [fdo#109278] - fi-byt-j1900: NOTRUN -> SKIP [fdo#109271] / [fdo#109278] * igt@kms_chamelium@hdmi-crc-fast: - fi-bsw-n3050: NOTRUN -> SKIP [fdo#109271] +62 - fi-byt-j1900: NOTRUN -> SKIP [fdo#109271] +52 - fi-icl-u3: NOTRUN -> SKIP [fdo#109284] +8 * igt@kms_chamelium@hdmi-edid-read: - fi-blb-e6850: NOTRUN -> SKIP [fdo#109271] +48 * igt@kms_force_connector_basic@force-edid: - fi-icl-u3: NOTRUN -> SKIP [fdo#109285] +3 * igt@kms_frontbuffer_tracking@basic: - fi-icl-u3: NOTRUN -> FAIL [fdo#103167] * igt@runner@aborted: - fi-apl-guc: NOTRUN -> FAIL [fdo#108622] / [fdo#109720] #### Possible fixes #### * igt@gem_exec_suspend@basic-s4-devices: - fi-blb-e6850: INCOMPLETE [fdo#107718] -> PASS * igt@gem_tiled_pread_basic: - fi-ilk-650: FAIL -> PASS [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167 [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927 [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718 [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569 [fdo#108622]: https://bugs.freedesktop.org/show_bug.cgi?id=108622 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276 [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278 [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284 [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285 [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289 [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315 [fdo#109720]: https://bugs.freedesktop.org/show_bug.cgi?id=109720 Participating hosts (33 -> 33) ------------------------------ Additional (7): fi-bsw-n3050 fi-byt-j1900 fi-apl-guc fi-hsw-4770 fi-icl-u3 fi-pnv-d510 fi-bsw-kefka Missing (7): fi-kbl-soraka fi-ilk-m540 fi-skl-gvtdvm fi-hsw-4200u fi-bwr-2160 fi-ctg-p8600 fi-bdw-samus Build changes ------------- * Linux: CI_DRM_5797 -> Patchwork_12583 CI_DRM_5797: 00cb3798a5d008c3f824fe7c89c663dba66155c3 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_4899: ba96339c238180b38d05d7fa2dca772d49eee332 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_12583: 899207824b48d39e28c30726266d62594e21cffc @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == 899207824b48 drm/i915/bios: iterate over child devices to initialize ddi_port_info == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12583/ _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
* ✓ Fi.CI.IGT: success for drm/i915/bios: iterate over child devices to initialize ddi_port_info (rev2) 2019-03-22 12:10 [PATCH] drm/i915/bios: iterate over child devices to initialize ddi_port_info Jani Nikula ` (4 preceding siblings ...) 2019-03-23 9:51 ` ✓ Fi.CI.BAT: success for drm/i915/bios: iterate over child devices to initialize ddi_port_info (rev2) Patchwork @ 2019-03-24 6:30 ` Patchwork 2019-03-25 13:30 ` [PATCH] drm/i915/bios: iterate over child devices to initialize ddi_port_info Jani Nikula 6 siblings, 0 replies; 8+ messages in thread From: Patchwork @ 2019-03-24 6:30 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx == Series Details == Series: drm/i915/bios: iterate over child devices to initialize ddi_port_info (rev2) URL : https://patchwork.freedesktop.org/series/58407/ State : success == Summary == CI Bug Log - changes from CI_DRM_5797_full -> Patchwork_12583_full ==================================================== Summary ------- **SUCCESS** No regressions found. Known issues ------------ Here are the changes found in Patchwork_12583_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_exec_capture@capture-bsd2: - shard-snb: NOTRUN -> SKIP [fdo#109271] +66 * igt@gem_tiled_fence_blits@normal: - shard-iclb: PASS -> TIMEOUT [fdo#109673] * igt@gem_workarounds@suspend-resume-context: - shard-skl: PASS -> INCOMPLETE [fdo#104108] / [fdo#107773] * igt@i915_pm_backlight@fade_with_suspend: - shard-skl: NOTRUN -> FAIL [fdo#107847] * igt@i915_suspend@sysfs-reader: - shard-skl: PASS -> INCOMPLETE [fdo#104108] * igt@kms_busy@basic-flip-d: - shard-snb: NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +7 * igt@kms_busy@extended-modeset-hang-newfb-render-b: - shard-apl: PASS -> DMESG-WARN [fdo#110222] * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-a: - shard-snb: NOTRUN -> DMESG-WARN [fdo#110222] * igt@kms_busy@extended-pageflip-hang-newfb-render-b: - shard-glk: NOTRUN -> DMESG-WARN [fdo#110222] * igt@kms_busy@extended-pageflip-hang-newfb-render-e: - shard-apl: NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +3 * igt@kms_busy@extended-pageflip-hang-oldfb-render-f: - shard-glk: NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +2 * igt@kms_chamelium@dp-hpd-storm-disable: - shard-glk: NOTRUN -> SKIP [fdo#109271] +68 * igt@kms_cursor_crc@cursor-256x256-dpms: - shard-glk: NOTRUN -> FAIL [fdo#103232] +2 * igt@kms_cursor_legacy@cursor-vs-flip-atomic: - shard-iclb: PASS -> FAIL [fdo#103355] * igt@kms_flip@2x-flip-vs-wf_vblank-interruptible: - shard-skl: NOTRUN -> SKIP [fdo#109271] +36 * igt@kms_flip_tiling@flip-x-tiled: - shard-skl: PASS -> FAIL [fdo#108145] / [fdo#108303] * igt@kms_frontbuffer_tracking@fbc-stridechange: - shard-iclb: PASS -> FAIL [fdo#105682] / [fdo#108040] * igt@kms_frontbuffer_tracking@fbc-suspend: - shard-iclb: PASS -> FAIL [fdo#103167] +7 * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-gtt: - shard-iclb: PASS -> FAIL [fdo#109247] +23 * igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-gtt: - shard-iclb: PASS -> FAIL [fdo#105682] / [fdo#109247] * igt@kms_frontbuffer_tracking@psr-rgb565-draw-render: - shard-apl: NOTRUN -> SKIP [fdo#109271] +34 * igt@kms_pipe_crc_basic@hang-read-crc-pipe-d: - shard-kbl: NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +2 * igt@kms_plane_alpha_blend@pipe-a-alpha-7efc: - shard-skl: NOTRUN -> FAIL [fdo#107815] / [fdo#108145] * igt@kms_plane_alpha_blend@pipe-b-alpha-opaque-fb: - shard-glk: NOTRUN -> FAIL [fdo#108145] * igt@kms_plane_alpha_blend@pipe-c-alpha-basic: - shard-kbl: NOTRUN -> FAIL [fdo#108145] / [fdo#108590] * igt@kms_plane_scaling@pipe-a-scaler-with-pixel-format: - shard-glk: PASS -> SKIP [fdo#109271] / [fdo#109278] +3 * igt@kms_psr@sprite_mmap_cpu: - shard-iclb: PASS -> FAIL [fdo#107383] / [fdo#110215] +2 * igt@kms_universal_plane@cursor-fb-leak-pipe-f: - shard-skl: NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +3 * igt@kms_vrr@flip-suspend: - shard-kbl: NOTRUN -> SKIP [fdo#109271] +33 * igt@perf_pmu@rc6: - shard-kbl: PASS -> SKIP [fdo#109271] #### Possible fixes #### * igt@gem_tiled_swapping@non-threaded: - shard-iclb: FAIL [fdo#108686] -> PASS * igt@i915_pm_rpm@fences: - shard-skl: INCOMPLETE [fdo#107807] -> PASS +1 * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic: - shard-glk: FAIL [fdo#104873] -> PASS * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite: - shard-iclb: FAIL [fdo#103167] -> PASS +5 * igt@kms_frontbuffer_tracking@psr-rgb101010-draw-blt: - shard-iclb: FAIL [fdo#109247] -> PASS +26 * igt@kms_plane_alpha_blend@pipe-a-coverage-7efc: - shard-skl: FAIL [fdo#107815] / [fdo#108145] -> PASS * igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min: - shard-skl: FAIL [fdo#108145] -> PASS * igt@kms_plane_scaling@pipe-c-scaler-with-pixel-format: - shard-glk: SKIP [fdo#109271] / [fdo#109278] -> PASS * igt@kms_psr@no_drrs: - shard-iclb: FAIL [fdo#108341] -> PASS * igt@kms_psr@primary_blt: - shard-iclb: FAIL [fdo#107383] / [fdo#110215] -> PASS +4 * igt@kms_rotation_crc@multiplane-rotation: - shard-kbl: INCOMPLETE [fdo#103665] -> PASS * igt@kms_setmode@basic: - shard-glk: FAIL [fdo#99912] -> PASS * igt@kms_vblank@pipe-c-query-busy: - shard-iclb: DMESG-WARN [fdo#109638] -> PASS * igt@prime_mmap_kms@buffer-sharing: - shard-apl: INCOMPLETE [fdo#103927] -> PASS {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167 [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232 [fdo#103355]: https://bugs.freedesktop.org/show_bug.cgi?id=103355 [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665 [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927 [fdo#104108]: https://bugs.freedesktop.org/show_bug.cgi?id=104108 [fdo#104873]: https://bugs.freedesktop.org/show_bug.cgi?id=104873 [fdo#105682]: https://bugs.freedesktop.org/show_bug.cgi?id=105682 [fdo#107383]: https://bugs.freedesktop.org/show_bug.cgi?id=107383 [fdo#107773]: https://bugs.freedesktop.org/show_bug.cgi?id=107773 [fdo#107807]: https://bugs.freedesktop.org/show_bug.cgi?id=107807 [fdo#107815]: https://bugs.freedesktop.org/show_bug.cgi?id=107815 [fdo#107847]: https://bugs.freedesktop.org/show_bug.cgi?id=107847 [fdo#108040]: https://bugs.freedesktop.org/show_bug.cgi?id=108040 [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145 [fdo#108303]: https://bugs.freedesktop.org/show_bug.cgi?id=108303 [fdo#108341]: https://bugs.freedesktop.org/show_bug.cgi?id=108341 [fdo#108590]: https://bugs.freedesktop.org/show_bug.cgi?id=108590 [fdo#108686]: https://bugs.freedesktop.org/show_bug.cgi?id=108686 [fdo#109247]: https://bugs.freedesktop.org/show_bug.cgi?id=109247 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278 [fdo#109638]: https://bugs.freedesktop.org/show_bug.cgi?id=109638 [fdo#109673]: https://bugs.freedesktop.org/show_bug.cgi?id=109673 [fdo#110215]: https://bugs.freedesktop.org/show_bug.cgi?id=110215 [fdo#110222]: https://bugs.freedesktop.org/show_bug.cgi?id=110222 [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912 Participating hosts (10 -> 9) ------------------------------ Missing (1): shard-hsw Build changes ------------- * Linux: CI_DRM_5797 -> Patchwork_12583 CI_DRM_5797: 00cb3798a5d008c3f824fe7c89c663dba66155c3 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_4899: ba96339c238180b38d05d7fa2dca772d49eee332 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_12583: 899207824b48d39e28c30726266d62594e21cffc @ git://anongit.freedesktop.org/gfx-ci/linux piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12583/ _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] drm/i915/bios: iterate over child devices to initialize ddi_port_info 2019-03-22 12:10 [PATCH] drm/i915/bios: iterate over child devices to initialize ddi_port_info Jani Nikula ` (5 preceding siblings ...) 2019-03-24 6:30 ` ✓ Fi.CI.IGT: " Patchwork @ 2019-03-25 13:30 ` Jani Nikula 6 siblings, 0 replies; 8+ messages in thread From: Jani Nikula @ 2019-03-25 13:30 UTC (permalink / raw) To: intel-gfx On Fri, 22 Mar 2019, Jani Nikula <jani.nikula@intel.com> wrote: > Iterate over child devices instead of ports in parse_ddi_ports() to > initialize dri_port_info. We'll eventually need to decide some stuff > based on the child device order, which may be different from the port > order. > > As a bonus, this allows better abstractions for e.g. dvo port mapping. > > There's a subtle change in the DDC pin and AUX channel sanitization as > we change the order. Otherwise, this should not change behaviour. > > Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > Signed-off-by: Jani Nikula <jani.nikula@intel.com> Pushed to dinq, thanks for the review. BR, Jani. > --- > drivers/gpu/drm/i915/i915_drv.h | 1 + > drivers/gpu/drm/i915/intel_bios.c | 104 +++++++++++++++++------------- > 2 files changed, 59 insertions(+), 46 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h > index fefcb39aefc4..d82d63dfa5a1 100644 > --- a/drivers/gpu/drm/i915/i915_drv.h > +++ b/drivers/gpu/drm/i915/i915_drv.h > @@ -954,6 +954,7 @@ struct ddi_vbt_port_info { > #define HDMI_LEVEL_SHIFT_UNKNOWN 0xff > u8 hdmi_level_shift; > > + u8 present:1; > u8 supports_dvi:1; > u8 supports_hdmi:1; > u8 supports_dp:1; > diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c > index 64f20175a6dc..1dc8d03ff127 100644 > --- a/drivers/gpu/drm/i915/intel_bios.c > +++ b/drivers/gpu/drm/i915/intel_bios.c > @@ -1247,10 +1247,11 @@ static void sanitize_ddc_pin(struct drm_i915_private *dev_priv, > if (!info->alternate_ddc_pin) > return; > > - for_each_port_masked(p, (1 << port) - 1) { > + for (p = PORT_A; p < I915_MAX_PORTS; p++) { > struct ddi_vbt_port_info *i = &dev_priv->vbt.ddi_port_info[p]; > > - if (info->alternate_ddc_pin != i->alternate_ddc_pin) > + if (p == port || !i->present || > + info->alternate_ddc_pin != i->alternate_ddc_pin) > continue; > > DRM_DEBUG_KMS("port %c trying to use the same DDC pin (0x%x) as port %c, " > @@ -1264,8 +1265,8 @@ static void sanitize_ddc_pin(struct drm_i915_private *dev_priv, > * port. Otherwise they share the same ddc bin and > * system couldn't communicate with them separately. > * > - * Due to parsing the ports in alphabetical order, > - * a higher port will always clobber a lower one. > + * Due to parsing the ports in child device order, > + * a later device will always clobber an earlier one. > */ > i->supports_dvi = false; > i->supports_hdmi = false; > @@ -1283,10 +1284,11 @@ static void sanitize_aux_ch(struct drm_i915_private *dev_priv, > if (!info->alternate_aux_channel) > return; > > - for_each_port_masked(p, (1 << port) - 1) { > + for (p = PORT_A; p < I915_MAX_PORTS; p++) { > struct ddi_vbt_port_info *i = &dev_priv->vbt.ddi_port_info[p]; > > - if (info->alternate_aux_channel != i->alternate_aux_channel) > + if (p == port || !i->present || > + info->alternate_aux_channel != i->alternate_aux_channel) > continue; > > DRM_DEBUG_KMS("port %c trying to use the same AUX CH (0x%x) as port %c, " > @@ -1300,8 +1302,8 @@ static void sanitize_aux_ch(struct drm_i915_private *dev_priv, > * port. Otherwise they share the same aux channel > * and system couldn't communicate with them separately. > * > - * Due to parsing the ports in alphabetical order, > - * a higher port will always clobber a lower one. > + * Due to parsing the ports in child device order, > + * a later device will always clobber an earlier one. > */ > i->supports_dp = false; > i->alternate_aux_channel = 0; > @@ -1349,49 +1351,58 @@ static u8 map_ddc_pin(struct drm_i915_private *dev_priv, u8 vbt_pin) > return 0; > } > > -static void parse_ddi_port(struct drm_i915_private *dev_priv, enum port port, > - u8 bdb_version) > +static enum port dvo_port_to_port(u8 dvo_port) > { > - struct child_device_config *it, *child = NULL; > - struct ddi_vbt_port_info *info = &dev_priv->vbt.ddi_port_info[port]; > - int i, j; > - bool is_dvi, is_hdmi, is_dp, is_edp, is_crt; > - /* Each DDI port can have more than one value on the "DVO Port" field, > + /* > + * Each DDI port can have more than one value on the "DVO Port" field, > * so look for all the possible values for each port. > */ > - int dvo_ports[][3] = { > - {DVO_PORT_HDMIA, DVO_PORT_DPA, -1}, > - {DVO_PORT_HDMIB, DVO_PORT_DPB, -1}, > - {DVO_PORT_HDMIC, DVO_PORT_DPC, -1}, > - {DVO_PORT_HDMID, DVO_PORT_DPD, -1}, > - {DVO_PORT_CRT, DVO_PORT_HDMIE, DVO_PORT_DPE}, > - {DVO_PORT_HDMIF, DVO_PORT_DPF, -1}, > + static const int dvo_ports[][3] = { > + [PORT_A] = { DVO_PORT_HDMIA, DVO_PORT_DPA, -1}, > + [PORT_B] = { DVO_PORT_HDMIB, DVO_PORT_DPB, -1}, > + [PORT_C] = { DVO_PORT_HDMIC, DVO_PORT_DPC, -1}, > + [PORT_D] = { DVO_PORT_HDMID, DVO_PORT_DPD, -1}, > + [PORT_E] = { DVO_PORT_CRT, DVO_PORT_HDMIE, DVO_PORT_DPE}, > + [PORT_F] = { DVO_PORT_HDMIF, DVO_PORT_DPF, -1}, > }; > + enum port port; > + int i; > > - /* > - * Find the first child device to reference the port, report if more > - * than one found. > - */ > - for (i = 0; i < dev_priv->vbt.child_dev_num; i++) { > - it = dev_priv->vbt.child_dev + i; > - > - for (j = 0; j < 3; j++) { > - if (dvo_ports[port][j] == -1) > + for (port = PORT_A; port < ARRAY_SIZE(dvo_ports); port++) { > + for (i = 0; i < ARRAY_SIZE(dvo_ports[port]); i++) { > + if (dvo_ports[port][i] == -1) > break; > > - if (it->dvo_port == dvo_ports[port][j]) { > - if (child) { > - DRM_DEBUG_KMS("More than one child device for port %c in VBT, using the first.\n", > - port_name(port)); > - } else { > - child = it; > - } > - } > + if (dvo_port == dvo_ports[port][i]) > + return port; > } > } > - if (!child) > + > + return PORT_NONE; > +} > + > +static void parse_ddi_port(struct drm_i915_private *dev_priv, > + const struct child_device_config *child, > + u8 bdb_version) > +{ > + struct ddi_vbt_port_info *info; > + bool is_dvi, is_hdmi, is_dp, is_edp, is_crt; > + enum port port; > + > + port = dvo_port_to_port(child->dvo_port); > + if (port == PORT_NONE) > return; > > + info = &dev_priv->vbt.ddi_port_info[port]; > + > + if (info->present) { > + DRM_DEBUG_KMS("More than one child device for port %c in VBT, using the first.\n", > + port_name(port)); > + return; > + } > + > + info->present = true; > + > is_dvi = child->device_type & DEVICE_TYPE_TMDS_DVI_SIGNALING; > is_dp = child->device_type & DEVICE_TYPE_DISPLAYPORT_OUTPUT; > is_crt = child->device_type & DEVICE_TYPE_ANALOG_OUTPUT; > @@ -1523,19 +1534,20 @@ static void parse_ddi_port(struct drm_i915_private *dev_priv, enum port port, > > static void parse_ddi_ports(struct drm_i915_private *dev_priv, u8 bdb_version) > { > - enum port port; > + const struct child_device_config *child; > + int i; > > if (!HAS_DDI(dev_priv) && !IS_CHERRYVIEW(dev_priv)) > return; > > - if (!dev_priv->vbt.child_dev_num) > - return; > - > if (bdb_version < 155) > return; > > - for (port = PORT_A; port < I915_MAX_PORTS; port++) > - parse_ddi_port(dev_priv, port, bdb_version); > + for (i = 0; i < dev_priv->vbt.child_dev_num; i++) { > + child = dev_priv->vbt.child_dev + i; > + > + parse_ddi_port(dev_priv, child, bdb_version); > + } > } > > static void -- Jani Nikula, Intel Open Source Graphics Center _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2019-03-25 13:28 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-03-22 12:10 [PATCH] drm/i915/bios: iterate over child devices to initialize ddi_port_info Jani Nikula 2019-03-22 12:52 ` ✗ Fi.CI.SPARSE: warning for " Patchwork 2019-03-22 13:14 ` ✓ Fi.CI.BAT: success " Patchwork 2019-03-23 9:32 ` ✗ Fi.CI.SPARSE: warning for drm/i915/bios: iterate over child devices to initialize ddi_port_info (rev2) Patchwork 2019-03-23 9:47 ` ✓ Fi.CI.IGT: success for drm/i915/bios: iterate over child devices to initialize ddi_port_info Patchwork 2019-03-23 9:51 ` ✓ Fi.CI.BAT: success for drm/i915/bios: iterate over child devices to initialize ddi_port_info (rev2) Patchwork 2019-03-24 6:30 ` ✓ Fi.CI.IGT: " Patchwork 2019-03-25 13:30 ` [PATCH] drm/i915/bios: iterate over child devices to initialize ddi_port_info Jani Nikula
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.