forked from Minki/linux
[POWERPC] EEH: enable MMIO/DMA on frozen slot
Add wrapper around the rtas call to enable MMIO or DMA on a frozen pci slot. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
parent
cb5b562444
commit
47b5c838af
@ -481,6 +481,35 @@ eeh_slot_availability(struct pci_dn *pdn)
|
||||
return -1;
|
||||
}
|
||||
|
||||
/**
|
||||
* rtas_pci_enable - enable MMIO or DMA transfers for this slot
|
||||
* @pdn pci device node
|
||||
*/
|
||||
|
||||
int
|
||||
rtas_pci_enable(struct pci_dn *pdn, int function)
|
||||
{
|
||||
int config_addr;
|
||||
int rc;
|
||||
|
||||
/* Use PE configuration address, if present */
|
||||
config_addr = pdn->eeh_config_addr;
|
||||
if (pdn->eeh_pe_config_addr)
|
||||
config_addr = pdn->eeh_pe_config_addr;
|
||||
|
||||
rc = rtas_call(ibm_set_eeh_option, 4, 1, NULL,
|
||||
config_addr,
|
||||
BUID_HI(pdn->phb->buid),
|
||||
BUID_LO(pdn->phb->buid),
|
||||
function);
|
||||
|
||||
if (rc)
|
||||
printk(KERN_WARNING "EEH: Cannot enable function %d, err=%d dn=%s\n",
|
||||
function, rc, pdn->node->full_name);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
/**
|
||||
* rtas_pci_slot_reset - raises/lowers the pci #RST line
|
||||
* @pdn pci device node
|
||||
|
@ -68,6 +68,17 @@ struct pci_dev *pci_get_device_by_addr(unsigned long addr);
|
||||
*/
|
||||
void eeh_slot_error_detail (struct pci_dn *pdn, int severity);
|
||||
|
||||
/**
|
||||
* rtas_pci_enableo - enable IO transfers for this slot
|
||||
* @pdn: pci device node
|
||||
* @function: either EEH_THAW_MMIO or EEH_THAW_DMA
|
||||
*
|
||||
* Enable I/O transfers to this slot
|
||||
*/
|
||||
#define EEH_THAW_MMIO 2
|
||||
#define EEH_THAW_DMA 3
|
||||
int rtas_pci_enable(struct pci_dn *pdn, int function);
|
||||
|
||||
/**
|
||||
* rtas_set_slot_reset -- unfreeze a frozen slot
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user