mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2025-06-20 06:16:13 +00:00
lib: add 16 and 8 bit versions of INREG and OUTREG
Add INREG8, INREG16, OUTREG8, and OUTREG16. While at it, cleanup doc comments of INREG and OUTREG. Signed-off-by: Jani Nikula <jani.nikula@intel.com>
This commit is contained in:
parent
30e84df0c1
commit
23b7f08920
@ -43,7 +43,11 @@ void intel_register_write(uint32_t reg, uint32_t val);
|
|||||||
int intel_register_access_needs_fakewake(void);
|
int intel_register_access_needs_fakewake(void);
|
||||||
|
|
||||||
uint32_t INREG(uint32_t reg);
|
uint32_t INREG(uint32_t reg);
|
||||||
|
uint16_t INREG16(uint32_t reg);
|
||||||
|
uint8_t INREG8(uint32_t reg);
|
||||||
void OUTREG(uint32_t reg, uint32_t val);
|
void OUTREG(uint32_t reg, uint32_t val);
|
||||||
|
void OUTREG16(uint32_t reg, uint16_t val);
|
||||||
|
void OUTREG8(uint32_t reg, uint8_t val);
|
||||||
|
|
||||||
/* sideband access functions from intel_iosf.c */
|
/* sideband access functions from intel_iosf.c */
|
||||||
uint32_t intel_dpio_reg_read(uint32_t reg, int phy);
|
uint32_t intel_dpio_reg_read(uint32_t reg, int phy);
|
||||||
|
@ -311,8 +311,8 @@ write_out:
|
|||||||
* INREG:
|
* INREG:
|
||||||
* @reg: register offset
|
* @reg: register offset
|
||||||
*
|
*
|
||||||
* 32-bit read of the register at @offset. This function only works when the new
|
* 32-bit read of the register at offset @reg. This function only works when the
|
||||||
* register access helper is initialized with intel_register_access_init().
|
* new register access helper is initialized with intel_register_access_init().
|
||||||
*
|
*
|
||||||
* This function directly accesses the #mmio without safety checks.
|
* This function directly accesses the #mmio without safety checks.
|
||||||
*
|
*
|
||||||
@ -325,12 +325,47 @@ uint32_t INREG(uint32_t reg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* OUTRET:
|
* INREG16:
|
||||||
|
* @reg: register offset
|
||||||
|
*
|
||||||
|
* 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 #mmio without safety checks.
|
||||||
|
*
|
||||||
|
* Returns:
|
||||||
|
* The value read from the register.
|
||||||
|
*/
|
||||||
|
uint16_t INREG16(uint32_t reg)
|
||||||
|
{
|
||||||
|
return *(volatile uint16_t *)((volatile char *)mmio + reg);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* INREG8:
|
||||||
|
* @reg: register offset
|
||||||
|
*
|
||||||
|
* 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 #mmio without safety checks.
|
||||||
|
*
|
||||||
|
* Returns:
|
||||||
|
* The value read from the register.
|
||||||
|
*/
|
||||||
|
uint8_t INREG8(uint32_t reg)
|
||||||
|
{
|
||||||
|
return *((volatile uint8_t *)mmio + reg);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* OUTREG:
|
||||||
* @reg: register offset
|
* @reg: register offset
|
||||||
* @val: value to write
|
* @val: value to write
|
||||||
*
|
*
|
||||||
* 32-bit write to the register at @offset. This function only works when the new
|
* 32-bit write of @val to the register at offset @reg. This function only works
|
||||||
* register access helper is initialized with intel_register_access_init().
|
* when the new register access helper is initialized with
|
||||||
|
* intel_register_access_init().
|
||||||
*
|
*
|
||||||
* This function directly accesses the #mmio without safety checks.
|
* This function directly accesses the #mmio without safety checks.
|
||||||
*/
|
*/
|
||||||
@ -338,3 +373,35 @@ void OUTREG(uint32_t reg, uint32_t val)
|
|||||||
{
|
{
|
||||||
*(volatile uint32_t *)((volatile char *)mmio + reg) = val;
|
*(volatile uint32_t *)((volatile char *)mmio + reg) = val;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* OUTREG16:
|
||||||
|
* @reg: register offset
|
||||||
|
* @val: value to write
|
||||||
|
*
|
||||||
|
* 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 #mmio without safety checks.
|
||||||
|
*/
|
||||||
|
void OUTREG16(uint32_t reg, uint16_t val)
|
||||||
|
{
|
||||||
|
*(volatile uint16_t *)((volatile char *)mmio + reg) = val;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* OUTREG8:
|
||||||
|
* @reg: register offset
|
||||||
|
* @val: value to write
|
||||||
|
*
|
||||||
|
* 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 #mmio without safety checks.
|
||||||
|
*/
|
||||||
|
void OUTREG8(uint32_t reg, uint8_t val)
|
||||||
|
{
|
||||||
|
*((volatile uint8_t *)mmio + reg) = val;
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user