Upstreaming the stereo v6 series

Daniel Vetter daniel at ffwll.ch
Thu Sep 26 02:40:52 PDT 2013


On Wed, Sep 25, 2013 at 05:47:48PM +0100, Damien Lespiau wrote:
> Hi,
> 
> So this series looks like a good candidate to be merged in one tree.
> 
> Beside the new 3d flags added to the mode structure, the other new API
> is the SET_CLIENT_CAP ioctl. It seems that this new ioctl could already
> be potentially useful for user space to tell us they want the "primary"
> plane explosed as a DRM plane.
> 
> The i915 bits depend on the lastest drm-intel(-next-queued) so it'd be
> simpler to merge this series in drm-intel rather than drm-next. Options
> are:
> 
>   - merge it through drm-intel (yey!)
> 
>   - merge it through drm-next once the current drm-intel has been merged
>     (will probably need a rebase because of the crtc_clock addition)
> 
>   - merge the drm patches through drm-next and the drm/i915 ones through
>     drm-intel, but that'll likely need me to rebase the i915 patches as
>     well.
> 
> All in all, it'd be much easier to merge it through drm-intel (if people
> are happy with the current state of the series, of course).

As quickly discussed with Dave on irc I've merged the entire patch pile
into drm-intel. Thanks for the patches and review.

One thing I've noticed is that using flags to enumerate the 3d modes is a
bit error-prone - we've already had tons of fun with the sync flags where
two bits each represent one logical bool. I think we should fix this up
while we still can like this:


diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
index bafe612..08caf92 100644
--- a/include/uapi/drm/drm_mode.h
+++ b/include/uapi/drm/drm_mode.h
@@ -58,14 +58,16 @@
 #define DRM_MODE_FLAG_PIXMUX			(1<<11)
 #define DRM_MODE_FLAG_DBLCLK			(1<<12)
 #define DRM_MODE_FLAG_CLKDIV2			(1<<13)
+#define DRM_MODE_FLAG_3D_NONE			(0<<14)
 #define DRM_MODE_FLAG_3D_FRAME_PACKING		(1<<14)
-#define DRM_MODE_FLAG_3D_FIELD_ALTERNATIVE	(1<<15)
-#define DRM_MODE_FLAG_3D_LINE_ALTERNATIVE	(1<<16)
-#define DRM_MODE_FLAG_3D_SIDE_BY_SIDE_FULL	(1<<17)
-#define DRM_MODE_FLAG_3D_L_DEPTH		(1<<18)
-#define DRM_MODE_FLAG_3D_L_DEPTH_GFX_GFX_DEPTH	(1<<19)
-#define DRM_MODE_FLAG_3D_TOP_AND_BOTTOM		(1<<20)
-#define DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF	(1<<21)
+#define DRM_MODE_FLAG_3D_FIELD_ALTERNATIVE	(2<<14)
+#define DRM_MODE_FLAG_3D_LINE_ALTERNATIVE	(3<<14)
+#define DRM_MODE_FLAG_3D_SIDE_BY_SIDE_FULL	(4<<14)
+#define DRM_MODE_FLAG_3D_L_DEPTH		(5<<14)
+#define DRM_MODE_FLAG_3D_L_DEPTH_GFX_GFX_DEPTH	(6<<14)
+#define DRM_MODE_FLAG_3D_TOP_AND_BOTTOM		(7<<14)
+#define DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF	(8<<14)
+#define DRM_MODE_FLAG_3D_MAX			(9<<14)
 
 /* DPMS flags */
 /* bit compatible with the xorg definitions. */

Care to supply this little fixup (plus adjusted _MASK and userspace input
checks ofc).
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch


More information about the dri-devel mailing list