From: "NĂ­colas F. R. A. Prado" <[email protected]>

Add a new cap that drivers can set to signal they support CRTC (a.k.a.
post-blend) color pipelines.

Signed-off-by: NĂ­colas F. R. A. Prado <[email protected]>
Co-developed-by: Ariel D'Alessandro <[email protected]>
Signed-off-by: Ariel D'Alessandro <[email protected]>
Reviewed-by: Louis Chauvet <[email protected]>
---
 drivers/gpu/drm/drm_ioctl.c | 3 +++
 include/drm/drm_drv.h       | 6 ++++++
 include/uapi/drm/drm.h      | 6 ++++++
 3 files changed, 15 insertions(+)

diff --git a/drivers/gpu/drm/drm_ioctl.c b/drivers/gpu/drm/drm_ioctl.c
index ff193155129e7..2884075660ddd 100644
--- a/drivers/gpu/drm/drm_ioctl.c
+++ b/drivers/gpu/drm/drm_ioctl.c
@@ -304,6 +304,9 @@ static int drm_getcap(struct drm_device *dev, void *data, 
struct drm_file *file_
                req->value = drm_core_check_feature(dev, DRIVER_ATOMIC) &&
                             dev->mode_config.async_page_flip;
                break;
+       case DRM_CAP_CRTC_COLOR_PIPELINE:
+               req->value = drm_core_check_feature(dev, 
DRIVER_CRTC_COLOR_PIPELINE);
+               break;
        default:
                return -EINVAL;
        }
diff --git a/include/drm/drm_drv.h b/include/drm/drm_drv.h
index 42fc085f986de..2a57c50b4223e 100644
--- a/include/drm/drm_drv.h
+++ b/include/drm/drm_drv.h
@@ -122,6 +122,12 @@ enum drm_driver_feature {
         * the cursor planes to work correctly).
         */
        DRIVER_CURSOR_HOTSPOT           = BIT(9),
+       /**
+        * @DRIVER_CRTC_COLOR_PIPELINE:
+        *
+        * Driver supports CRTC (post-blend) color pipeline.
+        */
+       DRIVER_CRTC_COLOR_PIPELINE      = BIT(10),
 
        /* IMPORTANT: Below are all the legacy flags, add new ones above. */
 
diff --git a/include/uapi/drm/drm.h b/include/uapi/drm/drm.h
index 27cc159c1d275..d726828bdf408 100644
--- a/include/uapi/drm/drm.h
+++ b/include/uapi/drm/drm.h
@@ -812,6 +812,12 @@ struct drm_gem_change_handle {
  * commits.
  */
 #define DRM_CAP_ATOMIC_ASYNC_PAGE_FLIP 0x15
+/**
+ * DRM_CAP_CRTC_COLOR_PIPELINE
+ *
+ * If set to 1, the driver supports CRTC (post-blend) color pipelines.
+ */
+#define DRM_CAP_CRTC_COLOR_PIPELINE    0x16
 
 /* DRM_IOCTL_GET_CAP ioctl argument type */
 struct drm_get_cap {

-- 
2.51.0

Reply via email to