Board.KolibriOS.org
http://board.kolibrios.org/

HDA - debug logs
http://board.kolibrios.org/viewtopic.php?f=28&t=2121
Страница 2 из 3

Автор:  Akyltist [ Чт мар 13, 2014 10:27 am ]
Заголовок сообщения:  Re: HDA - debug logs

Asper писал(а):
А в BIOS есть какая-то настройка переключения HDA/AC'97 ?

нет, сейчас приложу конфигурацию биоса.

Код:
Insyde H2O Setup Utility Rev. 3.5.

Advanced

  USB BIOS Legacy Support        <Enabled>   Disabled
  HВС Configure As               <IDE>       AHCI
  AC Mode fan always on          <Enabled>   Disabled
  DC Mode fan always on          <Enabled>   Disabled
  VT Support                     <Enabled>   Disabled
  Use XD Capability              <Enabled>   Disabled
 >Internal Devices Configurations
      Azalia                     <Auto>      Disabled  Enabled
      LAN                        <Enabled>   Disabled
      USB Port                   <Enabled>   Disabled
      Blue Touth                 <Enabled>   Disabled
      Web Camera                 <Enabled>   Disabled
      Card Reader                <Enabled>   Disabled
      Wireless LAN (PCIE)        <Enabled>   Disabled
      CD-ROM/DVD-ROM             <Enabled>   Disabled
Boot
  PXE Boot to LAN                <Enabled>   Disabled
 >Devices Boot Prioritet
  ...

Info
  BIOS Version                   DU221
  KBC Version                    R181
  SLP 2.1                        Disabled
  Intel ME Version               7.0.4.1197

Автор:  Asper [ Чт мар 13, 2014 11:49 am ]
Заголовок сообщения:  Re: HDA - debug logs

Azalia выставь в Enabled

Автор:  Akyltist [ Чт мар 13, 2014 11:54 am ]
Заголовок сообщения:  Re: HDA - debug logs

Asper писал(а):
Azalia выставь в Enabled

ничего, сейчас логи приложу
Спойлер: Показать
Изображение

Спойлер: Показать
Изображение

Автор:  Asper [ Чт мар 13, 2014 12:21 pm ]
Заголовок сообщения:  Re: HDA - debug logs

Так, а что lspci -nn говорит?

Надо будет сделать в драйвере принудительную установку HDA режима для таких МП как у тебя. А то я уже думал, что если такие конфигурации и есть то это большая редкость.

Автор:  Akyltist [ Чт мар 13, 2014 12:26 pm ]
Заголовок сообщения:  Re: HDA - debug logs

00:1b.0 Audio device [0403]: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller [8086:1c20] (rev 04)
Код:
00:00.0 Host bridge [0600]: Intel Corporation 2nd Generation Core Processor Family DRAM Controller [8086:0104] (rev 09)
00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port [8086:0101] (rev 09)
00:02.0 VGA compatible controller [0300]: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0106] (rev 09)
00:16.0 Communication controller [0780]: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 [8086:1c3a] (rev 04)
00:1a.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 [8086:1c2d] (rev 04)
00:1b.0 Audio device [0403]: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller [8086:1c20] (rev 04)
00:1c.0 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 [8086:1c10] (rev b4)
00:1c.1 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 2 [8086:1c12] (rev b4)
00:1c.3 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 4 [8086:1c16] (rev b4)
00:1d.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 [8086:1c26] (rev 04)
00:1f.0 ISA bridge [0601]: Intel Corporation HM65 Express Chipset Family LPC Controller [8086:1c49] (rev 04)
00:1f.2 IDE interface [0101]: Intel Corporation 6 Series/C200 Series Chipset Family 4 port SATA IDE Controller [8086:1c01] (rev 04)
00:1f.3 SMBus [0c05]: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller [8086:1c22] (rev 04)
00:1f.5 IDE interface [0101]: Intel Corporation 6 Series/C200 Series Chipset Family 2 port SATA IDE Controller [8086:1c09] (rev 04)
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:0ded] (rev a1)
07:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8188CE 802.11b/g/n WiFi Adapter [10ec:8176] (rev 01)
08:00.0 Ethernet controller [0200]: Atheros Communications Inc. AR8151 v2.0 Gigabit Ethernet [1969:1083] (rev c0)

