diff options
Diffstat (limited to 'drivers/pci/controller/dwc/pcie-designware.h')
| -rw-r--r-- | drivers/pci/controller/dwc/pcie-designware.h | 29 | 
1 files changed, 17 insertions, 12 deletions
| diff --git a/drivers/pci/controller/dwc/pcie-designware.h b/drivers/pci/controller/dwc/pcie-designware.h index bee4e2535a61..96126fd8403c 100644 --- a/drivers/pci/controller/dwc/pcie-designware.h +++ b/drivers/pci/controller/dwc/pcie-designware.h @@ -96,17 +96,6 @@  #define PCIE_GET_ATU_INB_UNR_REG_OFFSET(region)				\  			((0x3 << 20) | ((region) << 9) | (0x1 << 8)) -#define MSI_MESSAGE_CONTROL		0x52 -#define MSI_CAP_MMC_SHIFT		1 -#define MSI_CAP_MMC_MASK		(7 << MSI_CAP_MMC_SHIFT) -#define MSI_CAP_MME_SHIFT		4 -#define MSI_CAP_MSI_EN_MASK		0x1 -#define MSI_CAP_MME_MASK		(7 << MSI_CAP_MME_SHIFT) -#define MSI_MESSAGE_ADDR_L32		0x54 -#define MSI_MESSAGE_ADDR_U32		0x58 -#define MSI_MESSAGE_DATA_32		0x58 -#define MSI_MESSAGE_DATA_64		0x5C -  #define MAX_MSI_IRQS			256  #define MAX_MSI_IRQS_PER_CTRL		32  #define MAX_MSI_CTRLS			(MAX_MSI_IRQS / MAX_MSI_IRQS_PER_CTRL) @@ -191,7 +180,7 @@ enum dw_pcie_as_type {  struct dw_pcie_ep_ops {  	void	(*ep_init)(struct dw_pcie_ep *ep);  	int	(*raise_irq)(struct dw_pcie_ep *ep, u8 func_no, -			     enum pci_epc_irq_type type, u8 interrupt_num); +			     enum pci_epc_irq_type type, u16 interrupt_num);  };  struct dw_pcie_ep { @@ -208,6 +197,8 @@ struct dw_pcie_ep {  	u32			num_ob_windows;  	void __iomem		*msi_mem;  	phys_addr_t		msi_mem_phys; +	u8			msi_cap;	/* MSI capability offset */ +	u8			msix_cap;	/* MSI-X capability offset */  };  struct dw_pcie_ops { @@ -357,8 +348,11 @@ static inline int dw_pcie_allocate_domains(struct pcie_port *pp)  void dw_pcie_ep_linkup(struct dw_pcie_ep *ep);  int dw_pcie_ep_init(struct dw_pcie_ep *ep);  void dw_pcie_ep_exit(struct dw_pcie_ep *ep); +int dw_pcie_ep_raise_legacy_irq(struct dw_pcie_ep *ep, u8 func_no);  int dw_pcie_ep_raise_msi_irq(struct dw_pcie_ep *ep, u8 func_no,  			     u8 interrupt_num); +int dw_pcie_ep_raise_msix_irq(struct dw_pcie_ep *ep, u8 func_no, +			     u16 interrupt_num);  void dw_pcie_ep_reset_bar(struct dw_pcie *pci, enum pci_barno bar);  #else  static inline void dw_pcie_ep_linkup(struct dw_pcie_ep *ep) @@ -374,12 +368,23 @@ static inline void dw_pcie_ep_exit(struct dw_pcie_ep *ep)  {  } +static inline int dw_pcie_ep_raise_legacy_irq(struct dw_pcie_ep *ep, u8 func_no) +{ +	return 0; +} +  static inline int dw_pcie_ep_raise_msi_irq(struct dw_pcie_ep *ep, u8 func_no,  					   u8 interrupt_num)  {  	return 0;  } +static inline int dw_pcie_ep_raise_msix_irq(struct dw_pcie_ep *ep, u8 func_no, +					   u16 interrupt_num) +{ +	return 0; +} +  static inline void dw_pcie_ep_reset_bar(struct dw_pcie *pci, enum pci_barno bar)  {  } |