Lines Matching refs:adap
92 static int drm_dp_cec_adap_enable(struct cec_adapter *adap, bool enable) in drm_dp_cec_adap_enable() argument
94 struct drm_dp_aux *aux = cec_get_drvdata(adap); in drm_dp_cec_adap_enable()
102 static int drm_dp_cec_adap_log_addr(struct cec_adapter *adap, u8 addr) in drm_dp_cec_adap_log_addr() argument
104 struct drm_dp_aux *aux = cec_get_drvdata(adap); in drm_dp_cec_adap_log_addr()
111 la_mask |= adap->log_addrs.log_addr_mask | (1 << addr); in drm_dp_cec_adap_log_addr()
118 static int drm_dp_cec_adap_transmit(struct cec_adapter *adap, u8 attempts, in drm_dp_cec_adap_transmit() argument
121 struct drm_dp_aux *aux = cec_get_drvdata(adap); in drm_dp_cec_adap_transmit()
136 static int drm_dp_cec_adap_monitor_all_enable(struct cec_adapter *adap, in drm_dp_cec_adap_monitor_all_enable() argument
139 struct drm_dp_aux *aux = cec_get_drvdata(adap); in drm_dp_cec_adap_monitor_all_enable()
143 if (!(adap->capabilities & CEC_CAP_MONITOR_ALL)) in drm_dp_cec_adap_monitor_all_enable()
157 static void drm_dp_cec_adap_status(struct cec_adapter *adap, in drm_dp_cec_adap_status() argument
160 struct drm_dp_aux *aux = cec_get_drvdata(adap); in drm_dp_cec_adap_status()
191 struct cec_adapter *adap = aux->cec.adap; in drm_dp_cec_received() local
208 cec_received_msg(adap, &msg); in drm_dp_cec_received()
214 struct cec_adapter *adap = aux->cec.adap; in drm_dp_cec_handle_irq() local
224 cec_transmit_attempt_done(adap, CEC_TX_STATUS_OK); in drm_dp_cec_handle_irq()
226 cec_transmit_attempt_done(adap, CEC_TX_STATUS_ERROR | in drm_dp_cec_handle_irq()
230 cec_transmit_attempt_done(adap, CEC_TX_STATUS_NACK | in drm_dp_cec_handle_irq()
252 if (!aux->cec.adap) in drm_dp_cec_irq()
289 cec_unregister_adapter(aux->cec.adap); in drm_dp_cec_unregister_work()
290 aux->cec.adap = NULL; in drm_dp_cec_unregister_work()
328 cec_unregister_adapter(aux->cec.adap); in drm_dp_cec_set_edid()
329 aux->cec.adap = NULL; in drm_dp_cec_set_edid()
338 if (aux->cec.adap) { in drm_dp_cec_set_edid()
339 if (aux->cec.adap->capabilities == cec_caps && in drm_dp_cec_set_edid()
340 aux->cec.adap->available_log_addrs == num_las) { in drm_dp_cec_set_edid()
342 cec_s_phys_addr_from_edid(aux->cec.adap, edid); in drm_dp_cec_set_edid()
349 cec_unregister_adapter(aux->cec.adap); in drm_dp_cec_set_edid()
353 aux->cec.adap = cec_allocate_adapter(&drm_dp_cec_adap_ops, in drm_dp_cec_set_edid()
356 if (IS_ERR(aux->cec.adap)) { in drm_dp_cec_set_edid()
357 aux->cec.adap = NULL; in drm_dp_cec_set_edid()
362 cec_s_conn_info(aux->cec.adap, &conn_info); in drm_dp_cec_set_edid()
364 if (cec_register_adapter(aux->cec.adap, connector->dev->dev)) { in drm_dp_cec_set_edid()
365 cec_delete_adapter(aux->cec.adap); in drm_dp_cec_set_edid()
366 aux->cec.adap = NULL; in drm_dp_cec_set_edid()
373 cec_s_phys_addr_from_edid(aux->cec.adap, edid); in drm_dp_cec_set_edid()
392 if (!aux->cec.adap) in drm_dp_cec_unset_edid()
395 cec_phys_addr_invalidate(aux->cec.adap); in drm_dp_cec_unset_edid()
430 WARN_ON(aux->cec.adap); in drm_dp_cec_register_connector()
445 if (!aux->cec.adap) in drm_dp_cec_unregister_connector()
448 cec_unregister_adapter(aux->cec.adap); in drm_dp_cec_unregister_connector()
449 aux->cec.adap = NULL; in drm_dp_cec_unregister_connector()