diff options
Diffstat (limited to 'drivers/rapidio')
| -rw-r--r-- | drivers/rapidio/devices/tsi721.c | 18 | 
1 files changed, 6 insertions, 12 deletions
diff --git a/drivers/rapidio/devices/tsi721.c b/drivers/rapidio/devices/tsi721.c index 5d44252b734..d5e1625bbac 100644 --- a/drivers/rapidio/devices/tsi721.c +++ b/drivers/rapidio/devices/tsi721.c @@ -2219,9 +2219,7 @@ static int __devinit tsi721_probe(struct pci_dev *pdev,  				  const struct pci_device_id *id)  {  	struct tsi721_device *priv; -	int cap;  	int err; -	u32 regval;  	priv = kzalloc(sizeof(struct tsi721_device), GFP_KERNEL);  	if (priv == NULL) { @@ -2330,20 +2328,16 @@ static int __devinit tsi721_probe(struct pci_dev *pdev,  			dev_info(&pdev->dev, "Unable to set consistent DMA mask\n");  	} -	cap = pci_pcie_cap(pdev); -	BUG_ON(cap == 0); +	BUG_ON(!pci_is_pcie(pdev));  	/* Clear "no snoop" and "relaxed ordering" bits, use default MRRS. */ -	pci_read_config_dword(pdev, cap + PCI_EXP_DEVCTL, ®val); -	regval &= ~(PCI_EXP_DEVCTL_READRQ | PCI_EXP_DEVCTL_RELAX_EN | -		    PCI_EXP_DEVCTL_NOSNOOP_EN); -	regval |= 0x2 << MAX_READ_REQUEST_SZ_SHIFT; -	pci_write_config_dword(pdev, cap + PCI_EXP_DEVCTL, regval); +	pcie_capability_clear_and_set_word(pdev, PCI_EXP_DEVCTL, +		PCI_EXP_DEVCTL_READRQ | PCI_EXP_DEVCTL_RELAX_EN | +		PCI_EXP_DEVCTL_NOSNOOP_EN, +		0x2 << MAX_READ_REQUEST_SZ_SHIFT);  	/* Adjust PCIe completion timeout. */ -	pci_read_config_dword(pdev, cap + PCI_EXP_DEVCTL2, ®val); -	regval &= ~(0x0f); -	pci_write_config_dword(pdev, cap + PCI_EXP_DEVCTL2, regval | 0x2); +	pcie_capability_clear_and_set_word(pdev, PCI_EXP_DEVCTL2, 0xf, 0x2);  	/*  	 * FIXUP: correct offsets of MSI-X tables in the MSI-X Capability Block  |