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