[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 dri-devel mailing list