* [PATCH] drm: Fix plane type uabi breakage
@ 2016-09-23 6:35 Daniel Vetter
2016-09-23 6:44 ` Jani Nikula
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Daniel Vetter @ 2016-09-23 6:35 UTC (permalink / raw)
To: Intel Graphics Development, DRI Development; +Cc: Daniel Vetter, Daniel Vetter
Turns out assuming that only stuff in uabi is uabi is a bit naive, and
we have a bunch of properties for which the enum values are placed in
random headers. A proper fix would be to split out uapi include
headers, but meanwhile sprinkle at least some warning over them.
Fixes: 532b36712ddf ("drm/doc: Polish for drm_plane.[hc]")
Cc: Archit Taneja <architt@codeaurora.org>
Cc: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
include/drm/drm_blend.h | 3 +++
include/drm/drm_plane.h | 19 +++++++++++--------
2 files changed, 14 insertions(+), 8 deletions(-)
diff --git a/include/drm/drm_blend.h b/include/drm/drm_blend.h
index 868f0364e939..36baa175de99 100644
--- a/include/drm/drm_blend.h
+++ b/include/drm/drm_blend.h
@@ -33,6 +33,9 @@ struct drm_atomic_state;
* Rotation property bits. DRM_ROTATE_<degrees> rotates the image by the
* specified amount in degrees in counter clockwise direction. DRM_REFLECT_X and
* DRM_REFLECT_Y reflects the image along the specified axis prior to rotation
+ *
+ * WARNING: These defines are UABI since they're exposed in the rotation
+ * property.
*/
#define DRM_ROTATE_0 BIT(0)
#define DRM_ROTATE_90 BIT(1)
diff --git a/include/drm/drm_plane.h b/include/drm/drm_plane.h
index 256219bfd07b..43cf193e54d6 100644
--- a/include/drm/drm_plane.h
+++ b/include/drm/drm_plane.h
@@ -333,9 +333,20 @@ struct drm_plane_funcs {
* DRM_CLIENT_CAP_UNIVERSAL_PLANES client capability bit to indicate that they
* wish to receive a universal plane list containing all plane types. See also
* drm_for_each_legacy_plane().
+ *
+ * WARNING: The values of this enum is UABI since they're exposed in the "type"
+ * property.
*/
enum drm_plane_type {
/**
+ * @DRM_PLANE_TYPE_OVERLAY:
+ *
+ * Overlay planes represent all non-primary, non-cursor planes. Some
+ * drivers refer to these types of planes as "sprites" internally.
+ */
+ DRM_PLANE_TYPE_OVERLAY,
+
+ /**
* @DRM_PLANE_TYPE_PRIMARY:
*
* Primary planes represent a "main" plane for a CRTC. Primary planes
@@ -353,14 +364,6 @@ enum drm_plane_type {
* DRM_IOCTL_MODE_CURSOR2 IOCTLs.
*/
DRM_PLANE_TYPE_CURSOR,
-
- /**
- * @DRM_PLANE_TYPE_OVERLAY:
- *
- * Overlay planes represent all non-primary, non-cursor planes. Some
- * drivers refer to these types of planes as "sprites" internally.
- */
- DRM_PLANE_TYPE_OVERLAY,
};
--
2.7.4
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] drm: Fix plane type uabi breakage
2016-09-23 6:35 [PATCH] drm: Fix plane type uabi breakage Daniel Vetter
@ 2016-09-23 6:44 ` Jani Nikula
2016-09-23 7:02 ` Sean Paul
2016-09-23 6:53 ` Archit Taneja
2016-09-23 7:20 ` ✓ Fi.CI.BAT: success for " Patchwork
2 siblings, 1 reply; 5+ messages in thread
From: Jani Nikula @ 2016-09-23 6:44 UTC (permalink / raw)
To: Intel Graphics Development, DRI Development
Cc: Daniel Vetter, Archit Taneja, Daniel Vetter
On Fri, 23 Sep 2016, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> Turns out assuming that only stuff in uabi is uabi is a bit naive, and
> we have a bunch of properties for which the enum values are placed in
> random headers. A proper fix would be to split out uapi include
> headers, but meanwhile sprinkle at least some warning over them.
>
> Fixes: 532b36712ddf ("drm/doc: Polish for drm_plane.[hc]")
> Cc: Archit Taneja <architt@codeaurora.org>
> Cc: Sean Paul <seanpaul@chromium.org>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
> ---
> include/drm/drm_blend.h | 3 +++
> include/drm/drm_plane.h | 19 +++++++++++--------
> 2 files changed, 14 insertions(+), 8 deletions(-)
>
> diff --git a/include/drm/drm_blend.h b/include/drm/drm_blend.h
> index 868f0364e939..36baa175de99 100644
> --- a/include/drm/drm_blend.h
> +++ b/include/drm/drm_blend.h
> @@ -33,6 +33,9 @@ struct drm_atomic_state;
> * Rotation property bits. DRM_ROTATE_<degrees> rotates the image by the
> * specified amount in degrees in counter clockwise direction. DRM_REFLECT_X and
> * DRM_REFLECT_Y reflects the image along the specified axis prior to rotation
> + *
> + * WARNING: These defines are UABI since they're exposed in the rotation
> + * property.
> */
> #define DRM_ROTATE_0 BIT(0)
> #define DRM_ROTATE_90 BIT(1)
> diff --git a/include/drm/drm_plane.h b/include/drm/drm_plane.h
> index 256219bfd07b..43cf193e54d6 100644
> --- a/include/drm/drm_plane.h
> +++ b/include/drm/drm_plane.h
> @@ -333,9 +333,20 @@ struct drm_plane_funcs {
> * DRM_CLIENT_CAP_UNIVERSAL_PLANES client capability bit to indicate that they
> * wish to receive a universal plane list containing all plane types. See also
> * drm_for_each_legacy_plane().
> + *
> + * WARNING: The values of this enum is UABI since they're exposed in the "type"
> + * property.
> */
> enum drm_plane_type {
> /**
> + * @DRM_PLANE_TYPE_OVERLAY:
> + *
> + * Overlay planes represent all non-primary, non-cursor planes. Some
> + * drivers refer to these types of planes as "sprites" internally.
> + */
> + DRM_PLANE_TYPE_OVERLAY,
> +
> + /**
> * @DRM_PLANE_TYPE_PRIMARY:
> *
> * Primary planes represent a "main" plane for a CRTC. Primary planes
> @@ -353,14 +364,6 @@ enum drm_plane_type {
> * DRM_IOCTL_MODE_CURSOR2 IOCTLs.
> */
> DRM_PLANE_TYPE_CURSOR,
> -
> - /**
> - * @DRM_PLANE_TYPE_OVERLAY:
> - *
> - * Overlay planes represent all non-primary, non-cursor planes. Some
> - * drivers refer to these types of planes as "sprites" internally.
> - */
> - DRM_PLANE_TYPE_OVERLAY,
> };
--
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] drm: Fix plane type uabi breakage
2016-09-23 6:35 [PATCH] drm: Fix plane type uabi breakage Daniel Vetter
2016-09-23 6:44 ` Jani Nikula
@ 2016-09-23 6:53 ` Archit Taneja
2016-09-23 7:20 ` ✓ Fi.CI.BAT: success for " Patchwork
2 siblings, 0 replies; 5+ messages in thread
From: Archit Taneja @ 2016-09-23 6:53 UTC (permalink / raw)
To: Daniel Vetter, Intel Graphics Development, DRI Development; +Cc: Daniel Vetter
On 09/23/2016 12:05 PM, Daniel Vetter wrote:
> Turns out assuming that only stuff in uabi is uabi is a bit naive, and
> we have a bunch of properties for which the enum values are placed in
> random headers. A proper fix would be to split out uapi include
> headers, but meanwhile sprinkle at least some warning over them.
>
> Fixes: 532b36712ddf ("drm/doc: Polish for drm_plane.[hc]")
> Cc: Archit Taneja <architt@codeaurora.org>
> Cc: Sean Paul <seanpaul@chromium.org>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Reviewed-by: Archit Taneja <architt@codeaurora.org>
> ---
> include/drm/drm_blend.h | 3 +++
> include/drm/drm_plane.h | 19 +++++++++++--------
> 2 files changed, 14 insertions(+), 8 deletions(-)
>
> diff --git a/include/drm/drm_blend.h b/include/drm/drm_blend.h
> index 868f0364e939..36baa175de99 100644
> --- a/include/drm/drm_blend.h
> +++ b/include/drm/drm_blend.h
> @@ -33,6 +33,9 @@ struct drm_atomic_state;
> * Rotation property bits. DRM_ROTATE_<degrees> rotates the image by the
> * specified amount in degrees in counter clockwise direction. DRM_REFLECT_X and
> * DRM_REFLECT_Y reflects the image along the specified axis prior to rotation
> + *
> + * WARNING: These defines are UABI since they're exposed in the rotation
> + * property.
> */
> #define DRM_ROTATE_0 BIT(0)
> #define DRM_ROTATE_90 BIT(1)
> diff --git a/include/drm/drm_plane.h b/include/drm/drm_plane.h
> index 256219bfd07b..43cf193e54d6 100644
> --- a/include/drm/drm_plane.h
> +++ b/include/drm/drm_plane.h
> @@ -333,9 +333,20 @@ struct drm_plane_funcs {
> * DRM_CLIENT_CAP_UNIVERSAL_PLANES client capability bit to indicate that they
> * wish to receive a universal plane list containing all plane types. See also
> * drm_for_each_legacy_plane().
> + *
> + * WARNING: The values of this enum is UABI since they're exposed in the "type"
> + * property.
> */
> enum drm_plane_type {
> /**
> + * @DRM_PLANE_TYPE_OVERLAY:
> + *
> + * Overlay planes represent all non-primary, non-cursor planes. Some
> + * drivers refer to these types of planes as "sprites" internally.
> + */
> + DRM_PLANE_TYPE_OVERLAY,
> +
> + /**
> * @DRM_PLANE_TYPE_PRIMARY:
> *
> * Primary planes represent a "main" plane for a CRTC. Primary planes
> @@ -353,14 +364,6 @@ enum drm_plane_type {
> * DRM_IOCTL_MODE_CURSOR2 IOCTLs.
> */
> DRM_PLANE_TYPE_CURSOR,
> -
> - /**
> - * @DRM_PLANE_TYPE_OVERLAY:
> - *
> - * Overlay planes represent all non-primary, non-cursor planes. Some
> - * drivers refer to these types of planes as "sprites" internally.
> - */
> - DRM_PLANE_TYPE_OVERLAY,
> };
>
>
>
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] drm: Fix plane type uabi breakage
2016-09-23 6:44 ` Jani Nikula
@ 2016-09-23 7:02 ` Sean Paul
0 siblings, 0 replies; 5+ messages in thread
From: Sean Paul @ 2016-09-23 7:02 UTC (permalink / raw)
To: Jani Nikula
Cc: Daniel Vetter, Intel Graphics Development, Archit Taneja,
DRI Development, Daniel Vetter
On Thu, Sep 22, 2016 at 11:44 PM, Jani Nikula
<jani.nikula@linux.intel.com> wrote:
> On Fri, 23 Sep 2016, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
>> Turns out assuming that only stuff in uabi is uabi is a bit naive, and
>> we have a bunch of properties for which the enum values are placed in
>> random headers. A proper fix would be to split out uapi include
>> headers, but meanwhile sprinkle at least some warning over them.
>>
>> Fixes: 532b36712ddf ("drm/doc: Polish for drm_plane.[hc]")
>> Cc: Archit Taneja <architt@codeaurora.org>
>> Cc: Sean Paul <seanpaul@chromium.org>
>> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
>
> Reviewed-by: Jani Nikula <jani.nikula@intel.com>
>
Thanks, applied to drm-misc
Sean
>
>> ---
>> include/drm/drm_blend.h | 3 +++
>> include/drm/drm_plane.h | 19 +++++++++++--------
>> 2 files changed, 14 insertions(+), 8 deletions(-)
>>
>> diff --git a/include/drm/drm_blend.h b/include/drm/drm_blend.h
>> index 868f0364e939..36baa175de99 100644
>> --- a/include/drm/drm_blend.h
>> +++ b/include/drm/drm_blend.h
>> @@ -33,6 +33,9 @@ struct drm_atomic_state;
>> * Rotation property bits. DRM_ROTATE_<degrees> rotates the image by the
>> * specified amount in degrees in counter clockwise direction. DRM_REFLECT_X and
>> * DRM_REFLECT_Y reflects the image along the specified axis prior to rotation
>> + *
>> + * WARNING: These defines are UABI since they're exposed in the rotation
>> + * property.
>> */
>> #define DRM_ROTATE_0 BIT(0)
>> #define DRM_ROTATE_90 BIT(1)
>> diff --git a/include/drm/drm_plane.h b/include/drm/drm_plane.h
>> index 256219bfd07b..43cf193e54d6 100644
>> --- a/include/drm/drm_plane.h
>> +++ b/include/drm/drm_plane.h
>> @@ -333,9 +333,20 @@ struct drm_plane_funcs {
>> * DRM_CLIENT_CAP_UNIVERSAL_PLANES client capability bit to indicate that they
>> * wish to receive a universal plane list containing all plane types. See also
>> * drm_for_each_legacy_plane().
>> + *
>> + * WARNING: The values of this enum is UABI since they're exposed in the "type"
>> + * property.
>> */
>> enum drm_plane_type {
>> /**
>> + * @DRM_PLANE_TYPE_OVERLAY:
>> + *
>> + * Overlay planes represent all non-primary, non-cursor planes. Some
>> + * drivers refer to these types of planes as "sprites" internally.
>> + */
>> + DRM_PLANE_TYPE_OVERLAY,
>> +
>> + /**
>> * @DRM_PLANE_TYPE_PRIMARY:
>> *
>> * Primary planes represent a "main" plane for a CRTC. Primary planes
>> @@ -353,14 +364,6 @@ enum drm_plane_type {
>> * DRM_IOCTL_MODE_CURSOR2 IOCTLs.
>> */
>> DRM_PLANE_TYPE_CURSOR,
>> -
>> - /**
>> - * @DRM_PLANE_TYPE_OVERLAY:
>> - *
>> - * Overlay planes represent all non-primary, non-cursor planes. Some
>> - * drivers refer to these types of planes as "sprites" internally.
>> - */
>> - DRM_PLANE_TYPE_OVERLAY,
>> };
>
> --
> Jani Nikula, Intel Open Source Technology Center
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 5+ messages in thread
* ✓ Fi.CI.BAT: success for drm: Fix plane type uabi breakage
2016-09-23 6:35 [PATCH] drm: Fix plane type uabi breakage Daniel Vetter
2016-09-23 6:44 ` Jani Nikula
2016-09-23 6:53 ` Archit Taneja
@ 2016-09-23 7:20 ` Patchwork
2 siblings, 0 replies; 5+ messages in thread
From: Patchwork @ 2016-09-23 7:20 UTC (permalink / raw)
To: Daniel Vetter; +Cc: intel-gfx
== Series Details ==
Series: drm: Fix plane type uabi breakage
URL : https://patchwork.freedesktop.org/series/12816/
State : success
== Summary ==
Series 12816v1 drm: Fix plane type uabi breakage
https://patchwork.freedesktop.org/api/1.0/series/12816/revisions/1/mbox/
Test kms_busy:
Subgroup basic-flip-default-a:
fail -> PASS (fi-ivb-3520m)
fail -> PASS (fi-skl-6700k)
fail -> PASS (fi-skl-6260u)
fail -> PASS (fi-hsw-4770r)
fail -> PASS (fi-skl-6770hq)
fail -> PASS (fi-byt-n2820)
fail -> PASS (fi-snb-2520m)
fail -> PASS (fi-ilk-650)
fail -> PASS (fi-snb-2600)
fail -> PASS (fi-skl-6700hq)
fail -> PASS (fi-bdw-5557u)
fail -> PASS (fi-hsw-4770k)
Subgroup basic-flip-default-b:
fail -> PASS (fi-ivb-3520m)
fail -> PASS (fi-skl-6700k)
fail -> PASS (fi-skl-6260u)
fail -> PASS (fi-hsw-4770r)
fail -> PASS (fi-skl-6770hq)
fail -> PASS (fi-byt-n2820)
fail -> PASS (fi-snb-2520m)
fail -> PASS (fi-ilk-650)
fail -> PASS (fi-snb-2600)
fail -> PASS (fi-skl-6700hq)
fail -> PASS (fi-bdw-5557u)
fail -> PASS (fi-hsw-4770k)
Subgroup basic-flip-default-c:
fail -> PASS (fi-skl-6770hq)
fail -> PASS (fi-bsw-n3050)
fail -> PASS (fi-ivb-3520m)
fail -> PASS (fi-hsw-4770k)
fail -> PASS (fi-skl-6260u)
fail -> PASS (fi-hsw-4770r)
fail -> PASS (fi-skl-6700k)
fail -> PASS (fi-bdw-5557u)
fail -> PASS (fi-skl-6700hq)
Test kms_cursor_legacy:
Subgroup basic-flip-after-cursor-legacy:
fail -> PASS (fi-ivb-3520m)
fail -> PASS (fi-skl-6700hq)
fail -> PASS (fi-skl-6260u)
fail -> PASS (fi-hsw-4770r)
fail -> PASS (fi-skl-6770hq)
fail -> PASS (fi-byt-n2820)
fail -> PASS (fi-snb-2520m)
fail -> PASS (fi-ilk-650)
fail -> PASS (fi-snb-2600)
fail -> PASS (fi-bsw-n3050)
fail -> PASS (fi-skl-6700k)
fail -> PASS (fi-bdw-5557u)
fail -> PASS (fi-hsw-4770k)
Subgroup basic-flip-after-cursor-varying-size:
fail -> PASS (fi-ivb-3520m)
fail -> PASS (fi-skl-6700hq)
fail -> PASS (fi-skl-6260u)
fail -> PASS (fi-hsw-4770r)
fail -> PASS (fi-skl-6770hq)
fail -> PASS (fi-byt-n2820)
fail -> PASS (fi-snb-2520m)
fail -> PASS (fi-ilk-650)
fail -> PASS (fi-snb-2600)
fail -> PASS (fi-bsw-n3050)
fail -> PASS (fi-skl-6700k)
fail -> PASS (fi-bdw-5557u)
fail -> PASS (fi-hsw-4770k)
Subgroup basic-flip-before-cursor-legacy:
fail -> PASS (fi-ivb-3520m)
fail -> PASS (fi-skl-6700hq)
fail -> PASS (fi-skl-6260u)
fail -> PASS (fi-hsw-4770r)
fail -> PASS (fi-skl-6770hq)
fail -> PASS (fi-byt-n2820)
fail -> PASS (fi-snb-2520m)
fail -> PASS (fi-ilk-650)
fail -> PASS (fi-snb-2600)
fail -> PASS (fi-bsw-n3050)
fail -> PASS (fi-skl-6700k)
fail -> PASS (fi-bdw-5557u)
fail -> PASS (fi-hsw-4770k)
Subgroup basic-flip-before-cursor-varying-size:
fail -> PASS (fi-ivb-3520m)
fail -> PASS (fi-skl-6700hq)
fail -> PASS (fi-skl-6260u)
fail -> PASS (fi-hsw-4770r)
fail -> PASS (fi-skl-6770hq)
fail -> PASS (fi-byt-n2820)
fail -> PASS (fi-snb-2520m)
fail -> PASS (fi-ilk-650)
fail -> PASS (fi-snb-2600)
fail -> PASS (fi-bsw-n3050)
fail -> PASS (fi-skl-6700k)
fail -> PASS (fi-bdw-5557u)
fail -> PASS (fi-hsw-4770k)
Test kms_pipe_crc_basic:
Subgroup hang-read-crc-pipe-a:
fail -> SKIP (fi-bsw-n3050)
WARNING: Long output truncated
Results at /archive/results/CI_IGT_test/Patchwork_2571/
20d331a0ba55d8b330962974e815e04418bb7429 drm-intel-nightly: 2016y-09m-22d-16h-04m-36s UTC integration manifest
c4699c6 drm: Fix plane type uabi breakage
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2016-09-23 7:20 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-23 6:35 [PATCH] drm: Fix plane type uabi breakage Daniel Vetter
2016-09-23 6:44 ` Jani Nikula
2016-09-23 7:02 ` Sean Paul
2016-09-23 6:53 ` Archit Taneja
2016-09-23 7:20 ` ✓ Fi.CI.BAT: success for " 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.