mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
pcie: Create enums for link speed and width
In preparation for reporting higher virtual link speeds and widths, create enums and macros to help us manage them. Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com> Tested-by: Geoffrey McRae <geoff@hostfission.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Eric Auger <eric.auger@redhat.com> Signed-off-by: Alex Williamson <alex.williamson@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
e7176cdbe4
commit
d96a0ac71c
3 changed files with 27 additions and 6 deletions
|
@ -34,10 +34,29 @@
|
|||
|
||||
/* PCI_EXP_LINK{CAP, STA} */
|
||||
/* link speed */
|
||||
#define PCI_EXP_LNK_LS_25 1
|
||||
typedef enum PCIExpLinkSpeed {
|
||||
QEMU_PCI_EXP_LNK_2_5GT = 1,
|
||||
QEMU_PCI_EXP_LNK_5GT,
|
||||
QEMU_PCI_EXP_LNK_8GT,
|
||||
QEMU_PCI_EXP_LNK_16GT,
|
||||
} PCIExpLinkSpeed;
|
||||
|
||||
#define QEMU_PCI_EXP_LNKCAP_MLS(speed) (speed)
|
||||
#define QEMU_PCI_EXP_LNKSTA_CLS QEMU_PCI_EXP_LNKCAP_MLS
|
||||
|
||||
typedef enum PCIExpLinkWidth {
|
||||
QEMU_PCI_EXP_LNK_X1 = 1,
|
||||
QEMU_PCI_EXP_LNK_X2 = 2,
|
||||
QEMU_PCI_EXP_LNK_X4 = 4,
|
||||
QEMU_PCI_EXP_LNK_X8 = 8,
|
||||
QEMU_PCI_EXP_LNK_X12 = 12,
|
||||
QEMU_PCI_EXP_LNK_X16 = 16,
|
||||
QEMU_PCI_EXP_LNK_X32 = 32,
|
||||
} PCIExpLinkWidth;
|
||||
|
||||
#define PCI_EXP_LNK_MLW_SHIFT ctz32(PCI_EXP_LNKCAP_MLW)
|
||||
#define PCI_EXP_LNK_MLW_1 (1 << PCI_EXP_LNK_MLW_SHIFT)
|
||||
#define QEMU_PCI_EXP_LNKCAP_MLW(width) (width << PCI_EXP_LNK_MLW_SHIFT)
|
||||
#define QEMU_PCI_EXP_LNKSTA_NLW QEMU_PCI_EXP_LNKCAP_MLW
|
||||
|
||||
/* PCI_EXP_LINKCAP */
|
||||
#define PCI_EXP_LNKCAP_ASPMS_SHIFT ctz32(PCI_EXP_LNKCAP_ASPMS)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue