Merge tag 'topic/designware-baytrail-2017-03-02' of git://anongit.freedesktop.org...
[platform/kernel/linux-starfive.git] / drivers / gpu / drm / i915 / i915_drv.h
index 9ae1e52..7298b30 100644 (file)
@@ -489,10 +489,8 @@ struct i915_hotplug {
                            &(dev)->mode_config.encoder_list,   \
                            base.head)
 
-#define for_each_intel_connector(dev, intel_connector)         \
-       list_for_each_entry(intel_connector,                    \
-                           &(dev)->mode_config.connector_list, \
-                           base.head)
+#define for_each_intel_connector_iter(intel_connector, iter) \
+       while ((intel_connector = to_intel_connector(drm_connector_list_iter_next(iter))))
 
 #define for_each_encoder_on_crtc(dev, __crtc, intel_encoder) \
        list_for_each_entry((intel_encoder), &(dev)->mode_config.encoder_list, base.head) \
@@ -764,6 +762,7 @@ struct intel_uncore {
        const struct intel_forcewake_range *fw_domains_table;
        unsigned int fw_domains_table_entries;
 
+       struct notifier_block pmic_bus_access_nb;
        struct intel_uncore_funcs funcs;
 
        unsigned fifo_count;
@@ -1339,7 +1338,7 @@ struct intel_gen6_power_mgmt {
        u32 pm_iir;
 
        /* PM interrupt bits that should never be masked */
-       u32 pm_intr_keep;
+       u32 pm_intrmsk_mbz;
 
        /* Frequencies are stored in potentially platform dependent multiples.
         * In other words, *_freq needs to be multiplied by X to be interesting.
@@ -1378,7 +1377,7 @@ struct intel_gen6_power_mgmt {
        unsigned boosts;
 
        /* manual wa residency calculations */
-       struct intel_rps_ei up_ei, down_ei;
+       struct intel_rps_ei ei;
 
        /*
         * Protects RPS/RC6 register access and PCU communication.
@@ -3057,14 +3056,12 @@ int intel_irq_install(struct drm_i915_private *dev_priv);
 void intel_irq_uninstall(struct drm_i915_private *dev_priv);
 
 extern void intel_uncore_sanitize(struct drm_i915_private *dev_priv);
-extern void intel_uncore_early_sanitize(struct drm_i915_private *dev_priv,
-                                       bool restore_forcewake);
 extern void intel_uncore_init(struct drm_i915_private *dev_priv);
 extern bool intel_uncore_unclaimed_mmio(struct drm_i915_private *dev_priv);
 extern bool intel_uncore_arm_unclaimed_mmio_detection(struct drm_i915_private *dev_priv);
 extern void intel_uncore_fini(struct drm_i915_private *dev_priv);
-extern void intel_uncore_forcewake_reset(struct drm_i915_private *dev_priv,
-                                        bool restore);
+extern void intel_uncore_suspend(struct drm_i915_private *dev_priv);
+extern void intel_uncore_resume_early(struct drm_i915_private *dev_priv);
 const char *intel_uncore_forcewake_domain_to_str(const enum forcewake_domain_id id);
 void intel_uncore_forcewake_get(struct drm_i915_private *dev_priv,
                                enum forcewake_domains domains);
@@ -4087,7 +4084,6 @@ __i915_request_irq_complete(const struct drm_i915_gem_request *req)
        if (engine->irq_seqno_barrier &&
            test_and_clear_bit(ENGINE_IRQ_BREADCRUMB, &engine->irq_posted)) {
                struct intel_breadcrumbs *b = &engine->breadcrumbs;
-               unsigned long flags;
 
                /* The ordering of irq_posted versus applying the barrier
                 * is crucial. The clearing of the current irq_posted must
@@ -4109,7 +4105,7 @@ __i915_request_irq_complete(const struct drm_i915_gem_request *req)
                 * the seqno before we believe it coherent since they see
                 * irq_posted == false but we are still running).
                 */
-               spin_lock_irqsave(&b->irq_lock, flags);
+               spin_lock_irq(&b->irq_lock);
                if (b->irq_wait && b->irq_wait->tsk != current)
                        /* Note that if the bottom-half is changed as we
                         * are sending the wake-up, the new bottom-half will
@@ -4118,7 +4114,7 @@ __i915_request_irq_complete(const struct drm_i915_gem_request *req)
                         * ourself.
                         */
                        wake_up_process(b->irq_wait->tsk);
-               spin_unlock_irqrestore(&b->irq_lock, flags);
+               spin_unlock_irq(&b->irq_lock);
 
                if (__i915_gem_request_completed(req, seqno))
                        return true;