drm_edid_to_eld() is needed to update stale connector ELD on HPD event.
This reverts part of commit 79436a1c9bcc ("drm/edid: make drm_edid_to_eld() static").
Signed-off-by: Jonas Karlman jonas@kwiboo.se --- drivers/gpu/drm/drm_edid.c | 5 +++-- include/drm/drm_edid.h | 1 + 2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index 82a4ceed3fcf..47c409af0903 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c @@ -4069,7 +4069,7 @@ static void clear_eld(struct drm_connector *connector) connector->audio_latency[1] = 0; }
-/* +/** * drm_edid_to_eld - build ELD from EDID * @connector: connector corresponding to the HDMI/DP sink * @edid: EDID to parse @@ -4077,7 +4077,7 @@ static void clear_eld(struct drm_connector *connector) * Fill the ELD (EDID-Like Data) buffer for passing to the audio driver. The * HDCP and Port_ID ELD fields are left for the graphics driver to fill in. */ -static void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid) +void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid) { uint8_t *eld = connector->eld; u8 *cea; @@ -4162,6 +4162,7 @@ static void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid) DRM_DEBUG_KMS("ELD size %d, SAD count %d\n", drm_eld_size(eld), total_sad_count); } +EXPORT_SYMBOL(drm_edid_to_eld);
/** * drm_edid_to_sad - extracts SADs from EDID diff --git a/include/drm/drm_edid.h b/include/drm/drm_edid.h index b9719418c3d2..49987818fe23 100644 --- a/include/drm/drm_edid.h +++ b/include/drm/drm_edid.h @@ -337,6 +337,7 @@ struct drm_connector; struct drm_connector_state; struct drm_display_mode;
+void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid); int drm_edid_to_sad(struct edid *edid, struct cea_sad **sads); int drm_edid_to_speaker_allocation(struct edid *edid, u8 **sadb); int drm_av_sync_delay(struct drm_connector *connector,
On 01/09/2019 18:14, Jonas Karlman wrote:
drm_edid_to_eld() is needed to update stale connector ELD on HPD event.
This reverts part of commit 79436a1c9bcc ("drm/edid: make drm_edid_to_eld() static").
Why not a full revert ?
The documentation revert seems also relevant now
Neil
Signed-off-by: Jonas Karlman jonas@kwiboo.se
drivers/gpu/drm/drm_edid.c | 5 +++-- include/drm/drm_edid.h | 1 + 2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index 82a4ceed3fcf..47c409af0903 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c @@ -4069,7 +4069,7 @@ static void clear_eld(struct drm_connector *connector) connector->audio_latency[1] = 0; }
-/* +/**
- drm_edid_to_eld - build ELD from EDID
- @connector: connector corresponding to the HDMI/DP sink
- @edid: EDID to parse
@@ -4077,7 +4077,7 @@ static void clear_eld(struct drm_connector *connector)
- Fill the ELD (EDID-Like Data) buffer for passing to the audio driver. The
- HDCP and Port_ID ELD fields are left for the graphics driver to fill in.
*/ -static void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid) +void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid) { uint8_t *eld = connector->eld; u8 *cea; @@ -4162,6 +4162,7 @@ static void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid) DRM_DEBUG_KMS("ELD size %d, SAD count %d\n", drm_eld_size(eld), total_sad_count); } +EXPORT_SYMBOL(drm_edid_to_eld);
/**
- drm_edid_to_sad - extracts SADs from EDID
diff --git a/include/drm/drm_edid.h b/include/drm/drm_edid.h index b9719418c3d2..49987818fe23 100644 --- a/include/drm/drm_edid.h +++ b/include/drm/drm_edid.h @@ -337,6 +337,7 @@ struct drm_connector; struct drm_connector_state; struct drm_display_mode;
+void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid); int drm_edid_to_sad(struct edid *edid, struct cea_sad **sads); int drm_edid_to_speaker_allocation(struct edid *edid, u8 **sadb); int drm_av_sync_delay(struct drm_connector *connector,
dri-devel@lists.freedesktop.org