PERFORCE change 162424 for review
Andrew Thompson
thompsa at FreeBSD.org
Thu May 21 02:14:55 UTC 2009
http://perforce.freebsd.org/chv.cgi?CH=162424
Change 162424 by thompsa at 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) <<<
More information about the p4-projects
mailing list