[PATCH v2 1/3] drm/amd: be quiet when no SAD block is found
Alex Deucher
alexdeucher at gmail.com
Fri Sep 13 20:51:20 UTC 2019
On Wed, Sep 4, 2019 at 9:18 AM Harry Wentland <hwentlan at amd.com> wrote:
>
> On 2019-09-04 5:12 a.m., Jean Delvare wrote:
> > It is fine for displays without audio functionality to not provide
> > any SAD block in their EDID. Do not log an error in that case,
> > just return quietly.
> >
> > This fixes half of bug fdo#107825:
> > https://bugs.freedesktop.org/show_bug.cgi?id=107825
> >
> > Signed-off-by: Jean Delvare <jdelvare at suse.de>
> > Cc: Alex Deucher <alexander.deucher at amd.com>
> > Cc: "Christian König" <christian.koenig at amd.com>
> > Cc: "David (ChunMing) Zhou" <David1.Zhou at amd.com>
> > Cc: David Airlie <airlied at linux.ie>
> > Cc: Daniel Vetter <daniel at ffwll.ch>
> > Cc: Harry Wentland <harry.wentland at amd.com>
> > Cc: Leo Li <sunpeng.li at amd.com>
>
> Reviewed-by: Harry Wentland <harry.wentland at amd.com>
Patches 1 and 2 applied.
Thanks!
Alex
>
> Harry
>
> > ---
> > No change since v1.
> >
> > drivers/gpu/drm/amd/amdgpu/dce_v10_0.c | 4 ++--
> > drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | 4 ++--
> > drivers/gpu/drm/amd/amdgpu/dce_v6_0.c | 4 ++--
> > drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 4 ++--
> > drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 7 +++----
> > 5 files changed, 11 insertions(+), 12 deletions(-)
> >
> > --- linux-5.2.orig/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c 2019-07-08 00:41:56.000000000 +0200
> > +++ linux-5.2/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c 2019-08-30 14:28:46.081682223 +0200
> > @@ -1345,10 +1345,10 @@ static void dce_v10_0_audio_write_sad_re
> > }
> >
> > sad_count = drm_edid_to_sad(amdgpu_connector_edid(connector), &sads);
> > - if (sad_count <= 0) {
> > + if (sad_count < 0)
> > DRM_ERROR("Couldn't read SADs: %d\n", sad_count);
> > + if (sad_count <= 0)
> > return;
> > - }
> > BUG_ON(!sads);
> >
> > for (i = 0; i < ARRAY_SIZE(eld_reg_to_type); i++) {
> > --- linux-5.2.orig/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c 2019-07-08 00:41:56.000000000 +0200
> > +++ linux-5.2/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c 2019-08-30 14:29:27.276205310 +0200
> > @@ -1371,10 +1371,10 @@ static void dce_v11_0_audio_write_sad_re
> > }
> >
> > sad_count = drm_edid_to_sad(amdgpu_connector_edid(connector), &sads);
> > - if (sad_count <= 0) {
> > + if (sad_count < 0)
> > DRM_ERROR("Couldn't read SADs: %d\n", sad_count);
> > + if (sad_count <= 0)
> > return;
> > - }
> > BUG_ON(!sads);
> >
> > for (i = 0; i < ARRAY_SIZE(eld_reg_to_type); i++) {
> > --- linux-5.2.orig/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c 2019-07-08 00:41:56.000000000 +0200
> > +++ linux-5.2/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c 2019-08-30 17:58:53.613953458 +0200
> > @@ -1248,10 +1248,10 @@ static void dce_v6_0_audio_write_sad_reg
> > }
> >
> > sad_count = drm_edid_to_sad(amdgpu_connector_edid(connector), &sads);
> > - if (sad_count <= 0) {
> > + if (sad_count < 0)
> > DRM_ERROR("Couldn't read SADs: %d\n", sad_count);
> > + if (sad_count <= 0)
> > return;
> > - }
> >
> > for (i = 0; i < ARRAY_SIZE(eld_reg_to_type); i++) {
> > u32 tmp = 0;
> > --- linux-5.2.orig/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c 2019-07-08 00:41:56.000000000 +0200
> > +++ linux-5.2/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c 2019-08-30 14:29:01.948883708 +0200
> > @@ -1298,10 +1298,10 @@ static void dce_v8_0_audio_write_sad_reg
> > }
> >
> > sad_count = drm_edid_to_sad(amdgpu_connector_edid(connector), &sads);
> > - if (sad_count <= 0) {
> > + if (sad_count < 0)
> > DRM_ERROR("Couldn't read SADs: %d\n", sad_count);
> > + if (sad_count <= 0)
> > return;
> > - }
> > BUG_ON(!sads);
> >
> > for (i = 0; i < ARRAY_SIZE(eld_reg_to_type); i++) {
> > --- linux-5.2.orig/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c 2019-07-08 00:41:56.000000000 +0200
> > +++ linux-5.2/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c 2019-08-30 14:31:03.086421910 +0200
> > @@ -98,11 +98,10 @@ enum dc_edid_status dm_helpers_parse_edi
> > (struct edid *) edid->raw_edid);
> >
> > sad_count = drm_edid_to_sad((struct edid *) edid->raw_edid, &sads);
> > - if (sad_count <= 0) {
> > - DRM_INFO("SADs count is: %d, don't need to read it\n",
> > - sad_count);
> > + if (sad_count < 0)
> > + DRM_ERROR("Couldn't read SADs: %d\n", sad_count);
> > + if (sad_count <= 0)
> > return result;
> > - }
> >
> > edid_caps->audio_mode_count = sad_count < DC_MAX_AUDIO_DESC_COUNT ? sad_count : DC_MAX_AUDIO_DESC_COUNT;
> > for (i = 0; i < edid_caps->audio_mode_count; ++i) {
> >
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
More information about the amd-gfx
mailing list