mirror of
https://gitee.com/bianbu-linux/linux-6.6
synced 2025-04-24 14:07:52 -04:00
Merge branch 'pci/yinghai-misc' into next
This commit is contained in:
commit
78c8f84302
5 changed files with 19 additions and 13 deletions
|
@ -295,7 +295,6 @@ static __devinit acpi_status add_window(struct acpi_resource *res, void *data)
|
||||||
window->resource.flags = flags;
|
window->resource.flags = flags;
|
||||||
window->resource.start = addr.minimum + offset;
|
window->resource.start = addr.minimum + offset;
|
||||||
window->resource.end = window->resource.start + addr.address_length - 1;
|
window->resource.end = window->resource.start + addr.address_length - 1;
|
||||||
window->resource.child = NULL;
|
|
||||||
window->offset = offset;
|
window->offset = offset;
|
||||||
|
|
||||||
if (insert_resource(root, &window->resource)) {
|
if (insert_resource(root, &window->resource)) {
|
||||||
|
@ -357,7 +356,7 @@ pci_acpi_scan_root(struct acpi_pci_root *root)
|
||||||
&windows);
|
&windows);
|
||||||
if (windows) {
|
if (windows) {
|
||||||
controller->window =
|
controller->window =
|
||||||
kmalloc_node(sizeof(*controller->window) * windows,
|
kzalloc_node(sizeof(*controller->window) * windows,
|
||||||
GFP_KERNEL, controller->node);
|
GFP_KERNEL, controller->node);
|
||||||
if (!controller->window)
|
if (!controller->window)
|
||||||
goto out2;
|
goto out2;
|
||||||
|
|
|
@ -305,7 +305,6 @@ setup_resource(struct acpi_resource *acpi_res, void *data)
|
||||||
res->flags = flags;
|
res->flags = flags;
|
||||||
res->start = start;
|
res->start = start;
|
||||||
res->end = end;
|
res->end = end;
|
||||||
res->child = NULL;
|
|
||||||
|
|
||||||
if (!pci_use_crs) {
|
if (!pci_use_crs) {
|
||||||
dev_printk(KERN_DEBUG, &info->bridge->dev,
|
dev_printk(KERN_DEBUG, &info->bridge->dev,
|
||||||
|
@ -434,7 +433,7 @@ probe_pci_root_info(struct pci_root_info *info, struct acpi_device *device,
|
||||||
|
|
||||||
size = sizeof(*info->res) * info->res_num;
|
size = sizeof(*info->res) * info->res_num;
|
||||||
info->res_num = 0;
|
info->res_num = 0;
|
||||||
info->res = kmalloc(size, GFP_KERNEL);
|
info->res = kzalloc(size, GFP_KERNEL);
|
||||||
if (!info->res)
|
if (!info->res)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
|
@ -141,7 +141,11 @@ EXPORT_SYMBOL_GPL(vga_default_device);
|
||||||
|
|
||||||
void vga_set_default_device(struct pci_dev *pdev)
|
void vga_set_default_device(struct pci_dev *pdev)
|
||||||
{
|
{
|
||||||
vga_default = pdev;
|
if (vga_default == pdev)
|
||||||
|
return;
|
||||||
|
|
||||||
|
pci_dev_put(vga_default);
|
||||||
|
vga_default = pci_dev_get(pdev);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -577,7 +581,7 @@ static bool vga_arbiter_add_pci_device(struct pci_dev *pdev)
|
||||||
#ifndef __ARCH_HAS_VGA_DEFAULT_DEVICE
|
#ifndef __ARCH_HAS_VGA_DEFAULT_DEVICE
|
||||||
if (vga_default == NULL &&
|
if (vga_default == NULL &&
|
||||||
((vgadev->owns & VGA_RSRC_LEGACY_MASK) == VGA_RSRC_LEGACY_MASK))
|
((vgadev->owns & VGA_RSRC_LEGACY_MASK) == VGA_RSRC_LEGACY_MASK))
|
||||||
vga_default = pci_dev_get(pdev);
|
vga_set_default_device(pdev);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
vga_arbiter_check_bridge_sharing(vgadev);
|
vga_arbiter_check_bridge_sharing(vgadev);
|
||||||
|
@ -613,10 +617,8 @@ static bool vga_arbiter_del_pci_device(struct pci_dev *pdev)
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef __ARCH_HAS_VGA_DEFAULT_DEVICE
|
#ifndef __ARCH_HAS_VGA_DEFAULT_DEVICE
|
||||||
if (vga_default == pdev) {
|
if (vga_default == pdev)
|
||||||
pci_dev_put(vga_default);
|
vga_set_default_device(NULL);
|
||||||
vga_default = NULL;
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (vgadev->decodes & (VGA_RSRC_LEGACY_IO | VGA_RSRC_LEGACY_MEM))
|
if (vgadev->decodes & (VGA_RSRC_LEGACY_IO | VGA_RSRC_LEGACY_MEM))
|
||||||
|
|
|
@ -87,11 +87,15 @@ EXPORT_SYMBOL_GPL(pci_bus_resource_n);
|
||||||
void pci_bus_remove_resources(struct pci_bus *bus)
|
void pci_bus_remove_resources(struct pci_bus *bus)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
struct pci_bus_resource *bus_res, *tmp;
|
||||||
|
|
||||||
for (i = 0; i < PCI_BRIDGE_RESOURCE_NUM; i++)
|
for (i = 0; i < PCI_BRIDGE_RESOURCE_NUM; i++)
|
||||||
bus->resource[i] = NULL;
|
bus->resource[i] = NULL;
|
||||||
|
|
||||||
pci_free_resource_list(&bus->resources);
|
list_for_each_entry_safe(bus_res, tmp, &bus->resources, list) {
|
||||||
|
list_del(&bus_res->list);
|
||||||
|
kfree(bus_res);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -729,8 +729,10 @@ int __devinit pci_scan_bridge(struct pci_bus *bus, struct pci_dev *dev, int max,
|
||||||
|
|
||||||
/* Check if setup is sensible at all */
|
/* Check if setup is sensible at all */
|
||||||
if (!pass &&
|
if (!pass &&
|
||||||
(primary != bus->number || secondary <= bus->number)) {
|
(primary != bus->number || secondary <= bus->number ||
|
||||||
dev_dbg(&dev->dev, "bus configuration invalid, reconfiguring\n");
|
secondary > subordinate)) {
|
||||||
|
dev_info(&dev->dev, "bridge configuration invalid ([bus %02x-%02x]), reconfiguring\n",
|
||||||
|
secondary, subordinate);
|
||||||
broken = 1;
|
broken = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue