blob: 579167437d8e0f2bcbe2d1080b01f4381eb40a2f [file] [log] [blame]
swissChili0d248832021-04-08 18:16:02 -07001#pragma once
2
3#include <kint.h>
swissChilica268482021-05-28 18:31:46 -07004#include <dri/pci/vendors.h>
swissChili0d248832021-04-08 18:16:02 -07005
swissChili7a6f5eb2021-04-13 16:46:02 -07006enum
7{
8 PCI_CONFIG_ADDRESS = 0xCF8,
9 PCI_CONFIG_DATA = 0xCFC,
10};
11
swissChili247cc562021-05-30 20:55:13 -070012struct pci_device
13{
14 struct pci_vendor *vendor;
15 uchar class, subclass, prog_if;
16 ushort device_id;
17 bool valid;
18};
19
20// offset is in dwords
swissChili93214982021-05-28 21:32:26 -070021uint pci_config_readd(uchar bus, uchar slot, uchar func, uchar offset);
swissChili247cc562021-05-30 20:55:13 -070022struct pci_device pci_check_device(uchar bus, uchar slot, uchar func);
swissChili402a3832021-05-29 21:41:31 -070023void pci_print_devices();