| Top |
| void | intel_mmio_use_pci_bar () |
| void | intel_mmio_use_dump_file () |
| int | intel_register_access_init () |
| void | intel_register_access_fini () |
| uint32_t | intel_register_read () |
| void | intel_register_write () |
| int | intel_register_access_needs_fakewake () |
| uint32_t | INREG () |
| void | OUTREG () |
| uint32_t | intel_dpio_reg_read () |
| void | intel_dpio_reg_write () |
| uint32_t | intel_flisdsi_reg_read () |
| void | intel_flisdsi_reg_write () |
| uint32_t | intel_iosf_sb_read () |
| void | intel_iosf_sb_write () |
| int | intel_punit_read () |
| int | intel_punit_write () |
| int | intel_nc_read () |
| int | intel_nc_write () |
This library provides register I/O helpers in both a basic version and a more
fancy version which also handles forcewake and can optionally check registers
against a white-list. All register function are compatible. Hence the same
code can be used to decode registers with either of them, or also from a dump
file using intel_mmio_use_dump_file().
Furthermore this library also provides helper functions for accessing the various sideband interfaces found on Valleyview/Baytrail based platforms.
void
intel_mmio_use_pci_bar (struct pci_device *pci_dev);
Sets up mmio to point at the data contained in file
. This allows the same
code to get reused for dumping and decoding from running hardware as from
register dumps.
pci_dev
can be obtained from intel_get_pci_device().
void
intel_mmio_use_dump_file (char *file);
Sets up mmio to point at the data contained in file
. This allows the same
code to get reused for dumping and decoding from running hardware as from
register dumps.
int intel_register_access_init (struct pci_device *pci_dev,int safe);
This initializes the new register access library, which supports forcewake handling and also allows register access to be checked with an explicit whitelist.
It also initializes mmio like intel_mmio_use_pci_bar().
pci_dev
can be obtained from intel_get_pci_device().
void
intel_register_access_fini (void);
Clean up the register access helper initialized with
intel_register_access_init().
uint32_t
intel_register_read (uint32_t reg);
32-bit read of the register at offset
. This function only works when the new
register access helper is initialized with intel_register_access_init().
Compared to INREG() it can do optional checking with the register access
white lists.
void intel_register_write (uint32_t reg,uint32_t val);
32-bit write to the register at offset
. This function only works when the new
register access helper is initialized with intel_register_access_init().
Compared to OUTRET() it can do optional checking with the register access
white lists.
uint32_t
INREG (uint32_t reg);
32-bit read of the register at offset
. This function only works when the new
register access helper is initialized with intel_register_access_init().
This function directly accesses the mmio without safety checks.
uint32_t intel_dpio_reg_read (uint32_t reg,int phy);
32-bit read of the register at offset
through the DPIO sideband port.
void intel_dpio_reg_write (uint32_t reg,uint32_t val,int phy);
32-bit write of the register at offset
through the DPIO sideband port.
int intel_punit_read (uint8_t addr,uint32_t *val);
32-bit read of the register at offset
through the P-Unit sideband port.
int intel_punit_write (uint8_t addr,uint32_t val);
32-bit write of the register at offset
through the P-Unit sideband port.
int intel_nc_read (uint8_t addr,uint32_t *val);
32-bit read of the register at offset
through the NC sideband port.