From owner-p4-projects@FreeBSD.ORG Sat Mar 3 17:26:15 2012 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B72E81065672; Sat, 3 Mar 2012 17:26:15 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 79DE4106566C for ; Sat, 3 Mar 2012 17:26:15 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from skunkworks.freebsd.org (skunkworks.freebsd.org [IPv6:2001:4f8:fff6::2d]) by mx1.freebsd.org (Postfix) with ESMTP id 646058FC08 for ; Sat, 3 Mar 2012 17:26:15 +0000 (UTC) Received: from skunkworks.freebsd.org (localhost [127.0.0.1]) by skunkworks.freebsd.org (8.14.4/8.14.4) with ESMTP id q23HQFNZ000225 for ; Sat, 3 Mar 2012 17:26:15 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by skunkworks.freebsd.org (8.14.4/8.14.4/Submit) id q23HQFLE000222 for perforce@freebsd.org; Sat, 3 Mar 2012 17:26:15 GMT (envelope-from jhb@freebsd.org) Date: Sat, 3 Mar 2012 17:26:15 GMT Message-Id: <201203031726.q23HQFLE000222@skunkworks.freebsd.org> X-Authentication-Warning: skunkworks.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 207315 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 03 Mar 2012 17:26:16 -0000 http://p4web.freebsd.org/@@207315?ac=10 Change 207315 by jhb@jhb_fiver on 2012/03/03 17:25:29 Make this simpler and remove the 'tag_valid' member from the PCI bus softc by having the tag always be valid and just cache the parent tag if we don't create one. Affected files ... .. //depot/projects/pci/sys/dev/pci/pci.c#32 edit .. //depot/projects/pci/sys/dev/pci/pci_private.h#9 edit Differences ... ==== //depot/projects/pci/sys/dev/pci/pci.c#32 (text+ko) ==== @@ -3155,7 +3155,7 @@ pci_attach_common(device_t dev) { struct pci_softc *sc; - int busno, domain, error; + int busno, domain, error, tag_valid; #ifdef PCI_RES_BUS int rid; #endif @@ -3175,6 +3175,7 @@ if (bootverbose) device_printf(dev, "domain=%d, physical bus=%d\n", domain, busno); + tag_valid = 0; if (device_get_devclass(device_get_parent(device_get_parent(dev))) != devclass_find("pci")) { error = bus_dma_tag_create(bus_get_dma_tag(dev), 1, @@ -3185,8 +3186,10 @@ device_printf(dev, "Failed to create DMA tag: %d\n", error); else - sc->sc_dma_tag_valid = 1; + tag_valid = 1; } + if (!tag_valid) + sc->sc_dma_tag = bus_get_dma_tag(dev); return (0); } @@ -4313,9 +4316,7 @@ { struct pci_softc *sc = device_get_softc(bus); - if (sc->sc_dma_tag_valid) - return (sc->sc_dma_tag); - return (bus_generic_get_dma_tag(bus, dev)); + return (sc->sc_dma_tag); } uint32_t ==== //depot/projects/pci/sys/dev/pci/pci_private.h#9 (text+ko) ==== @@ -40,7 +40,6 @@ struct pci_softc { bus_dma_tag_t sc_dma_tag; - int sc_dma_tag_valid; #ifdef PCI_RES_BUS struct resource *sc_bus; #endif