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 () |
uint16_t | INREG16 () |
uint8_t | INREG8 () |
void | OUTREG () |
void | OUTREG16 () |
void | OUTREG8 () |
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 igt_global_mmio to point at the mmio bar.
pci_dev
can be obtained from intel_get_pci_device()
.
void
intel_mmio_use_dump_file (char *file
);
Sets up igt_global_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
,int fd
);
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 igt_global_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 OUTREG()
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 reg
. This function only works when the
new register access helper is initialized with intel_register_access_init()
.
This function directly accesses the igt_global_mmio without safety checks.
uint16_t
INREG16 (uint32_t reg
);
16-bit read of the register at offset reg
. This function only works when the
new register access helper is initialized with intel_register_access_init()
.
This function directly accesses the igt_global_mmio without safety checks.
uint8_t
INREG8 (uint32_t reg
);
8-bit read of the register at offset reg
. This function only works when the
new register access helper is initialized with intel_register_access_init()
.
This function directly accesses the igt_global_mmio without safety checks.
void OUTREG (uint32_t reg
,uint32_t val
);
32-bit write of val
to the register at offset reg
. This function only works
when the new register access helper is initialized with
intel_register_access_init()
.
This function directly accesses the igt_global_mmio without safety checks.
void OUTREG16 (uint32_t reg
,uint16_t val
);
16-bit write of val
to the register at offset reg
. This function only works
when the new register access helper is initialized with
intel_register_access_init()
.
This function directly accesses the igt_global_mmio without safety checks.
void OUTREG8 (uint32_t reg
,uint8_t val
);
8-bit write of val
to the register at offset reg
. This function only works
when the new register access helper is initialized with
intel_register_access_init()
.
This function directly accesses the igt_global_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 (uint32_t addr
,uint32_t *val
);
32-bit read of the register at offset
through the P-Unit sideband port.
int intel_punit_write (uint32_t addr
,uint32_t val
);
32-bit write of the register at offset
through the P-Unit sideband port.
int intel_nc_read (uint32_t addr
,uint32_t *val
);
32-bit read of the register at offset
through the NC sideband port.
extern void *igt_global_mmio;
Pointer to the register range, initialized using intel_register_access_init()
or intel_mmio_use_dump_file()
. It is not recommended to use this directly.