Hidetoshi Seto wrote:
(2010/04/09 10:54), Kenji Kaneshige wrote:
Instead of adding aer specific secondary bus reset function, how about
adding generic one into pci.c? The pci_parent_bus_reset() in pci.c also
does secondary bus reset.
I know that scsi also has similar code to reset secondary bus:
$ grep -r PCI_BRIDGE_CTL_BUS_RESET ./
./arch/arm/kernel/bios32.c: status &= ~(PCI_BRIDGE_CTL_BUS_RESET|PCI_BRIDGE_CTL_FAST_BACK);
./drivers/pci/pci.c: ctrl |= PCI_BRIDGE_CTL_BUS_RESET;
./drivers/pci/pci.c: ctrl &= ~PCI_BRIDGE_CTL_BUS_RESET;
./drivers/pci/pcie/aer/aerdrv_core.c: p2p_ctrl |= PCI_BRIDGE_CTL_BUS_RESET;
./drivers/pci/pcie/aer/aerdrv_core.c: p2p_ctrl &= ~PCI_BRIDGE_CTL_BUS_RESET;
./drivers/scsi/stex.c: pci_bctl |= PCI_BRIDGE_CTL_BUS_RESET;
./drivers/scsi/stex.c: pci_bctl &= ~PCI_BRIDGE_CTL_BUS_RESET;
./include/linux/pci_regs.h:#define PCI_BRIDGE_CTL_BUS_RESET 0x40 /* Secondary bus reset */
Yes they are similar but slightly different in how long it
takes in msleep(). Maybe I can have patches like:
[PATCH] pci: introduce generic pci_secondary_bus_reset()
+ void pci_secondary_bus_reset(struct pci_dev *dev, int wait)
and
[PATCH] aerdrv: use generic pci_secondary_bus_reset()
[PATCH] scsi: use generic pci_secondary_bus_reset()
Do you mind if we have other thread to post them later?
No problem.
Thanks,
Kenji Kaneshige
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html