| // SPDX-License-Identifier: GPL-2.0 | |
| use crate::gpu::{ | |
| Architecture, | |
| Chipset, // | |
| }; | |
| mod gb202; | |
| mod tu102; | |
| pub(super) trait VgpuHal { | |
| /// Returns whether this chipset can support vGPU. | |
| fn supports_vgpu(&self) -> bool; | |
| } | |
| pub(super) fn vgpu_hal(chipset: Chipset) -> &'static dyn VgpuHal { | |
| match chipset.arch() { | |
| Architecture::BlackwellGB20x => gb202::GB202_HAL, | |
| Architecture::Turing | |
| | Architecture::Ampere | |
| | Architecture::Hopper | |
| | Architecture::Ada | |
| | Architecture::BlackwellGB10x => tu102::TU102_HAL, | |
| } | |
| } |