2019-09-01 16:17:51

by Jonas Karlman

[permalink] [raw]
Subject: [PATCH 4/5] Revert "drm/edid: make drm_edid_to_eld() static"

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 <[email protected]>
---
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,
--
2.17.1


2019-09-02 08:09:15

by Neil Armstrong

[permalink] [raw]
Subject: Re: [PATCH 4/5] Revert "drm/edid: make drm_edid_to_eld() static"

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 <[email protected]>
> ---
> 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,
>