Date: Thu, 21 May 2009 02:14:53 GMT From: Andrew Thompson <thompsa@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 162424 for review Message-ID: <200905210214.n4L2ErhW068025@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=162424 Change 162424 by thompsa@thompsa_burger on 2009/05/21 02:14:46 IFC @162418 Affected files ... .. //depot/projects/usb/src/sys/amd64/amd64/mca.c#2 integrate .. //depot/projects/usb/src/sys/amd64/include/param.h#6 integrate .. //depot/projects/usb/src/sys/amd64/pci/pci_cfgreg.c#5 integrate .. //depot/projects/usb/src/sys/compat/linux/linux_socket.c#12 integrate .. //depot/projects/usb/src/sys/compat/svr4/svr4_misc.c#10 integrate .. //depot/projects/usb/src/sys/conf/files#63 integrate .. //depot/projects/usb/src/sys/dev/aac/aac.c#7 integrate .. //depot/projects/usb/src/sys/dev/acpica/acpi.c#17 integrate .. //depot/projects/usb/src/sys/dev/age/if_age.c#9 integrate .. //depot/projects/usb/src/sys/dev/amr/amr.c#8 integrate .. //depot/projects/usb/src/sys/dev/amr/amr_linux.c#2 integrate .. //depot/projects/usb/src/sys/dev/arcmsr/arcmsr.c#10 integrate .. //depot/projects/usb/src/sys/dev/ata/ata-all.c#15 integrate .. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-promise.c#6 integrate .. //depot/projects/usb/src/sys/dev/ath/ath_hal/ah.c#6 integrate .. //depot/projects/usb/src/sys/dev/ath/ath_hal/ah.h#5 integrate .. //depot/projects/usb/src/sys/dev/ath/ath_hal/ah_internal.h#5 integrate .. //depot/projects/usb/src/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c#5 integrate .. //depot/projects/usb/src/sys/dev/ath/ath_hal/ar5210/ar5210_interrupts.c#2 integrate .. //depot/projects/usb/src/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c#5 integrate .. //depot/projects/usb/src/sys/dev/ath/ath_hal/ar5211/ar5211_interrupts.c#3 integrate .. //depot/projects/usb/src/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c#5 integrate .. //depot/projects/usb/src/sys/dev/ath/ath_hal/ar5212/ar5212_interrupts.c#3 integrate .. //depot/projects/usb/src/sys/dev/ath/ath_hal/ar5212/ar5212reg.h#2 integrate .. //depot/projects/usb/src/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c#4 integrate .. //depot/projects/usb/src/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c#4 integrate .. //depot/projects/usb/src/sys/dev/ath/if_ath.c#25 integrate .. //depot/projects/usb/src/sys/dev/ath/if_athvar.h#19 integrate .. //depot/projects/usb/src/sys/dev/bwi/if_bwi.c#2 integrate .. //depot/projects/usb/src/sys/dev/bwi/if_bwivar.h#2 integrate .. //depot/projects/usb/src/sys/dev/ciss/ciss.c#14 integrate .. //depot/projects/usb/src/sys/dev/cxgb/cxgb_main.c#15 integrate .. //depot/projects/usb/src/sys/dev/if_ndis/if_ndis.c#25 integrate .. //depot/projects/usb/src/sys/dev/iir/iir_ctrl.c#3 integrate .. //depot/projects/usb/src/sys/dev/ipw/if_ipw.c#13 integrate .. //depot/projects/usb/src/sys/dev/ipw/if_ipwvar.h#7 integrate .. //depot/projects/usb/src/sys/dev/iwi/if_iwi.c#13 integrate .. //depot/projects/usb/src/sys/dev/iwi/if_iwivar.h#7 integrate .. //depot/projects/usb/src/sys/dev/iwn/if_iwn.c#9 integrate .. //depot/projects/usb/src/sys/dev/iwn/if_iwnvar.h#3 integrate .. //depot/projects/usb/src/sys/dev/malo/if_malo.c#4 integrate .. //depot/projects/usb/src/sys/dev/malo/if_malo.h#3 integrate .. //depot/projects/usb/src/sys/dev/mfi/mfi.c#14 integrate .. //depot/projects/usb/src/sys/dev/mfi/mfi_linux.c#3 integrate .. //depot/projects/usb/src/sys/dev/mpt/mpt_user.c#4 integrate .. //depot/projects/usb/src/sys/dev/pci/pci.c#21 integrate .. //depot/projects/usb/src/sys/dev/pci/pci_pci.c#10 integrate .. //depot/projects/usb/src/sys/dev/pci/pcib_if.m#4 integrate .. //depot/projects/usb/src/sys/dev/ral/rt2560.c#12 integrate .. //depot/projects/usb/src/sys/dev/ral/rt2560var.h#7 integrate .. //depot/projects/usb/src/sys/dev/ral/rt2661.c#12 integrate .. //depot/projects/usb/src/sys/dev/ral/rt2661var.h#6 integrate .. //depot/projects/usb/src/sys/dev/sound/midi/midi.c#5 integrate .. //depot/projects/usb/src/sys/dev/sound/pci/emu10kx-midi.c#3 integrate .. //depot/projects/usb/src/sys/dev/sound/pci/via82c686.h#2 integrate .. //depot/projects/usb/src/sys/dev/sound/sbus/cs4231.h#2 integrate .. //depot/projects/usb/src/sys/dev/sound/usb/uaudio.c#41 integrate .. //depot/projects/usb/src/sys/dev/sound/usb/uaudioreg.h#10 integrate .. //depot/projects/usb/src/sys/dev/twa/tw_osl_freebsd.c#9 integrate .. //depot/projects/usb/src/sys/dev/twe/twe_freebsd.c#5 integrate .. //depot/projects/usb/src/sys/dev/usb/bluetooth/ng_ubt.c#7 integrate .. //depot/projects/usb/src/sys/dev/usb/bluetooth/ubtbcmfw.c#7 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/at91dci.c#17 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/atmegadci.c#27 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/atmegadci.h#11 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/ehci.c#24 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/musb_otg.c#15 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/ohci.c#19 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/uhci.c#17 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/usb_controller.c#16 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/uss820dci.c#17 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/uss820dci.h#7 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/uss820dci_atmelarm.c#7 integrate .. //depot/projects/usb/src/sys/dev/usb/input/uhid.c#9 integrate .. //depot/projects/usb/src/sys/dev/usb/input/ukbd.c#11 integrate .. //depot/projects/usb/src/sys/dev/usb/input/ums.c#12 integrate .. //depot/projects/usb/src/sys/dev/usb/misc/udbp.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/misc/ufm.c#5 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_aue.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_axe.c#9 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_cdce.c#11 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_cue.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_kue.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_rue.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_udav.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/u3g.c#12 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/uark.c#6 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/ubsa.c#6 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/ubser.c#9 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/uchcom.c#6 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/ucycom.c#9 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/ufoma.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/uftdi.c#7 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/ugensa.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/uipaq.c#7 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/ulpt.c#10 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/umct.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/umodem.c#11 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/umoscom.c#6 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/uplcom.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/uslcom.c#6 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/uvisor.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/uvscom.c#6 integrate .. //depot/projects/usb/src/sys/dev/usb/storage/umass.c#18 integrate .. //depot/projects/usb/src/sys/dev/usb/storage/urio.c#9 integrate .. //depot/projects/usb/src/sys/dev/usb/storage/ustorage_fs.c#16 integrate .. //depot/projects/usb/src/sys/dev/usb/template/usb_template.c#6 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_bus.h#11 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_busdma.c#7 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_compat_linux.c#38 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_compat_linux.h#13 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_controller.h#9 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_core.h#19 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_dev.c#21 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_device.c#32 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_device.h#22 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_generic.c#16 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_hub.c#20 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_hub.h#10 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_request.c#15 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_revision.h#5 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#148 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.h#8 integrate .. //depot/projects/usb/src/sys/dev/usb/wlan/if_rum.c#12 integrate .. //depot/projects/usb/src/sys/dev/usb/wlan/if_rumvar.h#7 integrate .. //depot/projects/usb/src/sys/dev/usb/wlan/if_uath.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/wlan/if_uathvar.h#3 integrate .. //depot/projects/usb/src/sys/dev/usb/wlan/if_upgt.c#5 integrate .. //depot/projects/usb/src/sys/dev/usb/wlan/if_ural.c#12 integrate .. //depot/projects/usb/src/sys/dev/usb/wlan/if_uralvar.h#7 integrate .. //depot/projects/usb/src/sys/dev/usb/wlan/if_zyd.c#12 integrate .. //depot/projects/usb/src/sys/dev/wi/if_wavelan_ieee.h#5 integrate .. //depot/projects/usb/src/sys/dev/wi/if_wi.c#11 integrate .. //depot/projects/usb/src/sys/dev/wi/if_wireg.h#4 integrate .. //depot/projects/usb/src/sys/dev/wi/if_wivar.h#7 integrate .. //depot/projects/usb/src/sys/dev/wpi/if_wpi.c#13 integrate .. //depot/projects/usb/src/sys/dev/wpi/if_wpivar.h#5 integrate .. //depot/projects/usb/src/sys/fs/nfs/nfs_var.h#3 integrate .. //depot/projects/usb/src/sys/fs/nfsclient/nfs_clnode.c#2 integrate .. //depot/projects/usb/src/sys/fs/nfsclient/nfs_clrpcops.c#2 integrate .. //depot/projects/usb/src/sys/fs/nfsclient/nfs_clstate.c#2 integrate .. //depot/projects/usb/src/sys/fs/nfsclient/nfs_clvnops.c#2 integrate .. //depot/projects/usb/src/sys/fs/nfsserver/nfs_nfsdstate.c#3 integrate .. //depot/projects/usb/src/sys/i386/acpica/acpi_machdep.c#8 integrate .. //depot/projects/usb/src/sys/i386/bios/smapi.c#4 integrate .. //depot/projects/usb/src/sys/i386/i386/mca.c#2 integrate .. //depot/projects/usb/src/sys/i386/include/param.h#6 integrate .. //depot/projects/usb/src/sys/i386/pci/pci_cfgreg.c#6 integrate .. //depot/projects/usb/src/sys/kern/kern_descrip.c#20 integrate .. //depot/projects/usb/src/sys/kern/kern_mutex.c#13 integrate .. //depot/projects/usb/src/sys/kern/kern_poll.c#11 integrate .. //depot/projects/usb/src/sys/kern/subr_bus.c#22 integrate .. //depot/projects/usb/src/sys/kern/subr_rman.c#10 integrate .. //depot/projects/usb/src/sys/kern/subr_witness.c#20 integrate .. //depot/projects/usb/src/sys/net/if_llatbl.c#4 integrate .. //depot/projects/usb/src/sys/net/if_llatbl.h#3 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211.c#21 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211.h#15 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_adhoc.c#8 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_ddb.c#14 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_freebsd.c#15 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_freebsd.h#16 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_hostap.c#11 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_ht.c#11 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_input.c#15 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_monitor.c#2 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_node.c#23 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_node.h#14 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_output.c#23 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_proto.c#19 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_proto.h#15 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_radiotap.c#1 branch .. //depot/projects/usb/src/sys/net80211/ieee80211_scan.c#9 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_scan.h#6 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_scan_sta.c#13 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_sta.c#9 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_superg.c#5 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_tdma.c#9 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_tdma.h#5 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_var.h#21 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_wds.c#9 integrate .. //depot/projects/usb/src/sys/netinet/in.c#24 integrate .. //depot/projects/usb/src/sys/netinet/ip_fw2.c#24 integrate .. //depot/projects/usb/src/sys/netinet6/in6.c#22 integrate .. //depot/projects/usb/src/sys/netnatm/natm.c#6 integrate .. //depot/projects/usb/src/sys/nfs4client/nfs4_dev.c#3 integrate .. //depot/projects/usb/src/sys/nlm/nlm.h#4 integrate .. //depot/projects/usb/src/sys/nlm/nlm_prot_impl.c#7 integrate .. //depot/projects/usb/src/sys/sys/interrupt.h#8 integrate .. //depot/projects/usb/src/sys/sys/param.h#30 integrate .. //depot/projects/usb/src/sys/sys/proc.h#19 integrate Differences ... ==== //depot/projects/usb/src/sys/amd64/amd64/mca.c#2 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mca.c,v 1.1 2009/05/13 17:53:04 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mca.c,v 1.3 2009/05/20 16:11:22 jhb Exp $"); #include <sys/param.h> #include <sys/kernel.h> @@ -55,9 +55,14 @@ static MALLOC_DEFINE(M_MCA, "MCA", "Machine Check Architecture"); -static struct sysctl_oid *mca_sysctl_tree; +static int mca_count; /* Number of records stored. */ + +SYSCTL_NODE(_hw, OID_AUTO, mca, CTLFLAG_RD, NULL, "Machine Check Architecture"); -static int mca_count; /* Number of records stored. */ +static int mca_enabled = 0; +TUNABLE_INT("hw.mca.enabled", &mca_enabled); +SYSCTL_INT(_hw_mca, OID_AUTO, enabled, CTLFLAG_RDTUN, &mca_enabled, 0, + "Administrative toggle for machine check support"); static STAILQ_HEAD(, mca_internal) mca_records; static struct callout mca_timer; @@ -346,7 +351,7 @@ /* When handling a MCE#, treat the OVER flag as non-restartable. */ if (mcip) - ucmask = MC_STATUS_OVER; + ucmask |= MC_STATUS_OVER; mcg_cap = rdmsr(MSR_MCG_CAP); for (i = 0; i < (mcg_cap & MCG_CAP_COUNT); i++) { rec = mca_record_entry(i); @@ -426,7 +431,7 @@ mca_startup(void *dummy) { - if (!(cpu_feature & CPUID_MCA)) + if (!mca_enabled || !(cpu_feature & CPUID_MCA)) return; callout_reset(&mca_timer, mca_ticks * hz, mca_periodic_scan, @@ -442,17 +447,15 @@ STAILQ_INIT(&mca_records); TASK_INIT(&mca_task, 0x8000, mca_scan_cpus, NULL); callout_init(&mca_timer, CALLOUT_MPSAFE); - mca_sysctl_tree = SYSCTL_ADD_NODE(NULL, SYSCTL_STATIC_CHILDREN(_hw), - OID_AUTO, "mca", CTLFLAG_RW, NULL, "MCA container"); - SYSCTL_ADD_INT(NULL, SYSCTL_CHILDREN(mca_sysctl_tree), OID_AUTO, + SYSCTL_ADD_INT(NULL, SYSCTL_STATIC_CHILDREN(_hw_mca), OID_AUTO, "count", CTLFLAG_RD, &mca_count, 0, "Record count"); - SYSCTL_ADD_PROC(NULL, SYSCTL_CHILDREN(mca_sysctl_tree), OID_AUTO, + SYSCTL_ADD_PROC(NULL, SYSCTL_STATIC_CHILDREN(_hw_mca), OID_AUTO, "interval", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, &mca_ticks, 0, sysctl_mca_ticks, "I", "Periodic interval in seconds to scan for machine checks"); - SYSCTL_ADD_NODE(NULL, SYSCTL_CHILDREN(mca_sysctl_tree), OID_AUTO, + SYSCTL_ADD_NODE(NULL, SYSCTL_STATIC_CHILDREN(_hw_mca), OID_AUTO, "records", CTLFLAG_RD, sysctl_mca_records, "Machine check records"); - SYSCTL_ADD_PROC(NULL, SYSCTL_CHILDREN(mca_sysctl_tree), OID_AUTO, + SYSCTL_ADD_PROC(NULL, SYSCTL_STATIC_CHILDREN(_hw_mca), OID_AUTO, "force_scan", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, NULL, 0, sysctl_mca_scan, "I", "Force an immediate scan for machine checks"); } @@ -465,7 +468,7 @@ int i; /* MCE is required. */ - if (!(cpu_feature & CPUID_MCE)) + if (!mca_enabled || !(cpu_feature & CPUID_MCE)) return; if (cpu_feature & CPUID_MCA) { @@ -488,10 +491,6 @@ if (!(i == 0 && (cpu_id & 0xf00) == 0x600)) wrmsr(MSR_MC_CTL(i), 0xffffffffffffffffUL); - /* XXX: Better CPU test needed here. */ - if ((cpu_id & 0xf00) == 0xf00) - mca_record_entry(i); - /* Clear all errors. */ wrmsr(MSR_MC_STATUS(i), 0); } ==== //depot/projects/usb/src/sys/amd64/include/param.h#6 (text+ko) ==== @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)param.h 8.1 (Berkeley) 6/10/93 - * $FreeBSD: src/sys/amd64/include/param.h,v 1.27 2009/04/20 12:59:23 rwatson Exp $ + * $FreeBSD: src/sys/amd64/include/param.h,v 1.28 2009/05/18 19:33:59 jhb Exp $ */ /* @@ -93,7 +93,7 @@ * CACHE_LINE_SIZE is the compile-time maximum cache line size for an * architecture. It should be used with appropriate caution. */ -#define CACHE_LINE_SHIFT 6 +#define CACHE_LINE_SHIFT 7 #define CACHE_LINE_SIZE (1 << CACHE_LINE_SHIFT) /* Size of the level 1 page table units */ ==== //depot/projects/usb/src/sys/amd64/pci/pci_cfgreg.c#5 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_cfgreg.c,v 1.114 2009/03/24 18:10:22 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_cfgreg.c,v 1.115 2009/05/18 21:47:32 jhb Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -35,6 +35,7 @@ #include <sys/lock.h> #include <sys/kernel.h> #include <sys/mutex.h> +#include <sys/sysctl.h> #include <dev/pci/pcivar.h> #include <dev/pci/pcireg.h> #include <vm/vm.h> @@ -56,6 +57,8 @@ static int pcireg_cfgread(int bus, int slot, int func, int reg, int bytes); static void pcireg_cfgwrite(int bus, int slot, int func, int reg, int data, int bytes); +SYSCTL_DECL(_hw_pci); + static int cfgmech; static vm_offset_t pcie_base; static int pcie_minbus, pcie_maxbus; @@ -63,6 +66,8 @@ static struct mtx pcicfg_mtx; static int mcfg_enable = 1; TUNABLE_INT("hw.pci.mcfg", &mcfg_enable); +SYSCTL_INT(_hw_pci, OID_AUTO, mcfg, CTLFLAG_RDTUN, &mcfg_enable, 0, + "Enable support for PCI-e memory mapped config access"); /* * Initialise access to PCI configuration space ==== //depot/projects/usb/src/sys/compat/linux/linux_socket.c#12 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.91 2009/05/18 04:07:46 dchagin Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.92 2009/05/19 09:10:53 dchagin Exp $"); /* XXX we use functions that might not exist. */ #include "opt_compat.h" @@ -1467,11 +1467,38 @@ return (error); } +/* Argument list sizes for linux_socketcall */ + +#define LINUX_AL(x) ((x) * sizeof(l_ulong)) + +static const unsigned char lxs_args[] = { + LINUX_AL(0) /* unused*/, LINUX_AL(3) /* socket */, + LINUX_AL(3) /* bind */, LINUX_AL(3) /* connect */, + LINUX_AL(2) /* listen */, LINUX_AL(3) /* accept */, + LINUX_AL(3) /* getsockname */, LINUX_AL(3) /* getpeername */, + LINUX_AL(4) /* socketpair */, LINUX_AL(4) /* send */, + LINUX_AL(4) /* recv */, LINUX_AL(6) /* sendto */, + LINUX_AL(6) /* recvfrom */, LINUX_AL(2) /* shutdown */, + LINUX_AL(5) /* setsockopt */, LINUX_AL(5) /* getsockopt */, + LINUX_AL(3) /* sendmsg */, LINUX_AL(3) /* recvmsg */ +}; + +#define LINUX_AL_SIZE sizeof(lxs_args) / sizeof(lxs_args[0]) - 1 + int linux_socketcall(struct thread *td, struct linux_socketcall_args *args) { - void *arg = (void *)(intptr_t)args->args; + l_ulong a[6]; + void *arg; + int error; + + if (args->what < LINUX_SOCKET || args->what > LINUX_AL_SIZE) + return (EINVAL); + error = copyin(PTRIN(args->args), a, lxs_args[args->what]); + if (error) + return (error); + arg = a; switch (args->what) { case LINUX_SOCKET: return (linux_socket(td, arg)); ==== //depot/projects/usb/src/sys/compat/svr4/svr4_misc.c#10 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_misc.c,v 1.102 2009/02/13 18:18:14 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_misc.c,v 1.104 2009/05/20 18:36:17 jhb Exp $"); #include "opt_mac.h" @@ -1199,12 +1199,12 @@ /* * Ok, handle the weird cases. Either WNOWAIT is set (meaning we - * just want to see if there is a process to harvest, we dont' + * just want to see if there is a process to harvest, we don't * want to actually harvest it), or WEXIT and WTRAPPED are clear * meaning we want to ignore zombies. Either way, we don't have * to handle harvesting zombies here. We do have to duplicate the - * other portions of kern_wait() though, especially for the - * WCONTINUED and WSTOPPED. + * other portions of kern_wait() though, especially for WCONTINUED + * and WSTOPPED. */ loop: nfound = 0; @@ -1611,14 +1611,14 @@ struct nameidata nd; int error, *retval = td->td_retval; unsigned int ncopy; - int vfslocked; NDINIT(&nd, LOOKUP, NOFOLLOW | SAVENAME | MPSAFE, UIO_USERSPACE, uap->path, td); if ((error = namei(&nd)) != 0) - return error; - vfslocked = NDHASGIANT(&nd); + return (error); + NDFREE(&nd, NDF_NO_FREE_PNBUF); + VFS_UNLOCK_GIANT(NDHASGIANT(&nd)); ncopy = min(uap->bufsiz, strlen(nd.ni_cnd.cn_pnbuf) + 1); if ((error = copyout(nd.ni_cnd.cn_pnbuf, uap->buf, ncopy)) != 0) @@ -1627,7 +1627,5 @@ *retval = ncopy; bad: NDFREE(&nd, NDF_ONLY_PNBUF); - vput(nd.ni_vp); - VFS_UNLOCK_GIANT(vfslocked); return error; } ==== //depot/projects/usb/src/sys/conf/files#63 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1400 2009/05/14 12:39:22 rwatson Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1401 2009/05/20 20:00:40 sam Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -2218,6 +2218,7 @@ net80211/ieee80211_phy.c optional wlan net80211/ieee80211_power.c optional wlan net80211/ieee80211_proto.c optional wlan +net80211/ieee80211_radiotap.c optional wlan net80211/ieee80211_regdomain.c optional wlan net80211/ieee80211_rssadapt.c optional wlan wlan_rssadapt net80211/ieee80211_scan.c optional wlan ==== //depot/projects/usb/src/sys/dev/aac/aac.c#7 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/aac/aac.c,v 1.141 2009/02/23 18:22:06 emaste Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/aac/aac.c,v 1.142 2009/05/20 17:29:21 imp Exp $"); /* * Driver for the Adaptec 'FSA' family of PCI/SCSI RAID adapters. @@ -2905,7 +2905,7 @@ */ static int -aac_open(struct cdev *dev, int flags, int fmt, d_thread_t *td) +aac_open(struct cdev *dev, int flags, int fmt, struct thread *td) { struct aac_softc *sc; @@ -2918,7 +2918,7 @@ } static int -aac_close(struct cdev *dev, int flags, int fmt, d_thread_t *td) +aac_close(struct cdev *dev, int flags, int fmt, struct thread *td) { struct aac_softc *sc; @@ -2933,7 +2933,7 @@ } static int -aac_ioctl(struct cdev *dev, u_long cmd, caddr_t arg, int flag, d_thread_t *td) +aac_ioctl(struct cdev *dev, u_long cmd, caddr_t arg, int flag, struct thread *td) { union aac_statrequest *as; struct aac_softc *sc; @@ -3038,7 +3038,7 @@ } static int -aac_poll(struct cdev *dev, int poll_events, d_thread_t *td) +aac_poll(struct cdev *dev, int poll_events, struct thread *td) { struct aac_softc *sc; struct aac_fib_context *ctx; ==== //depot/projects/usb/src/sys/dev/acpica/acpi.c#17 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.262 2009/04/30 18:00:53 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.263 2009/05/20 17:29:21 imp Exp $"); #include "opt_acpi.h" #include <sys/param.h> @@ -3186,19 +3186,19 @@ } static int -acpiopen(struct cdev *dev, int flag, int fmt, d_thread_t *td) +acpiopen(struct cdev *dev, int flag, int fmt, struct thread *td) { return (0); } static int -acpiclose(struct cdev *dev, int flag, int fmt, d_thread_t *td) +acpiclose(struct cdev *dev, int flag, int fmt, struct thread *td) { return (0); } static int -acpiioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, d_thread_t *td) +acpiioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, struct thread *td) { struct acpi_softc *sc; struct acpi_ioctl_hook *hp; ==== //depot/projects/usb/src/sys/dev/age/if_age.c#9 (text+ko) ==== @@ -28,7 +28,7 @@ /* Driver for Attansic Technology Corp. L1 Gigabit Ethernet. */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/age/if_age.c,v 1.8 2009/03/28 07:39:35 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/age/if_age.c,v 1.9 2009/05/20 03:33:27 yongari Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -1477,23 +1477,11 @@ { struct age_softc *sc; struct ifnet *ifp; - uint16_t cmd; sc = device_get_softc(dev); AGE_LOCK(sc); - /* - * Clear INTx emulation disable for hardwares that - * is set in resume event. From Linux. - */ - cmd = pci_read_config(sc->age_dev, PCIR_COMMAND, 2); - if ((cmd & 0x0400) != 0) { - cmd &= ~0x0400; - pci_write_config(sc->age_dev, PCIR_COMMAND, cmd, 2); - } - AGE_UNLOCK(sc); age_phy_reset(sc); - AGE_LOCK(sc); ifp = sc->age_ifp; if ((ifp->if_flags & IFF_UP) != 0) age_init_locked(sc); ==== //depot/projects/usb/src/sys/dev/amr/amr.c#8 (text+ko) ==== @@ -56,7 +56,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/amr/amr.c,v 1.88 2008/11/03 00:53:54 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/amr/amr.c,v 1.89 2009/05/20 17:29:21 imp Exp $"); /* * Driver for the AMI MegaRaid family of controllers. @@ -173,7 +173,7 @@ static void amr_init_sysctl(struct amr_softc *sc); static int amr_linux_ioctl_int(struct cdev *dev, u_long cmd, caddr_t addr, - int32_t flag, d_thread_t *td); + int32_t flag, struct thread *td); MALLOC_DEFINE(M_AMR, "amr", "AMR memory"); @@ -431,7 +431,7 @@ * Accept an open operation on the control device. */ static int -amr_open(struct cdev *dev, int flags, int fmt, d_thread_t *td) +amr_open(struct cdev *dev, int flags, int fmt, struct thread *td) { int unit = dev2unit(dev); struct amr_softc *sc = devclass_get_softc(devclass_find("amr"), unit); @@ -487,7 +487,7 @@ * Accept the last close on the control device. */ static int -amr_close(struct cdev *dev, int flags, int fmt, d_thread_t *td) +amr_close(struct cdev *dev, int flags, int fmt, struct thread *td) { int unit = dev2unit(dev); struct amr_softc *sc = devclass_get_softc(devclass_find("amr"), unit); @@ -537,7 +537,7 @@ int amr_linux_ioctl_int(struct cdev *dev, u_long cmd, caddr_t addr, int32_t flag, - d_thread_t *td) + struct thread *td) { struct amr_softc *sc = (struct amr_softc *)dev->si_drv1; struct amr_command *ac; @@ -736,7 +736,7 @@ } static int -amr_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int32_t flag, d_thread_t *td) +amr_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int32_t flag, struct thread *td) { struct amr_softc *sc = (struct amr_softc *)dev->si_drv1; union { ==== //depot/projects/usb/src/sys/dev/amr/amr_linux.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/amr/amr_linux.c,v 1.4 2006/05/03 16:45:15 ambrisko Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/amr/amr_linux.c,v 1.5 2009/05/20 17:29:21 imp Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -69,7 +69,7 @@ MODULE_DEPEND(amr, linux, 1, 1, 1); static int -amr_linux_ioctl(d_thread_t *p, struct linux_ioctl_args *args) +amr_linux_ioctl(struct thread *p, struct linux_ioctl_args *args) { struct file *fp; int error; ==== //depot/projects/usb/src/sys/dev/arcmsr/arcmsr.c#10 (text+ko) ==== @@ -56,7 +56,7 @@ ** and cause g_vfs_done() read write error ** 1.20.00.15 10/10/2007 Erich Chen support new RAID adapter type ARC120x ****************************************************************************************** -* $FreeBSD: src/sys/dev/arcmsr/arcmsr.c,v 1.30 2009/02/20 07:40:54 scottl Exp $ +* $FreeBSD: src/sys/dev/arcmsr/arcmsr.c,v 1.31 2009/05/20 17:29:21 imp Exp $ */ #include <sys/param.h> #include <sys/systm.h> @@ -249,7 +249,7 @@ #if __FreeBSD_version < 503000 static int arcmsr_open(dev_t dev, int flags, int fmt, struct thread *proc) #else - static int arcmsr_open(struct cdev *dev, int flags, int fmt, d_thread_t *proc) + static int arcmsr_open(struct cdev *dev, int flags, int fmt, struct thread *proc) #endif #endif { @@ -274,7 +274,7 @@ #if __FreeBSD_version < 503000 static int arcmsr_close(dev_t dev, int flags, int fmt, struct thread *proc) #else - static int arcmsr_close(struct cdev *dev, int flags, int fmt, d_thread_t *proc) + static int arcmsr_close(struct cdev *dev, int flags, int fmt, struct thread *proc) #endif #endif { @@ -299,7 +299,7 @@ #if __FreeBSD_version < 503000 static int arcmsr_ioctl(dev_t dev, u_long ioctl_cmd, caddr_t arg, int flags, struct thread *proc) #else - static int arcmsr_ioctl(struct cdev *dev, u_long ioctl_cmd, caddr_t arg, int flags, d_thread_t *proc) + static int arcmsr_ioctl(struct cdev *dev, u_long ioctl_cmd, caddr_t arg, int flags, struct thread *proc) #endif #endif { ==== //depot/projects/usb/src/sys/dev/ata/ata-all.c#15 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.303 2009/02/28 22:07:15 mav Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.305 2009/05/20 21:31:47 imp Exp $"); #include "opt_ata.h" #include <sys/param.h> ==== //depot/projects/usb/src/sys/dev/ata/chipsets/ata-promise.c#6 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/ata/chipsets/ata-promise.c,v 1.9 2009/05/14 14:57:13 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/chipsets/ata-promise.c,v 1.10 2009/05/20 09:44:32 mav Exp $"); #include "opt_ata.h" #include <sys/param.h> @@ -1054,7 +1054,7 @@ device_t gparent = GRANDPARENT(request->dev); struct ata_pci_controller *ctlr = device_get_softc(gparent); struct ata_channel *ch = device_get_softc(request->parent); - struct ata_dma_prdentry *prd = request->dma->sg; + struct ata_dma_prdentry *prd; caddr_t window = rman_get_virtual(ctlr->r_res1); u_int32_t *wordp; int i, idx, length = 0; @@ -1098,6 +1098,7 @@ case ATA_READ_DMA48: case ATA_WRITE_DMA: case ATA_WRITE_DMA48: + prd = request->dma->sg; wordp = (u_int32_t *) (window + (ch->unit * ATA_PDC_CHN_OFFSET) + ATA_PDC_HSG_OFFSET); i = idx = 0; ==== //depot/projects/usb/src/sys/dev/ath/ath_hal/ah.c#6 (text+ko) ==== @@ -14,7 +14,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $FreeBSD: src/sys/dev/ath/ath_hal/ah.c,v 1.9 2009/04/13 21:01:08 sam Exp $ + * $FreeBSD: src/sys/dev/ath/ath_hal/ah.c,v 1.10 2009/05/19 17:30:13 sam Exp $ */ #include "opt_ah.h" @@ -500,6 +500,9 @@ case HAL_CAP_RXTSTAMP_PREC: /* rx desc tstamp precision (bits) */ *result = pCap->halTstampPrecision; return HAL_OK; + case HAL_CAP_INTRMASK: /* mask of supported interrupts */ + *result = pCap->halIntrMask; + return HAL_OK; default: return HAL_EINVAL; } ==== //depot/projects/usb/src/sys/dev/ath/ath_hal/ah.h#5 (text+ko) ==== @@ -14,7 +14,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $FreeBSD: src/sys/dev/ath/ath_hal/ah.h,v 1.7 2009/03/19 19:29:10 sam Exp $ + * $FreeBSD: src/sys/dev/ath/ath_hal/ah.h,v 1.11 2009/05/19 17:54:32 sam Exp $ */ #ifndef _ATH_AH_H_ @@ -109,6 +109,7 @@ HAL_CAP_RXTSTAMP_PREC = 34, /* rx desc tstamp precision (bits) */ HAL_CAP_BB_HANG = 35, /* can baseband hang */ HAL_CAP_MAC_HANG = 36, /* can MAC hang */ + HAL_CAP_INTRMASK = 37, /* bitmask of supported interrupts */ } HAL_CAPABILITY_TYPE; /* @@ -327,13 +328,14 @@ HAL_INT_RXKCM = 0x00008000, HAL_INT_SWBA = 0x00010000, HAL_INT_BMISS = 0x00040000, - HAL_INT_BNR = 0x00100000, /* Non-common mapping */ + HAL_INT_BNR = 0x00100000, HAL_INT_TIM = 0x00200000, /* Non-common mapping */ HAL_INT_DTIM = 0x00400000, /* Non-common mapping */ HAL_INT_DTIMSYNC= 0x00800000, /* Non-common mapping */ HAL_INT_GPIO = 0x01000000, HAL_INT_CABEND = 0x02000000, /* Non-common mapping */ HAL_INT_TSFOOR = 0x04000000, /* Non-common mapping */ + HAL_INT_TBTT = 0x08000000, /* Non-common mapping */ HAL_INT_CST = 0x10000000, /* Non-common mapping */ HAL_INT_GTT = 0x20000000, /* Non-common mapping */ HAL_INT_FATAL = 0x40000000, /* Non-common mapping */ @@ -341,20 +343,22 @@ HAL_INT_BMISC = HAL_INT_TIM | HAL_INT_DTIM | HAL_INT_DTIMSYNC - | HAL_INT_CABEND, + | HAL_INT_CABEND + | HAL_INT_TBTT, /* Interrupt bits that map directly to ISR/IMR bits */ HAL_INT_COMMON = HAL_INT_RXNOFRM | HAL_INT_RXDESC | HAL_INT_RXEOL | HAL_INT_RXORN + | HAL_INT_TXDESC | HAL_INT_TXURN - | HAL_INT_TXDESC | HAL_INT_MIB | HAL_INT_RXPHY | HAL_INT_RXKCM | HAL_INT_SWBA | HAL_INT_BMISS + | HAL_INT_BNR | HAL_INT_GPIO, } HAL_INT; ==== //depot/projects/usb/src/sys/dev/ath/ath_hal/ah_internal.h#5 (text+ko) ==== @@ -14,7 +14,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $FreeBSD: src/sys/dev/ath/ath_hal/ah_internal.h,v 1.11 2009/04/09 16:53:59 sam Exp $ + * $FreeBSD: src/sys/dev/ath/ath_hal/ah_internal.h,v 1.12 2009/05/19 17:30:13 sam Exp $ */ #ifndef _ATH_AH_INTERAL_H_ #define _ATH_AH_INTERAL_H_ @@ -206,6 +206,7 @@ uint8_t halNumGpioPins; uint8_t halNumAntCfg2GHz; uint8_t halNumAntCfg5GHz; + uint32_t halIntrMask; } HAL_CAPABILITIES; struct regDomain; ==== //depot/projects/usb/src/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c#5 (text+ko) ==== @@ -14,7 +14,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $FreeBSD: src/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c,v 1.5 2009/03/19 19:29:10 sam Exp $ + * $FreeBSD: src/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c,v 1.7 2009/05/19 17:35:15 sam Exp $ */ #include "opt_ah.h" @@ -369,6 +369,11 @@ } pCap->halTstampPrecision = 15; /* NB: s/w extended from 13 */ + pCap->halIntrMask = (HAL_INT_COMMON - HAL_INT_BNR) + | HAL_INT_RX + | HAL_INT_TX + | HAL_INT_FATAL + ; ahpriv->ah_rxornIsFatal = AH_TRUE; return AH_TRUE; ==== //depot/projects/usb/src/sys/dev/ath/ath_hal/ar5210/ar5210_interrupts.c#2 (text+ko) ==== @@ -14,7 +14,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $Id: ar5210_interrupts.c,v 1.4 2008/11/10 04:08:02 sam Exp $ + * $FreeBSD: src/sys/dev/ath/ath_hal/ar5210/ar5210_interrupts.c,v 1.2 2009/05/19 17:35:15 sam Exp $ */ #include "opt_ah.h" @@ -59,7 +59,7 @@ * status bits leak through that weren't requested * (e.g. RXNOFRM) and that might confuse the caller. */ - *masked = (isr & HAL_INT_COMMON) & ahp->ah_maskReg; + *masked = (isr & (HAL_INT_COMMON - HAL_INT_BNR)) & ahp->ah_maskReg; if (isr & AR_FATAL_INT) *masked |= HAL_INT_FATAL; @@ -105,7 +105,7 @@ OS_REG_WRITE(ah, AR_IER, AR_IER_DISABLE); } - mask = ints & HAL_INT_COMMON; + mask = ints & (HAL_INT_COMMON - HAL_INT_BNR); if (ints & HAL_INT_RX) mask |= AR_IMR_RXOK_INT | AR_IMR_RXERR_INT; if (ints & HAL_INT_TX) { ==== //depot/projects/usb/src/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c#5 (text+ko) ==== @@ -14,7 +14,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $FreeBSD: src/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c,v 1.6 2009/03/19 19:29:10 sam Exp $ + * $FreeBSD: src/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c,v 1.7 2009/05/19 17:30:13 sam Exp $ */ #include "opt_ah.h" @@ -498,6 +498,13 @@ } pCap->halTstampPrecision = 13; + pCap->halIntrMask = HAL_INT_COMMON + | HAL_INT_RX + | HAL_INT_TX + | HAL_INT_FATAL + | HAL_INT_BNR + | HAL_INT_TIM + ; /* XXX might be ok w/ some chip revs */ ahpriv->ah_rxornIsFatal = AH_TRUE; ==== //depot/projects/usb/src/sys/dev/ath/ath_hal/ar5211/ar5211_interrupts.c#3 (text+ko) ==== @@ -14,7 +14,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $FreeBSD: src/sys/dev/ath/ath_hal/ar5211/ar5211_interrupts.c,v 1.2 2009/05/06 23:09:26 sam Exp $ + * $FreeBSD: src/sys/dev/ath/ath_hal/ar5211/ar5211_interrupts.c,v 1.3 2009/05/19 17:35:15 sam Exp $ */ #include "opt_ah.h" @@ -64,8 +64,6 @@ *masked |= HAL_INT_RX; if (isr & (AR_ISR_TXOK | AR_ISR_TXDESC | AR_ISR_TXERR | AR_ISR_TXEOL)) *masked |= HAL_INT_TX; - if (isr & AR_ISR_BNR) - *masked |= HAL_INT_BNR; /* * Receive overrun is usually non-fatal on Oahu/Spirit. * BUT on some parts rx could fail and the chip must be reset. @@ -139,8 +137,6 @@ } if (ints & HAL_INT_RX) mask |= AR_IMR_RXOK | AR_IMR_RXERR | AR_IMR_RXDESC; - if (ints & AR_ISR_BNR) - mask |= HAL_INT_BNR; if (ints & HAL_INT_FATAL) { /* * NB: ar5212Reset sets MCABT+SSERR+DPERR in AR_IMR_S2 ==== //depot/projects/usb/src/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c#5 (text+ko) ==== @@ -14,7 +14,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $FreeBSD: src/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c,v 1.5 2009/03/19 19:29:10 sam Exp $ + * $FreeBSD: src/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c,v 1.7 2009/05/19 17:53:53 sam Exp $ */ #include "opt_ah.h" @@ -840,6 +840,15 @@ AH_PRIVATE(ah)->ah_macVersion > AR_SREV_VERSION_VENICE; pCap->halTstampPrecision = 15; + pCap->halIntrMask = HAL_INT_COMMON + | HAL_INT_RX + | HAL_INT_TX + | HAL_INT_FATAL + | HAL_INT_BNR + | HAL_INT_BMISC + ; + if (AH_PRIVATE(ah)->ah_macVersion < AR_SREV_VERSION_GRIFFIN) + pCap->halIntrMask &= ~HAL_INT_TBTT; return AH_TRUE; #undef IS_COBRA ==== //depot/projects/usb/src/sys/dev/ath/ath_hal/ar5212/ar5212_interrupts.c#3 (text+ko) ==== @@ -14,7 +14,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $FreeBSD: src/sys/dev/ath/ath_hal/ar5212/ar5212_interrupts.c,v 1.2 2009/05/06 23:09:26 sam Exp $ + * $FreeBSD: src/sys/dev/ath/ath_hal/ar5212/ar5212_interrupts.c,v 1.5 2009/05/19 17:53:53 sam Exp $ */ #include "opt_ah.h" >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200905210214.n4L2ErhW068025>
