Auxiliary Bus Support Coming To Linux 5.11
Coming to the Linux 5.11 is the Auxiliary Bus infrastructure that allows creating an auxiliary device and binding an auxiliary driver to it. This is for a new core driver feature around increasingly complex devices that rely upon several drivers for support/operation.
Auxiliary Bus is a new core driver feature set to be introduced in Linux 5.11 -- it was queued yesterday into driver-core-next. Intel engineers led development of this new bus with an initial use-case being for their Sound Open Firmware and complex audio subsystem use-cases where multiple drivers can be at play depending upon interface and other factors. Besides Sound Open Firmware, another Intel use-case is regarding PCI network devices that are also RDMA-capable and splitting that RDMA functionality off into an auxiliary driver within the RDMA subsystem while the parent driver is the network driver. The Auxiliary Bus can be useful where one driver may want to export an interface for another subsystem, better compartmentalization of driver code, and similar splitting of a device's support across drivers. This multiple driver scenario dealing with one device has already existed within the kernel (such as AMDGPU + AMDKFD compute) while Auxiliary Bus formalizes the design and associated interfaces for the registering and handling of the auxiliary device/driver.
Intel engineers led the Auxiliary Bus development since last year but NVIDIA (and Mellanox) and others also were involved.
Look for this new fundamental functionality and auxiliary device/driver interfaces to come with Linux 5.11 with its merge window likely opening at the end of next week while the kernel debut should happen in February.
This documentation explains much more about the new Auxiliary Bus.
Auxiliary Bus is a new core driver feature set to be introduced in Linux 5.11 -- it was queued yesterday into driver-core-next. Intel engineers led development of this new bus with an initial use-case being for their Sound Open Firmware and complex audio subsystem use-cases where multiple drivers can be at play depending upon interface and other factors. Besides Sound Open Firmware, another Intel use-case is regarding PCI network devices that are also RDMA-capable and splitting that RDMA functionality off into an auxiliary driver within the RDMA subsystem while the parent driver is the network driver. The Auxiliary Bus can be useful where one driver may want to export an interface for another subsystem, better compartmentalization of driver code, and similar splitting of a device's support across drivers. This multiple driver scenario dealing with one device has already existed within the kernel (such as AMDGPU + AMDKFD compute) while Auxiliary Bus formalizes the design and associated interfaces for the registering and handling of the auxiliary device/driver.
Intel engineers led the Auxiliary Bus development since last year but NVIDIA (and Mellanox) and others also were involved.
Look for this new fundamental functionality and auxiliary device/driver interfaces to come with Linux 5.11 with its merge window likely opening at the end of next week while the kernel debut should happen in February.
This documentation explains much more about the new Auxiliary Bus.
1 Comment