Loading drivers/pci/controller/pci-loongson.c +0 −17 Original line number Diff line number Diff line Loading @@ -115,23 +115,6 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LOONGSON, DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LOONGSON, DEV_PCIE_PORT_2, loongson_mrrs_quirk); static void loongson_bmaster_quirk(struct pci_dev *pdev) { /* * Some Loongson PCIe ports will cause CPU deadlock if disable * the Bus Master bit during poweroff/reboot. */ struct pci_host_bridge *bridge = pci_find_host_bridge(pdev->bus); bridge->no_dis_bmaster = 1; } DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LOONGSON, DEV_PCIE_PORT_0, loongson_bmaster_quirk); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LOONGSON, DEV_PCIE_PORT_1, loongson_bmaster_quirk); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LOONGSON, DEV_PCIE_PORT_2, loongson_bmaster_quirk); static void loongson_pci_pin_quirk(struct pci_dev *pdev) { pdev->pin = 1 + (PCI_FUNC(pdev->devfn) & 3); Loading drivers/pci/pcie/portdrv_core.c +1 −0 Original line number Diff line number Diff line Loading @@ -493,6 +493,7 @@ void pcie_port_device_remove(struct pci_dev *dev) { device_for_each_child(&dev->dev, NULL, remove_iter); pci_free_irq_vectors(dev); pci_disable_device(dev); } /** Loading drivers/pci/pcie/portdrv_pci.c +1 −19 Original line number Diff line number Diff line Loading @@ -148,24 +148,6 @@ static void pcie_portdrv_remove(struct pci_dev *dev) } pcie_port_device_remove(dev); pci_disable_device(dev); } static void pcie_portdrv_shutdown(struct pci_dev *dev) { struct pci_host_bridge *bridge = pci_find_host_bridge(dev->bus); if (pci_bridge_d3_possible(dev)) { pm_runtime_forbid(&dev->dev); pm_runtime_get_noresume(&dev->dev); pm_runtime_dont_use_autosuspend(&dev->dev); } pcie_port_device_remove(dev); if (!bridge->no_dis_bmaster) pci_disable_device(dev); } static pci_ers_result_t pcie_portdrv_error_detected(struct pci_dev *dev, Loading Loading @@ -236,7 +218,7 @@ static struct pci_driver pcie_portdriver = { .probe = pcie_portdrv_probe, .remove = pcie_portdrv_remove, .shutdown = pcie_portdrv_shutdown, .shutdown = pcie_portdrv_remove, .err_handler = &pcie_portdrv_err_handler, Loading include/linux/pci.h +0 −1 Original line number Diff line number Diff line Loading @@ -575,7 +575,6 @@ struct pci_host_bridge { unsigned int ignore_reset_delay:1; /* For entire hierarchy */ unsigned int no_ext_tags:1; /* No Extended Tags */ unsigned int no_inc_mrrs:1; /* No Increase MRRS */ unsigned int no_dis_bmaster:1; /* No Disable Bus Master */ unsigned int native_aer:1; /* OS may use PCIe AER */ unsigned int native_pcie_hotplug:1; /* OS may use PCIe hotplug */ unsigned int native_shpc_hotplug:1; /* OS may use SHPC hotplug */ Loading Loading
drivers/pci/controller/pci-loongson.c +0 −17 Original line number Diff line number Diff line Loading @@ -115,23 +115,6 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LOONGSON, DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LOONGSON, DEV_PCIE_PORT_2, loongson_mrrs_quirk); static void loongson_bmaster_quirk(struct pci_dev *pdev) { /* * Some Loongson PCIe ports will cause CPU deadlock if disable * the Bus Master bit during poweroff/reboot. */ struct pci_host_bridge *bridge = pci_find_host_bridge(pdev->bus); bridge->no_dis_bmaster = 1; } DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LOONGSON, DEV_PCIE_PORT_0, loongson_bmaster_quirk); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LOONGSON, DEV_PCIE_PORT_1, loongson_bmaster_quirk); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LOONGSON, DEV_PCIE_PORT_2, loongson_bmaster_quirk); static void loongson_pci_pin_quirk(struct pci_dev *pdev) { pdev->pin = 1 + (PCI_FUNC(pdev->devfn) & 3); Loading
drivers/pci/pcie/portdrv_core.c +1 −0 Original line number Diff line number Diff line Loading @@ -493,6 +493,7 @@ void pcie_port_device_remove(struct pci_dev *dev) { device_for_each_child(&dev->dev, NULL, remove_iter); pci_free_irq_vectors(dev); pci_disable_device(dev); } /** Loading
drivers/pci/pcie/portdrv_pci.c +1 −19 Original line number Diff line number Diff line Loading @@ -148,24 +148,6 @@ static void pcie_portdrv_remove(struct pci_dev *dev) } pcie_port_device_remove(dev); pci_disable_device(dev); } static void pcie_portdrv_shutdown(struct pci_dev *dev) { struct pci_host_bridge *bridge = pci_find_host_bridge(dev->bus); if (pci_bridge_d3_possible(dev)) { pm_runtime_forbid(&dev->dev); pm_runtime_get_noresume(&dev->dev); pm_runtime_dont_use_autosuspend(&dev->dev); } pcie_port_device_remove(dev); if (!bridge->no_dis_bmaster) pci_disable_device(dev); } static pci_ers_result_t pcie_portdrv_error_detected(struct pci_dev *dev, Loading Loading @@ -236,7 +218,7 @@ static struct pci_driver pcie_portdriver = { .probe = pcie_portdrv_probe, .remove = pcie_portdrv_remove, .shutdown = pcie_portdrv_shutdown, .shutdown = pcie_portdrv_remove, .err_handler = &pcie_portdrv_err_handler, Loading
include/linux/pci.h +0 −1 Original line number Diff line number Diff line Loading @@ -575,7 +575,6 @@ struct pci_host_bridge { unsigned int ignore_reset_delay:1; /* For entire hierarchy */ unsigned int no_ext_tags:1; /* No Extended Tags */ unsigned int no_inc_mrrs:1; /* No Increase MRRS */ unsigned int no_dis_bmaster:1; /* No Disable Bus Master */ unsigned int native_aer:1; /* OS may use PCIe AER */ unsigned int native_pcie_hotplug:1; /* OS may use PCIe hotplug */ unsigned int native_shpc_hotplug:1; /* OS may use SHPC hotplug */ Loading