#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.