Page 57 of 66

Re: sound, SB, AC97 и другое

Posted: Tue Jun 05, 2012 7:50 pm
by Serge
Тогда залейте 018

Re: sound, SB, AC97 и другое

Posted: Tue Jun 05, 2012 8:01 pm
by Asper
В 018 версии я по ошибке удалил код включающий EAPD, из-за этого звук не работал у Кирилла и ещё у некоторых товарищей. Нужно вернуть этот код и применить фикс CleverMouse за который ей огромное спасибо. После этого можете заливать. С беззвучным проигрыванием баг посложнее будет.

Re: sound, SB, AC97 и другое

Posted: Tue Jun 05, 2012 8:07 pm
by CleverMouse
Я пробовала версию 018, так что у меня звука может не быть по тем же причинам.

Re: sound, SB, AC97 и другое

Posted: Tue Jun 05, 2012 8:16 pm
by Asper
Возможно. Можешь попробовать например
HDA tv_018a.7z (38.85 KiB)
Downloaded 315 times

Re: sound, SB, AC97 и другое

Posted: Tue Jun 05, 2012 8:29 pm
by CleverMouse
Полнейшая тишина.
Spoiler:HDA test version 018 pci_dump + beeper
detect hardware...
Intel PCH
PCI command 00000006
PCI status 00000010
lower mmio base FBC00004
upper mmio base 00000000
HDA snoop disabled, enabling ... OK
codec_mask = 00000001
create primary buffer ...done
codec probed OK
CAd = 0
Setup FG nodes = start_nid:total_nodes = 1:1
FG type = 1
Setup FG nodes = start_nid:total_nodes = A:19
IDT unknown codec id 00007605
Pin Nid = D
Pin Control = 00000040
Pin Capabilities = 00010050
Pin def_cfg = 90170110
Pin Amp Out caps = 00000000
AUD_OUT found 13
UNMUTE OUT: NID=13
Amp val = 7F:2
CONNECT: NID=D
IDX=0
Pin Nid = B
Pin Control = 000000C0
Pin Capabilities = 0001001C
Pin def_cfg = 0221101F
Pin Amp Out caps = 00000000
AUD_OUT found 13
UNMUTE OUT: NID=13
Amp val = 7F:2
CONNECT: NID=B
IDX=0
val=13
val=0
hda_codec_setup_stream: NID=13
stream=5
channel=0
format=11
Normal mode !

Re: sound, SB, AC97 и другое

Posted: Tue Jun 05, 2012 8:43 pm
by Asper
Ну тогда баг с беззвучным проигрыванием налицо. Кстати я там в этой версии помнится делал вывод звука через Beep widget у себя на ноутбуке HP EliteBook 8730w (на котором тоже беззвучное проигрывание) и он даже что-то там выводил через бипер.
Закомментированный код в hda_generic.inc

Code: Select all

;;Asper+: Beeper [ 

Re: sound, SB, AC97 и другое

Posted: Tue Jun 05, 2012 11:20 pm
by Leency
Сергей исправлял 017 так, что у меня звук есть. Но он как всегда скромняшка)
Serge wrote:Если не путаю у меня версия 17D с небольшими правками
Надо слепить правки Сержа, Мышки и версии 018 :) К сожалению, не знаю как Asper'a зовут)

Re: sound, SB, AC97 и другое

Posted: Wed Jun 06, 2012 12:03 am
by Asper
Ага сейчас читаю тему. Serge вроде фиксил обработку получения позиции в буфере, может быть добавит свой код. А вообще там проблема с глюками железа, прерывания срабатывают не тогда когда им положено (bogus interrupts etc), в ALSA с этим борются с помощью проверки счетчика в обработчике IRQ. Ну и там включена обработка асинхронных прерываний с помощью специальной очереди. Я асинхронные прерывания железу просто не разрешаю на этапе инициализации и они по идее не должны генерироваться. С этим же возможно связано отваливание жестких (вал ДМА запросов от HDA контроллера) и зависания системы в некоторых случаях. Но все это конечно только предположения, которые надо проверять.
Все-таки что не говори, но по крайней мере в отношении HDA самое качественное железо делает AMD, чего я не могу сказать например об HP у которых железо не своё, но собирают они его как-то ...

Re: sound, SB, AC97 и другое

Posted: Wed Jun 06, 2012 12:15 am
by Asper
Кстати патч из ALSA для своего кодека я пробовал. Не помогло против бага с беззвучным проигрыванием.

Re: sound, SB, AC97 и другое

Posted: Wed Jun 06, 2012 12:38 am
by Leency
> HDA tv_018+patch_analog.7z
Вешает систему.

> HDA tv_018a.7z
Наилучшая версия из всех. Громкость нормальная. Fplay играет видео примерно 15 секунд, прежде чем зависнуть, в то время как 017 Сержа лишь 1 секунду.

Re: sound, SB, AC97 и другое

Posted: Wed Jun 06, 2012 12:53 am
by Asper
Спасибо за тест. :)
> HDA tv_018+patch_analog.7z
Вешает систему.
Эта версия не для всеобщего использования и её лучше не тестировать без надобности. Она под вполне конкретные кодеки от Analog Devices.
> HDA tv_018a.7z
Наилучшая версия из всех. Громкость нормальная. Fplay играет видео примерно 15 секунд, прежде чем зависнуть, в то время как 017 Сержа лишь 1 секунду.
Версия Serge'а как я полагаю более правильная в части обработки positions. То, что эта версия работает на несколько секунд дольше всё равно не дело. Она должна работать как полагается.

Re: sound, SB, AC97 и другое

Posted: Wed Jun 06, 2012 8:19 am
by Serge
Asper
С возвращением !

Я делал правки для Fplay. Мой H67 не записывает текущую позицию буфера в память. Почему, так и не понял и сделал чтение позиции из регистра.

Re: sound, SB, AC97 и другое

Posted: Wed Jun 06, 2012 3:33 pm
by Leency
Проблема решилась - я перевёл контроллер жёсткого диска с IDE mode в нативный ACHI и зависание исчезло. Жестяк стал работать быстрее и как часы. Аудио тоже.

Re: sound, SB, AC97 и другое

Posted: Thu Jun 07, 2012 10:03 pm
by Asper
Serge

Спасибо! :)
Посмотрел код, заметил среди прочего, что добавил xor eax, eax в service_proc, про который я позабыл, спасибо за фикс. Есть вопросы.
Перемаппил память под position buffer - это борьба с контроллером или необходимость?
Serge wrote:Мой H67 не записывает текущую позицию буфера в память. Почему, так и не понял и сделал чтение позиции из регистра.
Хм... может быть сделать чтение из регистров тогда по умолчанию?

Code: Select all

cmp   eax, 0x3FE0   ; bufsize
Magic number? :)

Leency

Отлично, значит проблема не в HDA. Все-таки надо будет сделать нормальную работу с SATA.

Re: sound, SB, AC97 и другое

Posted: Thu Jun 07, 2012 10:29 pm
by Serge

Code: Select all

Перемаппил память под position buffer - это борьба с контроллером или необходимость?
Скорее всего первое, точно уже не помню. Пробовал разные способы заставить контроллер писать позицию в буфер но ничего не вышло. Так что пока лучше сделать чтение регистра.

>>Magic number?
Да. Попытка компенсировать опережающее прерывание. Со стороны Интел это просто безобразие - такой дизайн.