From owner-p4-projects@FreeBSD.ORG Tue Jul 31 14:00:04 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7ECC116A418; Tue, 31 Jul 2007 14:00:04 +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 194AA16A421 for ; Tue, 31 Jul 2007 14:00:04 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F2CDB13C480 for ; Tue, 31 Jul 2007 14:00:03 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6VE03ZV044776 for ; Tue, 31 Jul 2007 14:00:03 GMT (envelope-from loafier@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6VE03TN044772 for perforce@freebsd.org; Tue, 31 Jul 2007 14:00:03 GMT (envelope-from loafier@FreeBSD.org) Date: Tue, 31 Jul 2007 14:00:03 GMT Message-Id: <200707311400.l6VE03TN044772@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to loafier@FreeBSD.org using -f From: Christopher Davis To: Perforce Change Reviews Cc: Subject: PERFORCE change 124421 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jul 2007 14:00:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=124421 Change 124421 by loafier@chrisdsoc on 2007/07/31 13:59:50 Update read & write Affected files ... .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/als4000.c#2 edit Differences ... ==== //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/als4000.c#2 (text+ko) ==== @@ -69,8 +69,6 @@ struct sc_info { device_t dev; - bus_space_tag_t st; - bus_space_handle_t sh; bus_dma_tag_t parent_dmat; struct resource *reg, *irq; int regid, irqid; @@ -103,41 +101,41 @@ static u_int32_t als_gcr_rd(struct sc_info *sc, int index) { - bus_space_write_1(sc->st, sc->sh, ALS_GCR_INDEX, index); - return bus_space_read_4(sc->st, sc->sh, ALS_GCR_DATA); + bus_write_1(sc->reg, ALS_GCR_INDEX, index); + return bus_read_4(sc->reg, ALS_GCR_DATA); } static void als_gcr_wr(struct sc_info *sc, int index, int data) { - bus_space_write_1(sc->st, sc->sh, ALS_GCR_INDEX, index); - bus_space_write_4(sc->st, sc->sh, ALS_GCR_DATA, data); + bus_write_1(sc->reg, ALS_GCR_INDEX, index); + bus_write_4(sc->reg, ALS_GCR_DATA, data); } static u_int8_t als_intr_rd(struct sc_info *sc) { - return bus_space_read_1(sc->st, sc->sh, ALS_SB_MPU_IRQ); + return bus_read_1(sc->reg, ALS_SB_MPU_IRQ); } static void als_intr_wr(struct sc_info *sc, u_int8_t data) { - bus_space_write_1(sc->st, sc->sh, ALS_SB_MPU_IRQ, data); + bus_write_1(sc->reg, ALS_SB_MPU_IRQ, data); } static u_int8_t als_mix_rd(struct sc_info *sc, u_int8_t index) { - bus_space_write_1(sc->st, sc->sh, ALS_MIXER_INDEX, index); - return bus_space_read_1(sc->st, sc->sh, ALS_MIXER_DATA); + bus_write_1(sc->reg, ALS_MIXER_INDEX, index); + return bus_read_1(sc->reg, ALS_MIXER_DATA); } static void als_mix_wr(struct sc_info *sc, u_int8_t index, u_int8_t data) { - bus_space_write_1(sc->st, sc->sh, ALS_MIXER_INDEX, index); - bus_space_write_1(sc->st, sc->sh, ALS_MIXER_DATA, data); + bus_write_1(sc->reg, ALS_MIXER_INDEX, index); + bus_write_1(sc->reg, ALS_MIXER_DATA, data); } static void @@ -147,7 +145,7 @@ tries = 1000; do { - v = bus_space_read_1(sc->st, sc->sh, ALS_ESP_WR_STATUS); + v = bus_read_1(sc->reg, ALS_ESP_WR_STATUS); if (~v & 0x80) break; DELAY(20); @@ -156,7 +154,7 @@ if (tries == 0) device_printf(sc->dev, "als_esp_wr timeout"); - bus_space_write_1(sc->st, sc->sh, ALS_ESP_WR_DATA, data); + bus_write_1(sc->reg, ALS_ESP_WR_DATA, data); } static int @@ -164,16 +162,16 @@ { u_int32_t tries, u, v; - bus_space_write_1(sc->st, sc->sh, ALS_ESP_RST, 1); + bus_write_1(sc->reg, ALS_ESP_RST, 1); DELAY(10); - bus_space_write_1(sc->st, sc->sh, ALS_ESP_RST, 0); + bus_write_1(sc->reg, ALS_ESP_RST, 0); DELAY(30); tries = 1000; do { - u = bus_space_read_1(sc->st, sc->sh, ALS_ESP_RD_STATUS8); + u = bus_read_1(sc->reg, ALS_ESP_RD_STATUS8); if (u & 0x80) { - v = bus_space_read_1(sc->st, sc->sh, ALS_ESP_RD_DATA); + v = bus_read_1(sc->reg, ALS_ESP_RD_DATA); if (v == 0xaa) return 0; else @@ -190,7 +188,7 @@ static u_int8_t als_ack_read(struct sc_info *sc, u_int8_t addr) { - u_int8_t r = bus_space_read_1(sc->st, sc->sh, addr); + u_int8_t r = bus_read_1(sc->reg, addr); return r; } @@ -762,8 +760,6 @@ device_printf(dev, "unable to allocate register space\n"); goto bad; } - sc->st = rman_get_bustag(sc->reg); - sc->sh = rman_get_bushandle(sc->reg); sc->irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &sc->irqid, RF_ACTIVE | RF_SHAREABLE); @@ -809,9 +805,9 @@ sc->lock = snd_mtxcreate(device_get_nameunit(dev), "snd_als4000 softc"); sc->dev = dev; - data = pci_read_config(dev, PCIR_COMMAND, 2); - data |= (PCIM_CMD_PORTEN | PCIM_CMD_MEMEN | PCIM_CMD_BUSMASTEREN); - pci_write_config(dev, PCIR_COMMAND, data, 2); + pci_enable_busmaster(dev); + pci_enable_io(dev, SYS_RES_IOPORT); + /* * By default the power to the various components on the * ALS4000 is entirely controlled by the pci powerstate. We