Lines Matching refs:cec

185 	struct cec_adapter *adap = aux->cec.adap;  in drm_dp_cec_received()
208 struct cec_adapter *adap = aux->cec.adap; in drm_dp_cec_handle_irq()
241 mutex_lock(&aux->cec.lock); in drm_dp_cec_irq()
242 if (!aux->cec.adap) in drm_dp_cec_irq()
253 mutex_unlock(&aux->cec.lock); in drm_dp_cec_irq()
276 cec.unregister_work.work); in drm_dp_cec_unregister_work()
278 mutex_lock(&aux->cec.lock); in drm_dp_cec_unregister_work()
279 cec_unregister_adapter(aux->cec.adap); in drm_dp_cec_unregister_work()
280 aux->cec.adap = NULL; in drm_dp_cec_unregister_work()
281 mutex_unlock(&aux->cec.lock); in drm_dp_cec_unregister_work()
306 cancel_delayed_work_sync(&aux->cec.unregister_work); in drm_dp_cec_set_edid()
308 mutex_lock(&aux->cec.lock); in drm_dp_cec_set_edid()
311 cec_unregister_adapter(aux->cec.adap); in drm_dp_cec_set_edid()
312 aux->cec.adap = NULL; in drm_dp_cec_set_edid()
321 if (aux->cec.adap) { in drm_dp_cec_set_edid()
322 if (aux->cec.adap->capabilities == cec_caps && in drm_dp_cec_set_edid()
323 aux->cec.adap->available_log_addrs == num_las) { in drm_dp_cec_set_edid()
325 cec_s_phys_addr_from_edid(aux->cec.adap, edid); in drm_dp_cec_set_edid()
332 cec_unregister_adapter(aux->cec.adap); in drm_dp_cec_set_edid()
336 aux->cec.adap = cec_allocate_adapter(&drm_dp_cec_adap_ops, in drm_dp_cec_set_edid()
337 aux, aux->cec.name, cec_caps, in drm_dp_cec_set_edid()
339 if (IS_ERR(aux->cec.adap)) { in drm_dp_cec_set_edid()
340 aux->cec.adap = NULL; in drm_dp_cec_set_edid()
343 if (cec_register_adapter(aux->cec.adap, aux->cec.parent)) { in drm_dp_cec_set_edid()
344 cec_delete_adapter(aux->cec.adap); in drm_dp_cec_set_edid()
345 aux->cec.adap = NULL; in drm_dp_cec_set_edid()
352 cec_s_phys_addr_from_edid(aux->cec.adap, edid); in drm_dp_cec_set_edid()
355 mutex_unlock(&aux->cec.lock); in drm_dp_cec_set_edid()
364 cancel_delayed_work_sync(&aux->cec.unregister_work); in drm_dp_cec_unset_edid()
366 mutex_lock(&aux->cec.lock); in drm_dp_cec_unset_edid()
367 if (!aux->cec.adap) in drm_dp_cec_unset_edid()
370 cec_phys_addr_invalidate(aux->cec.adap); in drm_dp_cec_unset_edid()
384 schedule_delayed_work(&aux->cec.unregister_work, in drm_dp_cec_unset_edid()
388 mutex_unlock(&aux->cec.lock); in drm_dp_cec_unset_edid()
406 WARN_ON(aux->cec.adap); in drm_dp_cec_register_connector()
407 aux->cec.name = name; in drm_dp_cec_register_connector()
408 aux->cec.parent = parent; in drm_dp_cec_register_connector()
409 INIT_DELAYED_WORK(&aux->cec.unregister_work, in drm_dp_cec_register_connector()
422 if (!aux->cec.adap) in drm_dp_cec_unregister_connector()
424 cancel_delayed_work_sync(&aux->cec.unregister_work); in drm_dp_cec_unregister_connector()
425 cec_unregister_adapter(aux->cec.adap); in drm_dp_cec_unregister_connector()
426 aux->cec.adap = NULL; in drm_dp_cec_unregister_connector()