22 lines
992 B
Markdown
22 lines
992 B
Markdown
|
Vendor Reset
|
||
|
|
||
|
The goal of this project is to provide a kernel module that is capable of
|
||
|
resetting hardware devices into a state where they can be re-initialized or
|
||
|
passed through into a virtual machine (VFIO). While it would be great to have
|
||
|
these in the kernel as PCI quirks, some of the reset procedures are very complex
|
||
|
and would never be accepted as a quirk (ie AMD Vega 10).
|
||
|
|
||
|
By providing this as an out of tree kernel module, vendors will be able to
|
||
|
easily create pull requests to add functionallity to this module, and users will
|
||
|
be able to easily update this module without requiring a complete kernel rebuild.
|
||
|
|
||
|
If you are a vendor intending to add support for your device to this project
|
||
|
please first consider two things:
|
||
|
|
||
|
1. Can you fix your hardware/firmware to reset correctly using FLR or a BUS
|
||
|
reset?
|
||
|
2. Is the reset simple enough that it should really be a kernel pci quirk
|
||
|
(see: pci_quirk.c)?
|
||
|
|
||
|
If you answer yes to either of these questions this project is not for you.
|