PERFORCE change 81496 for review

Robert Watson rwatson at FreeBSD.org
Fri Aug 5 14:22:22 GMT 2005


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

Change 81496 by rwatson at rwatson_zoo on 2005/08/05 14:21:31

	Integrate netsmp.

Affected files ...

.. //depot/projects/netsmp/src/sys/dev/acpi_support/acpi_ibm.c#2 integrate
.. //depot/projects/netsmp/src/sys/dev/acpica/acpi_thermal.c#2 integrate
.. //depot/projects/netsmp/src/sys/dev/ata/ata-chipset.c#2 integrate
.. //depot/projects/netsmp/src/sys/dev/ata/ata-pci.h#2 integrate
.. //depot/projects/netsmp/src/sys/dev/ata/ata-raid.c#2 integrate
.. //depot/projects/netsmp/src/sys/dev/re/if_re.c#5 integrate
.. //depot/projects/netsmp/src/sys/dev/wi/if_wi.c#6 integrate
.. //depot/projects/netsmp/src/sys/i386/i386/ptrace_machdep.c#2 integrate
.. //depot/projects/netsmp/src/sys/net/if.c#9 integrate
.. //depot/projects/netsmp/src/sys/pci/if_rlreg.h#2 integrate
.. //depot/projects/netsmp/src/sys/sys/ata.h#2 integrate

Differences ...

==== //depot/projects/netsmp/src/sys/dev/acpi_support/acpi_ibm.c#2 (text+ko) ====

@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/acpi_support/acpi_ibm.c,v 1.7 2005/06/17 17:10:16 cracauer Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/acpi_support/acpi_ibm.c,v 1.8 2005/08/04 22:48:36 markus Exp $");
 
 /*
  * Driver for extra ACPI-controlled gadgets found on IBM ThinkPad laptops.
@@ -144,7 +144,11 @@
 	int		light_val;
 	int		light_get_supported;
 	int		light_set_supported;
+
+	/* led(4) interface */
 	struct cdev	*led_dev;
+	int		led_busy;
+	int		led_state;
 
 	int		wlan_bt_flags;
 	int		thermal_updt_supported;
@@ -240,6 +244,9 @@
 static int	acpi_ibm_attach(device_t dev);
 static int	acpi_ibm_detach(device_t dev);
 
+static void	ibm_led(void *softc, int onoff);
+static void	ibm_led_task(struct acpi_ibm_softc *sc, int pending __unused);
+
 static int	acpi_ibm_sysctl(SYSCTL_HANDLER_ARGS);
 static int	acpi_ibm_sysctl_init(struct acpi_ibm_softc *sc, int method);
 static int	acpi_ibm_sysctl_get(struct acpi_ibm_softc *sc, int method);
@@ -274,10 +281,30 @@
 static void
 ibm_led(void *softc, int onoff)
 {
+	struct acpi_ibm_softc* sc = (struct acpi_ibm_softc*) softc;
+
+	ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__);
+
+	if (sc->led_busy)
+		return;
+
+	sc->led_busy = 1;
+	sc->led_state = onoff;
+
+	AcpiOsQueueForExecution(OSD_PRIORITY_LO,
+	    (void *)ibm_led_task, sc);
+}
+
+static void
+ibm_led_task(struct acpi_ibm_softc *sc, int pending __unused)
+{
+	ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__);
+
 	ACPI_SERIAL_BEGIN(ibm);
-	acpi_ibm_sysctl_set((struct acpi_ibm_softc*)softc,
-	    ACPI_IBM_METHOD_THINKLIGHT, onoff);
+	acpi_ibm_sysctl_set(sc, ACPI_IBM_METHOD_THINKLIGHT, sc->led_state);
 	ACPI_SERIAL_END(ibm);
+
+	sc->led_busy = 0;
 }
 
 static int

==== //depot/projects/netsmp/src/sys/dev/acpica/acpi_thermal.c#2 (text+ko) ====

@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_thermal.c,v 1.54 2005/07/18 20:12:23 ume Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_thermal.c,v 1.55 2005/08/04 18:34:26 ume Exp $");
 
 #include "opt_acpi.h"
 #include <sys/param.h>
@@ -112,6 +112,7 @@
 
     /* passive cooling */
     struct proc			*tz_cooling_proc;
+    int				tz_cooling_proc_running;
     int				tz_cooling_enabled;
     int				tz_cooling_active;
     int				tz_cooling_updated;
@@ -198,6 +199,7 @@
     sc->tz_active = TZ_ACTIVE_NONE;
     sc->tz_thflags = TZ_THFLAG_NONE;
     sc->tz_cooling_proc = NULL;
+    sc->tz_cooling_proc_running = FALSE;
     sc->tz_cooling_active = FALSE;
     sc->tz_cooling_updated = FALSE;
 
@@ -994,8 +996,9 @@
 	acpi_tz_cpufreq_restore(sc);
 	sc->tz_cooling_active = FALSE;
     }
+    sc->tz_cooling_proc = NULL;
     ACPI_LOCK(thermal);
