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()
324 cancel_delayed_work_sync(&aux->cec.unregister_work); in drm_dp_cec_attach()
326 mutex_lock(&aux->cec.lock); in drm_dp_cec_attach()
329 cec_unregister_adapter(aux->cec.adap); in drm_dp_cec_attach()
330 aux->cec.adap = NULL; in drm_dp_cec_attach()
339 if (aux->cec.adap) { in drm_dp_cec_attach()
340 if (aux->cec.adap->capabilities == cec_caps && in drm_dp_cec_attach()
341 aux->cec.adap->available_log_addrs == num_las) { in drm_dp_cec_attach()
343 cec_s_phys_addr(aux->cec.adap, source_physical_address, false); in drm_dp_cec_attach()
350 cec_unregister_adapter(aux->cec.adap); in drm_dp_cec_attach()
354 aux->cec.adap = cec_allocate_adapter(&drm_dp_cec_adap_ops, in drm_dp_cec_attach()
357 if (IS_ERR(aux->cec.adap)) { in drm_dp_cec_attach()
358 aux->cec.adap = NULL; in drm_dp_cec_attach()
363 cec_s_conn_info(aux->cec.adap, &conn_info); in drm_dp_cec_attach()
365 if (cec_register_adapter(aux->cec.adap, connector->dev->dev)) { in drm_dp_cec_attach()
366 cec_delete_adapter(aux->cec.adap); in drm_dp_cec_attach()
367 aux->cec.adap = NULL; in drm_dp_cec_attach()
374 cec_s_phys_addr(aux->cec.adap, source_physical_address, false); in drm_dp_cec_attach()
377 mutex_unlock(&aux->cec.lock); in drm_dp_cec_attach()
406 cancel_delayed_work_sync(&aux->cec.unregister_work); in drm_dp_cec_unset_edid()
408 mutex_lock(&aux->cec.lock); in drm_dp_cec_unset_edid()
409 if (!aux->cec.adap) in drm_dp_cec_unset_edid()
412 cec_phys_addr_invalidate(aux->cec.adap); in drm_dp_cec_unset_edid()
426 schedule_delayed_work(&aux->cec.unregister_work, in drm_dp_cec_unset_edid()
430 mutex_unlock(&aux->cec.lock); in drm_dp_cec_unset_edid()
447 WARN_ON(aux->cec.adap); in drm_dp_cec_register_connector()
450 aux->cec.connector = connector; in drm_dp_cec_register_connector()
451 INIT_DELAYED_WORK(&aux->cec.unregister_work, in drm_dp_cec_register_connector()
462 if (!aux->cec.adap) in drm_dp_cec_unregister_connector()
464 cancel_delayed_work_sync(&aux->cec.unregister_work); in drm_dp_cec_unregister_connector()
465 cec_unregister_adapter(aux->cec.adap); in drm_dp_cec_unregister_connector()
466 aux->cec.adap = NULL; in drm_dp_cec_unregister_connector()