OSDN Git Service

Merge tag 'topic/phy-compliance-2020-04-08' of git://anongit.freedesktop.org/drm...
[tomoyo/tomoyo-test1.git] / drivers / gpu / drm / i915 / display / intel_display_types.h
index 42d0b10..8752f4d 100644 (file)
@@ -132,8 +132,7 @@ struct intel_encoder {
        u16 cloneable;
        u8 pipe_mask;
        enum intel_hotplug_state (*hotplug)(struct intel_encoder *encoder,
-                                           struct intel_connector *connector,
-                                           bool irq_received);
+                                           struct intel_connector *connector);
        enum intel_output_type (*compute_output_type)(struct intel_encoder *,
                                                      struct intel_crtc_state *,
                                                      struct drm_connector_state *);
@@ -146,28 +145,35 @@ struct intel_encoder {
        void (*update_prepare)(struct intel_atomic_state *,
                               struct intel_encoder *,
                               struct intel_crtc *);
-       void (*pre_pll_enable)(struct intel_encoder *,
+       void (*pre_pll_enable)(struct intel_atomic_state *,
+                              struct intel_encoder *,
                               const struct intel_crtc_state *,
                               const struct drm_connector_state *);
-       void (*pre_enable)(struct intel_encoder *,
+       void (*pre_enable)(struct intel_atomic_state *,
+                          struct intel_encoder *,
                           const struct intel_crtc_state *,
                           const struct drm_connector_state *);
-       void (*enable)(struct intel_encoder *,
+       void (*enable)(struct intel_atomic_state *,
+                      struct intel_encoder *,
                       const struct intel_crtc_state *,
                       const struct drm_connector_state *);
        void (*update_complete)(struct intel_atomic_state *,
                                struct intel_encoder *,
                                struct intel_crtc *);
-       void (*disable)(struct intel_encoder *,
+       void (*disable)(struct intel_atomic_state *,
+                       struct intel_encoder *,
                        const struct intel_crtc_state *,
                        const struct drm_connector_state *);
-       void (*post_disable)(struct intel_encoder *,
+       void (*post_disable)(struct intel_atomic_state *,
+                            struct intel_encoder *,
                             const struct intel_crtc_state *,
                             const struct drm_connector_state *);
-       void (*post_pll_disable)(struct intel_encoder *,
+       void (*post_pll_disable)(struct intel_atomic_state *,
+                                struct intel_encoder *,
                                 const struct intel_crtc_state *,
                                 const struct drm_connector_state *);
-       void (*update_pipe)(struct intel_encoder *,
+       void (*update_pipe)(struct intel_atomic_state *,
+                           struct intel_encoder *,
                            const struct intel_crtc_state *,
                            const struct drm_connector_state *);
        /* Read out the current hw state of this connector, returning true if
@@ -425,6 +431,9 @@ struct intel_connector {
        struct edid *edid;
        struct edid *detect_edid;
 
+       /* Number of times hotplug detection was tried after an HPD interrupt */
+       int hotplug_retries;
+
        /* since POLL and HPD connectors may use the same HPD line keep the native
           state of connector->polled in case hotplug storm detection changes it */
        u8 polled;
@@ -640,6 +649,16 @@ struct intel_crtc_scaler_state {
 #define I915_MODE_FLAG_GET_SCANLINE_FROM_TIMESTAMP (1<<1)
 /* Flag to use the scanline counter instead of the pixel counter */
 #define I915_MODE_FLAG_USE_SCANLINE_COUNTER (1<<2)
+/*
+ * TE0 or TE1 flag is set if the crtc has a DSI encoder which
+ * is operating in command mode.
+ * Flag to use TE from DSI0 instead of VBI in command mode
+ */
+#define I915_MODE_FLAG_DSI_USE_TE0 (1<<3)
+/* Flag to use TE from DSI1 instead of VBI in command mode */
+#define I915_MODE_FLAG_DSI_USE_TE1 (1<<4)
+/* Flag to indicate mipi dsi periodic command mode where we do not get TE */
+#define I915_MODE_FLAG_DSI_PERIODIC_CMD_MODE (1<<5)
 
 struct intel_wm_level {
        bool enable;
@@ -1015,6 +1034,7 @@ struct intel_crtc_state {
                union hdmi_infoframe spd;
                union hdmi_infoframe hdmi;
                union hdmi_infoframe drm;
+               struct drm_dp_vsc_sdp vsc;
        } infoframes;
 
        /* HDMI scrambling status */