Код:
00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 04)
00: 86 80 20 1c 06 04 10 00 04 00 03 04 10 00 00 00
10: 04 00 a0 e3 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 2d 15 80 08
30: 00 00 00 00 50 00 00 00 00 00 00 00 0b 01 00 00

Цитата:
Надо будет сделать в драйвере принудительную установку HDA режима для таких МП как у тебя. А то я уже думал, что если такие конфигурации и есть то это большая редкость.

Премного благодарен!!!

Автор:  Asper [ Чт мар 13, 2014 12:30 pm ]
Заголовок сообщения:  Re: HDA - debug logs

Вобщем ответил в предыдущем сообщении. У тебя на плате есть возможность программного переключения режимов HDA/AC'97. BIOS почему-то настраивает по умолчанию режим AC'97.

Автор:  Mario_r4 [ Сб апр 19, 2014 10:59 pm ]
Заголовок сообщения:  Re: HDA - debug logs

Имеется следующая проблема с совместным использованием одного прерывания контроллером IDE и драйвера HDA. После использования вывода звука, через некоторое время начинают сыпаться непогашенные прерывания. Я не знаю как написан обработчик прерывания для HDA, но похоже он каким то образом забывает, что сам сгенерировал прерывание или это аппартная проблема уже. Поскольку на том же прерывании висит контроллер IDE, то его обработчик начинает бесконечно вызываться и бесконечно же отвергает вызов, поскольку он не инициировал прерывание. Это приводит к полному параличу системы.

Почему я считаю, что проблема не в коде IDE? Я сделал так - создал большой рамдиск на 600 МБ и скопировал на него видеофайл и звуковой файл. Для контроля генерации прерывания я вставил в начало обработчика IDE прерывания вывод на доску отладки. До начала вывода звука все работает штатно. Теперь внимание, следим за руками, я запускаю воспроизведение с большого рамдиска - начинают сыпаться прерывания. Поскольку это не IDE прерывания, то он их отвергает и они соответственно обрабатываются драйвером HDA. Через сколько то запросов происходит какой то глюк и драйвер HDA оставляет свой запрос прерывания не погашенным. В результате общее прерывание продолжает генерироваться, но никто его уже снять не хочет. В случае с воспроизведением с рамдиска перестает работать доступ к жесткому диску, хотя повторный запуск проигрывания с рамдиска отрабатывает нормально, но черное дело уже сделано - доступ к жесткому диску заблокирован.

Раньше я всего этого безобразия не замечал, поскольку у меня на том же канале висел ATAPI привод и все работало в PIO режиме. Теперь же выкрутил ATAPI привод и начал усиленно тестировать DMA. На других 5 моих конфигурациях компьютеров ни один HDA кодек не висит на том же прерывании, что и контролер IDE.

PCIDEV
Вложение:
pcidev_pb_ata.txt [2.38 КБ]
98 скачиваний

Как видно из лога устройства 01018f и 040300 делят между собой прерывание 0xA или 10 (в десятичной системе).

Если никто не захочет помочь, то подскажите хотя бы какую сторону копать?

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

Автор:  Wildwest [ Сб апр 19, 2014 11:28 pm ]
Заголовок сообщения:  Re: HDA - debug logs

По описанию может быть связано с той проблемой viewtopic.php?f=3&t=2511&start=45#p56645

Цитата:
вначале разделы открываются, некоторые файлы тоже, но потом вдруг все прекращается. Сейчас это произошло после того, как я промотал видео пару раз. Ну там еще картинка\звук рассинхронизировались при этом, но это мелочь))) Если б раздел вообще не открывался, я бы не удивился, а там вначале открывается, а потом вдруг пропадает, значит, что-то не так))

Автор:  Mario_r4 [ Сб апр 19, 2014 11:45 pm ]
Заголовок сообщения:  Re: HDA - debug logs

Wildwest писал(а):
По описанию может быть связано с той проблемой viewtopic.php?f=3&t=2511&start=45#p56645

Цитата:
вначале разделы открываются, некоторые файлы тоже, но потом вдруг все прекращается. Сейчас это произошло после того, как я промотал видео пару раз. Ну там еще картинка\звук рассинхронизировались при этом, но это мелочь))) Если б раздел вообще не открывался, я бы не удивился, а там вначале открывается, а потом вдруг пропадает, значит, что-то не так))

Да, при перемотке проблема проявляется быстрее.

Автор:  Wildwest [ Сб апр 19, 2014 11:51 pm ]
Заголовок сообщения:  Re: HDA - debug logs

Ну тогда надо ждать Asper'a, Serge, Мышку. Как вариант - это может быть проблема конкретной звуковой платы или биоса.

Автор:  Serge [ Вс апр 20, 2014 11:04 pm ]
Заголовок сообщения:  Re: HDA - debug logs

Mario_r4
У меня была похожая история на старой материнке. 8259 плохо работает с расшаренными прерываниями. Попробуй загрузиться в режиме APIC.
Кстати, в обработчиках ошибка. Надо обнулять весь eax. И маскирование прерываний лишнее.
Код:
;--------------------------------------
.exit:
        mov     al, 0
        ret

Автор:  Mario_r4 [ Пн апр 21, 2014 12:56 am ]
Заголовок сообщения:  Re: HDA - debug logs

Serge писал(а):
Попробуй загрузиться в режиме APIC.

То что в случае APIC проблема не проявляется не спасет на конфигурациях без APIC.
Serge писал(а):
И маскирование прерываний лишнее.

Оно не лишнее, по крайней мере потому, что этот обработчик может использоваться более чем одним контроллером IDE. Во всяком случае у меня была проблема с ASUS K72F

Автор:  Mario_r4 [ Пн апр 21, 2014 1:21 am ]
Заголовок сообщения:  Re: HDA - debug logs

Serge писал(а):
Кстати, в обработчиках ошибка. Надо обнулять весь eax.
Код:
;--------------------------------------
.exit:
        mov     al, 0
        ret

Не помогло. Впрочем:
CleverMouse писал(а):
В принципе ещё нужно возвращать из обработчика ненулевое значение в eax, если прерывание обработано, и нулевое, если прерывание чужое, но прямо сейчас от нарушения этого правила ничего не сломается - irq_serv.main в любом случае проходит по всей цепочке.

Если верить логу SVN для irq.inc, то в этом плане ничего не менялось.

Автор:  Mario_r4 [ Пн апр 21, 2014 1:26 am ]
Заголовок сообщения:  Re: HDA - debug logs

Serge писал(а):
Попробуй загрузиться в режиме APIC.

Одно я не могу понять уже достаточно давно, если APIC это такая панацея, то почему он все еще не в транке то дефолту? Вернее я понимаю, что ядро его задействует, но вот переопределение прерываний не вызывается по дефолту.

Автор:  Serge [ Пн апр 21, 2014 1:49 am ]
Заголовок сообщения:  Re: HDA - debug logs

Mario_r4 писал(а):
То что в случае APIC проблема не проявляется не спасет на конфигурациях без APIC.
Если этот проблема железа, ты её так просто не решишь. Для проверки запусти Линукс с опцией noapic.
Mario_r4 писал(а):
Вернее я понимаю, что ядро его задействует, но вот переопределение прерываний не вызывается по дефолту.
Потому что мало-мало нужна поддержка ACPI.
Цитата:
Если верить логу SVN для irq.inc, то в этом плане ничего не менялось.
А когда поменяется, то кто об этом вспомнит ?
Цитата:
Оно не лишнее, по крайней мере потому, что этот обработчик может использоваться более чем одним контроллером IDE
Все обработчики выполняются с уже маскированными прерываниями. Для отладки полезно проверить флаг IF на входе и выходе из обработчика и сигнализировать если прерывания разрешены.

Страница 2 из 3 Часовой пояс: UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/