Board.KolibriOS.org

Official KolibriOS board
It is currently Mon Aug 19, 2019 10:33 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 37 posts ]  Go to page Previous 1 2 3 Next
Author Message
 Post subject: Re: HDA - debug logs
PostPosted: Thu Mar 13, 2014 10:27 am 
Offline
KSoC/GSoC Student

Joined: Wed Jul 11, 2012 3:17 am
Posts: 224
Asper wrote:
А в BIOS есть какая-то настройка переключения HDA/AC'97 ?

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

Code:
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


Top
   
 Post subject: Re: HDA - debug logs
PostPosted: Thu Mar 13, 2014 11:49 am 
Offline
User avatar

Joined: Fri Jun 27, 2008 3:22 pm
Posts: 988
Azalia выставь в Enabled


Top
   
 Post subject: Re: HDA - debug logs
PostPosted: Thu Mar 13, 2014 11:54 am 
Offline
KSoC/GSoC Student

Joined: Wed Jul 11, 2012 3:17 am
Posts: 224
Asper wrote:
Azalia выставь в Enabled

ничего, сейчас логи приложу
Spoiler: Show
Image

Spoiler: Show
Image


Top
   
 Post subject: Re: HDA - debug logs
PostPosted: Thu Mar 13, 2014 12:21 pm 
Offline
User avatar

Joined: Fri Jun 27, 2008 3:22 pm
Posts: 988
Так, а что lspci -nn говорит?

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


Last edited by Asper on Thu Mar 13, 2014 12:27 pm, edited 1 time in total.

Top
   
 Post subject: Re: HDA - debug logs
PostPosted: Thu Mar 13, 2014 12:26 pm 
Offline
KSoC/GSoC Student

Joined: Wed Jul 11, 2012 3:17 am
Posts: 224
00:1b.0 Audio device [0403]: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller [8086:1c20] (rev 04)
Code:
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)

Code:
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

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

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


Last edited by Akyltist on Thu Mar 13, 2014 12:30 pm, edited 1 time in total.

Top
   
 Post subject: Re: HDA - debug logs
PostPosted: Thu Mar 13, 2014 12:30 pm 
Offline
User avatar

Joined: Fri Jun 27, 2008 3:22 pm
Posts: 988
Вобщем ответил в предыдущем сообщении. У тебя на плате есть возможность программного переключения режимов HDA/AC'97. BIOS почему-то настраивает по умолчанию режим AC'97.


Top
   
 Post subject: Re: HDA - debug logs
PostPosted: Sat Apr 19, 2014 10:59 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Имеется следующая проблема с совместным использованием одного прерывания контроллером IDE и драйвера HDA. После использования вывода звука, через некоторое время начинают сыпаться непогашенные прерывания. Я не знаю как написан обработчик прерывания для HDA, но похоже он каким то образом забывает, что сам сгенерировал прерывание или это аппартная проблема уже. Поскольку на том же прерывании висит контроллер IDE, то его обработчик начинает бесконечно вызываться и бесконечно же отвергает вызов, поскольку он не инициировал прерывание. Это приводит к полному параличу системы.

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

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

PCIDEV
Attachment:
pcidev_pb_ata.txt [2.38 KiB]
Downloaded 147 times

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

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

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

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
 Post subject: Re: HDA - debug logs
PostPosted: Sat Apr 19, 2014 11:28 pm 
Offline

Joined: Wed May 18, 2005 7:27 pm
Posts: 1001
По описанию может быть связано с той проблемой viewtopic.php?f=3&t=2511&start=45#p56645

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


Top
   
 Post subject: Re: HDA - debug logs
PostPosted: Sat Apr 19, 2014 11:45 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Wildwest wrote:
По описанию может быть связано с той проблемой viewtopic.php?f=3&t=2511&start=45#p56645

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

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

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
 Post subject: Re: HDA - debug logs
PostPosted: Sat Apr 19, 2014 11:51 pm 
Offline

Joined: Wed May 18, 2005 7:27 pm
Posts: 1001
Ну тогда надо ждать Asper'a, Serge, Мышку. Как вариант - это может быть проблема конкретной звуковой платы или биоса.


Top
   
 Post subject: Re: HDA - debug logs
PostPosted: Sun Apr 20, 2014 11:04 pm 
Offline
Kernel Developer

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


Top
   
 Post subject: Re: HDA - debug logs
PostPosted: Mon Apr 21, 2014 12:56 am 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Serge wrote:
Попробуй загрузиться в режиме APIC.

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

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

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
 Post subject: Re: HDA - debug logs
PostPosted: Mon Apr 21, 2014 1:21 am 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Serge wrote:
Кстати, в обработчиках ошибка. Надо обнулять весь eax.
Code:
;--------------------------------------
.exit:
        mov     al, 0
        ret

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

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

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
 Post subject: Re: HDA - debug logs
PostPosted: Mon Apr 21, 2014 1:26 am 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Serge wrote:
Попробуй загрузиться в режиме APIC.

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

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
 Post subject: Re: HDA - debug logs
PostPosted: Mon Apr 21, 2014 1:49 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Mario_r4 wrote:
То что в случае APIC проблема не проявляется не спасет на конфигурациях без APIC.
Если этот проблема железа, ты её так просто не решишь. Для проверки запусти Линукс с опцией noapic.
Mario_r4 wrote:
Вернее я понимаю, что ядро его задействует, но вот переопределение прерываний не вызывается по дефолту.
Потому что мало-мало нужна поддержка ACPI.
Quote:
Если верить логу SVN для irq.inc, то в этом плане ничего не менялось.
А когда поменяется, то кто об этом вспомнит ?
Quote:
Оно не лишнее, по крайней мере потому, что этот обработчик может использоваться более чем одним контроллером IDE
Все обработчики выполняются с уже маскированными прерываниями. Для отладки полезно проверить флаг IF на входе и выходе из обработчика и сигнализировать если прерывания разрешены.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 37 posts ]  Go to page Previous 1 2 3 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited