Simplify the code.

Signed-off-by: Andrzej Hajda <[email protected]>
---
 drivers/gpu/drm/i915/display/intel_hotplug.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_hotplug.c 
b/drivers/gpu/drm/i915/display/intel_hotplug.c
index 907ab7526cb478..2972d7533da44e 100644
--- a/drivers/gpu/drm/i915/display/intel_hotplug.c
+++ b/drivers/gpu/drm/i915/display/intel_hotplug.c
@@ -304,10 +304,8 @@ static void i915_digport_work_func(struct work_struct 
*work)
        u32 old_bits = 0;
 
        spin_lock_irq(&dev_priv->irq_lock);
-       long_port_mask = dev_priv->display.hotplug.long_port_mask;
-       dev_priv->display.hotplug.long_port_mask = 0;
-       short_port_mask = dev_priv->display.hotplug.short_port_mask;
-       dev_priv->display.hotplug.short_port_mask = 0;
+       long_port_mask = 
fetch_and_zero(&dev_priv->display.hotplug.long_port_mask);
+       short_port_mask = 
fetch_and_zero(&dev_priv->display.hotplug.short_port_mask);
        spin_unlock_irq(&dev_priv->irq_lock);
 
        for_each_intel_encoder(&dev_priv->drm, encoder) {
@@ -379,10 +377,8 @@ static void i915_hotplug_work_func(struct work_struct 
*work)
 
        spin_lock_irq(&dev_priv->irq_lock);
 
-       hpd_event_bits = dev_priv->display.hotplug.event_bits;
-       dev_priv->display.hotplug.event_bits = 0;
-       hpd_retry_bits = dev_priv->display.hotplug.retry_bits;
-       dev_priv->display.hotplug.retry_bits = 0;
+       hpd_event_bits = fetch_and_zero(&dev_priv->display.hotplug.event_bits);
+       hpd_retry_bits = fetch_and_zero(&dev_priv->display.hotplug.retry_bits);
 
        /* Enable polling for connectors which had HPD IRQ storms */
        intel_hpd_irq_storm_switch_to_polling(dev_priv);
-- 
2.34.1

Reply via email to