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

  • From: "mmadia" <trac@xxxxxxxxxxxx>
  • Date: Sat, 06 Nov 2010 22:36:16 -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 mmadia:

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
> }}}

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/auich
  * ac97/auvia
  * ac97/es1370
  * echo
  * emuxki
  * hda

 == Does not appear to utilize (un)reserve_device ==
  * ac97/ali5451
  * ac97/geode
  * ac97/ich
  * ac97/ichaudio
  * cmedia
  * ice1712
  * module_driver
  * null
  * sb16
  * sis7018
  * usb_audio

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

--

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

Other related posts: