Lines Matching refs:dp_priv

150 static int dp_add_event(struct dp_display_private *dp_priv, u32 event,  in dp_add_event()  argument
157 spin_lock_irqsave(&dp_priv->event_lock, flag); in dp_add_event()
158 pndx = dp_priv->event_pndx + 1; in dp_add_event()
160 if (pndx == dp_priv->event_gndx) { in dp_add_event()
162 dp_priv->event_pndx, dp_priv->event_gndx); in dp_add_event()
163 spin_unlock_irqrestore(&dp_priv->event_lock, flag); in dp_add_event()
166 todo = &dp_priv->event_list[dp_priv->event_pndx++]; in dp_add_event()
167 dp_priv->event_pndx %= DP_EVENT_Q_MAX; in dp_add_event()
171 wake_up(&dp_priv->event_q); in dp_add_event()
172 spin_unlock_irqrestore(&dp_priv->event_lock, flag); in dp_add_event()
177 static int dp_del_event(struct dp_display_private *dp_priv, u32 event) in dp_del_event() argument
183 spin_lock_irqsave(&dp_priv->event_lock, flag); in dp_del_event()
184 if (dp_priv->event_pndx == dp_priv->event_gndx) { in dp_del_event()
185 spin_unlock_irqrestore(&dp_priv->event_lock, flag); in dp_del_event()
189 gndx = dp_priv->event_gndx; in dp_del_event()
190 while (dp_priv->event_pndx != gndx) { in dp_del_event()
191 todo = &dp_priv->event_list[gndx]; in dp_del_event()
199 spin_unlock_irqrestore(&dp_priv->event_lock, flag); in dp_del_event()
1037 struct dp_display_private *dp_priv; in hpd_event_thread() local
1042 dp_priv = (struct dp_display_private *)data; in hpd_event_thread()
1046 wait_event_timeout(dp_priv->event_q, in hpd_event_thread()
1047 (dp_priv->event_pndx == dp_priv->event_gndx), in hpd_event_thread()
1050 wait_event_interruptible(dp_priv->event_q, in hpd_event_thread()
1051 (dp_priv->event_pndx != dp_priv->event_gndx)); in hpd_event_thread()
1053 spin_lock_irqsave(&dp_priv->event_lock, flag); in hpd_event_thread()
1054 todo = &dp_priv->event_list[dp_priv->event_gndx]; in hpd_event_thread()
1058 dp_priv->event_gndx++; in hpd_event_thread()
1059 dp_priv->event_gndx %= DP_EVENT_Q_MAX; in hpd_event_thread()
1062 todo_next = &dp_priv->event_list[dp_priv->event_pndx++]; in hpd_event_thread()
1063 dp_priv->event_pndx %= DP_EVENT_Q_MAX; in hpd_event_thread()
1074 spin_unlock_irqrestore(&dp_priv->event_lock, flag); in hpd_event_thread()
1079 if (dp_priv->event_pndx == dp_priv->event_gndx) { in hpd_event_thread()
1080 spin_unlock_irqrestore(&dp_priv->event_lock, flag); in hpd_event_thread()
1084 dp_priv->event_gndx++; in hpd_event_thread()
1085 dp_priv->event_gndx %= DP_EVENT_Q_MAX; in hpd_event_thread()
1087 spin_unlock_irqrestore(&dp_priv->event_lock, flag); in hpd_event_thread()
1091 dp_display_config_hpd(dp_priv); in hpd_event_thread()
1094 dp_hpd_plug_handle(dp_priv, todo->data); in hpd_event_thread()
1097 dp_hpd_unplug_handle(dp_priv, todo->data); in hpd_event_thread()
1100 dp_irq_hpd_handle(dp_priv, todo->data); in hpd_event_thread()
1103 dp_display_send_hpd_notification(dp_priv, in hpd_event_thread()
1107 dp_connect_pending_timeout(dp_priv, in hpd_event_thread()
1111 dp_disconnect_pending_timeout(dp_priv, in hpd_event_thread()
1122 static void dp_hpd_event_setup(struct dp_display_private *dp_priv) in dp_hpd_event_setup() argument
1124 init_waitqueue_head(&dp_priv->event_q); in dp_hpd_event_setup()
1125 spin_lock_init(&dp_priv->event_lock); in dp_hpd_event_setup()
1127 kthread_run(hpd_event_thread, dp_priv, "dp_hpd_handler"); in dp_hpd_event_setup()