If an EDID is present, then call cec_notifier_set_phys_addr. If not, then call cec_notifier_phys_addr_invalidate. This helps the CEC framework differentiate between CEC_PHYS_ADDR_INVALID due to no EDID, or due to an EDID without a Physical Address.
This driver is one of the few that was using cec_notifier_set_phys_addr on disconnect instead of cec_notifier_phys_addr_invalidate. Signed-off-by: Hans Verkuil <[email protected]> Cc: Inki Dae <[email protected]> Cc: Kyungmin Park <[email protected]> Cc: Krzysztof Kozlowski <[email protected]> Cc: Peter Griffin <[email protected]> Cc: Alim Akhtar <[email protected]> Cc: Maxime Ripard <[email protected]> --- drivers/gpu/drm/exynos/exynos_hdmi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c index 055dc04f9b3e..d03f4e531e05 100644 --- a/drivers/gpu/drm/exynos/exynos_hdmi.c +++ b/drivers/gpu/drm/exynos/exynos_hdmi.c @@ -857,7 +857,7 @@ static enum drm_connector_status hdmi_detect(struct drm_connector *connector, if (gpiod_get_value(hdata->hpd_gpio)) return connector_status_connected; - cec_notifier_set_phys_addr(hdata->notifier, CEC_PHYS_ADDR_INVALID); + cec_notifier_phys_addr_invalidate(hdata->notifier); return connector_status_disconnected; } -- 2.53.0
