Merge drm/drm-next into drm-intel-next-queued
[linux-2.6-block.git] / include / drm / drm_connector.h
index dd0552cb747232cc7ac89003c6af846d6b90a0e5..af0a761f52f0ef7d2ff055431c4f990a95de627b 100644 (file)
@@ -508,6 +508,18 @@ struct drm_connector_state {
         * drm_writeback_signal_completion()
         */
        struct drm_writeback_job *writeback_job;
+
+       /**
+        * @max_requested_bpc: Connector property to limit the maximum bit
+        * depth of the pixels.
+        */
+       u8 max_requested_bpc;
+
+       /**
+        * @max_bpc: Connector max_bpc based on the requested max_bpc property
+        * and the connector bpc limitations obtained from edid.
+        */
+       u8 max_bpc;
 };
 
 /**
@@ -973,6 +985,12 @@ struct drm_connector {
         */
        struct drm_property_blob *path_blob_ptr;
 
+       /**
+        * @max_bpc_property: Default connector property for the max bpc to be
+        * driven out of the connector.
+        */
+       struct drm_property *max_bpc_property;
+
 #define DRM_CONNECTOR_POLL_HPD (1 << 0)
 #define DRM_CONNECTOR_POLL_CONNECT (1 << 1)
 #define DRM_CONNECTOR_POLL_DISCONNECT (1 << 2)
@@ -1269,6 +1287,8 @@ void drm_connector_set_link_status_property(struct drm_connector *connector,
                                            uint64_t link_status);
 int drm_connector_init_panel_orientation_property(
        struct drm_connector *connector, int width, int height);
+int drm_connector_attach_max_bpc_property(struct drm_connector *connector,
+                                         int min, int max);
 
 /**
  * struct drm_tile_group - Tile group metadata