-    sc->tz_cooling_proc = NULL;
+    sc->tz_cooling_proc_running = FALSE;
     ACPI_UNLOCK(thermal);
     kthread_exit(0);
 }
@@ -1019,16 +1022,25 @@
     int error;
     char name[16];
 
+    ACPI_LOCK(thermal);
+    if (sc->tz_cooling_proc_running) {
+	ACPI_UNLOCK(thermal);
+	return (0);
+    }
+    sc->tz_cooling_proc_running = TRUE;
+    ACPI_UNLOCK(thermal);
     error = 0;
-    ACPI_LOCK(thermal);
     if (sc->tz_cooling_proc == NULL) {
 	snprintf(name, sizeof(name), "acpi_cooling%d",
 	    device_get_unit(sc->tz_dev));
 	error = kthread_create(acpi_tz_cooling_thread, sc,
 	    &sc->tz_cooling_proc, RFHIGHPID, 0, name);
-	if (error != 0)
+	if (error != 0) {
 	    device_printf(sc->tz_dev, "could not create thread - %d", error);
+	    ACPI_LOCK(thermal);
+	    sc->tz_cooling_proc_running = FALSE;
+	    ACPI_UNLOCK(thermal);
+	}
     }
-    ACPI_UNLOCK(thermal);
     return (error);
 }

==== //depot/projects/netsmp/src/sys/dev/ata/ata-chipset.c#2 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.126 2005/06/10 07:43:10 sos Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.127 2005/08/05 13:14:00 sos Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>
@@ -1795,13 +1795,21 @@
 ata_ite_ident(device_t dev)
 {
     struct ata_pci_controller *ctlr = device_get_softc(dev);
+    struct ata_chip_id *idx;
+    static struct ata_chip_id ids[] =
+    {{ ATA_IT8212F, 0x00, 0x00, 0x00, ATA_UDMA6, "ITE IT8212F" },
+     { ATA_IT8211F, 0x00, 0x00, 0x00, ATA_UDMA6, "ITE IT8211F" },
+     { 0, 0, 0, 0, 0, 0}};
+    char buffer[64]; 
+
+    if (!(idx = ata_match_chip(dev, ids)))
+	return ENXIO;
 
-    if (pci_get_devid(dev) == ATA_IT8212F) {
-	device_set_desc(dev, "ITE IT8212F ATA133 controller");
-	ctlr->chipinit = ata_ite_chipinit;
-	return 0;
-    }
-    return ENXIO;
+    sprintf(buffer, "%s %s controller", idx->text, ata_mode2str(idx->max_dma));
+    device_set_desc_copy(dev, buffer);
+    ctlr->chip = idx;
+    ctlr->chipinit = ata_ite_chipinit;
+    return 0;
 }
 
 static int

==== //depot/projects/netsmp/src/sys/dev/ata/ata-pci.h#2 (text+ko) ====

@@ -25,7 +25,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/ata/ata-pci.h,v 1.49 2005/06/08 20:02:55 sos Exp $
+ * $FreeBSD: src/sys/dev/ata/ata-pci.h,v 1.50 2005/08/05 13:14:00 sos Exp $
  */
 
 /* structure holding chipset config info */
@@ -149,6 +149,7 @@
 #define ATA_I31244		0x32008086
 
 #define ATA_ITE_ID              0x1283
+#define ATA_IT8211F             0x82111283
 #define ATA_IT8212F             0x82121283
 
 #define ATA_MICRON_ID           0x1042

==== //depot/projects/netsmp/src/sys/dev/ata/ata-raid.c#2 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-raid.c,v 1.98 2005/06/11 03:21:20 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-raid.c,v 1.99 2005/08/04 18:39:36 sos Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>
@@ -3114,7 +3114,6 @@
     struct ata_device *atadev = device_get_softc(request->dev);
   
     request->transfersize = min(request->bytecount, atadev->max_iosize);
