* [PATCH v2 0/2] Handle unsupported configuration with IF-ID
@ 2017-06-29 16:40 Mahesh Kumar
2017-06-29 16:40 ` [PATCH v2 1/2] drm/i915/skl+: Check for supported plane configuration in Interlace mode Mahesh Kumar
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Mahesh Kumar @ 2017-06-29 16:40 UTC (permalink / raw)
To: intel-gfx; +Cc: paulo.r.zanoni, maarten.lankhorst
Gen9+ Interlace fetch mode doesn't support few plane configurations & pipe scaling.
- Y-tile
- 90/270 rotation
- pipe/plane scaling
- 420 planar formats
Changes since V1:
- Address review comments from ville
Mahesh Kumar (2):
drm/i915/skl+: Check for supported plane configuration in Interlace
mode
drm/i915/skl+: Scaling not supported in IF-ID Interlace mode
drivers/gpu/drm/i915/intel_atomic_plane.c | 33 +++++++++++++++++++++++++++++++
drivers/gpu/drm/i915/intel_display.c | 10 ++++++++++
2 files changed, 43 insertions(+)
--
2.13.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v2 1/2] drm/i915/skl+: Check for supported plane configuration in Interlace mode
2017-06-29 16:40 [PATCH v2 0/2] Handle unsupported configuration with IF-ID Mahesh Kumar
@ 2017-06-29 16:40 ` Mahesh Kumar
2017-06-29 17:36 ` Ville Syrjälä
2017-06-29 16:40 ` [PATCH v2 2/2] drm/i915/skl+: Scaling not supported in IF-ID " Mahesh Kumar
2017-06-29 16:58 ` ✗ Fi.CI.BAT: warning for Handle unsupported configuration with IF-ID (rev2) Patchwork
2 siblings, 1 reply; 6+ messages in thread
From: Mahesh Kumar @ 2017-06-29 16:40 UTC (permalink / raw)
To: intel-gfx; +Cc: paulo.r.zanoni, maarten.lankhorst
In Gen9 platform Interlaced fetch mode doesn't support following plane
configuration:
- Y/Yf tiling
- 90/270 rotation
- YUV420 hybrid planar source pixel formats.
This patch adds check to fail the flip if any of the above configuration
is requested.
Changes since V1:
- handle checks in intel_plane_atomic_check_with_state (ville)
- takeout plane scaler checks, combine with pipe scaler in next patch
Signed-off-by: Mahesh Kumar <mahesh1.kumar@intel.com>
---
drivers/gpu/drm/i915/intel_atomic_plane.c | 33 +++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/drivers/gpu/drm/i915/intel_atomic_plane.c b/drivers/gpu/drm/i915/intel_atomic_plane.c
index 4325cb0a04f5..2b60a67c5393 100644
--- a/drivers/gpu/drm/i915/intel_atomic_plane.c
+++ b/drivers/gpu/drm/i915/intel_atomic_plane.c
@@ -114,6 +114,8 @@ int intel_plane_atomic_check_with_state(struct intel_crtc_state *crtc_state,
struct drm_i915_private *dev_priv = to_i915(plane->dev);
struct drm_plane_state *state = &intel_state->base;
struct intel_plane *intel_plane = to_intel_plane(plane);
+ const struct drm_display_mode *adjusted_mode =
+ &crtc_state->base.adjusted_mode;
int ret;
/*
@@ -173,6 +175,37 @@ int intel_plane_atomic_check_with_state(struct intel_crtc_state *crtc_state,
if (ret)
return ret;
+ /*
+ * Y-tiling is not supported in IF-ID Interlace mode in
+ * GEN9 and above.
+ * Scaling is not supported with Interlaced fetch mode.
+ * YUV420 hybrid planar source pixel formats are not supported with
+ * Interlaced fetch mode.
+ */
+ if (state->fb && INTEL_GEN(dev_priv) >= 9 && crtc_state->base.enable &&
+ adjusted_mode->flags & DRM_MODE_FLAG_INTERLACE) {
+ struct drm_framebuffer *fb = state->fb;
+ struct drm_format_name_buf format_name;
+
+ if (fb->modifier == I915_FORMAT_MOD_Y_TILED ||
+ fb->modifier == I915_FORMAT_MOD_Yf_TILED) {
+ DRM_DEBUG_KMS("Y/Yf tiling not supported in IF-ID mode\n");
+ return -EINVAL;
+ }
+
+ switch (fb->format->format) {
+ case DRM_FORMAT_NV12:
+ case DRM_FORMAT_YUV420:
+ case DRM_FORMAT_YVU420:
+ DRM_DEBUG_KMS("Unsupported pixel format %s for IF-ID\n",
+ drm_get_format_name(fb->format->format,
+ &format_name));
+ return -EINVAL;
+ default:
+ break;
+ }
+ }
+
/* FIXME pre-g4x don't work like this */
if (intel_state->base.visible)
crtc_state->active_planes |= BIT(intel_plane->id);
--
2.13.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v2 2/2] drm/i915/skl+: Scaling not supported in IF-ID Interlace mode
2017-06-29 16:40 [PATCH v2 0/2] Handle unsupported configuration with IF-ID Mahesh Kumar
2017-06-29 16:40 ` [PATCH v2 1/2] drm/i915/skl+: Check for supported plane configuration in Interlace mode Mahesh Kumar
@ 2017-06-29 16:40 ` Mahesh Kumar
2017-06-29 17:37 ` Ville Syrjälä
2017-06-29 16:58 ` ✗ Fi.CI.BAT: warning for Handle unsupported configuration with IF-ID (rev2) Patchwork
2 siblings, 1 reply; 6+ messages in thread
From: Mahesh Kumar @ 2017-06-29 16:40 UTC (permalink / raw)
To: intel-gfx; +Cc: paulo.r.zanoni, maarten.lankhorst
GEN9+ Interlace fetch mode doesn't support pipe/plane scaling,
This patch adds check to fail the flip if pipe/plane scaling is
requested in Interlace fetch mode.
Changes since V1:
- move check to skl_update_scaler (ville)
- mode to adjusted_mode (ville)
- combine pipe/plane scaling check
Signed-off-by: Mahesh Kumar <mahesh1.kumar@intel.com>
---
drivers/gpu/drm/i915/intel_display.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 4e03ca6c946f..4f4f3d4ac297 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -4612,6 +4612,9 @@ skl_update_scaler(struct intel_crtc_state *crtc_state, bool force_detach,
&crtc_state->scaler_state;
struct intel_crtc *intel_crtc =
to_intel_crtc(crtc_state->base.crtc);
+ struct drm_i915_private *dev_priv = to_i915(intel_crtc->base.dev);
+ const struct drm_display_mode *adjusted_mode =
+ &crtc_state->base.adjusted_mode;
int need_scaling;
/*
@@ -4621,6 +4624,13 @@ skl_update_scaler(struct intel_crtc_state *crtc_state, bool force_detach,
*/
need_scaling = src_w != dst_w || src_h != dst_h;
+ /* Scaling/fitting not supported in IF-ID mode in GEN9+ */
+ if (INTEL_GEN(dev_priv) >=9 && need_scaling && crtc_state->base.enable
+ && adjusted_mode->flags & DRM_MODE_FLAG_INTERLACE) {
+ DRM_DEBUG_KMS("Pipe/Plane scaling not supported with IF-ID mode\n");
+ return -EINVAL;
+ }
+
/*
* if plane is being disabled or scaler is no more required or force detach
* - free scaler binded to this plane/crtc
--
2.13.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 6+ messages in thread
* ✗ Fi.CI.BAT: warning for Handle unsupported configuration with IF-ID (rev2)
2017-06-29 16:40 [PATCH v2 0/2] Handle unsupported configuration with IF-ID Mahesh Kumar
2017-06-29 16:40 ` [PATCH v2 1/2] drm/i915/skl+: Check for supported plane configuration in Interlace mode Mahesh Kumar
2017-06-29 16:40 ` [PATCH v2 2/2] drm/i915/skl+: Scaling not supported in IF-ID " Mahesh Kumar
@ 2017-06-29 16:58 ` Patchwork
2 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2017-06-29 16:58 UTC (permalink / raw)
To: Kumar, Mahesh; +Cc: intel-gfx
== Series Details ==
Series: Handle unsupported configuration with IF-ID (rev2)
URL : https://patchwork.freedesktop.org/series/26546/
State : warning
== Summary ==
Series 26546v2 Handle unsupported configuration with IF-ID
https://patchwork.freedesktop.org/api/1.0/series/26546/revisions/2/mbox/
Test gem_exec_suspend:
Subgroup basic-s4-devices:
pass -> DMESG-WARN (fi-kbl-7560u) fdo#100125
Test kms_force_connector_basic:
Subgroup force-connector-state:
skip -> PASS (fi-snb-2520m) fdo#101048
Test kms_pipe_crc_basic:
Subgroup hang-read-crc-pipe-a:
pass -> DMESG-WARN (fi-byt-j1900)
Test drv_module_reload:
Subgroup basic-no-display:
pass -> DMESG-WARN (fi-bdw-5557u) k.org#196219
fdo#100125 https://bugs.freedesktop.org/show_bug.cgi?id=100125
fdo#101048 https://bugs.freedesktop.org/show_bug.cgi?id=101048
k.org#196219 https://bugzilla.kernel.org/show_bug.cgi?id=196219
fi-bdw-5557u total:279 pass:264 dwarn:4 dfail:0 fail:0 skip:11 time:447s
fi-bdw-gvtdvm total:279 pass:257 dwarn:8 dfail:0 fail:0 skip:14 time:428s
fi-blb-e6850 total:279 pass:224 dwarn:1 dfail:0 fail:0 skip:54 time:352s
fi-bsw-n3050 total:279 pass:243 dwarn:0 dfail:0 fail:0 skip:36 time:536s
fi-bxt-j4205 total:279 pass:260 dwarn:0 dfail:0 fail:0 skip:19 time:507s
fi-byt-j1900 total:279 pass:253 dwarn:2 dfail:0 fail:0 skip:24 time:480s
fi-byt-n2820 total:279 pass:250 dwarn:1 dfail:0 fail:0 skip:28 time:479s
fi-glk-2a total:279 pass:260 dwarn:0 dfail:0 fail:0 skip:19 time:593s
fi-hsw-4770 total:279 pass:259 dwarn:4 dfail:0 fail:0 skip:16 time:435s
fi-hsw-4770r total:279 pass:259 dwarn:4 dfail:0 fail:0 skip:16 time:414s
fi-ilk-650 total:279 pass:229 dwarn:0 dfail:0 fail:0 skip:50 time:415s
fi-ivb-3520m total:279 pass:261 dwarn:0 dfail:0 fail:0 skip:18 time:489s
fi-ivb-3770 total:279 pass:261 dwarn:0 dfail:0 fail:0 skip:18 time:474s
fi-kbl-7500u total:279 pass:261 dwarn:0 dfail:0 fail:0 skip:18 time:461s
fi-kbl-7560u total:279 pass:268 dwarn:1 dfail:0 fail:0 skip:10 time:568s
fi-kbl-r total:279 pass:260 dwarn:1 dfail:0 fail:0 skip:18 time:584s
fi-pnv-d510 total:279 pass:223 dwarn:1 dfail:0 fail:0 skip:55 time:558s
fi-skl-6260u total:279 pass:269 dwarn:0 dfail:0 fail:0 skip:10 time:458s
fi-skl-6700hq total:279 pass:223 dwarn:1 dfail:0 fail:30 skip:24 time:342s
fi-skl-6700k total:279 pass:257 dwarn:4 dfail:0 fail:0 skip:18 time:469s
fi-skl-6770hq total:279 pass:269 dwarn:0 dfail:0 fail:0 skip:10 time:483s
fi-skl-gvtdvm total:279 pass:266 dwarn:0 dfail:0 fail:0 skip:13 time:435s
fi-snb-2520m total:279 pass:251 dwarn:0 dfail:0 fail:0 skip:28 time:543s
fi-snb-2600 total:279 pass:250 dwarn:0 dfail:0 fail:0 skip:29 time:404s
f7d0276ea92c21303ea253af21cfff0778ed5a39 drm-tip: 2017y-06m-29d-15h-35m-54s UTC integration manifest
a181b47 drm/i915/skl+: Scaling not supported in IF-ID Interlace mode
d8610a7 drm/i915/skl+: Check for supported plane configuration in Interlace mode
== Logs ==
For more details see: https://intel-gfx-ci.01.org/CI/Patchwork_5074/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 1/2] drm/i915/skl+: Check for supported plane configuration in Interlace mode
2017-06-29 16:40 ` [PATCH v2 1/2] drm/i915/skl+: Check for supported plane configuration in Interlace mode Mahesh Kumar
@ 2017-06-29 17:36 ` Ville Syrjälä
0 siblings, 0 replies; 6+ messages in thread
From: Ville Syrjälä @ 2017-06-29 17:36 UTC (permalink / raw)
To: Mahesh Kumar; +Cc: intel-gfx, paulo.r.zanoni, maarten.lankhorst
On Thu, Jun 29, 2017 at 10:10:29PM +0530, Mahesh Kumar wrote:
> In Gen9 platform Interlaced fetch mode doesn't support following plane
> configuration:
> - Y/Yf tiling
> - 90/270 rotation
> - YUV420 hybrid planar source pixel formats.
>
> This patch adds check to fail the flip if any of the above configuration
> is requested.
>
> Changes since V1:
> - handle checks in intel_plane_atomic_check_with_state (ville)
> - takeout plane scaler checks, combine with pipe scaler in next patch
>
> Signed-off-by: Mahesh Kumar <mahesh1.kumar@intel.com>
> ---
> drivers/gpu/drm/i915/intel_atomic_plane.c | 33 +++++++++++++++++++++++++++++++
> 1 file changed, 33 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/intel_atomic_plane.c b/drivers/gpu/drm/i915/intel_atomic_plane.c
> index 4325cb0a04f5..2b60a67c5393 100644
> --- a/drivers/gpu/drm/i915/intel_atomic_plane.c
> +++ b/drivers/gpu/drm/i915/intel_atomic_plane.c
> @@ -114,6 +114,8 @@ int intel_plane_atomic_check_with_state(struct intel_crtc_state *crtc_state,
> struct drm_i915_private *dev_priv = to_i915(plane->dev);
> struct drm_plane_state *state = &intel_state->base;
> struct intel_plane *intel_plane = to_intel_plane(plane);
> + const struct drm_display_mode *adjusted_mode =
> + &crtc_state->base.adjusted_mode;
Indentation is off in several places. Pls fix your editor.
> int ret;
>
> /*
> @@ -173,6 +175,37 @@ int intel_plane_atomic_check_with_state(struct intel_crtc_state *crtc_state,
> if (ret)
> return ret;
>
> + /*
> + * Y-tiling is not supported in IF-ID Interlace mode in
> + * GEN9 and above.
> + * Scaling is not supported with Interlaced fetch mode.
> + * YUV420 hybrid planar source pixel formats are not supported with
> + * Interlaced fetch mode.
> + */
> + if (state->fb && INTEL_GEN(dev_priv) >= 9 && crtc_state->base.enable &&
> + adjusted_mode->flags & DRM_MODE_FLAG_INTERLACE) {
> + struct drm_framebuffer *fb = state->fb;
> + struct drm_format_name_buf format_name;
> +
> + if (fb->modifier == I915_FORMAT_MOD_Y_TILED ||
> + fb->modifier == I915_FORMAT_MOD_Yf_TILED) {
> + DRM_DEBUG_KMS("Y/Yf tiling not supported in IF-ID mode\n");
> + return -EINVAL;
> + }
> +
> + switch (fb->format->format) {
> + case DRM_FORMAT_NV12:
> + case DRM_FORMAT_YUV420:
> + case DRM_FORMAT_YVU420:
Non-NV12 should be dropped, but actually I think you can drop this check
entirely since skl_update_scaler() will already reject NV12 since
that always needs a scaler.
> + DRM_DEBUG_KMS("Unsupported pixel format %s for IF-ID\n",
> + drm_get_format_name(fb->format->format,
> + &format_name));
> + return -EINVAL;
> + default:
> + break;
> + }
> + }
> +
> /* FIXME pre-g4x don't work like this */
> if (intel_state->base.visible)
> crtc_state->active_planes |= BIT(intel_plane->id);
> --
> 2.13.0
--
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 2/2] drm/i915/skl+: Scaling not supported in IF-ID Interlace mode
2017-06-29 16:40 ` [PATCH v2 2/2] drm/i915/skl+: Scaling not supported in IF-ID " Mahesh Kumar
@ 2017-06-29 17:37 ` Ville Syrjälä
0 siblings, 0 replies; 6+ messages in thread
From: Ville Syrjälä @ 2017-06-29 17:37 UTC (permalink / raw)
To: Mahesh Kumar; +Cc: intel-gfx, paulo.r.zanoni, maarten.lankhorst
On Thu, Jun 29, 2017 at 10:10:30PM +0530, Mahesh Kumar wrote:
> GEN9+ Interlace fetch mode doesn't support pipe/plane scaling,
> This patch adds check to fail the flip if pipe/plane scaling is
> requested in Interlace fetch mode.
>
> Changes since V1:
> - move check to skl_update_scaler (ville)
> - mode to adjusted_mode (ville)
> - combine pipe/plane scaling check
>
> Signed-off-by: Mahesh Kumar <mahesh1.kumar@intel.com>
> ---
> drivers/gpu/drm/i915/intel_display.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 4e03ca6c946f..4f4f3d4ac297 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -4612,6 +4612,9 @@ skl_update_scaler(struct intel_crtc_state *crtc_state, bool force_detach,
> &crtc_state->scaler_state;
> struct intel_crtc *intel_crtc =
> to_intel_crtc(crtc_state->base.crtc);
> + struct drm_i915_private *dev_priv = to_i915(intel_crtc->base.dev);
> + const struct drm_display_mode *adjusted_mode =
> + &crtc_state->base.adjusted_mode;
> int need_scaling;
>
> /*
> @@ -4621,6 +4624,13 @@ skl_update_scaler(struct intel_crtc_state *crtc_state, bool force_detach,
> */
> need_scaling = src_w != dst_w || src_h != dst_h;
>
> + /* Scaling/fitting not supported in IF-ID mode in GEN9+ */
> + if (INTEL_GEN(dev_priv) >=9 && need_scaling && crtc_state->base.enable
> + && adjusted_mode->flags & DRM_MODE_FLAG_INTERLACE) {
Indentation is off, and we like to put the '&&' at the end of the
previous line rather than at the start of the new line.
> + DRM_DEBUG_KMS("Pipe/Plane scaling not supported with IF-ID mode\n");
> + return -EINVAL;
> + }
> +
> /*
> * if plane is being disabled or scaler is no more required or force detach
> * - free scaler binded to this plane/crtc
> --
> 2.13.0
--
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2017-06-29 17:37 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-29 16:40 [PATCH v2 0/2] Handle unsupported configuration with IF-ID Mahesh Kumar
2017-06-29 16:40 ` [PATCH v2 1/2] drm/i915/skl+: Check for supported plane configuration in Interlace mode Mahesh Kumar
2017-06-29 17:36 ` Ville Syrjälä
2017-06-29 16:40 ` [PATCH v2 2/2] drm/i915/skl+: Scaling not supported in IF-ID " Mahesh Kumar
2017-06-29 17:37 ` Ville Syrjälä
2017-06-29 16:58 ` ✗ Fi.CI.BAT: warning for Handle unsupported configuration with IF-ID (rev2) 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.