drivers/interrupt_controller: VT-D IRTE table should be 4kb aligned
As specified by the IRTA location. Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
This commit is contained in:
parent
2c904b379b
commit
25640f65c9
2 changed files with 4 additions and 7 deletions
|
@ -103,7 +103,7 @@ union qi_wait_descriptor {
|
||||||
#define QI_WAIT_STATUS_COMPLETE 0x1UL
|
#define QI_WAIT_STATUS_COMPLETE 0x1UL
|
||||||
|
|
||||||
struct vtd_ictl_data {
|
struct vtd_ictl_data {
|
||||||
struct vtd_irte irte[IRTE_NUM];
|
struct vtd_irte irte[IRTE_NUM] __aligned(0x1000);
|
||||||
struct qi_descriptor qi[QI_NUM] __aligned(0x1000);
|
struct qi_descriptor qi[QI_NUM] __aligned(0x1000);
|
||||||
int irqs[IRTE_NUM];
|
int irqs[IRTE_NUM];
|
||||||
int vectors[IRTE_NUM];
|
int vectors[IRTE_NUM];
|
||||||
|
|
|
@ -119,14 +119,11 @@
|
||||||
#define VTD_GSTS_TES 31
|
#define VTD_GSTS_TES 31
|
||||||
|
|
||||||
/* Interrupt Remapping Table Address Register details */
|
/* Interrupt Remapping Table Address Register details */
|
||||||
#define VTD_IRTA_SIZE_MASK 0x00000000000000FF
|
#define VTD_IRTA_SIZE_MASK 0x000000000000000FUL
|
||||||
#define VTD_IRTA_EIME BIT(11)
|
#define VTD_IRTA_EIME BIT(11)
|
||||||
#define VTD_IRTA_ADDR_SHIFT 12
|
|
||||||
|
|
||||||
#define VTD_IRTA_REG_GEN_CONTENT(addr, size, mode) \
|
#define VTD_IRTA_REG_GEN_CONTENT(addr, size, mode) \
|
||||||
(0 | \
|
((uint64_t)(addr) | (mode) | (size & VTD_IRTA_SIZE_MASK))
|
||||||
(addr << VTD_IRTA_ADDR_SHIFT) | \
|
|
||||||
(mode) | (size & VTD_IRTA_SIZE_MASK))
|
|
||||||
|
|
||||||
/* Fault event control register details */
|
/* Fault event control register details */
|
||||||
#define VTD_FECTL_REG_IP 30
|
#define VTD_FECTL_REG_IP 30
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue