ladybird/Kernel/Devices/Audio
Liav A 3fb289e27d Kernel/PCI: Don't hold spinlocks when doing fast device enumeration
Instead, hold the lock while we copy the contents to a stack-based
Vector then iterate on it without any locking.

Because we rely on heap allocations, we need to propagate errors back
in case of OOM condition, therefore, both PCI::enumerate API function
and PCI::Access::add_host_controller_and_enumerate_attached_devices use
now a ErrorOr<void> return value to propagate errors. OOM Error can only
occur when enumerating the m_device_identifiers vector under a spinlock
and trying to expand the temporary Vector which will be used locklessly
to actually iterate over the PCI::DeviceIdentifiers objects.
2022-03-14 22:39:09 +01:00
..
AC97.cpp Kernel: Report AC'97 vendor and device ID 2022-03-04 11:07:25 +01:00
AC97.h Kernel: Report AC'97 vendor and device ID 2022-03-04 11:07:25 +01:00
Channel.cpp Kernel/Audio: Introduce a new design architecture for the subsystem 2022-02-14 11:39:19 +01:00
Channel.h Kernel/Audio: Introduce a new design architecture for the subsystem 2022-02-14 11:39:19 +01:00
Controller.h Kernel/Audio: Introduce a new design architecture for the subsystem 2022-02-14 11:39:19 +01:00
Management.cpp Kernel/PCI: Don't hold spinlocks when doing fast device enumeration 2022-03-14 22:39:09 +01:00
Management.h Kernel/Audio: Introduce a new design architecture for the subsystem 2022-02-14 11:39:19 +01:00