Page 40 of 66

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

Posted: Thu Jan 21, 2010 2:13 pm
by Yaskhan
Урааа!! Началось! VIA!
Блин где бы найти даташит от vt8237, а? Уже каторый месяц ищу. В форумах все пишут "помогите, немогу найтиии" и все дают ссылку. Идеш по ссылке, там ничего. В одном форуме советуют поискать зашифрованном виде, это как? Некоторые пишут что у них на полке валяется.

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

Posted: Thu Jan 21, 2010 5:50 pm
by Yaskhan
Ух....Нашел!!
Вы хоть бы сказали мне что vt8237, vt8237r,vt8233,vt8235 одно и то же (почти). Или не так?
Нашел я ссылку на даташит в исходниках LinuxBios.
Вот он: VT8237R_SouthBridge_Revision2.06_Lead-Free.zip 1652 кб

Добавлено:

А, вот еще нашел. Но его братец уже есть кажется.
VT82C686B Southbridge datasheet.pdf
Но я ее еще не открывл, не знаю что там.

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

Posted: Thu Jan 21, 2010 6:10 pm
by Asper
Yaskhan
Действительно очень похожи. А ты можешь потестировать мой драйвер на VT8237?
На VT8235 с кодеком VT1612A работает, но я бы хотел знать будет ли он работать на других чипсетах >= VT8233.

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

Posted: Thu Jan 21, 2010 6:37 pm
by Yaskhan
Уррраааааааааа!!!!!!!! РРРаботаеееет!!!!!!
Даже перезагркжать не пришлось!!!
Услышал звук и тааак обрадовался!!
Завтра еще больше протестиру, а сегодня послушал 5 секунд и сразу сюда. Чтоб сообщить об отличной новости!!! ЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕ!!!

А, еще должно играть на vt8237r plus, VT8251, VT8261, VT8237A

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

Posted: Fri Jan 22, 2010 3:29 pm
by Asper
Спасибо за тест. Было бы замечательно, если бы и на других чипсетах работало.

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

Posted: Sun Jan 24, 2010 8:25 am
by Leency
Поздравляю. Движемся :)

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

Posted: Fri Jan 29, 2010 10:49 am
by diamond
Добавил драйвера fm801.obj и vt8235.obj в дистр на рамдиск с соответствующими комментариями в config.txt.

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

Posted: Tue Feb 02, 2010 8:51 pm
by Asper
Leency и Diamond спасибо.

Пытаюсь сделать драйвер для своей второй (не встроенной) аудиокарты
Sound Blaster Live! Dell OEM с цифровым аудиопроцессором EMU10K1X (аудио кодек STAC9758,59). Звук есть, но сопровождается потрескиванием после каждого IRQ, вобщем над драйвером ещё надо работать.

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

Posted: Tue Feb 02, 2010 8:59 pm
by Mario
Вопрос чисто гипотетический - к существующей звуковой подсистеме без переделки ядра можно прикрутить драйвер с HDA кодеком? Или это потребует капитальных изменений?

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

Posted: Tue Feb 02, 2010 9:02 pm
by Serge
Asper

Наверное чередование буферов нарушено - драйвер микширует в ту же часть которая читается дма карты.

Mario

Нет, не требует.

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

Posted: Tue Feb 02, 2010 9:24 pm
by tsdima
Когда я делал драйвер для fm801, у меня тоже потрескивало. Было связано с тем, что в вызове play я заполнял оба имеющиеся буфера, а оказалось, что нужно заполнять только один. Судя по всему, прерывание возникает незадолго до окончания буфера, а не тогда, когда он воспроизведён полностью.

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

Posted: Tue Feb 02, 2010 10:09 pm
by Asper
Serge и tsdima спасибо за информацию, посмотрю что можно сделать с буфером.

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

Posted: Wed Feb 03, 2010 3:49 am
by Serge
Драйвер использует буфер в 16 Кб на прерывание.
Примерная схема работы такая:
два буфера А и Б по 16 Кб
приходит прерывание
драйвер передаёт ДМА буфер А, потом передаёт микшеру буфер Б.
приходит прерывание
драйвер передаёт ДМА буфер Б, потом передаёт микшеру буфер А и так по-кругу.

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

Posted: Wed Feb 03, 2010 4:07 am
by Asper
Serge
Очень полезная информация. Про 16Кб буфер догадался, но вот что их два не знал (у VIA и с одним работает). Получается работает как fm801?

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

Posted: Wed Feb 03, 2010 6:39 am
by Serge
Я не смотрел код fm801. Буферов может быть и больше. SB16 работает с двумя, АС97 с четырьмя. Это осталось от первых версий, на практике двух достаточно. Главный принцип: когда приходит прерывание уже есть буфер готовый к воспроизведению. Драйвер сразу отдаёт его DMA и готовит следующий. Некоторые контроллеры AC97 работают со списком буферов. Если буферы в списке расположены последовательно, то контроллер начнет воспроизводить следующий буфер из списка автоматически даже если мы опоздали с обработкой прерывания.