|
55 | 55 | EV_HPD_INIT_SETUP,
|
56 | 56 | EV_HPD_PLUG_INT,
|
57 | 57 | EV_IRQ_HPD_INT,
|
58 |
| - EV_HPD_REPLUG_INT, |
59 | 58 | EV_HPD_UNPLUG_INT,
|
60 | 59 | EV_USER_NOTIFICATION,
|
61 | 60 | EV_CONNECT_PENDING_TIMEOUT,
|
@@ -1110,9 +1109,6 @@ static int hpd_event_thread(void *data)
|
1110 | 1109 | case EV_IRQ_HPD_INT:
|
1111 | 1110 | dp_irq_hpd_handle(dp_priv, todo->data);
|
1112 | 1111 | break;
|
1113 |
| - case EV_HPD_REPLUG_INT: |
1114 |
| - /* do nothing */ |
1115 |
| - break; |
1116 | 1112 | case EV_USER_NOTIFICATION:
|
1117 | 1113 | dp_display_send_hpd_notification(dp_priv,
|
1118 | 1114 | todo->data);
|
@@ -1157,19 +1153,19 @@ static irqreturn_t dp_display_irq_handler(int irq, void *dev_id)
|
1157 | 1153 | DRM_DEBUG_DP("hpd isr status=%#x\n", hpd_isr_status);
|
1158 | 1154 | if (hpd_isr_status & 0x0F) {
|
1159 | 1155 | /* hpd related interrupts */
|
1160 |
| - if (hpd_isr_status & DP_DP_HPD_PLUG_INT_MASK || |
1161 |
| - hpd_isr_status & DP_DP_HPD_REPLUG_INT_MASK) { |
| 1156 | + if (hpd_isr_status & DP_DP_HPD_PLUG_INT_MASK) |
1162 | 1157 | dp_add_event(dp, EV_HPD_PLUG_INT, 0, 0);
|
1163 |
| - } |
1164 | 1158 |
|
1165 | 1159 | if (hpd_isr_status & DP_DP_IRQ_HPD_INT_MASK) {
|
1166 | 1160 | /* stop sentinel connect pending checking */
|
1167 | 1161 | dp_del_event(dp, EV_CONNECT_PENDING_TIMEOUT);
|
1168 | 1162 | dp_add_event(dp, EV_IRQ_HPD_INT, 0, 0);
|
1169 | 1163 | }
|
1170 | 1164 |
|
1171 |
| - if (hpd_isr_status & DP_DP_HPD_REPLUG_INT_MASK) |
1172 |
| - dp_add_event(dp, EV_HPD_REPLUG_INT, 0, 0); |
| 1165 | + if (hpd_isr_status & DP_DP_HPD_REPLUG_INT_MASK) { |
| 1166 | + dp_add_event(dp, EV_HPD_UNPLUG_INT, 0, 0); |
| 1167 | + dp_add_event(dp, EV_HPD_PLUG_INT, 0, 3); |
| 1168 | + } |
1173 | 1169 |
|
1174 | 1170 | if (hpd_isr_status & DP_DP_HPD_UNPLUG_INT_MASK)
|
1175 | 1171 | dp_add_event(dp, EV_HPD_UNPLUG_INT, 0, 0);
|
|
0 commit comments