drm/rockchip: add loader protect for encoder
[firefly-linux-kernel-4.4.55.git] / include / drm / drm_crtc_helper.h
index 3febb4b9fce9243793fbaf3e8dbb331fe6adf81d..8b41a8323eda709330205ee4148687abdfdb8b5a 100644 (file)
@@ -139,6 +139,7 @@ struct drm_crtc_helper_funcs {
  * @mode_set (like shared PLLs).
  */
 struct drm_encoder_helper_funcs {
+       int (*loader_protect)(struct drm_encoder *encoder, bool on);
        void (*dpms)(struct drm_encoder *encoder, int mode);
        void (*save)(struct drm_encoder *encoder);
        void (*restore)(struct drm_encoder *encoder);
@@ -167,6 +168,7 @@ struct drm_encoder_helper_funcs {
 
 /**
  * struct drm_connector_helper_funcs - helper operations for connectors
+ * @loader_protect: protect loader logo connector's power
  * @get_modes: get mode list for this connector
  * @mode_valid: is this mode valid on the given connector? (optional)
  * @best_encoder: return the preferred encoder for this connector
@@ -175,6 +177,7 @@ struct drm_encoder_helper_funcs {
  * The helper operations are called by the mid-layer CRTC helper.
  */
 struct drm_connector_helper_funcs {
+       int (*loader_protect)(struct drm_connector *connector, bool on);
        int (*get_modes)(struct drm_connector *connector);
        enum drm_mode_status (*mode_valid)(struct drm_connector *connector,
                                           struct drm_display_mode *mode);
@@ -189,6 +192,9 @@ extern bool drm_crtc_helper_set_mode(struct drm_crtc *crtc,
                                     struct drm_display_mode *mode,
                                     int x, int y,
                                     struct drm_framebuffer *old_fb);
+extern void drm_helper_crtc_enable_color_mgmt(struct drm_crtc *crtc,
+                                             int degamma_lut_size,
+                                             int gamma_lut_size);
 extern bool drm_helper_crtc_in_use(struct drm_crtc *crtc);
 extern bool drm_helper_encoder_in_use(struct drm_encoder *encoder);