PERFORCE change 157542 for review
John Baldwin
jhb at FreeBSD.org
Wed Feb 11 07:04:39 PST 2009
http://perforce.freebsd.org/chv.cgi?CH=157542
Change 157542 by jhb at jhb_jhbbsd on 2009/02/11 15:04:28
IFC @157539
Affected files ...
.. //depot/projects/smpng/sys/boot/sparc64/loader/main.c#27 integrate
.. //depot/projects/smpng/sys/cam/scsi/scsi_cd.c#36 integrate
.. //depot/projects/smpng/sys/cam/scsi/scsi_da.c#84 integrate
.. //depot/projects/smpng/sys/dev/arcmsr/arcmsr.c#19 integrate
.. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5212_ani.c#4 integrate
.. //depot/projects/smpng/sys/dev/ath/if_ath.c#66 integrate
.. //depot/projects/smpng/sys/dev/bge/if_bge.c#104 integrate
.. //depot/projects/smpng/sys/dev/iicbus/if_ic.c#19 integrate
.. //depot/projects/smpng/sys/dev/iicbus/iicbb.c#10 integrate
.. //depot/projects/smpng/sys/dev/iicbus/iicbus.c#14 integrate
.. //depot/projects/smpng/sys/dev/iicbus/iicsmb.c#10 integrate
.. //depot/projects/smpng/sys/dev/ppbus/lpt.c#25 integrate
.. //depot/projects/smpng/sys/dev/ppc/ppc_pci.c#4 integrate
.. //depot/projects/smpng/sys/dev/re/if_re.c#71 integrate
.. //depot/projects/smpng/sys/dev/sdhci/sdhci.c#6 integrate
.. //depot/projects/smpng/sys/dev/sis/if_sis.c#3 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/envy24.c#13 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/envy24ht.c#10 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/spicds.c#4 integrate
.. //depot/projects/smpng/sys/dev/tl/if_tl.c#2 integrate
.. //depot/projects/smpng/sys/dev/tx/if_tx.c#31 integrate
.. //depot/projects/smpng/sys/dev/uart/uart_bus_pci.c#10 integrate
.. //depot/projects/smpng/sys/ia64/ia64/mp_machdep.c#40 integrate
.. //depot/projects/smpng/sys/kern/kern_linker.c#98 integrate
.. //depot/projects/smpng/sys/kern/link_elf.c#48 integrate
.. //depot/projects/smpng/sys/kern/link_elf_obj.c#22 integrate
.. //depot/projects/smpng/sys/kern/subr_bus.c#73 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211_adhoc.c#5 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211_tdma.c#3 integrate
.. //depot/projects/smpng/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#19 integrate
.. //depot/projects/smpng/sys/pci/if_rlreg.h#50 integrate
.. //depot/projects/smpng/sys/sparc64/include/bus_private.h#8 integrate
.. //depot/projects/smpng/sys/sparc64/include/vmparam.h#18 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/iommu.c#35 integrate
.. //depot/projects/smpng/sys/sun4v/include/vmparam.h#6 integrate
.. //depot/projects/smpng/sys/sys/kobj.h#8 integrate
Differences ...
==== //depot/projects/smpng/sys/boot/sparc64/loader/main.c#27 (text+ko) ====
@@ -33,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/sparc64/loader/main.c,v 1.39 2008/10/05 14:00:44 marius Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/sparc64/loader/main.c,v 1.40 2009/02/10 21:48:42 marius Exp $");
/*
* FreeBSD/sparc64 kernel loader - machine dependent part
@@ -383,7 +383,7 @@
return (error);
printf("jumping to kernel entry at %#lx.\n", e->e_entry);
-#if LOADER_DEBUG
+#ifdef LOADER_DEBUG
pmap_print_tlb_sun4u();
#endif
@@ -499,7 +499,7 @@
stxa(AA_IMMU_TAR, ASI_IMMU,
TLB_TAR_VA(vpn) | TLB_TAR_CTX(TLB_CTX_KERNEL));
stxa(TLB_DAR_SLOT(i), ASI_ITLB_DATA_ACCESS_REG, data);
- flush(KERNBASE);
+ flush(PROMBASE);
break;
}
wrpr(pstate, reg, 0);
@@ -511,7 +511,7 @@
stxa(AA_IMMU_TAR, ASI_IMMU,
TLB_TAR_VA(vpn) | TLB_TAR_CTX(TLB_CTX_KERNEL));
stxa(0, ASI_ITLB_DATA_IN_REG, data);
- flush(KERNBASE);
+ flush(PROMBASE);
wrpr(pstate, reg, 0);
}
@@ -837,7 +837,7 @@
}
#ifdef LOADER_DEBUG
-static const char *page_sizes[] = {
+static const char *const page_sizes[] = {
" 8k", " 64k", "512k", " 4m"
};
==== //depot/projects/smpng/sys/cam/scsi/scsi_cd.c#36 (text+ko) ====
@@ -46,7 +46,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_cd.c,v 1.104 2009/01/08 00:45:47 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_cd.c,v 1.105 2009/02/10 22:39:44 jhb Exp $");
#include "opt_cd.h"
@@ -555,8 +555,6 @@
snprintf(tmpstr, sizeof(tmpstr), "CAM CD unit %d", periph->unit_number);
snprintf(tmpstr2, sizeof(tmpstr2), "%d", periph->unit_number);
- mtx_lock(&Giant);
-
sysctl_ctx_init(&softc->sysctl_ctx);
softc->flags |= CD_FLAG_SCTX_INIT;
softc->sysctl_tree = SYSCTL_ADD_NODE(&softc->sysctl_ctx,
@@ -565,7 +563,6 @@
if (softc->sysctl_tree == NULL) {
printf("cdsysctlinit: unable to allocate sysctl tree\n");
- mtx_unlock(&Giant);
cam_periph_release(periph);
return;
}
@@ -579,7 +576,6 @@
&softc->minimum_command_size, 0, cdcmdsizesysctl, "I",
"Minimum CDB size");
- mtx_unlock(&Giant);
cam_periph_release(periph);
}
==== //depot/projects/smpng/sys/cam/scsi/scsi_da.c#84 (text+ko) ====
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.233 2009/01/14 21:27:30 trasz Exp $");
+__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.234 2009/02/10 22:39:44 jhb Exp $");
#include <sys/param.h>
@@ -1086,7 +1086,6 @@
snprintf(tmpstr, sizeof(tmpstr), "CAM DA unit %d", periph->unit_number);
snprintf(tmpstr2, sizeof(tmpstr2), "%d", periph->unit_number);
- mtx_lock(&Giant);
sysctl_ctx_init(&softc->sysctl_ctx);
softc->flags |= DA_FLAG_SCTX_INIT;
softc->sysctl_tree = SYSCTL_ADD_NODE(&softc->sysctl_ctx,
@@ -1094,7 +1093,6 @@
CTLFLAG_RD, 0, tmpstr);
if (softc->sysctl_tree == NULL) {
printf("dasysctlinit: unable to allocate sysctl tree\n");
- mtx_unlock(&Giant);
cam_periph_release(periph);
return;
}
@@ -1108,7 +1106,6 @@
&softc->minimum_cmd_size, 0, dacmdsizesysctl, "I",
"Minimum CDB size");
- mtx_unlock(&Giant);
cam_periph_release(periph);
}
==== //depot/projects/smpng/sys/dev/arcmsr/arcmsr.c#19 (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.28 2008/09/27 08:51:18 ed Exp $
+* $FreeBSD: src/sys/dev/arcmsr/arcmsr.c,v 1.29 2009/02/10 22:46:36 imp Exp $
*/
#include <sys/param.h>
#include <sys/systm.h>
@@ -140,12 +140,12 @@
*/
static struct CommandControlBlock * arcmsr_get_freesrb(struct AdapterControlBlock *acb);
static u_int8_t arcmsr_seek_cmd2abort(union ccb * abortccb);
-static u_int32_t arcmsr_probe(device_t dev);
-static u_int32_t arcmsr_attach(device_t dev);
-static u_int32_t arcmsr_detach(device_t dev);
+static int arcmsr_probe(device_t dev);
+static int arcmsr_attach(device_t dev);
+static int arcmsr_detach(device_t dev);
static u_int32_t arcmsr_iop_ioctlcmd(struct AdapterControlBlock *acb, u_int32_t ioctl_cmd, caddr_t arg);
static void arcmsr_iop_parking(struct AdapterControlBlock *acb);
-static void arcmsr_shutdown(device_t dev);
+static int arcmsr_shutdown(device_t dev);
static void arcmsr_interrupt(struct AdapterControlBlock *acb);
static void arcmsr_polling_srbdone(struct AdapterControlBlock *acb, struct CommandControlBlock *poll_srb);
static void arcmsr_free_resource(struct AdapterControlBlock *acb);
@@ -3029,7 +3029,7 @@
************************************************************************
************************************************************************
*/
-static u_int32_t arcmsr_attach(device_t dev)
+static int arcmsr_attach(device_t dev)
{
struct AdapterControlBlock *acb=(struct AdapterControlBlock *)device_get_softc(dev);
u_int32_t unit=device_get_unit(dev);
@@ -3152,7 +3152,7 @@
************************************************************************
************************************************************************
*/
-static u_int32_t arcmsr_probe(device_t dev)
+static int arcmsr_probe(device_t dev)
{
u_int32_t id;
static char buf[256];
@@ -3197,7 +3197,7 @@
************************************************************************
************************************************************************
*/
-static void arcmsr_shutdown(device_t dev)
+static int arcmsr_shutdown(device_t dev)
{
u_int32_t i;
u_int32_t intmask_org;
@@ -3231,13 +3231,13 @@
acb->workingsrb_doneindex=0;
acb->workingsrb_startindex=0;
ARCMSR_LOCK_RELEASE(&acb->qbuffer_lock);
- return;
+ return (0);
}
/*
************************************************************************
************************************************************************
*/
-static u_int32_t arcmsr_detach(device_t dev)
+static int arcmsr_detach(device_t dev)
{
struct AdapterControlBlock *acb=(struct AdapterControlBlock *)device_get_softc(dev);
int i;
==== //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5212_ani.c#4 (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_ani.c,v 1.3 2009/01/28 18:00:22 sam Exp $
+ * $FreeBSD: src/sys/dev/ath/ath_hal/ar5212/ar5212_ani.c,v 1.4 2009/02/10 19:23:25 sam Exp $
*/
#include "opt_ah.h"
@@ -278,14 +278,12 @@
if (on) {
OS_REG_SET_BIT(ah, AR_PHY_SFCORR_LOW,
AR_PHY_SFCORR_LOW_USE_SELF_CORR_LOW);
+ ahp->ah_stats.ast_ani_ofdmon++;
} else {
OS_REG_CLR_BIT(ah, AR_PHY_SFCORR_LOW,
AR_PHY_SFCORR_LOW_USE_SELF_CORR_LOW);
+ ahp->ah_stats.ast_ani_ofdmoff++;
}
- if (on)
- ahp->ah_stats.ast_ani_ofdmon++;
- else
- ahp->ah_stats.ast_ani_ofdmoff++;
aniState->ofdmWeakSigDetectOff = !on;
break;
}
==== //depot/projects/smpng/sys/dev/ath/if_ath.c#66 (text+ko) ====
@@ -28,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.229 2009/02/07 05:34:41 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.233 2009/02/10 23:48:29 sam Exp $");
/*
* Driver for the Atheros Wireless LAN controller.
@@ -283,6 +283,10 @@
0, "tx buffers allocated");
TUNABLE_INT("hw.ath.txbuf", &ath_txbuf);
+static int ath_bstuck_threshold = 4; /* max missed beacons */
+SYSCTL_INT(_hw_ath, OID_AUTO, bstuck, CTLFLAG_RW, &ath_bstuck_threshold,
+ 0, "max missed beacon xmits before chip reset");
+
#ifdef ATH_DEBUG
enum {
ATH_DEBUG_XMIT = 0x00000001, /* basic xmit operation */
@@ -1201,7 +1205,9 @@
* Must reset the chip before we reload the
* keycache as we were powered down on suspend.
*/
- ath_hal_reset(ah, sc->sc_opmode, sc->sc_curchan, AH_FALSE, &status);
+ ath_hal_reset(ah, sc->sc_opmode,
+ sc->sc_curchan != NULL ? sc->sc_curchan : ic->ic_curchan,
+ AH_FALSE, &status);
ath_reset_keycache(sc);
if (sc->sc_resume_up) {
if (ic->ic_opmode == IEEE80211_M_STA) {
@@ -1366,29 +1372,34 @@
static void
ath_bmiss_vap(struct ieee80211vap *vap)
{
- struct ifnet *ifp = vap->iv_ic->ic_ifp;
- struct ath_softc *sc = ifp->if_softc;
- u_int64_t lastrx = sc->sc_lastrx;
- u_int64_t tsf = ath_hal_gettsf64(sc->sc_ah);
- u_int bmisstimeout =
- vap->iv_bmissthreshold * vap->iv_bss->ni_intval * 1024;
-
- DPRINTF(sc, ATH_DEBUG_BEACON,
- "%s: tsf %llu lastrx %lld (%llu) bmiss %u\n",
- __func__, (unsigned long long) tsf,
- (unsigned long long)(tsf - lastrx),
- (unsigned long long) lastrx, bmisstimeout);
/*
* Workaround phantom bmiss interrupts by sanity-checking
* the time of our last rx'd frame. If it is within the
* beacon miss interval then ignore the interrupt. If it's
* truly a bmiss we'll get another interrupt soon and that'll
- * be dispatched up for processing.
+ * be dispatched up for processing. Note this applies only
+ * for h/w beacon miss events.
*/
- if (tsf - lastrx > bmisstimeout)
- ATH_VAP(vap)->av_bmiss(vap);
- else
- sc->sc_stats.ast_bmiss_phantom++;
+ if ((vap->iv_flags_ext & IEEE80211_FEXT_SWBMISS) == 0) {
+ struct ifnet *ifp = vap->iv_ic->ic_ifp;
+ struct ath_softc *sc = ifp->if_softc;
+ u_int64_t lastrx = sc->sc_lastrx;
+ u_int64_t tsf = ath_hal_gettsf64(sc->sc_ah);
+ u_int bmisstimeout =
+ vap->iv_bmissthreshold * vap->iv_bss->ni_intval * 1024;
+
+ DPRINTF(sc, ATH_DEBUG_BEACON,
+ "%s: tsf %llu lastrx %lld (%llu) bmiss %u\n",
+ __func__, (unsigned long long) tsf,
+ (unsigned long long)(tsf - lastrx),
+ (unsigned long long) lastrx, bmisstimeout);
+
+ if (tsf - lastrx <= bmisstimeout) {
+ sc->sc_stats.ast_bmiss_phantom++;
+ return;
+ }
+ }
+ ATH_VAP(vap)->av_bmiss(vap);
}
static int
@@ -3116,7 +3127,7 @@
DPRINTF(sc, ATH_DEBUG_BEACON,
"%s: missed %u consecutive beacons\n",
__func__, sc->sc_bmisscount);
- if (sc->sc_bmisscount > 3) /* NB: 3 is a guess */
+ if (sc->sc_bmisscount >= ath_bstuck_threshold)
taskqueue_enqueue(sc->sc_tq, &sc->sc_bstucktask);
return;
}
@@ -6087,6 +6098,8 @@
/* XXX locking? */
ni->ni_ucastkey.wk_keyix = keyix;
ni->ni_ucastkey.wk_rxkeyix = rxkeyix;
+ /* NB: must mark device key to get called back on delete */
+ ni->ni_ucastkey.wk_flags |= IEEE80211_KEY_DEVKEY;
IEEE80211_ADDR_COPY(ni->ni_ucastkey.wk_macaddr, ni->ni_macaddr);
/* NB: this will create a pass-thru key entry */
ath_keyset(sc, &ni->ni_ucastkey, vap->iv_bss);
@@ -7610,7 +7623,7 @@
DPRINTF(sc, ATH_DEBUG_BEACON,
"%s: missed %u consecutive beacons\n",
__func__, sc->sc_bmisscount);
- if (sc->sc_bmisscount > 3) /* NB: 3 is a guess */
+ if (sc->sc_bmisscount >= ath_bstuck_threshold)
taskqueue_enqueue(sc->sc_tq, &sc->sc_bstucktask);
return;
}
==== //depot/projects/smpng/sys/dev/bge/if_bge.c#104 (text+ko) ====
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.217 2009/02/05 18:43:13 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.218 2009/02/10 21:54:23 marius Exp $");
/*
* Broadcom BCM570x family gigabit ethernet driver for FreeBSD.
@@ -2674,11 +2674,11 @@
* if we get a conflict with the ASF firmware accessing
* the PHY.
*/
+ trys = 0;
BGE_CLRBIT(sc, BGE_MODE_CTL, BGE_MODECTL_STACKUP);
again:
bge_asf_driver_up(sc);
- trys = 0;
if (mii_phy_probe(dev, &sc->bge_miibus,
bge_ifmedia_upd, bge_ifmedia_sts)) {
if (trys++ < 4) {
==== //depot/projects/smpng/sys/dev/iicbus/if_ic.c#19 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/iicbus/if_ic.c,v 1.28 2009/01/06 17:23:37 nwhitehorn Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/iicbus/if_ic.c,v 1.29 2009/02/10 22:50:23 imp Exp $");
/*
* I2C bus IP driver
@@ -105,7 +105,7 @@
static int icoutput(struct ifnet *, struct mbuf *, struct sockaddr *,
struct rtentry *);
-static void icintr(device_t, int, char *);
+static int icintr(device_t, int, char *);
static device_method_t ic_methods[] = {
/* device interface */
@@ -272,7 +272,7 @@
/*
* icintr()
*/
-static void
+static int
icintr(device_t dev, int event, char *ptr)
{
struct ic_softc *sc = (struct ic_softc *)device_get_softc(dev);
@@ -346,7 +346,7 @@
}
mtx_unlock(&sc->ic_lock);
- return;
+ return (0);
}
/*
==== //depot/projects/smpng/sys/dev/iicbus/iicbb.c#10 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/iicbus/iicbb.c,v 1.20 2008/08/04 20:46:15 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/iicbus/iicbb.c,v 1.21 2009/02/10 22:50:23 imp Exp $");
/*
* Generic I2C bit-banging code
@@ -72,7 +72,7 @@
static int iicbb_callback(device_t, int, caddr_t);
static int iicbb_start(device_t, u_char, int);
static int iicbb_stop(device_t);
-static int iicbb_write(device_t, char *, int, int *, int);
+static int iicbb_write(device_t, const char *, int, int *, int);
static int iicbb_read(device_t, char *, int, int *, int, int);
static int iicbb_reset(device_t, u_char, u_char, u_char *);
@@ -372,7 +372,7 @@
}
static int
-iicbb_write(device_t dev, char * buf, int len, int *sent, int timeout)
+iicbb_write(device_t dev, const char *buf, int len, int *sent, int timeout)
{
int bytes, error = 0;
==== //depot/projects/smpng/sys/dev/iicbus/iicbus.c#14 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/iicbus/iicbus.c,v 1.28 2009/01/20 00:05:43 nwhitehorn Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/iicbus/iicbus.c,v 1.29 2009/02/10 22:50:23 imp Exp $");
/*
* Autoconfiguration and support routines for the Philips serial I2C bus
@@ -173,7 +173,7 @@
}
static int
-iicbus_read_ivar(device_t bus, device_t child, int which, u_char *result)
+iicbus_read_ivar(device_t bus, device_t child, int which, uintptr_t *result)
{
struct iicbus_ivar *devi = IICBUS_IVAR(child);
==== //depot/projects/smpng/sys/dev/iicbus/iicsmb.c#10 (text+ko) ====
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/dev/iicbus/iicsmb.c,v 1.17 2009/01/06 17:23:37 nwhitehorn Exp $
+ * $FreeBSD: src/sys/dev/iicbus/iicsmb.c,v 1.18 2009/02/10 22:50:23 imp Exp $
*
*/
@@ -84,7 +84,7 @@
static int iicsmb_detach(device_t);
static void iicsmb_identify(driver_t *driver, device_t parent);
-static void iicsmb_intr(device_t dev, int event, char *buf);
+static int iicsmb_intr(device_t dev, int event, char *buf);
static int iicsmb_callback(device_t dev, int index, void *data);
static int iicsmb_quick(device_t dev, u_char slave, int how);
static int iicsmb_sendb(device_t dev, u_char slave, char byte);
@@ -186,7 +186,7 @@
*
* iicbus interrupt handler
*/
-static void
+static int
iicsmb_intr(device_t dev, int event, char *buf)
{
struct iicsmb_softc *sc = (struct iicsmb_softc *)device_get_softc(dev);
@@ -252,7 +252,7 @@
}
mtx_unlock(&sc->lock);
- return;
+ return (0);
}
static int
==== //depot/projects/smpng/sys/dev/ppbus/lpt.c#25 (text+ko) ====
@@ -51,7 +51,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ppbus/lpt.c,v 1.48 2009/01/26 20:58:05 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ppbus/lpt.c,v 1.49 2009/02/11 14:25:09 jhb Exp $");
/*
* Device Driver for AT parallel printer port
@@ -544,10 +544,10 @@
do {
/* ran out of waiting for the printer */
if (trys++ >= LPINITRDY*4) {
- sc->sc_state = 0;
lprintf(("status %x\n", ppb_rstr(ppbus)));
lpt_release_ppbus(lptdev);
+ sc->sc_state = 0;
ppb_unlock(ppbus);
return (EBUSY);
}
@@ -555,9 +555,8 @@
/* wait 1/4 second, give up if we get a signal */
if (ppb_sleep(ppbus, lptdev, LPPRI | PCATCH, "lptinit",
hz / 4) != EWOULDBLOCK) {
+ lpt_release_ppbus(lptdev);
sc->sc_state = 0;
-
- lpt_release_ppbus(lptdev);
ppb_unlock(ppbus);
return (EBUSY);
}
@@ -577,7 +576,8 @@
ppb_wctr(ppbus, sc->sc_control);
- sc->sc_state = OPEN;
+ sc->sc_state &= ~LPTINIT;
+ sc->sc_state |= OPEN;
sc->sc_xfercnt = 0;
/* only use timeout if using interrupt */
@@ -611,11 +611,8 @@
int err;
ppb_lock(ppbus);
- if (sc->sc_flags & LP_BYPASS) {
- sc->sc_state = 0;
- ppb_unlock(ppbus);
+ if (sc->sc_flags & LP_BYPASS)
goto end_close;
- }
if ((err = lpt_request_ppbus(lptdev, PPB_WAIT|PPB_INTR)) != 0) {
ppb_unlock(ppbus);
@@ -635,16 +632,16 @@
sc->sc_state &= ~OPEN;
callout_stop(&sc->sc_timer);
ppb_wctr(ppbus, LPC_NINIT);
- sc->sc_state = 0;
- sc->sc_xfercnt = 0;
/*
* unregistration of interrupt forced by release
*/
lpt_release_ppbus(lptdev);
- ppb_unlock(ppbus);
end_close:
+ sc->sc_state = 0;
+ sc->sc_xfercnt = 0;
+ ppb_unlock(ppbus);
lprintf(("closed.\n"));
return(0);
}
==== //depot/projects/smpng/sys/dev/ppc/ppc_pci.c#4 (text) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ppc/ppc_pci.c,v 1.3 2009/01/21 23:10:06 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ppc/ppc_pci.c,v 1.4 2009/02/11 00:08:03 kaiw Exp $");
#include <sys/param.h>
#include <sys/kernel.h>
@@ -84,6 +84,7 @@
static struct pci_id pci_ids[] = {
{ 0x1020131f, "SIIG Cyber Parallel PCI (10x family)", 0x18 },
{ 0x2020131f, "SIIG Cyber Parallel PCI (20x family)", 0x10 },
+ { 0x05111407, "Lava SP BIDIR Parallel PCI", 0x10 },
{ 0x80001407, "Lava Computers 2SP-PCI parallel port", 0x10 },
{ 0x84031415, "Oxford Semiconductor OX12PCI840 Parallel port", 0x10 },
{ 0x95131415, "Oxford Semiconductor OX16PCI954 Parallel port", 0x10 },
==== //depot/projects/smpng/sys/dev/re/if_re.c#71 (text+ko) ====
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/re/if_re.c,v 1.152 2009/02/09 04:59:13 yongari Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/re/if_re.c,v 1.153 2009/02/11 00:23:56 yongari Exp $");
/*
* RealTek 8139C+/8169/8169S/8110S/8168/8111/8101E PCI NIC driver
@@ -1149,7 +1149,8 @@
if (bootverbose)
device_printf(dev, "MSI count : %d\n", msic);
}
- if (msic == RL_MSI_MESSAGES && msi_disable == 0) {
+ if (msic > 0 && msi_disable == 0) {
+ msic = 1;
if (pci_alloc_msi(dev, &msic) == 0) {
if (msic == RL_MSI_MESSAGES) {
device_printf(dev, "Using %d MSI messages\n",
==== //depot/projects/smpng/sys/dev/sdhci/sdhci.c#6 (text+ko) ====
@@ -24,7 +24,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/sdhci/sdhci.c,v 1.6 2009/01/28 22:53:41 mav Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/sdhci/sdhci.c,v 1.7 2009/02/10 23:13:48 imp Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -1427,7 +1427,7 @@
}
static int
-sdhci_read_ivar(device_t bus, device_t child, int which, u_char *result)
+sdhci_read_ivar(device_t bus, device_t child, int which, uintptr_t *result)
{
struct sdhci_slot *slot = device_get_ivars(child);
==== //depot/projects/smpng/sys/dev/sis/if_sis.c#3 (text+ko) ====
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/sis/if_sis.c,v 1.5 2008/12/09 04:30:47 yongari Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/sis/if_sis.c,v 1.6 2009/02/10 23:17:20 imp Exp $");
/*
* SiS 900/SiS 7016 fast ethernet PCI NIC driver. Datasheets are
@@ -2257,7 +2257,7 @@
* Stop all chip I/O so that the kernel's probe routines don't
* get confused by errant DMAs when rebooting.
*/
-static void
+static int
sis_shutdown(device_t dev)
{
struct sis_softc *sc;
@@ -2267,6 +2267,7 @@
sis_reset(sc);
sis_stop(sc);
SIS_UNLOCK(sc);
+ return (0);
}
static device_method_t sis_methods[] = {
==== //depot/projects/smpng/sys/dev/sound/pci/envy24.c#13 (text+ko) ====
@@ -20,7 +20,7 @@
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHERIN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THEPOSSIBILITY OF
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
*/
@@ -35,7 +35,7 @@
#include "mixer_if.h"
-SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/envy24.c,v 1.14 2007/10/12 06:03:44 kevlo Exp $");
+SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/envy24.c,v 1.15 2009/02/11 10:29:45 netchild Exp $");
MALLOC_DEFINE(M_ENVY24, "envy24", "envy24 audio");
@@ -278,7 +278,7 @@
"Envy24 audio (M Audio Delta Dio 2496)",
0x1412, 0xd631,
0x10, 0x80, 0xf0, 0x03,
- 0xff, 0x00, 0x00,
+ 0x02, 0xc0, 0xfd,
0x10, 0x20, 0x40, 0x00, 0x00,
0x00,
&delta_codec,
@@ -301,6 +301,51 @@
0x00,
&delta_codec,
},
+ {
+ "Envy24 audio (M Audio Delta 66)",
+ 0x1412, 0xd632,
+ 0x15, 0x80, 0xf0, 0x03,
+ 0x02, 0xc0, 0xfd,
+ 0x10, 0x20, 0x40, 0x00, 0x00,
+ 0x00,
+ &delta_codec,
+ },
+ {
+ "Envy24 audio (M Audio Delta 44)",
+ 0x1412, 0xd633,
+ 0x15, 0x80, 0xf0, 0x00,
+ 0x02, 0xc0, 0xfd,
+ 0x10, 0x20, 0x40, 0x00, 0x00,
+ 0x00,
+ &delta_codec,
+ },
+ {
+ "Envy24 audio (M Audio Delta 1010)",
+ 0x1412, 0xd630,
+ 0x1f, 0x80, 0xf0, 0x03,
+ 0x22, 0xd0, 0xdd,
+ 0x10, 0x20, 0x40, 0x00, 0x00,
+ 0x00,
+ &delta_codec,
+ },
+ {
+ "Envy24 audio (M Audio Delta 1010LT)",
+ 0x1412, 0xd63b,
+ 0x1f, 0x80, 0x72, 0x03,
+ 0x04, 0x7e, 0xfb,
+ 0x08, 0x02, 0x70, 0x00, 0x00,
+ 0x00,
+ &delta_codec,
+ },
+ {
+ "Envy24 audio (Terratec EWX 2496)",
+ 0x153b, 0x1130,
+ 0x10, 0x80, 0xf0, 0x03,
+ 0xc0, 0x3f, 0x3f,
+ 0x10, 0x20, 0x01, 0x01, 0x00,
+ 0x00,
+ &delta_codec,
+ },
{
"Envy24 audio (Generic)",
0, 0,
==== //depot/projects/smpng/sys/dev/sound/pci/envy24ht.c#10 (text+ko) ====
@@ -47,7 +47,7 @@
#include "mixer_if.h"
-SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/envy24ht.c,v 1.16 2007/10/12 06:03:44 kevlo Exp $");
+SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/envy24ht.c,v 1.17 2009/02/11 10:29:45 netchild Exp $");
MALLOC_DEFINE(M_ENVY24HT, "envy24ht", "envy24ht audio");
@@ -323,7 +323,7 @@
0x153b, 0x1150,
0x10, 0x80, 0xf0, 0xc3,
0x7ffbc7, 0x7fffff, 0x438,
- 0x20, 0x10, 0x400, 0x00, 0x00,
+ 0x10, 0x20, 0x400, 0x01, 0x00,
0,
&spi_codec,
},
@@ -349,7 +349,7 @@
"Envy24HT audio (M-Audio Revolution 7.1)",
0x1412, 0x3630,
0x43, 0x80, 0xf8, 0xc1,
- 0x3fff85, 0x72, 0x4000fa,
+ 0x3fff85, 0x400072, 0x4000fa,
0x08, 0x02, 0x20, 0x00, 0x04,
0,
&spi_codec,
@@ -358,7 +358,7 @@
"Envy24GT audio (M-Audio Revolution 5.1)",
0x1412, 0x3631,
0x42, 0x80, 0xf8, 0xc1,
- 0x3fff85, 0x72, 0x4000fa,
+ 0x3fff05, 0x4000f0, 0x4000fa,
0x08, 0x02, 0x10, 0x00, 0x03,
0,
&spi_codec,
@@ -391,6 +391,15 @@
&spi_codec,
},
{
+ "Envy24HT-S audio (Terrasoniq TS22PCI)",
+ 0x153b, 0x117b,
+ 0x10, 0x80, 0xf0, 0xc3,
+ 0x7ffbc7, 0x7fffff, 0x438,
+ 0x10, 0x20, 0x400, 0x01, 0x00,
+ 0,
+ &spi_codec,
+ },
+ {
"Envy24HT audio (Generic)",
0, 0,
0x0b, 0x80, 0xfc, 0xc3,
==== //depot/projects/smpng/sys/dev/sound/pci/spicds.c#4 (text+ko) ====
@@ -24,7 +24,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THEPOSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/dev/sound/pci/spicds.c,v 1.6 2007/05/27 19:58:39 joel Exp $
+ * $FreeBSD: src/sys/dev/sound/pci/spicds.c,v 1.7 2009/02/11 10:29:45 netchild Exp $
*/
#include <dev/sound/pcm/sound.h>
@@ -234,7 +234,7 @@
if (codec->type == SPICDS_TYPE_AK4358)
spicds_wrcd(codec, 0x00, 0x07); /* I2S, 24bit, power-up */
if (codec->type == SPICDS_TYPE_AK4381)
- spicds_wrcd(codec, 0x00, 0x0f); /* I2S, 24bit, power-up */
+ spicds_wrcd(codec, 0x00, 0x8f); /* I2S, 24bit, power-up */
if (codec->type == SPICDS_TYPE_AK4396)
spicds_wrcd(codec, 0x00, 0x07); /* I2S, 24bit, power-up */
snd_mtxunlock(codec->lock);
@@ -296,7 +296,8 @@
case SPICDS_TYPE_WM8770:
right = right + 27;
break;
- case SPICDS_TYPE_AK4381 || SPICDS_TYPE_AK4396:
+ case SPICDS_TYPE_AK4381:
+ case SPICDS_TYPE_AK4396:
right = right * 255 / 100;
break;
default:
==== //depot/projects/smpng/sys/dev/tl/if_tl.c#2 (text+ko) ====
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/tl/if_tl.c,v 1.1 2008/08/14 20:02:34 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/tl/if_tl.c,v 1.2 2009/02/10 23:17:20 imp Exp $");
/*
* Texas Instruments ThunderLAN driver for FreeBSD 2.2.6 and 3.x.
@@ -282,7 +282,7 @@
static void tl_init_locked(struct tl_softc *);
static void tl_stop(struct tl_softc *);
static void tl_watchdog(struct ifnet *);
-static void tl_shutdown(device_t);
+static int tl_shutdown(device_t);
static int tl_ifmedia_upd(struct ifnet *);
static void tl_ifmedia_sts(struct ifnet *, struct ifmediareq *);
@@ -2347,7 +2347,7 @@
* Stop all chip I/O so that the kernel's probe routines don't
* get confused by errant DMAs when rebooting.
*/
-static void
+static int
tl_shutdown(dev)
device_t dev;
{
@@ -2359,5 +2359,5 @@
tl_stop(sc);
TL_UNLOCK(sc);
- return;
+ return (0);
}
==== //depot/projects/smpng/sys/dev/tx/if_tx.c#31 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/tx/if_tx.c,v 1.99 2008/09/12 14:41:53 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/tx/if_tx.c,v 1.100 2009/02/10 23:17:20 imp Exp $");
/*
* EtherPower II 10/100 Fast Ethernet (SMC 9432 serie)
@@ -122,7 +122,7 @@
static int epic_probe(device_t);
static int epic_attach(device_t);
-static void epic_shutdown(device_t);
+static int epic_shutdown(device_t);
static int epic_detach(device_t);
static void epic_release(epic_softc_t *);
static struct epic_type *epic_devtype(device_t);
@@ -502,7 +502,7 @@
* Stop all chip I/O so that the kernel's probe routines don't
* get confused by errant DMAs when rebooting.
*/
-static void
+static int
epic_shutdown(device_t dev)
{
epic_softc_t *sc;
@@ -512,6 +512,7 @@
EPIC_LOCK(sc);
epic_stop(sc);
EPIC_UNLOCK(sc);
+ return (0);
}
/*
==== //depot/projects/smpng/sys/dev/uart/uart_bus_pci.c#10 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/uart/uart_bus_pci.c,v 1.11 2007/05/17 04:07:19 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/uart/uart_bus_pci.c,v 1.12 2009/02/11 00:08:03 kaiw Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -96,6 +96,7 @@
0x18 },
{ 0x1407, 0x0110, 0xffff, 0, "Lava Computer mfg DSerial-PCI Port A", 0x10 },
{ 0x1407, 0x0111, 0xffff, 0, "Lava Computer mfg DSerial-PCI Port B", 0x10 },
+{ 0x1407, 0x0510, 0xffff, 0, "Lava SP Serial 550 PCI", 0x10 },
{ 0x1409, 0x7168, 0x1409, 0x4025, "Timedia Technology Serial Port", 0x10,
8 * DEFAULT_RCLK },
{ 0x1409, 0x7168, 0x1409, 0x4027, "Timedia Technology Serial Port", 0x10,
==== //depot/projects/smpng/sys/ia64/ia64/mp_machdep.c#40 (text+ko) ====
@@ -26,7 +26,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/ia64/ia64/mp_machdep.c,v 1.71 2008/10/19 20:14:48 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/ia64/ia64/mp_machdep.c,v 1.72 2009/02/10 20:29:57 marcel Exp $");
#include "opt_kstack_pages.h"
@@ -267,7 +267,8 @@
if (!ap_awake)
printf("SMP: WARNING: cpu%d did not wake up\n",
pc->pc_cpuid);
- }
+ } else
+ pc->pc_awake = 1;
}
}
==== //depot/projects/smpng/sys/kern/kern_linker.c#98 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/kern_linker.c,v 1.165 2009/02/06 14:51:32 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/kern_linker.c,v 1.166 2009/02/10 15:50:19 attilio Exp $");
#include "opt_ddb.h"
#include "opt_hwpmc_hooks.h"
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list