pci: Add pci_enable_bus_master
This patch adds the pci_enable_bus_master function that enables bus master access for a PCI device. Change-Id: I317daac1a613ccfc5a3894332c1a7dbbff05991f Signed-off-by: Michael LeMay <michael.lemay@intel.com>
This commit is contained in:
parent
b7ae2f44ad
commit
2684f4472f
2 changed files with 14 additions and 3 deletions
|
@ -393,7 +393,7 @@ int pci_bus_scan(struct pci_dev_info *dev_info)
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_PCI_ENUMERATION */
|
#endif /* CONFIG_PCI_ENUMERATION */
|
||||||
|
|
||||||
void pci_enable_regs(struct pci_dev_info *dev_info)
|
static void pci_set_command_bits(struct pci_dev_info *dev_info, uint32_t bits)
|
||||||
{
|
{
|
||||||
union pci_addr_reg pci_ctrl_addr;
|
union pci_addr_reg pci_ctrl_addr;
|
||||||
uint32_t pci_data;
|
uint32_t pci_data;
|
||||||
|
@ -405,7 +405,7 @@ void pci_enable_regs(struct pci_dev_info *dev_info)
|
||||||
pci_ctrl_addr.field.reg = 1;
|
pci_ctrl_addr.field.reg = 1;
|
||||||
|
|
||||||
#ifdef CONFIG_PCI_DEBUG
|
#ifdef CONFIG_PCI_DEBUG
|
||||||
printk("pci_enable_regs 0x%x\n", pci_ctrl_addr);
|
printk("pci_set_command_bits 0x%x\n", pci_ctrl_addr);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
pci_read(DEFAULT_PCI_CONTROLLER,
|
pci_read(DEFAULT_PCI_CONTROLLER,
|
||||||
|
@ -413,7 +413,7 @@ void pci_enable_regs(struct pci_dev_info *dev_info)
|
||||||
sizeof(uint16_t),
|
sizeof(uint16_t),
|
||||||
&pci_data);
|
&pci_data);
|
||||||
|
|
||||||
pci_data = pci_data | PCI_CMD_MEM_ENABLE;
|
pci_data = pci_data | bits;
|
||||||
|
|
||||||
pci_write(DEFAULT_PCI_CONTROLLER,
|
pci_write(DEFAULT_PCI_CONTROLLER,
|
||||||
pci_ctrl_addr,
|
pci_ctrl_addr,
|
||||||
|
@ -421,6 +421,16 @@ void pci_enable_regs(struct pci_dev_info *dev_info)
|
||||||
pci_data);
|
pci_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void pci_enable_regs(struct pci_dev_info *dev_info)
|
||||||
|
{
|
||||||
|
pci_set_command_bits(dev_info, PCI_CMD_MEM_ENABLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
void pci_enable_bus_master(struct pci_dev_info *dev_info)
|
||||||
|
{
|
||||||
|
pci_set_command_bits(dev_info, PCI_CMD_MASTER_ENABLE);
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_PCI_DEBUG
|
#ifdef CONFIG_PCI_DEBUG
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
|
|
@ -64,6 +64,7 @@ static inline int pci_bus_scan(struct pci_dev_info *dev_info)
|
||||||
#endif /* CONFIG_PCI_ENUMERATION */
|
#endif /* CONFIG_PCI_ENUMERATION */
|
||||||
|
|
||||||
void pci_enable_regs(struct pci_dev_info *dev_info);
|
void pci_enable_regs(struct pci_dev_info *dev_info);
|
||||||
|
void pci_enable_bus_master(struct pci_dev_info *dev_info);
|
||||||
int pci_legacy_bridge_detect(struct pci_dev_info *dev_info);
|
int pci_legacy_bridge_detect(struct pci_dev_info *dev_info);
|
||||||
void pci_legacy_bridge_configure(struct pci_dev_info *dev_info,
|
void pci_legacy_bridge_configure(struct pci_dev_info *dev_info,
|
||||||
int io_block_num,
|
int io_block_num,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue