if (link->hpd_gpio) {
                        if (!link->dc->config.allow_edp_hotplug_detection)
                                link->irq_source_hpd = DC_IRQ_SOURCE_INVALID;
-                       link->irq_source_hpd_rx =
-                                       dal_irq_get_rx_source(link->hpd_gpio);
+
+                       switch (link->dc->config.allow_edp_hotplug_detection) {
+                       case 1: // only the 1st eDP handles hotplug
+                               if (link->link_index == 0)
+                                       link->irq_source_hpd_rx =
+                                               dal_irq_get_rx_source(link->hpd_gpio);
+                               else
+                                       link->irq_source_hpd = DC_IRQ_SOURCE_INVALID;
+                               break;
+                       case 2: // only the 2nd eDP handles hotplug
+                               if (link->link_index == 1)
+                                       link->irq_source_hpd_rx =
+                                               dal_irq_get_rx_source(link->hpd_gpio);
+                               else
+                                       link->irq_source_hpd = DC_IRQ_SOURCE_INVALID;
+                               break;
+                       default:
+                               break;
+                       }
                }
 
                break;
 
        bool disable_dmcu;
        bool enable_4to1MPC;
        bool enable_windowed_mpo_odm;
-       bool allow_edp_hotplug_detection;
+       uint32_t allow_edp_hotplug_detection;
        bool clamp_min_dcfclk;
        uint64_t vblank_alignment_dto_params;
        uint8_t  vblank_alignment_max_frame_time_diff;