LINUX.ORG.RU

История изменений

Исправление Deleted, (текущая версия) :

Как у вас успехи? Не пробовали свой прибор через get-edid посмотреть?

Почему-то въехал на пень по этой теме - сижу уже который день, пытаюсь понять хоть примерно, что там происходит. Просто любопытно.

При тщательном переборе параметров выяснилось, что проблема со звуком у меня появляется при наличии CEA блока EDID_CEA_YCRCB422, который вообще-то вовсе даже не про звук должен быть (sic!).
Тупо вытащил родной edid из телевизора и откусывал медленно из него лишнее, пока звук не появился. А потом в обратную сторону - к работающему старому edid добавил этот блок и всё сломалось. Точно где-то тут собака зарыта. Но в коде drivers/gpu/drm/drm_edid.c не могу понять, где это могло запутаться.

А в вашем случае, очень похоже, что bool drm_detect_monitor_audio(struct edid *edid) возвращает false. Потому даже устройства такого нет. Получается так, что 4.19 edid вашего прибора узнаёт как аудио устройство, а 5.2 не видит ни EDID_BASIC_AUDIO ваш, ни AUDIO_BLOCK. И тоже неясно где и с чем их там можно спутать. Особенно не зная, что именно сообщает ваш прибор про свои возможности.

Как-то так всё это выглядит глазами любителя.

Было бы мило, если бы более компетентные товарищи подключились к этой теме. Интересно же.

Исходная версия Deleted, :

Как у вас успехи? Не пробовали свой прибор через get-edid посмотреть?

Почему-то въехал на пень по этой теме - сижу уже который день, пытаюсь понять хоть примерно, что там происходит. Просто любопытно.

При тщательном переборе параметров выяснилось, что проблема со звуком у меня появляется при наличии CEA блока EDID_CEA_YCRCB422, который вообще-то вовсе даже не про звук должен быть (sic!).
Тупо вытащил родной edid из телевизора и откусывал медленно из него лишнее, пока звук не появился. А потом в обратную сторону - к работающему старому edid добавил этот блок и всё сломалось. Точно где-то тут собака зарыта. Но в коде drivers/gpu/drm/drm_edid.c не могу понять, где это могло запутаться.

А в вашем случае, очень похоже, что bool drm_detect_monitor_audio(struct edid *edid) возвращает false. Потому даже устройства такого нет. Получается так, что 4.19 edid вашего прибора узнаёт как аудио устройство, а 5.2 не видит ни EDID_BASIC_AUDIO ваш, ни AUDIO_BLOCK. И тоже неясно где и с чем их там можно спутать. Особенно не зная, что именно сообщает ваш прибор про свои возможности.

Как-то так всё это выглядит глазами любителя.