[haiku-bugs] Re: [Haiku] #6798: Master Ticket: Updating audio drivers to co-exist with OpenSound

  • From: "mmu_man" <trac@xxxxxxxxxxxx>
  • Date: Sat, 08 Jan 2011 14:13:47 -0000

#6798: Master Ticket: Updating audio drivers to co-exist with OpenSound
----------------------------+------------------------------
  Reporter:  mmadia         |        Owner:  korli
      Type:  bug            |       Status:  new
  Priority:  normal         |    Milestone:  R1
 Component:  Drivers/Audio  |      Version:  R1/Development
Resolution:                 |     Keywords:
Blocked By:                 |  Has a Patch:  0
  Platform:  All            |     Blocking:
----------------------------+------------------------------
Description changed by mmu_man:

Old description:

> This is a master ticket for tracking the updates of the various audio
> drivers, such that they can co-exist with OpenSound.   {{{
> (un)reserve_device }}} needs to be utilized by Haiku's drivers, such as
> browser:haiku/trunk/src/add-ons/kernel/drivers/audio/hda/driver.cpp#L56
> {{{
>                 if (info.class_base == PCI_multimedia
>                         && info.class_sub == PCI_hd_audio) {
> #ifdef __HAIKU__
>                         if ((*gPci->reserve_device)(info.bus,
> info.device, info.function, "hda",
>                                 &gCards[gNumCards]) < B_OK) {
>                                 dprintf("HDA: Failed to reserve
> PCI:%d:%d:%d\n",
>                                         info.bus, info.device,
> info.function);
>                                 continue;
>                         }
> #endif
> }}}
>
> and browser:haiku/trunk/src/add-
> ons/kernel/drivers/audio/hda/driver.cpp#L95
> {{{
> #ifdef __HAIKU__
>                 (*gPci->unreserve_device)(gCards[i].pci_info.bus,
> gCards[i].pci_info.device,
>                         gCards[i].pci_info.function, "hda", &gCards[i]);
> #endif
> }}}
>
> == Appears to utilize (un)reserve_device ==
>  * ac97/ali5451 (r39333, r39337)
>  * ac97/auich
>  * ac97/auvia
>  * ac97/es1370
>  * cmedia (r39335, r39339)
>  * ice1712 (r39338)
>  * echo
>  * emuxki
>  * hda
>
> == Does not appear to utilize (un)reserve_device ==
>  * ac97/geode
>  * ac97/ich
>  * ac97/ichaudio
>  * module_driver
>  * null
>  * sb16
>  * sis7018 ''(don't do. see comments)''
>  * usb_audio ''(don't do. see comments)''
>
> ''note: listing the devices here for now.  new tickets could be created
> as patches are submitted for each device''
>
> ''note: it appears some drivers' uninit_driver() do not call
> unreserve_device''

New description:

 This is a master ticket for tracking the updates of the various audio
 drivers, such that they can co-exist with OpenSound.   {{{
 (un)reserve_device }}} needs to be utilized by Haiku's drivers, such as
 browser:haiku/trunk/src/add-ons/kernel/drivers/audio/hda/driver.cpp#L56
 {{{
                 if (info.class_base == PCI_multimedia
                         && info.class_sub == PCI_hd_audio) {
 #ifdef __HAIKU__
                         if ((*gPci->reserve_device)(info.bus, info.device,
 info.function, "hda",
                                 &gCards[gNumCards]) < B_OK) {
                                 dprintf("HDA: Failed to reserve
 PCI:%d:%d:%d\n",
                                         info.bus, info.device,
 info.function);
                                 continue;
                         }
 #endif
 }}}

 and browser:haiku/trunk/src/add-
 ons/kernel/drivers/audio/hda/driver.cpp#L95
 {{{
 #ifdef __HAIKU__
                 (*gPci->unreserve_device)(gCards[i].pci_info.bus,
 gCards[i].pci_info.device,
                         gCards[i].pci_info.function, "hda", &gCards[i]);
 #endif
 }}}

 == Appears to utilize (un)reserve_device ==
  * ac97/ali5451 (r39333, r39337)
  * ac97/auich
  * ac97/auvia
  * ac97/es1370
  * cmedia (r39335, r39339)
  * ice1712 (r39338)
  * echo
  * emuxki
  * hda

 == Does not appear to utilize (un)reserve_device ==
  * ac97/geode
  * ac97/ich
  * ac97/ichaudio
  * module_driver
  * null ''(don't do. doesn't use PCI)''
  * sb16 ''(don't do. ISA)''
  * sis7018 ''(don't do. see comments)''
  * usb_audio ''(don't do. see comments)''

 ''note: listing the devices here for now.  new tickets could be created as
 patches are submitted for each device''

 ''note: it appears some drivers' uninit_driver() do not call
 unreserve_device''

--

-- 
Ticket URL: <http://dev.haiku-os.org/ticket/6798#comment:6>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: