PERFORCE change 124421 for review

Christopher Davis loafier at FreeBSD.org
Tue Jul 31 14:00:04 UTC 2007


http://perforce.freebsd.org/chv.cgi?CH=124421

Change 124421 by loafier at 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


More information about the p4-projects mailing list