* blocked behind the non-DP one.
         */
        struct workqueue_struct *dp_wq;
+
+       /*
+        * Flag to track if long HPDs need not to be processed
+        *
+        * Some panels generate long HPDs while keep connected to the port.
+        * This can cause issues with CI tests results. In CI systems we
+        * don't expect to disconnect the panels and could ignore the long
+        * HPDs generated from the faulty panels. This flag can be used as
+        * cue to ignore the long HPDs and can be set / unset using debugfs.
+        */
+       bool ignore_long_hpd;
 };
 
 struct intel_vbt_data {
 
 
        spin_unlock_irq(&dev_priv->irq_lock);
 
+       /* Skip calling encode hotplug handlers if ignore long HPD set*/
+       if (dev_priv->display.hotplug.ignore_long_hpd) {
+               drm_dbg_kms(&dev_priv->drm, "Ignore HPD flag on - skip encoder hotplug handlers\n");
+               mutex_unlock(&dev_priv->drm.mode_config.mutex);
+               return;
+       }
+
        drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
        for_each_intel_connector_iter(connector, &conn_iter) {
                enum hpd_pin pin;
                            i915, &i915_hpd_storm_ctl_fops);
        debugfs_create_file("i915_hpd_short_storm_ctl", 0644, minor->debugfs_root,
                            i915, &i915_hpd_short_storm_ctl_fops);
+       debugfs_create_bool("i915_ignore_long_hpd", 0644, minor->debugfs_root,
+                           &i915->display.hotplug.ignore_long_hpd);
 }