Gentoo Archives: gentoo-user

From: 80x24 <aleiphoenix@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] DRM error: couldn't read SADs
Date: Sun, 11 Feb 2018 05:41:58
Message-Id: CAPTGtd6QXMqb=7vopbbHs73hSiTCxTjJXkNm8BHYOJ6U8A9p8g@mail.gmail.com
In Reply to: [gentoo-user] DRM error: couldn't read SADs by Peter Humphrey
1 On Sun, Feb 11, 2018 at 12:47 AM, Peter Humphrey <peter@××××××××××××.uk> wrote:
2 >
3 > [drm:dce_v11_0_afmt_setmode] *ERROR* Couldn't read SADs: 0
4 > [...]
5 > traps: plugin-containe[6833] general protection ip:7f0a2e1711b1 sp:7fff6f64dc30 error:0 in ld-2.25.so[7f0a2e15c000+23000]
6 >
7 > What is a SAD (other than a seasonal affective disorder)? That library comes
8 > from glibc, of which I've had 5 versions or revisions in that time
9
10 Never heard of it neither. Digging into the kernel source gives
11
12 static void radeon_audio_write_sad_regs(struct drm_encoder *encoder)
13 {
14 struct drm_connector *connector = radeon_get_connector_for_encoder$
15 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
16 struct cea_sad *sads;
17 int sad_count;
18
19 if (!connector)
20 return;
21
22 sad_count = drm_edid_to_sad(radeon_connector_edid(connector), &sad$
23 if (sad_count <= 0) {
24 DRM_ERROR("Couldn't read SADs: %d\n", sad_count);
25 return;
26 }
27 BUG_ON(!sads);
28
29 if (radeon_encoder->audio && radeon_encoder->audio->write_sad_regs)
30 radeon_encoder->audio->write_sad_regs(encoder, sads, sad_c$
31
32 kfree(sads);
33 }
34
35
36 in theses files
37
38 drivers/gpu/drm/radeon/radeon_audio.c
39 drivers/gpu/drm/amd/amdgpu/dce_v6_0.c
40 drivers/gpu/drm/amd/amdgpu/dce_v10_0.c
41 drivers/gpu/drm/amd/amdgpu/dce_v11_0.c
42 drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
43
44 which ``drm_edid_to_sad‘’ is defined in drivers/gpu/drm/drm_edid.c.
45 Comments read
46
47 /**
48 * drm_edid_to_sad - extracts SADs from EDID
49 * @edid: EDID to parse
50 * @sads: pointer that will be set to the extracted SADs
51 *
52 * Looks for CEA EDID block and extracts SADs (Short Audio Descriptors) fr$
53 *
54 * Note: The returned pointer needs to be freed using kfree().
55 *
56 * Return: The number of found SADs or negative number on error.
57 */
58
59 Considering the term ``EDID'' and some audio related words, I think
60 it's reading some info from your monitor.
61
62 --
63 Silence is golden.

Replies

Subject Author
Re: [gentoo-user] DRM error: couldn't read SADs Peter Humphrey <peter@××××××××××××.uk>