From owner-svn-src-head@FreeBSD.ORG Wed May 20 22:00:39 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C9477106567B; Wed, 20 May 2009 22:00:39 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B810A8FC0C; Wed, 20 May 2009 22:00:39 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n4KM0d0O045184; Wed, 20 May 2009 22:00:39 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n4KM0dsV045181; Wed, 20 May 2009 22:00:39 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <200905202200.n4KM0dsV045181@svn.freebsd.org> From: Warner Losh Date: Wed, 20 May 2009 22:00:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r192481 - head/sys/dev/pci X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 May 2009 22:00:40 -0000 Author: imp Date: Wed May 20 22:00:39 2009 New Revision: 192481 URL: http://svn.freebsd.org/changeset/base/192481 Log: Revert junk from last commit. These are WIP and not ready (and don't match the description of the last commit). Modified: head/sys/dev/pci/pci.c head/sys/dev/pci/pci_pci.c head/sys/dev/pci/pcib_if.m Modified: head/sys/dev/pci/pci.c ============================================================================== --- head/sys/dev/pci/pci.c Wed May 20 21:34:01 2009 (r192480) +++ head/sys/dev/pci/pci.c Wed May 20 22:00:39 2009 (r192481) @@ -418,38 +418,6 @@ pci_hdrtypedata(device_t pcib, int b, in #undef REG } -/* - * This is a lame example: we should have some way of managing this table - * from userland. The user should be able to tell us from the boot loader - * or at runtime what mapping to do. - */ -static struct pci_remap_entry -{ - uint16_t vendor; - uint16_t device; - uint16_t mapped_vendor; - uint16_t mapped_device; -} pci_remap[] = -{ - { 0x1039, 0x0901, 0x1039, 0x0900 } /* Map sis 901 to sis 900 */ -}; -static int pci_remap_entries = 1; - -static void -pci_apply_remap_table(pcicfgregs *cfg) -{ - int i; - - for (i = 0; i < pci_remap_entries; i++) { - if (cfg->vendor == pci_remap[i].vendor && - cfg->device == pci_remap[i].device) { - cfg->vendor = pci_remap[i].mapped_vendor; - cfg->device = pci_remap[i].mapped_device; - return; - } - } -} - /* read configuration header into pcicfgregs structure */ struct pci_devinfo * pci_read_device(device_t pcib, int d, int b, int s, int f, size_t size) @@ -496,7 +464,6 @@ pci_read_device(device_t pcib, int d, in pci_fixancient(cfg); pci_hdrtypedata(pcib, b, s, f, cfg); - pci_apply_remap_table(cfg); if (REG(PCIR_STATUS, 2) & PCIM_STATUS_CAPPRESENT) pci_read_extcap(pcib, cfg); @@ -2652,59 +2619,6 @@ pci_add_resources(device_t bus, device_t } } -/* - * After we've added the children to the pci bus device, we need to fixup - * the children in various ways. This function fixes things that require - * multiple passes to get right, such as bus number and some resource - * things (although the latter hasn't been implemented yet). This must be - * done before the children are probe/attached, sicne by that point these - * things must be fixed. - */ -static void -pci_fix_bridges(device_t dev) -{ - int i, numdevs, error, secbus, subbus; - device_t child, *devlist; - - if ((error = device_get_children(dev, &devlist, &numdevs))) - return; - /* - * First pass, get the bus numbers that are in use - */ - for (i = 0; i < numdevs; i++) { - child = devlist[i]; - switch (pci_read_config(child, PCIR_HDRTYPE, 1) & PCIM_HDRTYPE) { - default: - continue; - case 1: /* PCI-PCI bridge */ - case 2: /* CardBus bridge -- offsets are the same */ - secbus = pci_read_config(child, PCIR_SECBUS_1, 1); - subbus = pci_read_config(child, PCIR_SUBBUS_1, 1); - break; - } - printf("%d:%d:%d:%d sec %d sub %d\n", pcib_get_domain(dev), - pci_get_bus(child), pci_get_slot(child), - pci_get_function(child), secbus, subbus); - } -#if 0 - /* - * Second pass, Fix the bus numbers, as needed - */ - for (i = 0; i < numdevs; i++) { - child = devlist[i]; - switch (pci_read_config(dev, PCIR_HDRTYPE, 1) & PCIM_HDRTYPE) { - case 1: /* PCI-PCI bridge */ - break; - case 2: /* CardBus bridge */ - break; - default: - continue; - } - } -#endif - free(devlist, M_TEMP); -} - void pci_add_children(device_t dev, int domain, int busno, size_t dinfo_size) { @@ -2736,7 +2650,6 @@ pci_add_children(device_t dev, int domai } } #undef REG - pci_fix_bridges(dev); } void Modified: head/sys/dev/pci/pci_pci.c ============================================================================== --- head/sys/dev/pci/pci_pci.c Wed May 20 21:34:01 2009 (r192480) +++ head/sys/dev/pci/pci_pci.c Wed May 20 22:00:39 2009 (r192481) @@ -52,13 +52,6 @@ __FBSDID("$FreeBSD$"); #include "pcib_if.h" -// #define KLUDGE_O_MATIC -#ifdef KLUDGE_O_MATIC -int hack_unit = 1; -u_long mem_base = 0xc0400000ul; -u_long mem_limit = 0x00100000ul; -#endif - static int pcib_probe(device_t dev); static device_method_t pcib_methods[] = { @@ -331,14 +324,6 @@ pcib_attach(device_t dev) struct pcib_softc *sc; device_t child; -#ifdef KLUDGE_O_MATIC - if (device_get_unit(dev) == hack_unit) { - pci_write_config(dev, PCIR_COMMAND, - PCIM_CMD_MEMEN | pci_read_config(dev, PCIR_COMMAND, 1), 1); - pci_write_config(dev, PCIR_MEMBASE_1, mem_base >> 16, 2); - pci_write_config(dev, PCIR_MEMLIMIT_1, mem_limit >> 16, 2); - } -#endif pcib_attach_common(dev); sc = device_get_softc(dev); if (sc->secbus != 0) { Modified: head/sys/dev/pci/pcib_if.m ============================================================================== --- head/sys/dev/pci/pcib_if.m Wed May 20 21:34:01 2009 (r192480) +++ head/sys/dev/pci/pcib_if.m Wed May 20 22:00:39 2009 (r192481) @@ -144,17 +144,3 @@ METHOD int map_msi { uint64_t *addr; uint32_t *data; }; - -# -# Return the range of busses passed through this bridge. For normal -# pci-pci bridges (and compatible things like pci-x and pcie), this will -# just be the secbus and subbus configuration registers. For non-standard -# bridges, or for host bridges which have no standard, this will be the -# same data read from either device specific registers of from "perfect -# knowledge" of what they must be. -# -METHOD int bus_range { - device_t pcib; - u_int *secbus; - u_int *subbus; -};