Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

PCI: Remove aer_do_secondary_bus_reset()

One PCI bus reset function to rule them all.

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>

authored by

Alex Williamson and committed by
Bjorn Helgaas
1b95ce8f de0c548c

+2 -36
+1 -1
drivers/pci/pcie/aer/aerdrv.c
··· 352 352 reg32 &= ~ROOT_PORT_INTR_ON_MESG_MASK; 353 353 pci_write_config_dword(dev, pos + PCI_ERR_ROOT_COMMAND, reg32); 354 354 355 - aer_do_secondary_bus_reset(dev); 355 + pci_reset_bridge_secondary_bus(dev); 356 356 dev_printk(KERN_DEBUG, &dev->dev, "Root Port link has been reset\n"); 357 357 358 358 /* Clear Root Error Status */
-1
drivers/pci/pcie/aer/aerdrv.h
··· 106 106 } 107 107 108 108 extern struct bus_type pcie_port_bus_type; 109 - void aer_do_secondary_bus_reset(struct pci_dev *dev); 110 109 int aer_init(struct pcie_device *dev); 111 110 void aer_isr(struct work_struct *work); 112 111 void aer_print_error(struct pci_dev *dev, struct aer_err_info *info);
+1 -34
drivers/pci/pcie/aer/aerdrv_core.c
··· 367 367 } 368 368 369 369 /** 370 - * aer_do_secondary_bus_reset - perform secondary bus reset 371 - * @dev: pointer to bridge's pci_dev data structure 372 - * 373 - * Invoked when performing link reset at Root Port or Downstream Port. 374 - */ 375 - void aer_do_secondary_bus_reset(struct pci_dev *dev) 376 - { 377 - u16 p2p_ctrl; 378 - 379 - /* Assert Secondary Bus Reset */ 380 - pci_read_config_word(dev, PCI_BRIDGE_CONTROL, &p2p_ctrl); 381 - p2p_ctrl |= PCI_BRIDGE_CTL_BUS_RESET; 382 - pci_write_config_word(dev, PCI_BRIDGE_CONTROL, p2p_ctrl); 383 - 384 - /* 385 - * we should send hot reset message for 2ms to allow it time to 386 - * propagate to all downstream ports 387 - */ 388 - msleep(2); 389 - 390 - /* De-assert Secondary Bus Reset */ 391 - p2p_ctrl &= ~PCI_BRIDGE_CTL_BUS_RESET; 392 - pci_write_config_word(dev, PCI_BRIDGE_CONTROL, p2p_ctrl); 393 - 394 - /* 395 - * System software must wait for at least 100ms from the end 396 - * of a reset of one or more device before it is permitted 397 - * to issue Configuration Requests to those devices. 398 - */ 399 - msleep(200); 400 - } 401 - 402 - /** 403 370 * default_reset_link - default reset function 404 371 * @dev: pointer to pci_dev data structure 405 372 * ··· 375 408 */ 376 409 static pci_ers_result_t default_reset_link(struct pci_dev *dev) 377 410 { 378 - aer_do_secondary_bus_reset(dev); 411 + pci_reset_bridge_secondary_bus(dev); 379 412 dev_printk(KERN_DEBUG, &dev->dev, "downstream link has been reset\n"); 380 413 return PCI_ERS_RESULT_RECOVERED; 381 414 }