On Wed, Sep 4, 2019 at 9:18 AM Harry Wentland <hwentlan@xxxxxxx> 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@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> 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@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel