PCI subsystem: Remove AGP bridge type
There is no auto-detection for AGP type and we have no hardware that selects this. Furthermore, we treat AGP bridges just like PCI bridges, there is no optimisation for higher bandwidth. Change-Id: I4fe87c83411643cb9b8d3216f2af07bf098174d3 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: http://review.coreboot.org/8367 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com> Reviewed-by: Patrick Georgi <pgeorgi@google.com>
This commit is contained in:
parent
b474abee84
commit
754fac4346
|
@ -225,11 +225,6 @@ config PCIEXP_PLUGIN_SUPPORT
|
||||||
depends on PCI
|
depends on PCI
|
||||||
default y
|
default y
|
||||||
|
|
||||||
config AGP_PLUGIN_SUPPORT
|
|
||||||
bool
|
|
||||||
depends on PCI
|
|
||||||
default y
|
|
||||||
|
|
||||||
config CARDBUS_PLUGIN_SUPPORT
|
config CARDBUS_PLUGIN_SUPPORT
|
||||||
bool
|
bool
|
||||||
depends on PCI
|
depends on PCI
|
||||||
|
|
|
@ -6,7 +6,6 @@ ramstage-$(CONFIG_PCI) += pci_device.c
|
||||||
ramstage-$(CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT) += hypertransport.c
|
ramstage-$(CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT) += hypertransport.c
|
||||||
ramstage-$(CONFIG_PCIX_PLUGIN_SUPPORT) += pcix_device.c
|
ramstage-$(CONFIG_PCIX_PLUGIN_SUPPORT) += pcix_device.c
|
||||||
ramstage-$(CONFIG_PCIEXP_PLUGIN_SUPPORT) += pciexp_device.c
|
ramstage-$(CONFIG_PCIEXP_PLUGIN_SUPPORT) += pciexp_device.c
|
||||||
ramstage-$(CONFIG_AGP_PLUGIN_SUPPORT) += agp_device.c
|
|
||||||
ramstage-$(CONFIG_CARDBUS_PLUGIN_SUPPORT) += cardbus_device.c
|
ramstage-$(CONFIG_CARDBUS_PLUGIN_SUPPORT) += cardbus_device.c
|
||||||
ramstage-$(CONFIG_AZALIA_PLUGIN_SUPPORT) += azalia_device.c
|
ramstage-$(CONFIG_AZALIA_PLUGIN_SUPPORT) += azalia_device.c
|
||||||
ramstage-$(CONFIG_ARCH_RAMSTAGE_X86_32) += pnp_device.c
|
ramstage-$(CONFIG_ARCH_RAMSTAGE_X86_32) += pnp_device.c
|
||||||
|
|
|
@ -1,75 +0,0 @@
|
||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2005 Linux Networx
|
|
||||||
* (Written by Eric Biederman <ebiederman@lnxi.com> for Linux Networx)
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; version 2 of the License.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <console/console.h>
|
|
||||||
#include <device/device.h>
|
|
||||||
#include <device/pci.h>
|
|
||||||
#include <device/pci_ids.h>
|
|
||||||
#include <device/agp.h>
|
|
||||||
|
|
||||||
static void agp_tune_dev(device_t dev)
|
|
||||||
{
|
|
||||||
unsigned int cap;
|
|
||||||
|
|
||||||
cap = pci_find_capability(dev, PCI_CAP_ID_AGP);
|
|
||||||
if (!cap)
|
|
||||||
return;
|
|
||||||
|
|
||||||
/* The OS is responsible for AGP tuning so do nothing here. */
|
|
||||||
}
|
|
||||||
|
|
||||||
unsigned int agp_scan_bus(struct bus *bus, unsigned int min_devfn,
|
|
||||||
unsigned int max_devfn, unsigned int max)
|
|
||||||
{
|
|
||||||
device_t child;
|
|
||||||
|
|
||||||
max = pci_scan_bus(bus, min_devfn, max_devfn, max);
|
|
||||||
|
|
||||||
for (child = bus->children; child; child = child->sibling) {
|
|
||||||
if ((child->path.pci.devfn < min_devfn) ||
|
|
||||||
(child->path.pci.devfn > max_devfn)) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
agp_tune_dev(child);
|
|
||||||
}
|
|
||||||
|
|
||||||
return max;
|
|
||||||
}
|
|
||||||
|
|
||||||
unsigned int agp_scan_bridge(device_t dev, unsigned int max)
|
|
||||||
{
|
|
||||||
return do_pci_scan_bridge(dev, max, agp_scan_bus);
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Default device operations for AGP bridges. */
|
|
||||||
static struct pci_operations agp_bus_ops_pci = {
|
|
||||||
.set_subsystem = 0,
|
|
||||||
};
|
|
||||||
|
|
||||||
struct device_operations default_agp_ops_bus = {
|
|
||||||
.read_resources = pci_bus_read_resources,
|
|
||||||
.set_resources = pci_dev_set_resources,
|
|
||||||
.enable_resources = pci_bus_enable_resources,
|
|
||||||
.init = 0,
|
|
||||||
.scan_bus = agp_scan_bridge,
|
|
||||||
.enable = 0,
|
|
||||||
.reset_bus = pci_bus_reset,
|
|
||||||
.ops_pci = &agp_bus_ops_pci,
|
|
||||||
};
|
|
|
@ -32,7 +32,6 @@
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <delay.h>
|
#include <delay.h>
|
||||||
#include <device/agp.h>
|
|
||||||
#include <device/cardbus.h>
|
#include <device/cardbus.h>
|
||||||
#include <device/device.h>
|
#include <device/device.h>
|
||||||
#include <device/pci.h>
|
#include <device/pci.h>
|
||||||
|
@ -771,9 +770,6 @@ static struct device_operations *get_pci_bridge_ops(device_t dev)
|
||||||
return &default_pcix_ops_bus;
|
return &default_pcix_ops_bus;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#if CONFIG_AGP_PLUGIN_SUPPORT
|
|
||||||
/* How do I detect a PCI to AGP bridge? */
|
|
||||||
#endif
|
|
||||||
#if CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT
|
#if CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT
|
||||||
unsigned int htpos = 0;
|
unsigned int htpos = 0;
|
||||||
while ((htpos = pci_find_next_capability(dev, PCI_CAP_ID_HT, htpos))) {
|
while ((htpos = pci_find_next_capability(dev, PCI_CAP_ID_HT, htpos))) {
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
/* (c) 2005 Linux Networx GPL see COPYING for details */
|
|
||||||
|
|
||||||
#ifndef DEVICE_AGP_H
|
|
||||||
#define DEVICE_AGP_H
|
|
||||||
|
|
||||||
#include <device/device.h>
|
|
||||||
|
|
||||||
unsigned int agp_scan_bus(struct bus *bus,
|
|
||||||
unsigned min_devfn, unsigned max_devfn, unsigned int max);
|
|
||||||
unsigned int agp_scan_bridge(device_t dev, unsigned int max);
|
|
||||||
|
|
||||||
extern struct device_operations default_agp_ops_bus;
|
|
||||||
|
|
||||||
#endif /* DEVICE_AGP_H */
|
|
Loading…
Reference in New Issue