Date: Fri, 5 Aug 2005 14:22:20 GMT From: Robert Watson <rwatson@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 81496 for review Message-ID: <200508051422.j75EMKGb088198@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=81496 Change 81496 by rwatson@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)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200508051422.j75EMKGb088198>