* [PATCH v3 1/2] drm/edid: Implement DisplayID Type IX & X timing blocks parsing
@ 2025-02-14 11:06 Egor Vorontsov
2025-02-14 11:06 ` [PATCH v3 2/2] drm/edid: Refactor DisplayID timing block structs Egor Vorontsov
` (3 more replies)
0 siblings, 4 replies; 7+ messages in thread
From: Egor Vorontsov @ 2025-02-14 11:06 UTC (permalink / raw)
To: linux-kernel
Cc: dri-devel, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
Jani Nikula, Egor Vorontsov, Maximilian Boße
Some newer high refresh rate consumer monitors (including those by Samsung)
make use of DisplayID 2.1 timing blocks in their EDID data, notably for
their highest refresh rate modes. Such modes won't be available as of now.
Implement partial support for such blocks in order to enable native
support of HRR modes of most such monitors for users without having to rely
on EDID patching/override (or need thereof).
Closes: https://gitlab.freedesktop.org/drm/misc/kernel/-/issues/55
Suggested-by: Maximilian Boße <max@bosse.io>
Signed-off-by: Egor Vorontsov <sdoregor@sdore.me>
---
drivers/gpu/drm/drm_displayid_internal.h | 13 +++++
drivers/gpu/drm/drm_edid.c | 63 ++++++++++++++++++++++++
2 files changed, 76 insertions(+)
diff --git a/drivers/gpu/drm/drm_displayid_internal.h b/drivers/gpu/drm/drm_displayid_internal.h
index aee1b86a73c1..84831ecfdb6e 100644
--- a/drivers/gpu/drm/drm_displayid_internal.h
+++ b/drivers/gpu/drm/drm_displayid_internal.h
@@ -66,6 +66,7 @@ struct drm_edid;
#define DATA_BLOCK_2_STEREO_DISPLAY_INTERFACE 0x27
#define DATA_BLOCK_2_TILED_DISPLAY_TOPOLOGY 0x28
#define DATA_BLOCK_2_CONTAINER_ID 0x29
+#define DATA_BLOCK_2_TYPE_10_FORMULA_TIMING 0x2a
#define DATA_BLOCK_2_VENDOR_SPECIFIC 0x7e
#define DATA_BLOCK_2_CTA_DISPLAY_ID 0x81
@@ -129,6 +130,18 @@ struct displayid_detailed_timing_block {
struct displayid_detailed_timings_1 timings[];
};
+struct displayid_formula_timings_9 {
+ u8 flags;
+ __le16 hactive;
+ __le16 vactive;
+ u8 vrefresh;
+} __packed;
+
+struct displayid_formula_timing_block {
+ struct displayid_block base;
+ struct displayid_formula_timings_9 timings[];
+} __packed;
+
#define DISPLAYID_VESA_MSO_OVERLAP GENMASK(3, 0)
#define DISPLAYID_VESA_MSO_MODE GENMASK(6, 5)
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 13bc4c290b17..03edf0e1598e 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -6833,6 +6833,66 @@ static int add_displayid_detailed_1_modes(struct drm_connector *connector,
return num_modes;
}
+static struct drm_display_mode *drm_mode_displayid_formula(struct drm_device *dev,
+ const struct displayid_formula_timings_9 *timings,
+ bool type_10)
+{
+ struct drm_display_mode *mode;
+ u16 hactive = le16_to_cpu(timings->hactive) + 1;
+ u16 vactive = le16_to_cpu(timings->vactive) + 1;
+ u8 timing_formula = timings->flags & 0x7;
+
+ /* TODO: support RB-v2 & RB-v3 */
+ if (timing_formula > 1)
+ return NULL;
+
+ /* TODO: support video-optimized refresh rate */
+ if (timings->flags & (1 << 4))
+ drm_dbg_kms(dev, "Fractional vrefresh is not implemented, proceeding with non-video-optimized refresh rate");
+
+ mode = drm_cvt_mode(dev, hactive, vactive, timings->vrefresh + 1, timing_formula == 1, false, false);
+ if (!mode)
+ return NULL;
+
+ /* TODO: interpret S3D flags */
+
+ mode->type = DRM_MODE_TYPE_DRIVER;
+ drm_mode_set_name(mode);
+
+ return mode;
+}
+
+static int add_displayid_formula_modes(struct drm_connector *connector,
+ const struct displayid_block *block)
+{
+ const struct displayid_formula_timing_block *formula_block = (struct displayid_formula_timing_block *)block;
+ int num_timings;
+ struct drm_display_mode *newmode;
+ int num_modes = 0;
+ bool type_10 = block->tag == DATA_BLOCK_2_TYPE_10_FORMULA_TIMING;
+ int timing_size = 6 + ((formula_block->base.rev & 0x70) >> 4);
+
+ /* extended blocks are not supported yet */
+ if (timing_size != 6)
+ return 0;
+
+ if (block->num_bytes % timing_size)
+ return 0;
+
+ num_timings = block->num_bytes / timing_size;
+ for (int i = 0; i < num_timings; i++) {
+ const struct displayid_formula_timings_9 *timings = &formula_block->timings[i];
+
+ newmode = drm_mode_displayid_formula(connector->dev, timings, type_10);
+ if (!newmode)
+ continue;
+
+ drm_mode_probed_add(connector, newmode);
+ num_modes++;
+ }
+ return num_modes;
+}
+
static int add_displayid_detailed_modes(struct drm_connector *connector,
const struct drm_edid *drm_edid)
{
@@ -6845,6 +6905,9 @@ static int add_displayid_detailed_modes(struct drm_connector *connector,
if (block->tag == DATA_BLOCK_TYPE_1_DETAILED_TIMING ||
block->tag == DATA_BLOCK_2_TYPE_7_DETAILED_TIMING)
num_modes += add_displayid_detailed_1_modes(connector, block);
+ else if (block->tag == DATA_BLOCK_2_TYPE_9_FORMULA_TIMING ||
+ block->tag == DATA_BLOCK_2_TYPE_10_FORMULA_TIMING)
+ num_modes += add_displayid_formula_modes(connector, block);
}
displayid_iter_end(&iter);
--
2.48.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v3 2/2] drm/edid: Refactor DisplayID timing block structs
2025-02-14 11:06 [PATCH v3 1/2] drm/edid: Implement DisplayID Type IX & X timing blocks parsing Egor Vorontsov
@ 2025-02-14 11:06 ` Egor Vorontsov
2025-02-14 16:07 ` [PATCH v3 1/2] drm/edid: Implement DisplayID Type IX & X timing blocks parsing Jani Nikula
` (2 subsequent siblings)
3 siblings, 0 replies; 7+ messages in thread
From: Egor Vorontsov @ 2025-02-14 11:06 UTC (permalink / raw)
To: linux-kernel
Cc: dri-devel, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
Jani Nikula, Egor Vorontsov
Using le16 instead of u8[2].
Suggested-by: Jani Nikula <jani.nikula@linux.intel.com>
Signed-off-by: Egor Vorontsov <sdoregor@sdore.me>
---
drivers/gpu/drm/drm_displayid_internal.h | 18 +++++++--------
drivers/gpu/drm/drm_edid.c | 28 ++++++++++++------------
2 files changed, 23 insertions(+), 23 deletions(-)
diff --git a/drivers/gpu/drm/drm_displayid_internal.h b/drivers/gpu/drm/drm_displayid_internal.h
index 84831ecfdb6e..957dd0619f5c 100644
--- a/drivers/gpu/drm/drm_displayid_internal.h
+++ b/drivers/gpu/drm/drm_displayid_internal.h
@@ -115,20 +115,20 @@ struct displayid_tiled_block {
struct displayid_detailed_timings_1 {
u8 pixel_clock[3];
u8 flags;
- u8 hactive[2];
- u8 hblank[2];
- u8 hsync[2];
- u8 hsw[2];
- u8 vactive[2];
- u8 vblank[2];
- u8 vsync[2];
- u8 vsw[2];
+ __le16 hactive;
+ __le16 hblank;
+ __le16 hsync;
+ __le16 hsw;
+ __le16 vactive;
+ __le16 vblank;
+ __le16 vsync;
+ __le16 vsw;
} __packed;
struct displayid_detailed_timing_block {
struct displayid_block base;
struct displayid_detailed_timings_1 timings[];
-};
+} __packed;
struct displayid_formula_timings_9 {
u8 flags;
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 03edf0e1598e..32807cefc819 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -6760,23 +6760,23 @@ static void update_display_info(struct drm_connector *connector,
}
static struct drm_display_mode *drm_mode_displayid_detailed(struct drm_device *dev,
- struct displayid_detailed_timings_1 *timings,
+ const struct displayid_detailed_timings_1 *timings,
bool type_7)
{
struct drm_display_mode *mode;
- unsigned pixel_clock = (timings->pixel_clock[0] |
- (timings->pixel_clock[1] << 8) |
- (timings->pixel_clock[2] << 16)) + 1;
- unsigned hactive = (timings->hactive[0] | timings->hactive[1] << 8) + 1;
- unsigned hblank = (timings->hblank[0] | timings->hblank[1] << 8) + 1;
- unsigned hsync = (timings->hsync[0] | (timings->hsync[1] & 0x7f) << 8) + 1;
- unsigned hsync_width = (timings->hsw[0] | timings->hsw[1] << 8) + 1;
- unsigned vactive = (timings->vactive[0] | timings->vactive[1] << 8) + 1;
- unsigned vblank = (timings->vblank[0] | timings->vblank[1] << 8) + 1;
- unsigned vsync = (timings->vsync[0] | (timings->vsync[1] & 0x7f) << 8) + 1;
- unsigned vsync_width = (timings->vsw[0] | timings->vsw[1] << 8) + 1;
- bool hsync_positive = (timings->hsync[1] >> 7) & 0x1;
- bool vsync_positive = (timings->vsync[1] >> 7) & 0x1;
+ unsigned int pixel_clock = (timings->pixel_clock[0] |
+ (timings->pixel_clock[1] << 8) |
+ (timings->pixel_clock[2] << 16)) + 1;
+ unsigned int hactive = le16_to_cpu(timings->hactive) + 1;
+ unsigned int hblank = le16_to_cpu(timings->hblank) + 1;
+ unsigned int hsync = (le16_to_cpu(timings->hsync) & 0x7fff) + 1;
+ unsigned int hsync_width = le16_to_cpu(timings->hsw) + 1;
+ unsigned int vactive = le16_to_cpu(timings->vactive) + 1;
+ unsigned int vblank = le16_to_cpu(timings->vblank) + 1;
+ unsigned int vsync = (le16_to_cpu(timings->vsync) & 0x7fff) + 1;
+ unsigned int vsync_width = le16_to_cpu(timings->vsw) + 1;
+ bool hsync_positive = le16_to_cpu(timings->hsync) & (1 << 15);
+ bool vsync_positive = le16_to_cpu(timings->vsync) & (1 << 15);
mode = drm_mode_create(dev);
if (!mode)
--
2.48.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v3 1/2] drm/edid: Implement DisplayID Type IX & X timing blocks parsing
2025-02-14 11:06 [PATCH v3 1/2] drm/edid: Implement DisplayID Type IX & X timing blocks parsing Egor Vorontsov
2025-02-14 11:06 ` [PATCH v3 2/2] drm/edid: Refactor DisplayID timing block structs Egor Vorontsov
@ 2025-02-14 16:07 ` Jani Nikula
2025-02-14 17:53 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [v3,1/2] " Patchwork
2025-02-14 18:09 ` ✗ i915.CI.BAT: failure " Patchwork
3 siblings, 0 replies; 7+ messages in thread
From: Jani Nikula @ 2025-02-14 16:07 UTC (permalink / raw)
To: Egor Vorontsov; +Cc: intel-gfx
On Fri, 14 Feb 2025, Egor Vorontsov <sdoregor@sdore.me> wrote:
> Some newer high refresh rate consumer monitors (including those by Samsung)
> make use of DisplayID 2.1 timing blocks in their EDID data, notably for
> their highest refresh rate modes. Such modes won't be available as of now.
>
> Implement partial support for such blocks in order to enable native
> support of HRR modes of most such monitors for users without having to rely
> on EDID patching/override (or need thereof).
>
> Closes: https://gitlab.freedesktop.org/drm/misc/kernel/-/issues/55
> Suggested-by: Maximilian Boße <max@bosse.io>
> Signed-off-by: Egor Vorontsov <sdoregor@sdore.me>
PS. I bounced the messages to intel-gfx to have Intel CI run these.
> ---
> drivers/gpu/drm/drm_displayid_internal.h | 13 +++++
> drivers/gpu/drm/drm_edid.c | 63 ++++++++++++++++++++++++
> 2 files changed, 76 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_displayid_internal.h b/drivers/gpu/drm/drm_displayid_internal.h
> index aee1b86a73c1..84831ecfdb6e 100644
> --- a/drivers/gpu/drm/drm_displayid_internal.h
> +++ b/drivers/gpu/drm/drm_displayid_internal.h
> @@ -66,6 +66,7 @@ struct drm_edid;
> #define DATA_BLOCK_2_STEREO_DISPLAY_INTERFACE 0x27
> #define DATA_BLOCK_2_TILED_DISPLAY_TOPOLOGY 0x28
> #define DATA_BLOCK_2_CONTAINER_ID 0x29
> +#define DATA_BLOCK_2_TYPE_10_FORMULA_TIMING 0x2a
> #define DATA_BLOCK_2_VENDOR_SPECIFIC 0x7e
> #define DATA_BLOCK_2_CTA_DISPLAY_ID 0x81
>
> @@ -129,6 +130,18 @@ struct displayid_detailed_timing_block {
> struct displayid_detailed_timings_1 timings[];
> };
>
> +struct displayid_formula_timings_9 {
> + u8 flags;
> + __le16 hactive;
> + __le16 vactive;
> + u8 vrefresh;
> +} __packed;
> +
> +struct displayid_formula_timing_block {
> + struct displayid_block base;
> + struct displayid_formula_timings_9 timings[];
> +} __packed;
> +
> #define DISPLAYID_VESA_MSO_OVERLAP GENMASK(3, 0)
> #define DISPLAYID_VESA_MSO_MODE GENMASK(6, 5)
>
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index 13bc4c290b17..03edf0e1598e 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -6833,6 +6833,66 @@ static int add_displayid_detailed_1_modes(struct drm_connector *connector,
> return num_modes;
> }
>
> +static struct drm_display_mode *drm_mode_displayid_formula(struct drm_device *dev,
> + const struct displayid_formula_timings_9 *timings,
> + bool type_10)
> +{
> + struct drm_display_mode *mode;
> + u16 hactive = le16_to_cpu(timings->hactive) + 1;
> + u16 vactive = le16_to_cpu(timings->vactive) + 1;
> + u8 timing_formula = timings->flags & 0x7;
> +
> + /* TODO: support RB-v2 & RB-v3 */
> + if (timing_formula > 1)
> + return NULL;
> +
> + /* TODO: support video-optimized refresh rate */
> + if (timings->flags & (1 << 4))
> + drm_dbg_kms(dev, "Fractional vrefresh is not implemented, proceeding with non-video-optimized refresh rate");
> +
> + mode = drm_cvt_mode(dev, hactive, vactive, timings->vrefresh + 1, timing_formula == 1, false, false);
> + if (!mode)
> + return NULL;
> +
> + /* TODO: interpret S3D flags */
> +
> + mode->type = DRM_MODE_TYPE_DRIVER;
> + drm_mode_set_name(mode);
> +
> + return mode;
> +}
> +
> +static int add_displayid_formula_modes(struct drm_connector *connector,
> + const struct displayid_block *block)
> +{
> + const struct displayid_formula_timing_block *formula_block = (struct displayid_formula_timing_block *)block;
> + int num_timings;
> + struct drm_display_mode *newmode;
> + int num_modes = 0;
> + bool type_10 = block->tag == DATA_BLOCK_2_TYPE_10_FORMULA_TIMING;
> + int timing_size = 6 + ((formula_block->base.rev & 0x70) >> 4);
> +
> + /* extended blocks are not supported yet */
> + if (timing_size != 6)
> + return 0;
> +
> + if (block->num_bytes % timing_size)
> + return 0;
> +
> + num_timings = block->num_bytes / timing_size;
> + for (int i = 0; i < num_timings; i++) {
> + const struct displayid_formula_timings_9 *timings = &formula_block->timings[i];
> +
> + newmode = drm_mode_displayid_formula(connector->dev, timings, type_10);
> + if (!newmode)
> + continue;
> +
> + drm_mode_probed_add(connector, newmode);
> + num_modes++;
> + }
> + return num_modes;
> +}
> +
> static int add_displayid_detailed_modes(struct drm_connector *connector,
> const struct drm_edid *drm_edid)
> {
> @@ -6845,6 +6905,9 @@ static int add_displayid_detailed_modes(struct drm_connector *connector,
> if (block->tag == DATA_BLOCK_TYPE_1_DETAILED_TIMING ||
> block->tag == DATA_BLOCK_2_TYPE_7_DETAILED_TIMING)
> num_modes += add_displayid_detailed_1_modes(connector, block);
> + else if (block->tag == DATA_BLOCK_2_TYPE_9_FORMULA_TIMING ||
> + block->tag == DATA_BLOCK_2_TYPE_10_FORMULA_TIMING)
> + num_modes += add_displayid_formula_modes(connector, block);
> }
> displayid_iter_end(&iter);
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 7+ messages in thread
* ✗ Fi.CI.CHECKPATCH: warning for series starting with [v3,1/2] drm/edid: Implement DisplayID Type IX & X timing blocks parsing
2025-02-14 11:06 [PATCH v3 1/2] drm/edid: Implement DisplayID Type IX & X timing blocks parsing Egor Vorontsov
2025-02-14 11:06 ` [PATCH v3 2/2] drm/edid: Refactor DisplayID timing block structs Egor Vorontsov
2025-02-14 16:07 ` [PATCH v3 1/2] drm/edid: Implement DisplayID Type IX & X timing blocks parsing Jani Nikula
@ 2025-02-14 17:53 ` Patchwork
2025-02-14 18:09 ` ✗ i915.CI.BAT: failure " Patchwork
3 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2025-02-14 17:53 UTC (permalink / raw)
To: Egor Vorontsov; +Cc: intel-gfx
== Series Details ==
Series: series starting with [v3,1/2] drm/edid: Implement DisplayID Type IX & X timing blocks parsing
URL : https://patchwork.freedesktop.org/series/144887/
State : warning
== Summary ==
Error: dim checkpatch failed
6652ef3c4e6a drm/edid: Implement DisplayID Type IX & X timing blocks parsing
-:62: WARNING:LONG_LINE: line length of 109 exceeds 100 columns
#62: FILE: drivers/gpu/drm/drm_edid.c:6837:
+ const struct displayid_formula_timings_9 *timings,
-:78: WARNING:LONG_LINE: line length of 109 exceeds 100 columns
#78: FILE: drivers/gpu/drm/drm_edid.c:6853:
+ mode = drm_cvt_mode(dev, hactive, vactive, timings->vrefresh + 1, timing_formula == 1, false, false);
-:93: WARNING:LONG_LINE: line length of 116 exceeds 100 columns
#93: FILE: drivers/gpu/drm/drm_edid.c:6868:
+ const struct displayid_formula_timing_block *formula_block = (struct displayid_formula_timing_block *)block;
total: 0 errors, 3 warnings, 0 checks, 100 lines checked
e063ac33bb03 drm/edid: Refactor DisplayID timing block structs
-:54: WARNING:LONG_LINE: line length of 111 exceeds 100 columns
#54: FILE: drivers/gpu/drm/drm_edid.c:6763:
+ const struct displayid_detailed_timings_1 *timings,
total: 0 errors, 1 warnings, 0 checks, 66 lines checked
^ permalink raw reply [flat|nested] 7+ messages in thread
* ✗ i915.CI.BAT: failure for series starting with [v3,1/2] drm/edid: Implement DisplayID Type IX & X timing blocks parsing
2025-02-14 11:06 [PATCH v3 1/2] drm/edid: Implement DisplayID Type IX & X timing blocks parsing Egor Vorontsov
` (2 preceding siblings ...)
2025-02-14 17:53 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [v3,1/2] " Patchwork
@ 2025-02-14 18:09 ` Patchwork
2025-04-14 19:00 ` Egor Vorontsov
3 siblings, 1 reply; 7+ messages in thread
From: Patchwork @ 2025-02-14 18:09 UTC (permalink / raw)
To: Egor Vorontsov; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 3657 bytes --]
== Series Details ==
Series: series starting with [v3,1/2] drm/edid: Implement DisplayID Type IX & X timing blocks parsing
URL : https://patchwork.freedesktop.org/series/144887/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_16136 -> Patchwork_144887v1
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with Patchwork_144887v1 absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in Patchwork_144887v1, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
to document this new failure mode, which will reduce false positives in CI.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_144887v1/index.html
Participating hosts (42 -> 41)
------------------------------
Additional (1): fi-pnv-d510
Missing (2): bat-arlh-2 fi-snb-2520m
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in Patchwork_144887v1:
### IGT changes ###
#### Possible regressions ####
* igt@kms_pipe_crc_basic@hang-read-crc@pipe-b-dp-1:
- bat-apl-1: [PASS][1] -> [DMESG-WARN][2] +1 other test dmesg-warn
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16136/bat-apl-1/igt@kms_pipe_crc_basic@hang-read-crc@pipe-b-dp-1.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_144887v1/bat-apl-1/igt@kms_pipe_crc_basic@hang-read-crc@pipe-b-dp-1.html
Known issues
------------
Here are the changes found in Patchwork_144887v1 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_pm_rpm@module-reload:
- bat-dg2-11: [PASS][3] -> [FAIL][4] ([i915#13633])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16136/bat-dg2-11/igt@i915_pm_rpm@module-reload.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_144887v1/bat-dg2-11/igt@i915_pm_rpm@module-reload.html
* igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence:
- bat-dg2-11: [PASS][5] -> [SKIP][6] ([i915#9197]) +1 other test skip
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16136/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_144887v1/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html
* igt@kms_psr@psr-primary-mmap-gtt:
- fi-pnv-d510: NOTRUN -> [SKIP][7] +33 other tests skip
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_144887v1/fi-pnv-d510/igt@kms_psr@psr-primary-mmap-gtt.html
#### Possible fixes ####
* igt@dmabuf@all-tests:
- bat-apl-1: [INCOMPLETE][8] ([i915#12904]) -> [PASS][9] +1 other test pass
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16136/bat-apl-1/igt@dmabuf@all-tests.html
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_144887v1/bat-apl-1/igt@dmabuf@all-tests.html
[i915#12904]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12904
[i915#13633]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13633
[i915#9197]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9197
Build changes
-------------
* Linux: CI_DRM_16136 -> Patchwork_144887v1
CI-20190529: 20190529
CI_DRM_16136: 371df966fcc8fbfb21725c2e5eb32b5c1eb12b36 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_8230: 8230
Patchwork_144887v1: 371df966fcc8fbfb21725c2e5eb32b5c1eb12b36 @ git://anongit.freedesktop.org/gfx-ci/linux
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_144887v1/index.html
[-- Attachment #2: Type: text/html, Size: 4387 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: ✗ i915.CI.BAT: failure for series starting with [v3,1/2] drm/edid: Implement DisplayID Type IX & X timing blocks parsing
2025-02-14 18:09 ` ✗ i915.CI.BAT: failure " Patchwork
@ 2025-04-14 19:00 ` Egor Vorontsov
2025-04-15 9:15 ` Jani Nikula
0 siblings, 1 reply; 7+ messages in thread
From: Egor Vorontsov @ 2025-04-14 19:00 UTC (permalink / raw)
To: intel-gfx, linux-kernel
Cc: dri-devel, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
Jani Nikula, Egor Vorontsov
The patchset seems stalled, presumably because of this CI dead end.
Is there anything I can do about this issue, or did the thread just get
lost? Some are even pinging me directly on the state of this now.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: ✗ i915.CI.BAT: failure for series starting with [v3,1/2] drm/edid: Implement DisplayID Type IX & X timing blocks parsing
2025-04-14 19:00 ` Egor Vorontsov
@ 2025-04-15 9:15 ` Jani Nikula
0 siblings, 0 replies; 7+ messages in thread
From: Jani Nikula @ 2025-04-15 9:15 UTC (permalink / raw)
To: Egor Vorontsov, intel-gfx, linux-kernel
Cc: dri-devel, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
Egor Vorontsov
On Mon, 14 Apr 2025, Egor Vorontsov <sdoregor@sdore.me> wrote:
> The patchset seems stalled, presumably because of this CI dead end.
>
> Is there anything I can do about this issue, or did the thread just get
> lost? Some are even pinging me directly on the state of this now.
I'm sorry, totally my fault, I dropped the ball.
I resent the patches for fresh results [1], and will merge them via
drm-misc-next.
BR,
Jani.
[1] https://lore.kernel.org/r/cover.1744708239.git.jani.nikula@intel.com
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-04-15 10:53 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-14 11:06 [PATCH v3 1/2] drm/edid: Implement DisplayID Type IX & X timing blocks parsing Egor Vorontsov
2025-02-14 11:06 ` [PATCH v3 2/2] drm/edid: Refactor DisplayID timing block structs Egor Vorontsov
2025-02-14 16:07 ` [PATCH v3 1/2] drm/edid: Implement DisplayID Type IX & X timing blocks parsing Jani Nikula
2025-02-14 17:53 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [v3,1/2] " Patchwork
2025-02-14 18:09 ` ✗ i915.CI.BAT: failure " Patchwork
2025-04-14 19:00 ` Egor Vorontsov
2025-04-15 9:15 ` Jani Nikula
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).