Nothing in the two consecutive loops over hpd pins depends on state in a
larger context than the single hpd pin. If we skip the rest of the loop
on short hpd pulses, we can merge the two loops into one.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
* For long HPD pulses we want to have the digital queue happen,
* but we still want HPD storm detection to function.
*/
+ queue_dig = true;
if (long_hpd) {
dev_priv->hotplug.long_port_mask |= (1 << port);
+ /* FIXME: this can be simplified. */
dig_port_mask |= hpd[i];
} else {
/* for short HPD just trigger the digital queue */
dev_priv->hotplug.short_port_mask |= (1 << port);
- hotplug_trigger &= ~hpd[i];
+ continue;
}
-
- queue_dig = true;
}
- }
-
- for_each_hpd_pin(i) {
- if (!(hpd[i] & hotplug_trigger))
- continue;
if (dev_priv->hotplug.stats[i].state == HPD_DISABLED) {
/*