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@xxxxxxx> > Cc: Alex Deucher <alexander.deucher@xxxxxxx> > Cc: "Christian König" <christian.koenig@xxxxxxx> > Cc: "David (ChunMing) Zhou" <David1.Zhou@xxxxxxx> > Cc: David Airlie <airlied@xxxxxxxx> > Cc: Daniel Vetter <daniel@xxxxxxxx> > Cc: Harry Wentland <harry.wentland@xxxxxxx> > Cc: Leo Li <sunpeng.li@xxxxxxx> Reviewed-by: Harry Wentland <harry.wentland@xxxxxxx> 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) { > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel