Lines Matching refs:cec

192 	struct cec_adapter *adap = aux->cec.adap;  in drm_dp_cec_received()
215 struct cec_adapter *adap = aux->cec.adap; in drm_dp_cec_handle_irq()
252 mutex_lock(&aux->cec.lock); in drm_dp_cec_irq()
253 if (!aux->cec.adap) in drm_dp_cec_irq()
264 mutex_unlock(&aux->cec.lock); in drm_dp_cec_irq()
287 cec.unregister_work.work); in drm_dp_cec_unregister_work()
289 mutex_lock(&aux->cec.lock); in drm_dp_cec_unregister_work()
290 cec_unregister_adapter(aux->cec.adap); in drm_dp_cec_unregister_work()
291 aux->cec.adap = NULL; in drm_dp_cec_unregister_work()
292 mutex_unlock(&aux->cec.lock); in drm_dp_cec_unregister_work()
303 struct drm_connector *connector = aux->cec.connector; in drm_dp_cec_attach()
314 cancel_delayed_work_sync(&aux->cec.unregister_work); in drm_dp_cec_attach()
316 mutex_lock(&aux->cec.lock); in drm_dp_cec_attach()
319 cec_unregister_adapter(aux->cec.adap); in drm_dp_cec_attach()
320 aux->cec.adap = NULL; in drm_dp_cec_attach()
329 if (aux->cec.adap) { in drm_dp_cec_attach()
331 if ((aux->cec.adap->capabilities & CEC_CAP_MONITOR_ALL) == in drm_dp_cec_attach()
333 aux->cec.adap->available_log_addrs == num_las) { in drm_dp_cec_attach()
335 cec_s_phys_addr(aux->cec.adap, source_physical_address, false); in drm_dp_cec_attach()
342 cec_unregister_adapter(aux->cec.adap); in drm_dp_cec_attach()
346 aux->cec.adap = cec_allocate_adapter(&drm_dp_cec_adap_ops, in drm_dp_cec_attach()
349 if (IS_ERR(aux->cec.adap)) { in drm_dp_cec_attach()
350 aux->cec.adap = NULL; in drm_dp_cec_attach()
355 cec_s_conn_info(aux->cec.adap, &conn_info); in drm_dp_cec_attach()
357 if (cec_register_adapter(aux->cec.adap, connector->dev->dev)) { in drm_dp_cec_attach()
358 cec_delete_adapter(aux->cec.adap); in drm_dp_cec_attach()
359 aux->cec.adap = NULL; in drm_dp_cec_attach()
366 cec_s_phys_addr(aux->cec.adap, source_physical_address, false); in drm_dp_cec_attach()
369 mutex_unlock(&aux->cec.lock); in drm_dp_cec_attach()
398 cancel_delayed_work_sync(&aux->cec.unregister_work); in drm_dp_cec_unset_edid()
400 mutex_lock(&aux->cec.lock); in drm_dp_cec_unset_edid()
401 if (!aux->cec.adap) in drm_dp_cec_unset_edid()
404 cec_phys_addr_invalidate(aux->cec.adap); in drm_dp_cec_unset_edid()
418 schedule_delayed_work(&aux->cec.unregister_work, in drm_dp_cec_unset_edid()
422 mutex_unlock(&aux->cec.lock); in drm_dp_cec_unset_edid()
439 WARN_ON(aux->cec.adap); in drm_dp_cec_register_connector()
442 aux->cec.connector = connector; in drm_dp_cec_register_connector()
443 INIT_DELAYED_WORK(&aux->cec.unregister_work, in drm_dp_cec_register_connector()
454 if (!aux->cec.adap) in drm_dp_cec_unregister_connector()
456 cancel_delayed_work_sync(&aux->cec.unregister_work); in drm_dp_cec_unregister_connector()
457 cec_unregister_adapter(aux->cec.adap); in drm_dp_cec_unregister_connector()
458 aux->cec.adap = NULL; in drm_dp_cec_unregister_connector()