Merge tag 'drm-intel-next-2018-09-06-2' of git://anongit.freedesktop.org/drm/drm...
[sfrench/cifs-2.6.git] / drivers / gpu / drm / i915 / intel_display.h
index 9292001cdd14defd45e8ad75fe34d7b4bed1e52d..e20e6a36a74865410f0b2ba89aa358e41eb5a284 100644 (file)
 #ifndef _INTEL_DISPLAY_H_
 #define _INTEL_DISPLAY_H_
 
+enum i915_gpio {
+       GPIOA,
+       GPIOB,
+       GPIOC,
+       GPIOD,
+       GPIOE,
+       GPIOF,
+       GPIOG,
+       GPIOH,
+       __GPIOI_UNUSED,
+       GPIOJ,
+       GPIOK,
+       GPIOL,
+       GPIOM,
+};
+
 enum pipe {
        INVALID_PIPE = -1,
 
@@ -126,6 +142,30 @@ enum port {
 
 #define port_name(p) ((p) + 'A')
 
+/*
+ * Ports identifier referenced from other drivers.
+ * Expected to remain stable over time
+ */
+static inline const char *port_identifier(enum port port)
+{
+       switch (port) {
+       case PORT_A:
+               return "Port A";
+       case PORT_B:
+               return "Port B";
+       case PORT_C:
+               return "Port C";
+       case PORT_D:
+               return "Port D";
+       case PORT_E:
+               return "Port E";
+       case PORT_F:
+               return "Port F";
+       default:
+               return "<invalid>";
+       }
+}
+
 enum tc_port {
        PORT_TC_NONE = -1,
 
@@ -137,6 +177,13 @@ enum tc_port {
        I915_MAX_TC_PORTS
 };
 
+enum tc_port_type {
+       TC_PORT_UNKNOWN = 0,
+       TC_PORT_TYPEC,
+       TC_PORT_TBT,
+       TC_PORT_LEGACY,
+};
+
 enum dpio_channel {
        DPIO_CH0,
        DPIO_CH1
@@ -322,11 +369,11 @@ struct intel_link_m_n {
 
 #define for_each_power_domain_well(__dev_priv, __power_well, __domain_mask)    \
        for_each_power_well(__dev_priv, __power_well)                           \
-               for_each_if((__power_well)->domains & (__domain_mask))
+               for_each_if((__power_well)->desc->domains & (__domain_mask))
 
 #define for_each_power_domain_well_rev(__dev_priv, __power_well, __domain_mask) \
        for_each_power_well_rev(__dev_priv, __power_well)                       \
-               for_each_if((__power_well)->domains & (__domain_mask))
+               for_each_if((__power_well)->desc->domains & (__domain_mask))
 
 #define for_each_new_intel_plane_in_state(__state, plane, new_plane_state, __i) \
        for ((__i) = 0; \
@@ -358,4 +405,5 @@ void intel_link_compute_m_n(int bpp, int nlanes,
                            struct intel_link_m_n *m_n,
                            bool reduce_m_n);
 
+bool is_ccs_modifier(u64 modifier);
 #endif