-    request->transfersize = DEV_BSIZE;
     if (request->flags & ATA_R_READ) {
 	if (atadev->mode >= ATA_DMA) {
 	    request->flags |= ATA_R_DMA;
@@ -3260,7 +3259,8 @@
 
     switch (what) {
     case MOD_LOAD:
-	printf("ATA PseudoRAID loaded\n");
+	if (bootverbose)
+	    printf("ATA PseudoRAID loaded\n");
 #if 0
 	/* setup table to hold metadata for all ATA PseudoRAID arrays */
 	ata_raid_arrays = malloc(sizeof(struct ar_soft *) * MAX_ARRAYS,
@@ -3292,7 +3292,8 @@
 		continue;
 	    disk_destroy(rdp->disk);
 	}
-	printf("ATA PseudoRAID unloaded\n");
+	if (bootverbose)
+	    printf("ATA PseudoRAID unloaded\n");
 #if 0
 	free(ata_raid_arrays, M_AR);
 #endif

==== //depot/projects/netsmp/src/sys/dev/re/if_re.c#5 (text+ko) ====

@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/re/if_re.c,v 1.47 2005/08/03 00:18:32 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/re/if_re.c,v 1.48 2005/08/05 08:19:12 tobez Exp $");
 
 /*
  * RealTek 8139C+/8169/8169S/8110S PCI NIC driver
@@ -159,6 +159,8 @@
  * Various supported device vendors/types and their names.
  */
 static struct rl_type re_devs[] = {
+	{ DLINK_VENDORID, DLINK_DEVICEID_528T, RL_HWREV_8169S,
+		"D-Link DGE-528(T) Gigabit Ethernet Adapter" },
 	{ RT_VENDORID, RT_DEVICEID_8139, RL_HWREV_8139CPLUS,
 		"RealTek 8139C+ 10/100BaseTX" },
 	{ RT_VENDORID, RT_DEVICEID_8169, RL_HWREV_8169,

==== //depot/projects/netsmp/src/sys/dev/wi/if_wi.c#6 (text+ko) ====

@@ -62,7 +62,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.182 2005/08/03 00:18:34 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.183 2005/08/05 04:56:14 imp Exp $");
 
 #define WI_HERMES_AUTOINC_WAR	/* Work around data write autoinc bug. */
 #define WI_HERMES_STATS_WAR	/* Work around stats counter bug. */
@@ -294,8 +294,10 @@
 	if (error || IEEE80211_ADDR_EQ(ic->ic_myaddr, empty_macaddr)) {
 		if (error != 0)
 			device_printf(dev, "mac read failed %d\n", error);
-		else
+		else {
 			device_printf(dev, "mac read failed (all zeros)\n");
+			error = ENXIO;
+		}
 		wi_free(dev);
 		return (error);
 	}

==== //depot/projects/netsmp/src/sys/i386/i386/ptrace_machdep.c#2 (text+ko) ====

@@ -26,7 +26,9 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/i386/i386/ptrace_machdep.c,v 1.3 2005/07/02 20:06:43 delphij Exp $");
+__FBSDID("$FreeBSD: src/sys/i386/i386/ptrace_machdep.c,v 1.4 2005/08/04 12:39:43 tobez Exp $");
+
+#include "opt_cpu.h"
 
 #include <sys/param.h>
 #include <sys/systm.h>

==== //depot/projects/netsmp/src/sys/net/if.c#9 (text+ko) ====

@@ -27,7 +27,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)if.c	8.5 (Berkeley) 1/9/95
- * $FreeBSD: src/sys/net/if.c,v 1.239 2005/08/02 23:23:26 rwatson Exp $
+ * $FreeBSD: src/sys/net/if.c,v 1.240 2005/08/04 14:39:47 jhb Exp $
  */
 
 #include "opt_compat.h"
@@ -408,6 +408,7 @@
 			return (NULL);
 		}
 	}
+	IF_ADDR_LOCK_INIT(ifp);
 
 	return (ifp);
 }
@@ -462,7 +463,6 @@
 	TASK_INIT(&ifp->if_starttask, 0, if_start_deferred, ifp);
 	TASK_INIT(&ifp->if_linktask, 0, do_link_state_change, ifp);
 	IF_AFDATA_LOCK_INIT(ifp);
-	IF_ADDR_LOCK_INIT(ifp);
 	ifp->if_afdata_initialized = 0;
 	IFNET_WLOCK();
 	TAILQ_INSERT_TAIL(&ifnet, ifp, if_link);

==== //depot/projects/netsmp/src/sys/pci/if_rlreg.h#2 (text+ko) ====

@@ -29,7 +29,7 @@
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  * THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/pci/if_rlreg.h,v 1.51 2005/06/10 16:49:22 brooks Exp $
+ * $FreeBSD: src/sys/pci/if_rlreg.h,v 1.52 2005/08/05 08:19:12 tobez Exp $
  */
 
 /*
@@ -796,6 +796,11 @@
 #define DLINK_DEVICEID_530TXPLUS		0x1300
 
 /*
+ * D-Link DFE-5280T device ID
+ */
+#define DLINK_DEVICEID_528T			0x4300
+
+/*
  * D-Link DFE-690TXD device ID
  */
 #define DLINK_DEVICEID_690TXD			0x1340

==== //depot/projects/netsmp/src/sys/sys/ata.h#2 (text+ko) ====

@@ -25,7 +25,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/sys/ata.h,v 1.26 2005/05/16 13:07:26 sos Exp $
+ * $FreeBSD: src/sys/sys/ata.h,v 1.27 2005/08/05 13:05:45 sos Exp $
  */
 
 #ifndef _SYS_ATA_H_
@@ -400,7 +400,7 @@
 /* ATA RAID ioctl calls */
 #define IOCATARAIDCREATE        _IOW('a', 200, struct ata_ioc_raid_config)
 #define IOCATARAIDDELETE        _IOW('a', 201, int)
-#define IOCATARAIDSTATUS        _IOR('a', 202, struct ata_ioc_raid_config)
+#define IOCATARAIDSTATUS        _IOWR('a', 202, struct ata_ioc_raid_config)
 #define IOCATARAIDADDSPARE      _IOW('a', 203, struct ata_ioc_raid_config)
 #define IOCATARAIDREBUILD       _IOW('a', 204, int)
 


More information about the p4-projects mailing list