CVS commit: src/sys/dev/ieee1394

2021-04-12 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Apr 12 09:22:21 UTC 2021

Modified Files:
src/sys/dev/ieee1394: firewire.h

Log Message:
convert union member from [0] array to [3] array, so that attempts
to access these members later will  work.

does not affect size of the structure or layout in any other way.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/sys/dev/ieee1394/firewire.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/firewire.h
diff -u src/sys/dev/ieee1394/firewire.h:1.6 src/sys/dev/ieee1394/firewire.h:1.7
--- src/sys/dev/ieee1394/firewire.h:1.6	Sun Nov 14 15:47:20 2010
+++ src/sys/dev/ieee1394/firewire.h	Mon Apr 12 09:22:21 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: firewire.h,v 1.6 2010/11/14 15:47:20 uebayasi Exp $	*/
+/*	$NetBSD: firewire.h,v 1.7 2021/04/12 09:22:21 mrg Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -142,7 +142,7 @@ struct fw_asyhdr {
 
 struct fw_pkt {
 	union {
-		uint32_t ld[0];
+		uint32_t ld[3];
 		struct {
 			COMMON_HDR(, , tcode, );
 		} common;



CVS commit: src/sys/dev/ieee1394

2020-01-28 Thread Jason R Thorpe
Module Name:src
Committed By:   thorpej
Date:   Wed Jan 29 06:19:39 UTC 2020

Modified Files:
src/sys/dev/ieee1394: if_fwip.c

Log Message:
Adopt .


To generate a diff of this commit:
cvs rdiff -u -r1.29 -r1.30 src/sys/dev/ieee1394/if_fwip.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/if_fwip.c
diff -u src/sys/dev/ieee1394/if_fwip.c:1.29 src/sys/dev/ieee1394/if_fwip.c:1.30
--- src/sys/dev/ieee1394/if_fwip.c:1.29	Thu Nov 15 10:23:55 2018
+++ src/sys/dev/ieee1394/if_fwip.c	Wed Jan 29 06:19:39 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_fwip.c,v 1.29 2018/11/15 10:23:55 maxv Exp $	*/
+/*	$NetBSD: if_fwip.c,v 1.30 2020/01/29 06:19:39 thorpej Exp $	*/
 /*-
  * Copyright (c) 2004
  *	Doug Rabson
@@ -38,7 +38,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: if_fwip.c,v 1.29 2018/11/15 10:23:55 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_fwip.c,v 1.30 2020/01/29 06:19:39 thorpej Exp $");
 
 #include 
 #include 
@@ -270,7 +270,7 @@ fwip_start(struct ifnet *ifp)
 			IF_DEQUEUE(>if_snd, m);
 			if (m != NULL)
 m_freem(m);
-			ifp->if_oerrors++;
+			if_statinc(ifp, if_oerrors);
 		} while (m != NULL);
 
 		return;
@@ -511,7 +511,7 @@ fwip_output_callback(struct fw_xfer *xfe
 	/* XXX error check */
 	FWIPDEBUG(ifp, "resp = %d\n", xfer->resp);
 	if (xfer->resp != 0)
-		ifp->if_oerrors++;
+		if_statinc(ifp, if_oerrors);
 
 	m_freem(xfer->mbuf);
 	fw_xfer_unload(xfer);
@@ -625,7 +625,7 @@ fwip_async_output(struct fwip_softc *sc,
 fd = fw_noderesolve_eui64(fc, );
 if (!fd) {
 	/* error */
-	ifp->if_oerrors++;
+	if_statinc(ifp, if_oerrors);
 	/* XXX set error code */
 	fwip_output_callback(xfer);
 	continue;
@@ -668,12 +668,12 @@ fwip_async_output(struct fwip_softc *sc,
 		}
 		if (error) {
 			/* error */
-			ifp->if_oerrors++;
+			if_statinc(ifp, if_oerrors);
 			/* XXX set error code */
 			fwip_output_callback(xfer);
 			continue;
 		} else {
-			ifp->if_opackets++;
+			if_statinc(ifp, if_opackets);
 			i++;
 		}
 	}
@@ -726,7 +726,7 @@ fwip_stream_input(struct fw_xferq *xferq
 		if (sxfer->resp != 0 ||
 		fp->mode.stream.len < 2 * sizeof(uint32_t)) {
 			m_freem(m);
-			ifp->if_ierrors++;
+			if_statinc(ifp, if_ierrors);
 			continue;
 		}
 		m->m_len = m->m_pkthdr.len = fp->mode.stream.len
@@ -753,7 +753,7 @@ fwip_stream_input(struct fw_xferq *xferq
 			FWIPDEBUG(ifp, "Unrecognised GASP header %#08x %#08x\n",
 			ntohl(p[1]), ntohl(p[2]));
 			m_freem(m);
-			ifp->if_ierrors++;
+			if_statinc(ifp, if_ierrors);
 			continue;
 		}
 
@@ -788,7 +788,7 @@ fwip_stream_input(struct fw_xferq *xferq
 		m_adj(m, 3*sizeof(uint32_t));
 		m_set_rcvif(m, ifp);
 		ieee1394_input(ifp, m, src);
-		ifp->if_ipackets++;
+		if_statinc(ifp, if_ipackets);
 	}
 	if (STAILQ_FIRST(>stfree) != NULL)
 		sc->sc_fd.fc->irx_enable(sc->sc_fd.fc, sc->sc_dma_ch);
@@ -857,7 +857,7 @@ fwip_unicast_input(struct fw_xfer *xfer)
 	 */
 	if (rtcode != FWRCODE_COMPLETE) {
 		m_freem(m);
-		ifp->if_ierrors++;
+		if_statinc(ifp, if_ierrors);
 		return;
 	}
 
@@ -893,5 +893,5 @@ fwip_unicast_input(struct fw_xfer *xfer)
 	m->m_len = m->m_pkthdr.len = fp->mode.wreqb.len;
 	m_set_rcvif(m, ifp);
 	ieee1394_input(ifp, m, fp->mode.wreqb.src);
-	ifp->if_ipackets++;
+	if_statinc(ifp, if_ipackets);
 }



CVS commit: src/sys/dev/ieee1394

2018-12-13 Thread Jonathan A. Kollasch
Module Name:src
Committed By:   jakllsch
Date:   Thu Dec 13 16:38:26 UTC 2018

Modified Files:
src/sys/dev/ieee1394: fwdma.c

Log Message:
Fix fwdma_free() for when bus_dmamap_unload() clobbers the dmamap.

Prevents KASSERTs on detaches of sbp(4) and fwohci(4) on amd64.

We should pass the dmamem segs around seperately, not in loaded dmamap...


To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 src/sys/dev/ieee1394/fwdma.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/fwdma.c
diff -u src/sys/dev/ieee1394/fwdma.c:1.16 src/sys/dev/ieee1394/fwdma.c:1.17
--- src/sys/dev/ieee1394/fwdma.c:1.16	Sun May 23 18:56:58 2010
+++ src/sys/dev/ieee1394/fwdma.c	Thu Dec 13 16:38:26 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: fwdma.c,v 1.16 2010/05/23 18:56:58 christos Exp $	*/
+/*	$NetBSD: fwdma.c,v 1.17 2018/12/13 16:38:26 jakllsch Exp $	*/
 /*-
  * Copyright (c) 2003
  * 	Hidetoshi Shimokawa. All rights reserved.
@@ -35,7 +35,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: fwdma.c,v 1.16 2010/05/23 18:56:58 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: fwdma.c,v 1.17 2018/12/13 16:38:26 jakllsch Exp $");
 #if defined(__FreeBSD__)
 __FBSDID("$FreeBSD: src/sys/dev/firewire/fwdma.c,v 1.9 2007/06/06 14:31:36 simokawa Exp $");
 #endif
@@ -47,6 +47,7 @@ __FBSDID("$FreeBSD: src/sys/dev/firewire
 #include 
 #include 
 #include 
+#include 
 #include 
 
 #include 
@@ -108,11 +109,21 @@ fwdma_malloc(device_t dev, bus_dma_tag_t
 void
 fwdma_free(bus_dma_tag_t dmat, bus_dmamap_t dmamap, void *vaddr)
 {
+	bus_dma_segment_t *segs;
 
+	/* XXX we shouldn't pass around the segs in the dmamap */
+	const bus_size_t mapsize = dmamap->dm_mapsize;
+	const int nsegs = dmamap->dm_nsegs;
+	const size_t segssz = sizeof(bus_dma_segment_t) * nsegs;
+	segs = kmem_alloc(segssz, KM_SLEEP);
+	memcpy(segs, dmamap->dm_segs, segssz);
+	
 	bus_dmamap_unload(dmat, dmamap);
-	bus_dmamem_unmap(dmat, vaddr, dmamap->dm_mapsize);
-	bus_dmamem_free(dmat, dmamap->dm_segs, dmamap->dm_nsegs);
+	bus_dmamem_unmap(dmat, vaddr, mapsize);
+	bus_dmamem_free(dmat, segs, nsegs);
 	bus_dmamap_destroy(dmat, dmamap);
+	
+	kmem_free(segs, segssz);
 }
 
 



CVS commit: src/sys/dev/ieee1394

2018-03-31 Thread Sevan Janiyan
Module Name:src
Committed By:   sevan
Date:   Sat Mar 31 14:50:45 UTC 2018

Modified Files:
src/sys/dev/ieee1394: fwohcireg.h

Log Message:
Listed UniNorth device is in fact the UniNorth 2 interface, rename.
https://pci-ids.ucw.cz/read/PC/106b/0031


To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 src/sys/dev/ieee1394/fwohcireg.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/fwohcireg.h
diff -u src/sys/dev/ieee1394/fwohcireg.h:1.18 src/sys/dev/ieee1394/fwohcireg.h:1.19
--- src/sys/dev/ieee1394/fwohcireg.h:1.18	Mon Mar 29 03:05:27 2010
+++ src/sys/dev/ieee1394/fwohcireg.h	Sat Mar 31 14:50:45 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: fwohcireg.h,v 1.18 2010/03/29 03:05:27 kiyohara Exp $	*/
+/*	$NetBSD: fwohcireg.h,v 1.19 2018/03/31 14:50:45 sevan Exp $	*/
 
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
@@ -77,7 +77,7 @@
 #define		FW_DEVICE_R5C551	(0x0551 << 16)
 #define		FW_DEVICE_R5C552	(0x0552 << 16)
 #define		FW_DEVICE_PANGEA	(0x0030 << 16)
-#define		FW_DEVICE_UNINORTH	(0x0031 << 16)
+#define		FW_DEVICE_UNINORTH2	(0x0031 << 16)
 #define		FW_DEVICE_AIC5800	(0x5800 << 16)
 #define		FW_DEVICE_FW322		(0x5811 << 16)
 #define		FW_DEVICE_7007		(0x7007 << 16)



CVS commit: src/sys/dev/ieee1394

2017-06-25 Thread Maxime Villard
Module Name:src
Committed By:   maxv
Date:   Sun Jun 25 12:39:27 UTC 2017

Modified Files:
src/sys/dev/ieee1394: fwdev.c

Log Message:
memory leak, found by Mootja; it seems that we should check the return
value of 'fw_bindadd' in several other places, but whatever


To generate a diff of this commit:
cvs rdiff -u -r1.31 -r1.32 src/sys/dev/ieee1394/fwdev.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/fwdev.c
diff -u src/sys/dev/ieee1394/fwdev.c:1.31 src/sys/dev/ieee1394/fwdev.c:1.32
--- src/sys/dev/ieee1394/fwdev.c:1.31	Sun Nov 20 22:47:39 2016
+++ src/sys/dev/ieee1394/fwdev.c	Sun Jun 25 12:39:27 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: fwdev.c,v 1.31 2016/11/20 22:47:39 riastradh Exp $	*/
+/*	$NetBSD: fwdev.c,v 1.32 2017/06/25 12:39:27 maxv Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: fwdev.c,v 1.31 2016/11/20 22:47:39 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: fwdev.c,v 1.32 2017/06/25 12:39:27 maxv Exp $");
 
 #include 
 #include 
@@ -614,6 +614,8 @@ out:
 			/* XXX */
 			PAGE_SIZE, PAGE_SIZE, 5, fc, (void *)fwb, fw_hand);
 			STAILQ_INSERT_TAIL(>binds, fwb, chlist);
+		} else {
+			free(fwb, M_FW);
 		}
 		break;
 



CVS commit: src/sys/dev/ieee1394

2016-11-20 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Nov 21 01:19:35 UTC 2016

Modified Files:
src/sys/dev/ieee1394: fwohci.c

Log Message:
Let's try initializing the pointers *before* dereferencing them!

Oops.


To generate a diff of this commit:
cvs rdiff -u -r1.140 -r1.141 src/sys/dev/ieee1394/fwohci.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/fwohci.c
diff -u src/sys/dev/ieee1394/fwohci.c:1.140 src/sys/dev/ieee1394/fwohci.c:1.141
--- src/sys/dev/ieee1394/fwohci.c:1.140	Sun Nov 20 22:56:13 2016
+++ src/sys/dev/ieee1394/fwohci.c	Mon Nov 21 01:19:35 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: fwohci.c,v 1.140 2016/11/20 22:56:13 riastradh Exp $	*/
+/*	$NetBSD: fwohci.c,v 1.141 2016/11/21 01:19:35 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
  *
  */
 #include 
-__KERNEL_RCSID(0, "$NetBSD: fwohci.c,v 1.140 2016/11/20 22:56:13 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: fwohci.c,v 1.141 2016/11/21 01:19:35 riastradh Exp $");
 
 #include 
 #include 
@@ -428,8 +428,6 @@ fwohci_attach(struct fwohci_softc *sc)
 	if (i == 0)
 		return ENXIO;
 
-	fw_init_isodma(>fc);
-
 	for (i = 0; i < sc->fc.nisodma; i++) {
 		sc->fc.it[i] = >it[i].xferq;
 		sc->fc.ir[i] = >ir[i].xferq;
@@ -441,6 +439,8 @@ fwohci_attach(struct fwohci_softc *sc)
 		sc->ir[i].off = OHCI_IROFF(i);
 	}
 
+	fw_init_isodma(>fc);
+
 	sc->fc.config_rom = fwdma_alloc_setup(sc->fc.dev, sc->fc.dmat,
 	CROMSIZE, >crom_dma, CROMSIZE, BUS_DMA_NOWAIT);
 	if (sc->fc.config_rom == NULL) {



CVS commit: src/sys/dev/ieee1394

2016-11-20 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Nov 20 22:56:13 UTC 2016

Modified Files:
src/sys/dev/ieee1394: fwohci.c

Log Message:
KASSERT(mutex_owner(...)) ---> KASSERT(mutex_owned(...))

If this is not correct, then there's something bogus in this code
anyway, so better to fail early.

Final part of PR kern/47114.


To generate a diff of this commit:
cvs rdiff -u -r1.139 -r1.140 src/sys/dev/ieee1394/fwohci.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/fwohci.c
diff -u src/sys/dev/ieee1394/fwohci.c:1.139 src/sys/dev/ieee1394/fwohci.c:1.140
--- src/sys/dev/ieee1394/fwohci.c:1.139	Sun Nov 20 22:47:39 2016
+++ src/sys/dev/ieee1394/fwohci.c	Sun Nov 20 22:56:13 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: fwohci.c,v 1.139 2016/11/20 22:47:39 riastradh Exp $	*/
+/*	$NetBSD: fwohci.c,v 1.140 2016/11/20 22:56:13 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
  *
  */
 #include 
-__KERNEL_RCSID(0, "$NetBSD: fwohci.c,v 1.139 2016/11/20 22:47:39 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: fwohci.c,v 1.140 2016/11/20 22:56:13 riastradh Exp $");
 
 #include 
 #include 
@@ -2508,7 +2508,7 @@ fwohci_txbufdb(struct fwohci_softc *sc, 
 	unsigned short chtag;
 	int idb;
 
-	KASSERT(mutex_owner(>fc.fc_mtx));
+	KASSERT(mutex_owned(>fc.fc_mtx));
 
 	dbch = >it[dmach];
 	chtag = sc->it[dmach].xferq.flag & 0xff;



CVS commit: src/sys/dev/ieee1394

2016-11-20 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Nov 20 22:47:39 UTC 2016

Modified Files:
src/sys/dev/ieee1394: firewire.c firewirereg.h fwdev.c fwohci.c

Log Message:
Kill some more tsleep.

And no, surrounding tsleep by mutex_exit/mutex_enter does not fix
problems even if the LOCKDEBUG panic symptom goes away...


To generate a diff of this commit:
cvs rdiff -u -r1.46 -r1.47 src/sys/dev/ieee1394/firewire.c
cvs rdiff -u -r1.19 -r1.20 src/sys/dev/ieee1394/firewirereg.h
cvs rdiff -u -r1.30 -r1.31 src/sys/dev/ieee1394/fwdev.c
cvs rdiff -u -r1.138 -r1.139 src/sys/dev/ieee1394/fwohci.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/firewire.c
diff -u src/sys/dev/ieee1394/firewire.c:1.46 src/sys/dev/ieee1394/firewire.c:1.47
--- src/sys/dev/ieee1394/firewire.c:1.46	Sun Nov 20 22:36:45 2016
+++ src/sys/dev/ieee1394/firewire.c	Sun Nov 20 22:47:39 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: firewire.c,v 1.46 2016/11/20 22:36:45 riastradh Exp $	*/
+/*	$NetBSD: firewire.c,v 1.47 2016/11/20 22:47:39 riastradh Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: firewire.c,v 1.46 2016/11/20 22:36:45 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: firewire.c,v 1.47 2016/11/20 22:47:39 riastradh Exp $");
 
 #include 
 #include 
@@ -682,6 +682,20 @@ fw_init_isodma(struct firewire_comm *fc)
 
 		fc->ir[i]->maxq = FWMAXQUEUE;
 		fc->it[i]->maxq = FWMAXQUEUE;
+
+		cv_init(>ir[i]->cv, "fw_read");
+		cv_init(>it[i]->cv, "fw_write");
+	}
+}
+
+void
+fw_destroy_isodma(struct firewire_comm *fc)
+{
+	unsigned i;
+
+	for (i = 0; i < fc->nisodma; i++) {
+		cv_destroy(>ir[i]->cv);
+		cv_destroy(>it[i]->cv);
 	}
 }
 

Index: src/sys/dev/ieee1394/firewirereg.h
diff -u src/sys/dev/ieee1394/firewirereg.h:1.19 src/sys/dev/ieee1394/firewirereg.h:1.20
--- src/sys/dev/ieee1394/firewirereg.h:1.19	Sun Nov 20 22:36:45 2016
+++ src/sys/dev/ieee1394/firewirereg.h	Sun Nov 20 22:47:39 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: firewirereg.h,v 1.19 2016/11/20 22:36:45 riastradh Exp $	*/
+/*	$NetBSD: firewirereg.h,v 1.20 2016/11/20 22:47:39 riastradh Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -200,6 +200,7 @@ struct fw_xferq {
 	STAILQ_HEAD(, fw_bulkxfer) stfree;
 	STAILQ_HEAD(, fw_bulkxfer) stdma;
 	struct fw_bulkxfer *stproc;
+	kcondvar_t cv;
 	struct selinfo rsel;
 	void *sc;
 	void (*hand) (struct fw_xferq *);
@@ -284,6 +285,7 @@ void fw_drain_txq(struct firewire_comm *
 void fw_busreset(struct firewire_comm *, uint32_t);
 void fw_init(struct firewire_comm *);
 void fw_init_isodma(struct firewire_comm *);
+void fw_destroy_isodma(struct firewire_comm *);
 void fw_destroy(struct firewire_comm *);
 struct fw_bind *fw_bindlookup(struct firewire_comm *, uint16_t, uint32_t);
 int fw_bindadd(struct firewire_comm *, struct fw_bind *);

Index: src/sys/dev/ieee1394/fwdev.c
diff -u src/sys/dev/ieee1394/fwdev.c:1.30 src/sys/dev/ieee1394/fwdev.c:1.31
--- src/sys/dev/ieee1394/fwdev.c:1.30	Fri Jul 25 08:10:37 2014
+++ src/sys/dev/ieee1394/fwdev.c	Sun Nov 20 22:47:39 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: fwdev.c,v 1.30 2014/07/25 08:10:37 dholland Exp $	*/
+/*	$NetBSD: fwdev.c,v 1.31 2016/11/20 22:47:39 riastradh Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: fwdev.c,v 1.30 2014/07/25 08:10:37 dholland Exp $");
+__KERNEL_RCSID(0, "$NetBSD: fwdev.c,v 1.31 2016/11/20 22:47:39 riastradh Exp $");
 
 #include 
 #include 
@@ -104,6 +104,7 @@ struct fw_drv1 {
 	struct fw_isobufreq bufreq;
 	STAILQ_HEAD(, fw_bind) binds;
 	STAILQ_HEAD(, fw_xfer) rq;
+	kcondvar_t cv;
 };
 
 static int fwdev_allocbuf(struct firewire_comm *, struct fw_xferq *,
@@ -145,6 +146,7 @@ fw_open(dev_t dev, int flags, int fmt, s
 	d->fc = sc->fc;
 	STAILQ_INIT(>binds);
 	STAILQ_INIT(>rq);
+	cv_init(>cv, "fwra");
 
 	return err;
 }
@@ -217,6 +219,7 @@ fw_close(dev_t dev, int flags, int fmt, 
 		~(FWXFERQ_OPEN | FWXFERQ_MODEMASK | FWXFERQ_CHTAGMASK);
 		d->it = NULL;
 	}
+	cv_destroy(>cv);
 	free(sc->si_drv1, M_FW);
 	sc->si_drv1 = NULL;
 
@@ -265,9 +268,7 @@ readloop:
 		if (slept == 0) {
 			slept = 1;
 			ir->flag |= FWXFERQ_WAKEUP;
-			mutex_exit(>fc_mtx);
-			err = tsleep(ir, FWPRI, "fw_read", hz);
-			mutex_enter(>fc_mtx);
+			err = cv_timedwait_sig(>cv, >fc_mtx, hz);
 			ir->flag &= ~FWXFERQ_WAKEUP;
 			if (err == 0)
 goto readloop;
@@ -343,9 +344,7 @@ isoloop:
 			if (err)
 goto out;
 #endif
-			mutex_exit(>fc_mtx);
-			err = tsleep(it, FWPRI, "fw_write", hz);
-			mutex_enter(>fc_mtx);
+			err = cv_timedwait_sig(>cv, >fc_mtx, hz);
 			if (err)
 goto out;
 			goto isoloop;
@@ -824,11 +823,11 @@ 

CVS commit: src/sys/dev/ieee1394

2016-11-20 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Nov 20 22:36:45 UTC 2016

Modified Files:
src/sys/dev/ieee1394: firewire.c firewirereg.h fwohci.c

Log Message:
Defer initialization of isodma channels until we know how many.

Should fix a bug I introduced four years ago in:
https://mail-index.netbsd.org/source-changes/2012/08/04/msg036211.html


To generate a diff of this commit:
cvs rdiff -u -r1.45 -r1.46 src/sys/dev/ieee1394/firewire.c
cvs rdiff -u -r1.18 -r1.19 src/sys/dev/ieee1394/firewirereg.h
cvs rdiff -u -r1.137 -r1.138 src/sys/dev/ieee1394/fwohci.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/firewire.c
diff -u src/sys/dev/ieee1394/firewire.c:1.45 src/sys/dev/ieee1394/firewire.c:1.46
--- src/sys/dev/ieee1394/firewire.c:1.45	Sat Oct 18 08:33:28 2014
+++ src/sys/dev/ieee1394/firewire.c	Sun Nov 20 22:36:45 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: firewire.c,v 1.45 2014/10/18 08:33:28 snj Exp $	*/
+/*	$NetBSD: firewire.c,v 1.46 2016/11/20 22:36:45 riastradh Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: firewire.c,v 1.45 2014/10/18 08:33:28 snj Exp $");
+__KERNEL_RCSID(0, "$NetBSD: firewire.c,v 1.46 2016/11/20 22:36:45 riastradh Exp $");
 
 #include 
 #include 
@@ -622,33 +622,11 @@ fw_init(struct firewire_comm *fc)
 	mutex_init(>atq->q_mtx, MUTEX_DEFAULT, IPL_VM);
 	mutex_init(>ats->q_mtx, MUTEX_DEFAULT, IPL_VM);
 
-	for (i = 0; i < fc->nisodma; i++) {
-		fc->it[i]->queued = 0;
-		fc->ir[i]->queued = 0;
-
-		fc->it[i]->start = NULL;
-		fc->ir[i]->start = NULL;
-
-		fc->it[i]->buf = NULL;
-		fc->ir[i]->buf = NULL;
-
-		fc->it[i]->flag = FWXFERQ_STREAM;
-		fc->ir[i]->flag = FWXFERQ_STREAM;
-
-		STAILQ_INIT(>it[i]->q);
-		STAILQ_INIT(>ir[i]->q);
-	}
-
 	fc->arq->maxq = FWMAXQUEUE;
 	fc->ars->maxq = FWMAXQUEUE;
 	fc->atq->maxq = FWMAXQUEUE;
 	fc->ats->maxq = FWMAXQUEUE;
 
-	for (i = 0; i < fc->nisodma; i++) {
-		fc->ir[i]->maxq = FWMAXQUEUE;
-		fc->it[i]->maxq = FWMAXQUEUE;
-	}
-
 	CSRARC(fc, TOPO_MAP) = 0x3f1 << 16;
 	CSRARC(fc, TOPO_MAP + 4) = 1;
 	CSRARC(fc, SPED_MAP) = 0x3f1 << 16;
@@ -677,6 +655,36 @@ fw_init(struct firewire_comm *fc)
 	fc->crom_src_buf = NULL;
 }
 
+/*
+ * Called by HCI driver when it has determined the number of
+ * isochronous DMA channels.
+ */
+void
+fw_init_isodma(struct firewire_comm *fc)
+{
+	unsigned i;
+
+	for (i = 0; i < fc->nisodma; i++) {
+		fc->it[i]->queued = 0;
+		fc->ir[i]->queued = 0;
+
+		fc->it[i]->start = NULL;
+		fc->ir[i]->start = NULL;
+
+		fc->it[i]->buf = NULL;
+		fc->ir[i]->buf = NULL;
+
+		fc->it[i]->flag = FWXFERQ_STREAM;
+		fc->ir[i]->flag = FWXFERQ_STREAM;
+
+		STAILQ_INIT(>it[i]->q);
+		STAILQ_INIT(>ir[i]->q);
+
+		fc->ir[i]->maxq = FWMAXQUEUE;
+		fc->it[i]->maxq = FWMAXQUEUE;
+	}
+}
+
 void
 fw_destroy(struct firewire_comm *fc)
 {

Index: src/sys/dev/ieee1394/firewirereg.h
diff -u src/sys/dev/ieee1394/firewirereg.h:1.18 src/sys/dev/ieee1394/firewirereg.h:1.19
--- src/sys/dev/ieee1394/firewirereg.h:1.18	Sat Aug  4 03:55:43 2012
+++ src/sys/dev/ieee1394/firewirereg.h	Sun Nov 20 22:36:45 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: firewirereg.h,v 1.18 2012/08/04 03:55:43 riastradh Exp $	*/
+/*	$NetBSD: firewirereg.h,v 1.19 2016/11/20 22:36:45 riastradh Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -283,6 +283,7 @@ int fw_xferwait(struct fw_xfer *);
 void fw_drain_txq(struct firewire_comm *);
 void fw_busreset(struct firewire_comm *, uint32_t);
 void fw_init(struct firewire_comm *);
+void fw_init_isodma(struct firewire_comm *);
 void fw_destroy(struct firewire_comm *);
 struct fw_bind *fw_bindlookup(struct firewire_comm *, uint16_t, uint32_t);
 int fw_bindadd(struct firewire_comm *, struct fw_bind *);

Index: src/sys/dev/ieee1394/fwohci.c
diff -u src/sys/dev/ieee1394/fwohci.c:1.137 src/sys/dev/ieee1394/fwohci.c:1.138
--- src/sys/dev/ieee1394/fwohci.c:1.137	Tue Feb 25 18:30:09 2014
+++ src/sys/dev/ieee1394/fwohci.c	Sun Nov 20 22:36:45 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: fwohci.c,v 1.137 2014/02/25 18:30:09 pooka Exp $	*/
+/*	$NetBSD: fwohci.c,v 1.138 2016/11/20 22:36:45 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
  *
  */
 #include 
-__KERNEL_RCSID(0, "$NetBSD: fwohci.c,v 1.137 2014/02/25 18:30:09 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: fwohci.c,v 1.138 2016/11/20 22:36:45 riastradh Exp $");
 
 #include 
 #include 
@@ -428,6 +428,8 @@ fwohci_attach(struct fwohci_softc *sc)
 	if (i == 0)
 		return ENXIO;
 
+	fw_init_isodma(>fc);
+
 	for (i = 0; i < sc->fc.nisodma; i++) {
 		sc->fc.it[i] = >it[i].xferq;
 		sc->fc.ir[i] = >ir[i].xferq;



CVS commit: src/sys/dev/ieee1394

2014-11-21 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Fri Nov 21 23:37:25 UTC 2014

Modified Files:
src/sys/dev/ieee1394: fwcrom.c

Log Message:
No reason not to make the string const.


To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 src/sys/dev/ieee1394/fwcrom.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/fwcrom.c
diff -u src/sys/dev/ieee1394/fwcrom.c:1.16 src/sys/dev/ieee1394/fwcrom.c:1.17
--- src/sys/dev/ieee1394/fwcrom.c:1.16	Sun Sep 21 18:03:47 2014
+++ src/sys/dev/ieee1394/fwcrom.c	Fri Nov 21 23:37:25 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: fwcrom.c,v 1.16 2014/09/21 18:03:47 christos Exp $	*/
+/*	$NetBSD: fwcrom.c,v 1.17 2014/11/21 23:37:25 joerg Exp $	*/
 /*-
  * Copyright (c) 2002-2003
  * 	Hidetoshi Shimokawa. All rights reserved.
@@ -34,7 +34,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: fwcrom.c,v 1.16 2014/09/21 18:03:47 christos Exp $);
+__KERNEL_RCSID(0, $NetBSD: fwcrom.c,v 1.17 2014/11/21 23:37:25 joerg Exp $);
 
 #include sys/param.h
 #ifdef _KERNEL
@@ -172,7 +172,7 @@ crom_parse_text(struct crom_context *cc,
 	struct csrtext *textleaf;
 	uint32_t *bp;
 	int i, qlen;
-	static char *nullstr = (char *)(null);
+	static const char nullstr[] = (null);
 
 	if (cc-depth  0)
 		return;



CVS commit: src/sys/dev/ieee1394

2014-09-21 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Sep 21 17:10:01 UTC 2014

Modified Files:
src/sys/dev/ieee1394: fwcrom.c

Log Message:
fix cut-n-paste, use arrays instead of separate variables to avoid code
duplication.


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/sys/dev/ieee1394/fwcrom.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/fwcrom.c
diff -u src/sys/dev/ieee1394/fwcrom.c:1.14 src/sys/dev/ieee1394/fwcrom.c:1.15
--- src/sys/dev/ieee1394/fwcrom.c:1.14	Thu Mar 27 22:16:47 2014
+++ src/sys/dev/ieee1394/fwcrom.c	Sun Sep 21 13:10:00 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: fwcrom.c,v 1.14 2014/03/28 02:16:47 christos Exp $	*/
+/*	$NetBSD: fwcrom.c,v 1.15 2014/09/21 17:10:00 christos Exp $	*/
 /*-
  * Copyright (c) 2002-2003
  * 	Hidetoshi Shimokawa. All rights reserved.
@@ -34,7 +34,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: fwcrom.c,v 1.14 2014/03/28 02:16:47 christos Exp $);
+__KERNEL_RCSID(0, $NetBSD: fwcrom.c,v 1.15 2014/09/21 17:10:00 christos Exp $);
 
 #include sys/param.h
 #ifdef _KERNEL
@@ -48,11 +48,11 @@ __KERNEL_RCSID(0, $NetBSD: fwcrom.c,v 1
 #include dev/ieee1394/firewire.h
 #include dev/ieee1394/iec13213.h
 
-#define MAX_ROM (1024 - sizeof(uint32_t) * 5)
+#define MAX_ROM (1024 - sizeof(uint[2]2_t) * 5)
 #define CROM_END(cc) ((char *)(cc)-stack[0].dir + MAX_ROM - 1)
 
 void
-crom_init_context(struct crom_context *cc, uint32_t *p)
+crom_init_context(struct crom_context *cc, uint[2]2_t *p)
 {
 	struct csrhdr *hdr;
 
@@ -139,7 +139,7 @@ crom_search_key(struct crom_context *cc,
 }
 
 int
-crom_has_specver(uint32_t *p, uint32_t spec, uint32_t ver)
+crom_has_specver(uint[2]2_t *p, uint[2]2_t spec, uint[2]2_t ver)
 {
 	struct csrreg *reg;
 	struct crom_context c, *cc;
@@ -170,7 +170,7 @@ crom_parse_text(struct crom_context *cc,
 {
 	struct csrreg *reg;
 	struct csrtext *textleaf;
-	uint32_t *bp;
+	uint[2]2_t *bp;
 	int i, qlen;
 	static char *nullstr = (char *)(null);
 
@@ -198,7 +198,7 @@ crom_parse_text(struct crom_context *cc,
 
 	/* XXX should check spec and type */
 
-	bp = (uint32_t *)buf;
+	bp = (uint[2]2_t *)buf;
 	qlen = textleaf-crc_len - 2;
 	if (len  qlen * 4)
 		qlen = len/4;
@@ -212,10 +212,10 @@ crom_parse_text(struct crom_context *cc,
 }
 
 uint16_t
-crom_crc(uint32_t *ptr, int len)
+crom_crc(uint[2]2_t *ptr, int len)
 {
 	int i, shift;
-	uint32_t data, sum, crc = 0;
+	uint[2]2_t data, sum, crc = 0;
 
 	for (i = 0; i  len; i++) {
 		data = ptr[i];
@@ -230,7 +230,7 @@ crom_crc(uint32_t *ptr, int len)
 
 #if !defined(_KERNEL)  !defined(_BOOT)
 static void
-crom_desc_specver(uint32_t spec, uint32_t ver, char *buf, int len)
+crom_desc_specver(uint[2]2_t spec, uint[2]2_t ver, char *buf, int len)
 {
 	const char *s = NULL;
 
@@ -308,7 +308,7 @@ crom_desc(struct crom_context *cc, char 
 		/* XXX fall through */
 	case CSRTYPE_D:
 		dir = (struct csrdirectory *) (reg + reg-val);
-		crc = crom_crc((uint32_t *)dir-entry, dir-crc_len);
+		crc = crom_crc((uint[2]2_t *)dir-entry, dir-crc_len);
 		l += snprintf(buf + l, len - l, len=%d crc=0x%04x ,
 		dir-crc_len, crc);
 
@@ -396,7 +396,7 @@ crom_desc(struct crom_context *cc, char 
 #if defined(_KERNEL) || defined(_BOOT) || defined(TEST)
 
 int
-crom_add_quad(struct crom_chunk *chunk, uint32_t entry)
+crom_add_quad(struct crom_chunk *chunk, uint[2]2_t entry)
 {
 	int index;
 
@@ -415,7 +415,7 @@ crom_add_entry(struct crom_chunk *chunk,
 {
 	union {
 		struct csrreg reg;
-		uint32_t i;
+		uint[2]2_t i;
 	} foo;
 
 	foo.reg.key = key;
@@ -450,7 +450,7 @@ crom_add_simple_text(struct crom_src *sr
 		 struct crom_chunk *chunk, const char *buf)
 {
 	struct csrtext *tl;
-	uint32_t *p;
+	uint[2]2_t *p;
 	int len, i;
 	char t[MAX_TEXT];
 
@@ -461,38 +461,38 @@ crom_add_simple_text(struct crom_src *sr
 	}
 
 	tl = (struct csrtext *) chunk-data;
-	tl-crc_len = howmany(sizeof(struct csrtext) + len, sizeof(uint32_t));
+	tl-crc_len = howmany(sizeof(struct csrtext) + len, sizeof(uint[2]2_t));
 	tl-spec_id = 0;
 	tl-spec_type = 0;
 	tl-lang_id = 0;
-	memset(t, 0, roundup2(len, sizeof(uint32_t)));
+	memset(t, 0, roundup2(len, sizeof(uint[2]2_t)));
 	memcpy(t, buf, len);
-	p = (uint32_t *)t;
-	for (i = 0; i  howmany(len, sizeof(uint32_t)); i++)
+	p = (uint[2]2_t *)t;
+	for (i = 0; i  howmany(len, sizeof(uint[2]2_t)); i++)
 		tl-text[i] = ntohl(*p++);
 	return crom_add_chunk(src, parent, chunk, CROM_TEXTLEAF);
 }
 
 static int
-crom_copy(uint32_t *src, uint32_t *dst, int *offset, int len, int maxlen)
+crom_copy(uint[2]2_t *src, uint[2]2_t *dst, int *offset, int len, int maxlen)
 {
 
 	if (*offset + len  maxlen) {
 		printf(Config. ROM is too large for the buffer\n);
 		return -1;
 	}
-	memcpy((char *)(dst + *offset), src, len * sizeof(uint32_t));
+	memcpy((char *)(dst + *offset), src, len * sizeof(uint[2]2_t));
 	*offset += len;
 	return 0;
 }
 
 int
-crom_load(struct crom_src *src, 

CVS commit: src/sys/dev/ieee1394

2014-09-21 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Sep 21 18:03:47 UTC 2014

Modified Files:
src/sys/dev/ieee1394: fwcrom.c

Log Message:
ran sed too agressively.


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/sys/dev/ieee1394/fwcrom.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/fwcrom.c
diff -u src/sys/dev/ieee1394/fwcrom.c:1.15 src/sys/dev/ieee1394/fwcrom.c:1.16
--- src/sys/dev/ieee1394/fwcrom.c:1.15	Sun Sep 21 13:10:00 2014
+++ src/sys/dev/ieee1394/fwcrom.c	Sun Sep 21 14:03:47 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: fwcrom.c,v 1.15 2014/09/21 17:10:00 christos Exp $	*/
+/*	$NetBSD: fwcrom.c,v 1.16 2014/09/21 18:03:47 christos Exp $	*/
 /*-
  * Copyright (c) 2002-2003
  * 	Hidetoshi Shimokawa. All rights reserved.
@@ -34,7 +34,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: fwcrom.c,v 1.15 2014/09/21 17:10:00 christos Exp $);
+__KERNEL_RCSID(0, $NetBSD: fwcrom.c,v 1.16 2014/09/21 18:03:47 christos Exp $);
 
 #include sys/param.h
 #ifdef _KERNEL
@@ -48,11 +48,11 @@ __KERNEL_RCSID(0, $NetBSD: fwcrom.c,v 1
 #include dev/ieee1394/firewire.h
 #include dev/ieee1394/iec13213.h
 
-#define MAX_ROM (1024 - sizeof(uint[2]2_t) * 5)
+#define MAX_ROM (1024 - sizeof(uint32_t) * 5)
 #define CROM_END(cc) ((char *)(cc)-stack[0].dir + MAX_ROM - 1)
 
 void
-crom_init_context(struct crom_context *cc, uint[2]2_t *p)
+crom_init_context(struct crom_context *cc, uint32_t *p)
 {
 	struct csrhdr *hdr;
 
@@ -139,7 +139,7 @@ crom_search_key(struct crom_context *cc,
 }
 
 int
-crom_has_specver(uint[2]2_t *p, uint[2]2_t spec, uint[2]2_t ver)
+crom_has_specver(uint32_t *p, uint32_t spec, uint32_t ver)
 {
 	struct csrreg *reg;
 	struct crom_context c, *cc;
@@ -170,7 +170,7 @@ crom_parse_text(struct crom_context *cc,
 {
 	struct csrreg *reg;
 	struct csrtext *textleaf;
-	uint[2]2_t *bp;
+	uint32_t *bp;
 	int i, qlen;
 	static char *nullstr = (char *)(null);
 
@@ -198,7 +198,7 @@ crom_parse_text(struct crom_context *cc,
 
 	/* XXX should check spec and type */
 
-	bp = (uint[2]2_t *)buf;
+	bp = (uint32_t *)buf;
 	qlen = textleaf-crc_len - 2;
 	if (len  qlen * 4)
 		qlen = len/4;
@@ -212,10 +212,10 @@ crom_parse_text(struct crom_context *cc,
 }
 
 uint16_t
-crom_crc(uint[2]2_t *ptr, int len)
+crom_crc(uint32_t *ptr, int len)
 {
 	int i, shift;
-	uint[2]2_t data, sum, crc = 0;
+	uint32_t data, sum, crc = 0;
 
 	for (i = 0; i  len; i++) {
 		data = ptr[i];
@@ -230,7 +230,7 @@ crom_crc(uint[2]2_t *ptr, int len)
 
 #if !defined(_KERNEL)  !defined(_BOOT)
 static void
-crom_desc_specver(uint[2]2_t spec, uint[2]2_t ver, char *buf, int len)
+crom_desc_specver(uint32_t spec, uint32_t ver, char *buf, int len)
 {
 	const char *s = NULL;
 
@@ -308,7 +308,7 @@ crom_desc(struct crom_context *cc, char 
 		/* XXX fall through */
 	case CSRTYPE_D:
 		dir = (struct csrdirectory *) (reg + reg-val);
-		crc = crom_crc((uint[2]2_t *)dir-entry, dir-crc_len);
+		crc = crom_crc((uint32_t *)dir-entry, dir-crc_len);
 		l += snprintf(buf + l, len - l, len=%d crc=0x%04x ,
 		dir-crc_len, crc);
 
@@ -396,7 +396,7 @@ crom_desc(struct crom_context *cc, char 
 #if defined(_KERNEL) || defined(_BOOT) || defined(TEST)
 
 int
-crom_add_quad(struct crom_chunk *chunk, uint[2]2_t entry)
+crom_add_quad(struct crom_chunk *chunk, uint32_t entry)
 {
 	int index;
 
@@ -415,7 +415,7 @@ crom_add_entry(struct crom_chunk *chunk,
 {
 	union {
 		struct csrreg reg;
-		uint[2]2_t i;
+		uint32_t i;
 	} foo;
 
 	foo.reg.key = key;
@@ -450,7 +450,7 @@ crom_add_simple_text(struct crom_src *sr
 		 struct crom_chunk *chunk, const char *buf)
 {
 	struct csrtext *tl;
-	uint[2]2_t *p;
+	uint32_t *p;
 	int len, i;
 	char t[MAX_TEXT];
 
@@ -461,38 +461,38 @@ crom_add_simple_text(struct crom_src *sr
 	}
 
 	tl = (struct csrtext *) chunk-data;
-	tl-crc_len = howmany(sizeof(struct csrtext) + len, sizeof(uint[2]2_t));
+	tl-crc_len = howmany(sizeof(struct csrtext) + len, sizeof(uint32_t));
 	tl-spec_id = 0;
 	tl-spec_type = 0;
 	tl-lang_id = 0;
-	memset(t, 0, roundup2(len, sizeof(uint[2]2_t)));
+	memset(t, 0, roundup2(len, sizeof(uint32_t)));
 	memcpy(t, buf, len);
-	p = (uint[2]2_t *)t;
-	for (i = 0; i  howmany(len, sizeof(uint[2]2_t)); i++)
+	p = (uint32_t *)t;
+	for (i = 0; i  howmany(len, sizeof(uint32_t)); i++)
 		tl-text[i] = ntohl(*p++);
 	return crom_add_chunk(src, parent, chunk, CROM_TEXTLEAF);
 }
 
 static int
-crom_copy(uint[2]2_t *src, uint[2]2_t *dst, int *offset, int len, int maxlen)
+crom_copy(uint32_t *src, uint32_t *dst, int *offset, int len, int maxlen)
 {
 
 	if (*offset + len  maxlen) {
 		printf(Config. ROM is too large for the buffer\n);
 		return -1;
 	}
-	memcpy((char *)(dst + *offset), src, len * sizeof(uint[2]2_t));
+	memcpy((char *)(dst + *offset), src, len * sizeof(uint32_t));
 	*offset += len;
 	return 0;
 }
 
 int
-crom_load(struct crom_src *src, uint[2]2_t *buf, int maxlen)
+crom_load(struct crom_src 

CVS commit: src/sys/dev/ieee1394

2014-03-27 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Fri Mar 28 02:16:47 UTC 2014

Modified Files:
src/sys/dev/ieee1394: fwcrom.c

Log Message:
Deal with snprintf more gracefully.


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/sys/dev/ieee1394/fwcrom.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/fwcrom.c
diff -u src/sys/dev/ieee1394/fwcrom.c:1.13 src/sys/dev/ieee1394/fwcrom.c:1.14
--- src/sys/dev/ieee1394/fwcrom.c:1.13	Thu Aug 26 03:36:53 2010
+++ src/sys/dev/ieee1394/fwcrom.c	Thu Mar 27 22:16:47 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: fwcrom.c,v 1.13 2010/08/26 07:36:53 cegger Exp $	*/
+/*	$NetBSD: fwcrom.c,v 1.14 2014/03/28 02:16:47 christos Exp $	*/
 /*-
  * Copyright (c) 2002-2003
  * 	Hidetoshi Shimokawa. All rights reserved.
@@ -34,7 +34,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: fwcrom.c,v 1.13 2010/08/26 07:36:53 cegger Exp $);
+__KERNEL_RCSID(0, $NetBSD: fwcrom.c,v 1.14 2014/03/28 02:16:47 christos Exp $);
 
 #include sys/param.h
 #ifdef _KERNEL
@@ -283,44 +283,45 @@ crom_desc_specver(uint32_t spec, uint32_
 }
 
 const char *
-crom_desc(struct crom_context *cc, char *buf, int len)
+crom_desc(struct crom_context *cc, char *buf, size_t len)
 {
 	struct csrreg *reg;
 	struct csrdirectory *dir;
 	const char *desc;
 	uint16_t crc;
+	size_t l = 0;
 
 	reg = crom_get(cc);
 	switch (reg-key  CSRTYPE_MASK) {
 	case CSRTYPE_I:
 #if 0
-		len -= snprintf(buf, len, 0x%x, reg-val);
-		buf += strlen(buf);
+		l += snprintf(buf + l, len - l, 0x%x, reg-val);
 #else
 		*buf = '\0';
 #endif
 		break;
 	case CSRTYPE_C:
-		len -=
-		snprintf(buf, len, offset=0x%04x(%d), reg-val, reg-val);
-		buf += strlen(buf);
+		l += snprintf(buf + l, len - l, offset=0x%04x(%d),
+		reg-val, reg-val);
 		break;
 	case CSRTYPE_L:
 		/* XXX fall through */
 	case CSRTYPE_D:
 		dir = (struct csrdirectory *) (reg + reg-val);
 		crc = crom_crc((uint32_t *)dir-entry, dir-crc_len);
-		len -= snprintf(buf, len, len=%d crc=0x%04x ,
+		l += snprintf(buf + l, len - l, len=%d crc=0x%04x ,
 		dir-crc_len, crc);
-		buf += strlen(buf);
 
+		if (l  len)
+			l = len;
 		if (crc == dir-crc)
-			len -= snprintf(buf, len, (OK) );
+			l += snprintf(buf + l, len - l, (OK) );
 		else
-			len -= snprintf(buf, len, (NG, 0x%x) ,
+			l += snprintf(buf + l, len - l, (NG, 0x%x) ,
 			dir-crc);
-		buf += strlen(buf);
 	}
+	if (l  len)
+		l = len;
 	switch (reg-key) {
 	case CSRKEY_VENDOR: /* 0x03 */
 		desc = module_vendor_ID;
@@ -374,7 +375,7 @@ crom_desc(struct crom_context *cc, char 
 	case CROM_TEXTLEAF: /* 0x81 */
 	case CROM_TEXTLEAF2: /* 0x82 */
 		desc = text_leaf;
-		crom_parse_text(cc, buf + strlen(buf), len);
+		crom_parse_text(cc, buf + l, len - l);
 		break;
 	case CROM_NODEID: /* 0x8d */
 		desc = node_unique_ID;



CVS commit: src/sys/dev/ieee1394

2014-03-27 Thread Hisashi T Fujinaka
Module Name:src
Committed By:   htodd
Date:   Fri Mar 28 04:09:19 UTC 2014

Modified Files:
src/sys/dev/ieee1394: iec13213.h

Log Message:
Fix build.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/dev/ieee1394/iec13213.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/iec13213.h
diff -u src/sys/dev/ieee1394/iec13213.h:1.5 src/sys/dev/ieee1394/iec13213.h:1.6
--- src/sys/dev/ieee1394/iec13213.h:1.5	Thu Aug 26 07:36:53 2010
+++ src/sys/dev/ieee1394/iec13213.h	Fri Mar 28 04:09:19 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: iec13213.h,v 1.5 2010/08/26 07:36:53 cegger Exp $	*/
+/*	$NetBSD: iec13213.h,v 1.6 2014/03/28 04:09:19 htodd Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -224,7 +224,7 @@ struct csrreg *crom_search_key(struct cr
 int crom_has_specver(uint32_t *, uint32_t, uint32_t);
 
 #ifndef _KERNEL
-const char *crom_desc(struct crom_context *, char *, int);
+const char *crom_desc(struct crom_context *, char *, size_t);
 #endif
 
 /* For CROM build */



CVS commit: src/sys/dev/ieee1394

2013-10-16 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Wed Oct 16 17:40:55 UTC 2013

Modified Files:
src/sys/dev/ieee1394: fwohci.c

Log Message:
add missing ifdefs


To generate a diff of this commit:
cvs rdiff -u -r1.135 -r1.136 src/sys/dev/ieee1394/fwohci.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/fwohci.c
diff -u src/sys/dev/ieee1394/fwohci.c:1.135 src/sys/dev/ieee1394/fwohci.c:1.136
--- src/sys/dev/ieee1394/fwohci.c:1.135	Thu Sep 12 16:16:51 2013
+++ src/sys/dev/ieee1394/fwohci.c	Wed Oct 16 13:40:55 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: fwohci.c,v 1.135 2013/09/12 20:16:51 martin Exp $	*/
+/*	$NetBSD: fwohci.c,v 1.136 2013/10/16 17:40:55 christos Exp $	*/
 
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
  *
  */
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: fwohci.c,v 1.135 2013/09/12 20:16:51 martin Exp $);
+__KERNEL_RCSID(0, $NetBSD: fwohci.c,v 1.136 2013/10/16 17:40:55 christos Exp $);
 
 #include sys/param.h
 #include sys/atomic.h
@@ -2645,9 +2645,9 @@ fwohci_arcv_swap(struct fw_pkt *fp, int 
 {
 	struct fw_pkt *fp0;
 	uint32_t ld0;
-	int slen, hlen;
+	int hlen;
 #if BYTE_ORDER == BIG_ENDIAN
-	int i;
+	int slen, i;
 #endif
 
 	ld0 = FWOHCI_DMA_READ(fp-mode.ld[0]);
@@ -2662,7 +2662,9 @@ fwohci_arcv_swap(struct fw_pkt *fp, int 
 	case FWTCODE_WREQQ:
 	case FWTCODE_RRESQ:
 	case FWOHCITCODE_PHY:
+#if BYTE_ORDER == BIG_ENDIAN
 		slen = 12;
+#endif
 		break;
 
 	case FWTCODE_RREQB:
@@ -2670,7 +2672,9 @@ fwohci_arcv_swap(struct fw_pkt *fp, int 
 	case FWTCODE_LREQ:
 	case FWTCODE_RRESB:
 	case FWTCODE_LRES:
+#if BYTE_ORDER == BIG_ENDIAN
 		slen = 16;
+#endif
 		break;
 
 	default:



CVS commit: src/sys/dev/ieee1394

2013-09-15 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Sun Sep 15 13:52:23 UTC 2013

Modified Files:
src/sys/dev/ieee1394: sbp.c

Log Message:
Remove unused variables


To generate a diff of this commit:
cvs rdiff -u -r1.34 -r1.35 src/sys/dev/ieee1394/sbp.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/sbp.c
diff -u src/sys/dev/ieee1394/sbp.c:1.34 src/sys/dev/ieee1394/sbp.c:1.35
--- src/sys/dev/ieee1394/sbp.c:1.34	Sun Apr 29 20:27:31 2012
+++ src/sys/dev/ieee1394/sbp.c	Sun Sep 15 13:52:23 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: sbp.c,v 1.34 2012/04/29 20:27:31 dsl Exp $	*/
+/*	$NetBSD: sbp.c,v 1.35 2013/09/15 13:52:23 martin Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: sbp.c,v 1.34 2012/04/29 20:27:31 dsl Exp $);
+__KERNEL_RCSID(0, $NetBSD: sbp.c,v 1.35 2013/09/15 13:52:23 martin Exp $);
 
 
 #include sys/param.h
@@ -1112,7 +1112,6 @@ static void
 sbp_mgm_callback(struct fw_xfer *xfer)
 {
 	struct sbp_dev *sdev;
-	int resp;
 
 	sdev = (struct sbp_dev *)xfer-sc;
 
@@ -1120,7 +1119,6 @@ SBP_DEBUG(1)
 	printf(%s: sbp_mgm_callback: %s\n,
 	device_xname(sdev-target-sbp-sc_fd.dev), sdev-bustgtlun);
 END_DEBUG
-	resp = xfer-resp;
 	sbp_xfer_free(xfer);
 	return;
 }
@@ -2140,12 +2138,10 @@ END_DEBUG
 static void
 sbp_target_reset(struct sbp_dev *sdev, int method)
 {
-	struct sbp_softc *sc;
 	struct sbp_target *target = sdev-target;
 	struct sbp_dev *tsdev;
 	int i;
 
-	sc = target-sbp;
 	for (i = 0; i  target-num_lun; i++) {
 		tsdev = target-luns[i];
 		if (tsdev == NULL)
@@ -2408,7 +2404,6 @@ sbp_dequeue_ocb(struct sbp_dev *sdev, st
 	struct sbp_ocb *ocb;
 	struct sbp_ocb *next;
 	int order = 0;
-	int flags;
 
 SBP_DEBUG(1)
 	printf(%s:%s:%s: 0x%08x src %d\n, device_xname(sc-sc_fd.dev),
@@ -2418,7 +2413,6 @@ END_DEBUG
 	mutex_enter(sc-sc_mtx);
 	for (ocb = STAILQ_FIRST(sdev-ocbs); ocb != NULL; ocb = next) {
 		next = STAILQ_NEXT(ocb, ocb);
-		flags = ocb-flags;
 		if (OCB_MATCH(ocb, sbp_status)) {
 			/* found */
 			SBP_ORB_DMA_SYNC(sdev-dma, ocb-index,



CVS commit: src/sys/dev/ieee1394

2013-09-12 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Thu Sep 12 20:16:51 UTC 2013

Modified Files:
src/sys/dev/ieee1394: fwohci.c

Log Message:
Make it compilable with gcc 4.8.1


To generate a diff of this commit:
cvs rdiff -u -r1.134 -r1.135 src/sys/dev/ieee1394/fwohci.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/fwohci.c
diff -u src/sys/dev/ieee1394/fwohci.c:1.134 src/sys/dev/ieee1394/fwohci.c:1.135
--- src/sys/dev/ieee1394/fwohci.c:1.134	Sun Apr  7 07:42:20 2013
+++ src/sys/dev/ieee1394/fwohci.c	Thu Sep 12 20:16:51 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: fwohci.c,v 1.134 2013/04/07 07:42:20 kiyohara Exp $	*/
+/*	$NetBSD: fwohci.c,v 1.135 2013/09/12 20:16:51 martin Exp $	*/
 
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
  *
  */
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: fwohci.c,v 1.134 2013/04/07 07:42:20 kiyohara Exp $);
+__KERNEL_RCSID(0, $NetBSD: fwohci.c,v 1.135 2013/09/12 20:16:51 martin Exp $);
 
 #include sys/param.h
 #include sys/atomic.h
@@ -919,13 +919,10 @@ fwohci_itxbuf_enable(struct firewire_com
 	struct fw_xferq *it;
 	uint32_t stat;
 	int cycle_match, cycle_now, ldesc, err = 0;
-	unsigned short tag, ich;
 
 	dbch = sc-it[dmach];
 	it = dbch-xferq;
 
-	tag = (it-flag  6)  3;
-	ich = it-flag  0x3f;
 	if ((dbch-flags  FWOHCI_DBCH_INIT) == 0) {
 		dbch-ndb = it-bnpacket * it-bnchunk;
 		dbch-ndesc = 3;
@@ -2194,7 +2191,10 @@ fwohci_tbuf_update(struct fwohci_softc *
 	struct fwohcidb *db;
 	struct fw_bulkxfer *chunk;
 	struct fw_xferq *it;
-	uint32_t stat, count;
+	uint32_t stat;
+#if 0
+	uint32_t count;
+#endif
 	int w = 0, ldesc;
 
 	it = fc-it[dmach];
@@ -2209,8 +2209,12 @@ fwohci_tbuf_update(struct fwohci_softc *
 		FWOHCI_DMA_READ(db[ldesc].db.desc.res)  OHCI_STATUS_SHIFT;
 		db = ((struct fwohcidb_tr *)(chunk-start))-db;
 		/* timestamp */
+#if 0
 		count =
 		FWOHCI_DMA_READ(db[ldesc].db.desc.res)  OHCI_COUNT_MASK;
+#else
+		(void)FWOHCI_DMA_READ(db[ldesc].db.desc.res);
+#endif
 		if (stat == 0)
 			break;
 		STAILQ_REMOVE_HEAD(it-stdma, link);
@@ -2344,8 +2348,12 @@ static void
 dump_db(struct fwohci_softc *sc, uint32_t ch)
 {
 	struct fwohci_dbch *dbch;
-	struct fwohcidb_tr *cp = NULL, *pp, *np = NULL;
-	struct fwohcidb *curr = NULL, *prev, *next = NULL;
+	struct fwohcidb_tr *cp = NULL, *pp;
+	struct fwohcidb *curr = NULL;
+#if 0
+	struct fwohcidb_tr *np = NULL;
+	struct fwohcidb *prev, *next = NULL;
+#endif
 	int idb, jdb;
 	uint32_t cmd;
 
@@ -2368,21 +2376,27 @@ dump_db(struct fwohci_softc *sc, uint32_
 		return;
 	}
 	pp = dbch-top;
+#if 0
 	prev = pp-db;
+#endif
 	for (idb = 0; idb  dbch-ndb; idb++) {
 		cp = STAILQ_NEXT(pp, link);
 		if (cp == NULL) {
 			curr = NULL;
 			goto outdb;
 		}
+#if 0
 		np = STAILQ_NEXT(cp, link);
+#endif
 		for (jdb = 0; jdb  dbch-ndesc; jdb++)
 			if ((cmd  0xfff0) == cp-bus_addr) {
 curr = cp-db;
+#if 0
 if (np != NULL)
 	next = np-db;
 else
 	next = NULL;
+#endif
 goto outdb;
 			}
 		pp = STAILQ_NEXT(pp, link);
@@ -2390,7 +2404,9 @@ dump_db(struct fwohci_softc *sc, uint32_
 			curr = NULL;
 			goto outdb;
 		}
+#if 0
 		prev = pp-db;
+#endif
 	}
 outdb:
 	if (curr != NULL) {
@@ -2486,7 +2502,7 @@ print_db(struct fwohcidb_tr *db_tr, stru
 static void
 fwohci_txbufdb(struct fwohci_softc *sc, int dmach, struct fw_bulkxfer *bulkxfer)
 {
-	struct fwohcidb_tr *db_tr, *fdb_tr;
+	struct fwohcidb_tr *db_tr /*, *fdb_tr */;
 	struct fwohci_dbch *dbch;
 	struct fwohcidb *db;
 	struct fw_pkt *fp;
@@ -2500,8 +2516,8 @@ fwohci_txbufdb(struct fwohci_softc *sc, 
 	chtag = sc-it[dmach].xferq.flag  0xff;
 
 	db_tr = (struct fwohcidb_tr *)(bulkxfer-start);
-	fdb_tr = (struct fwohcidb_tr *)(bulkxfer-end);
 /*
+	fdb_tr = (struct fwohcidb_tr *)(bulkxfer-end);
 aprint_normal(sc-fc.dev, DB %08x %08x %08x\n, bulkxfer, db_tr-bus_addr, fdb_tr-bus_addr);
 */
 	for (idb = 0; idb  dbch-xferq.bnpacket; idb++) {



CVS commit: src/sys/dev/ieee1394

2013-04-07 Thread KIYOHARA Takashi
Module Name:src
Committed By:   kiyohara
Date:   Sun Apr  7 07:42:20 UTC 2013

Modified Files:
src/sys/dev/ieee1394: fwohci.c

Log Message:
Add '\n' to tail of printing string.


To generate a diff of this commit:
cvs rdiff -u -r1.133 -r1.134 src/sys/dev/ieee1394/fwohci.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/fwohci.c
diff -u src/sys/dev/ieee1394/fwohci.c:1.133 src/sys/dev/ieee1394/fwohci.c:1.134
--- src/sys/dev/ieee1394/fwohci.c:1.133	Sat Aug  4 03:55:43 2012
+++ src/sys/dev/ieee1394/fwohci.c	Sun Apr  7 07:42:20 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: fwohci.c,v 1.133 2012/08/04 03:55:43 riastradh Exp $	*/
+/*	$NetBSD: fwohci.c,v 1.134 2013/04/07 07:42:20 kiyohara Exp $	*/
 
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
  *
  */
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: fwohci.c,v 1.133 2012/08/04 03:55:43 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: fwohci.c,v 1.134 2013/04/07 07:42:20 kiyohara Exp $);
 
 #include sys/param.h
 #include sys/atomic.h
@@ -448,7 +448,7 @@ fwohci_attach(struct fwohci_softc *sc)
 	sc-fc.config_rom = fwdma_alloc_setup(sc-fc.dev, sc-fc.dmat,
 	CROMSIZE, sc-crom_dma, CROMSIZE, BUS_DMA_NOWAIT);
 	if (sc-fc.config_rom == NULL) {
-		aprint_error_dev(sc-fc.dev, config_rom alloc failed.);
+		aprint_error_dev(sc-fc.dev, config_rom alloc failed.\n);
 		return ENOMEM;
 	}
 



CVS commit: src/sys/dev/ieee1394

2012-08-04 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Aug  5 02:36:16 UTC 2012

Modified Files:
src/sys/dev/ieee1394: firewire.c

Log Message:
Restore config pending stuff, adjusted to avoid the race.

Leave a note about what this code probably should look like for
anyone who comes rummaging around with the intent to really fix it.
I would do that myself if I had time and resources to test this at
the moment, and more comfort with our firewire stack, but I don't.


To generate a diff of this commit:
cvs rdiff -u -r1.40 -r1.41 src/sys/dev/ieee1394/firewire.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/firewire.c
diff -u src/sys/dev/ieee1394/firewire.c:1.40 src/sys/dev/ieee1394/firewire.c:1.41
--- src/sys/dev/ieee1394/firewire.c:1.40	Sat Aug  4 03:55:43 2012
+++ src/sys/dev/ieee1394/firewire.c	Sun Aug  5 02:36:16 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: firewire.c,v 1.40 2012/08/04 03:55:43 riastradh Exp $	*/
+/*	$NetBSD: firewire.c,v 1.41 2012/08/05 02:36:16 riastradh Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: firewire.c,v 1.40 2012/08/04 03:55:43 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: firewire.c,v 1.41 2012/08/05 02:36:16 riastradh Exp $);
 
 #include sys/param.h
 #include sys/bus.h
@@ -255,6 +255,9 @@ firewireattach(device_t parent, device_t
 
 	callout_schedule(fc-timeout_callout, hz);
 
+	/* Tell config we will have started a thread to scan the bus.  */
+	config_pending_incr();
+
 	/* create thread */
 	if (kthread_create(PRI_NONE, KTHREAD_MPSAFE, NULL, fw_bus_probe_thread,
 	fc, fc-probe_thread, fw%dprobe, device_unit(fc-bdev)))
@@ -1943,6 +1946,22 @@ fw_bus_probe_thread(void *arg)
 {
 	struct firewire_comm *fc = (struct firewire_comm *)arg;
 
+	/*
+	 * Tell config we've scanned the bus.
+	 *
+	 * XXX This is not right -- we haven't actually scanned it.  We
+	 * probably ought to call this after the first bus exploration.
+	 *
+	 * bool once = false;
+	 * ...
+	 * 	fw_attach_dev(fc);
+	 * 	if (!once) {
+	 * 		config_pending_decr();
+	 * 		once = true;
+	 * 	}
+	 */
+	config_pending_decr();
+
 	mutex_enter(fc-wait_lock);
 	while (fc-status != FWBUSDETACH) {
 		if (fc-status == FWBUSEXPLORE) {



CVS commit: src/sys/dev/ieee1394

2012-08-04 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Aug  5 02:47:52 UTC 2012

Modified Files:
src/sys/dev/ieee1394: firewire.c

Log Message:
...and be sure to config_pending_decr if kthread_create fails.

This error branch looks suspect, though.  Shouldn't we bail at this
point rather than blithely try to proceed?


To generate a diff of this commit:
cvs rdiff -u -r1.41 -r1.42 src/sys/dev/ieee1394/firewire.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/firewire.c
diff -u src/sys/dev/ieee1394/firewire.c:1.41 src/sys/dev/ieee1394/firewire.c:1.42
--- src/sys/dev/ieee1394/firewire.c:1.41	Sun Aug  5 02:36:16 2012
+++ src/sys/dev/ieee1394/firewire.c	Sun Aug  5 02:47:52 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: firewire.c,v 1.41 2012/08/05 02:36:16 riastradh Exp $	*/
+/*	$NetBSD: firewire.c,v 1.42 2012/08/05 02:47:52 riastradh Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: firewire.c,v 1.41 2012/08/05 02:36:16 riastradh Exp $);
+__KERNEL_RCSID(0, $NetBSD: firewire.c,v 1.42 2012/08/05 02:47:52 riastradh Exp $);
 
 #include sys/param.h
 #include sys/bus.h
@@ -260,8 +260,10 @@ firewireattach(device_t parent, device_t
 
 	/* create thread */
 	if (kthread_create(PRI_NONE, KTHREAD_MPSAFE, NULL, fw_bus_probe_thread,
-	fc, fc-probe_thread, fw%dprobe, device_unit(fc-bdev)))
+	fc, fc-probe_thread, fw%dprobe, device_unit(fc-bdev))) {
 		aprint_error_dev(self, kthread_create failed\n);
+		config_pending_decr();
+	}
 
 	devlist = malloc(sizeof(struct firewire_dev_list), M_DEVBUF, M_NOWAIT);
 	if (devlist == NULL) {



CVS commit: src/sys/dev/ieee1394

2012-04-29 Thread David Laight
Module Name:src
Committed By:   dsl
Date:   Sun Apr 29 18:31:41 UTC 2012

Modified Files:
src/sys/dev/ieee1394: firewire.c firewirereg.h fwdev.c fwmem.c
fwohcivar.h if_fwip.c

Log Message:
Change to consistently use M_FW for all malloc/free.
It probably doesn't matter any more, but the code doesn't appear to
have matched its mallocs and frees - so the stats would have been awol.


To generate a diff of this commit:
cvs rdiff -u -r1.38 -r1.39 src/sys/dev/ieee1394/firewire.c
cvs rdiff -u -r1.16 -r1.17 src/sys/dev/ieee1394/firewirereg.h \
src/sys/dev/ieee1394/fwmem.c
cvs rdiff -u -r1.26 -r1.27 src/sys/dev/ieee1394/fwdev.c
cvs rdiff -u -r1.32 -r1.33 src/sys/dev/ieee1394/fwohcivar.h
cvs rdiff -u -r1.24 -r1.25 src/sys/dev/ieee1394/if_fwip.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/firewire.c
diff -u src/sys/dev/ieee1394/firewire.c:1.38 src/sys/dev/ieee1394/firewire.c:1.39
--- src/sys/dev/ieee1394/firewire.c:1.38	Tue Sep  7 07:26:54 2010
+++ src/sys/dev/ieee1394/firewire.c	Sun Apr 29 18:31:40 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: firewire.c,v 1.38 2010/09/07 07:26:54 cegger Exp $	*/
+/*	$NetBSD: firewire.c,v 1.39 2012/04/29 18:31:40 dsl Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: firewire.c,v 1.38 2010/09/07 07:26:54 cegger Exp $);
+__KERNEL_RCSID(0, $NetBSD: firewire.c,v 1.39 2012/04/29 18:31:40 dsl Exp $);
 
 #include sys/param.h
 #include sys/bus.h
@@ -128,7 +128,6 @@ err:
 }
 
 MALLOC_DEFINE(M_FW, ieee1394, IEEE1394);
-MALLOC_DEFINE(M_FWXFER, fw_xfer, XFER/IEEE1394);
 
 #define FW_MAXASYRTY 4
 
@@ -1139,7 +1138,7 @@ fw_rcv(struct fw_rcv_buf *rb)
 cannot respond(bus reset)!\n);
 return;
 			}
-			rb-xfer = fw_xfer_alloc(M_FWXFER);
+			rb-xfer = fw_xfer_alloc(M_FW);
 			if (rb-xfer == NULL)
 return;
 			rb-xfer-send.spd = rb-spd;
@@ -1543,7 +1542,7 @@ fw_phy_config(struct firewire_comm *fc, 
 
 	fc-status = FWBUSPHYCONF;
 
-	xfer = fw_xfer_alloc(M_FWXFER);
+	xfer = fw_xfer_alloc(M_FW);
 	if (xfer == NULL)
 		return;
 	xfer-fc = fc;
@@ -2250,7 +2249,7 @@ fw_try_bmr(void *arg)
 	struct fw_pkt *fp;
 	int err = 0;
 
-	xfer = fw_xfer_alloc_buf(M_FWXFER, 8, 4);
+	xfer = fw_xfer_alloc_buf(M_FW, 8, 4);
 	if (xfer == NULL)
 		return;
 	xfer-send.spd = 0;

Index: src/sys/dev/ieee1394/firewirereg.h
diff -u src/sys/dev/ieee1394/firewirereg.h:1.16 src/sys/dev/ieee1394/firewirereg.h:1.17
--- src/sys/dev/ieee1394/firewirereg.h:1.16	Sun Apr 24 18:52:26 2011
+++ src/sys/dev/ieee1394/firewirereg.h	Sun Apr 29 18:31:40 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: firewirereg.h,v 1.16 2011/04/24 18:52:26 rmind Exp $	*/
+/*	$NetBSD: firewirereg.h,v 1.17 2012/04/29 18:31:40 dsl Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -323,6 +323,5 @@ extern int firewire_phydma_enable;
 #include sys/mallocvar.h
 
 MALLOC_DECLARE(M_FW);
-MALLOC_DECLARE(M_FWXFER);
 
 #endif	/* _FIREWIREREG_H_ */
Index: src/sys/dev/ieee1394/fwmem.c
diff -u src/sys/dev/ieee1394/fwmem.c:1.16 src/sys/dev/ieee1394/fwmem.c:1.17
--- src/sys/dev/ieee1394/fwmem.c:1.16	Sun Jul 31 13:51:53 2011
+++ src/sys/dev/ieee1394/fwmem.c	Sun Apr 29 18:31:40 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: fwmem.c,v 1.16 2011/07/31 13:51:53 uebayasi Exp $	*/
+/*	$NetBSD: fwmem.c,v 1.17 2012/04/29 18:31:40 dsl Exp $	*/
 /*-
  * Copyright (c) 2002-2003
  * 	Hidetoshi Shimokawa. All rights reserved.
@@ -35,7 +35,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: fwmem.c,v 1.16 2011/07/31 13:51:53 uebayasi Exp $);
+__KERNEL_RCSID(0, $NetBSD: fwmem.c,v 1.17 2012/04/29 18:31:40 dsl Exp $);
 
 #include sys/param.h
 #include sys/device.h
@@ -155,8 +155,6 @@ sysctl_fwmem_verify_speed(SYSCTLFN_ARGS)
 	return sysctl_fwmem_verify(SYSCTLFN_CALL(rnode), 0, FWSPD_S400);
 }
 
-MALLOC_DEFINE(M_FWMEM, fwmem, fwmem/IEEE1394);
-
 #define MAXLEN (512  fwmem_speed)
 
 struct fwmem_softc {
@@ -187,7 +185,7 @@ fwmem_open(dev_t dev, int flags, int fmt
 	} else {
 		sc-si_drv1 = (void *)-1;
 		sc-si_drv1 = malloc(sizeof(struct fwmem_softc),
-		M_FWMEM, M_WAITOK);
+		M_FW, M_WAITOK);
 		if (sc-si_drv1 == NULL)
 			return ENOMEM;
 		fms = (struct fwmem_softc *)sc-si_drv1;
@@ -195,7 +193,7 @@ fwmem_open(dev_t dev, int flags, int fmt
 		fms-sc = sc;
 		fms-refcount = 1;
 		STAILQ_INIT(fms-xferlist);
-		xfer = fw_xfer_alloc(M_FWMEM);
+		xfer = fw_xfer_alloc(M_FW);
 		STAILQ_INSERT_TAIL(fms-xferlist, xfer, link);
 	}
 	if (fwmem_debug)
@@ -457,7 +455,7 @@ fwmem_xfer_req(struct fw_device *fwdev, 
 {
 	struct fw_xfer *xfer;
 
-	xfer = fw_xfer_alloc(M_FWMEM);
+	xfer = fw_xfer_alloc(M_FW);
 	if (xfer == NULL)
 		return NULL;
 

Index: src/sys/dev/ieee1394/fwdev.c
diff -u src/sys/dev/ieee1394/fwdev.c:1.26 

CVS commit: src/sys/dev/ieee1394

2011-04-24 Thread Mindaugas Rasiukevicius
Module Name:src
Committed By:   rmind
Date:   Sun Apr 24 18:52:26 UTC 2011

Modified Files:
src/sys/dev/ieee1394: firewirereg.h

Log Message:
Inclusion for malloc decls (missed in previous commit).


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/sys/dev/ieee1394/firewirereg.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/firewirereg.h
diff -u src/sys/dev/ieee1394/firewirereg.h:1.15 src/sys/dev/ieee1394/firewirereg.h:1.16
--- src/sys/dev/ieee1394/firewirereg.h:1.15	Sun Nov 14 15:47:20 2010
+++ src/sys/dev/ieee1394/firewirereg.h	Sun Apr 24 18:52:26 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: firewirereg.h,v 1.15 2010/11/14 15:47:20 uebayasi Exp $	*/
+/*	$NetBSD: firewirereg.h,v 1.16 2011/04/24 18:52:26 rmind Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -320,6 +320,8 @@
 #define BIO_READ B_READ
 #define BIO_WRITE B_WRITE
 
+#include sys/mallocvar.h
+
 MALLOC_DECLARE(M_FW);
 MALLOC_DECLARE(M_FWXFER);
 



CVS commit: src/sys/dev/ieee1394

2010-11-14 Thread Masao Uebayashi
Module Name:src
Committed By:   uebayasi
Date:   Sun Nov 14 15:47:20 UTC 2010

Modified Files:
src/sys/dev/ieee1394: firewire.h firewirereg.h

Log Message:
Include dependencies directly.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/dev/ieee1394/firewire.h
cvs rdiff -u -r1.14 -r1.15 src/sys/dev/ieee1394/firewirereg.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/firewire.h
diff -u src/sys/dev/ieee1394/firewire.h:1.5 src/sys/dev/ieee1394/firewire.h:1.6
--- src/sys/dev/ieee1394/firewire.h:1.5	Mon Mar 29 03:05:27 2010
+++ src/sys/dev/ieee1394/firewire.h	Sun Nov 14 15:47:20 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: firewire.h,v 1.5 2010/03/29 03:05:27 kiyohara Exp $	*/
+/*	$NetBSD: firewire.h,v 1.6 2010/11/14 15:47:20 uebayasi Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -39,6 +39,8 @@
 #ifndef _FIREWIRE_H_
 #define _FIREWIRE_H_
 
+#include sys/ioccom.h
+
 #define	DEV_DEF  0
 #define	DEV_DV   2
 

Index: src/sys/dev/ieee1394/firewirereg.h
diff -u src/sys/dev/ieee1394/firewirereg.h:1.14 src/sys/dev/ieee1394/firewirereg.h:1.15
--- src/sys/dev/ieee1394/firewirereg.h:1.14	Tue Sep  7 07:26:54 2010
+++ src/sys/dev/ieee1394/firewirereg.h	Sun Nov 14 15:47:20 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: firewirereg.h,v 1.14 2010/09/07 07:26:54 cegger Exp $	*/
+/*	$NetBSD: firewirereg.h,v 1.15 2010/11/14 15:47:20 uebayasi Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -38,6 +38,7 @@
 #ifndef _FIREWIREREG_H_
 #define _FIREWIREREG_H_
 
+#include sys/selinfo.h
 #include sys/uio.h
 
 #define PROJECT_STR		The NetBSD Project



CVS commit: src/sys/dev/ieee1394

2010-09-07 Thread Christoph Egger
Module Name:src
Committed By:   cegger
Date:   Tue Sep  7 07:19:46 UTC 2010

Modified Files:
src/sys/dev/ieee1394: fwohci.c

Log Message:
convert tsleep to kpause


To generate a diff of this commit:
cvs rdiff -u -r1.129 -r1.130 src/sys/dev/ieee1394/fwohci.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/fwohci.c
diff -u src/sys/dev/ieee1394/fwohci.c:1.129 src/sys/dev/ieee1394/fwohci.c:1.130
--- src/sys/dev/ieee1394/fwohci.c:1.129	Sun Aug 29 21:15:26 2010
+++ src/sys/dev/ieee1394/fwohci.c	Tue Sep  7 07:19:45 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: fwohci.c,v 1.129 2010/08/29 21:15:26 cegger Exp $	*/
+/*	$NetBSD: fwohci.c,v 1.130 2010/09/07 07:19:45 cegger Exp $	*/
 
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
  *
  */
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: fwohci.c,v 1.129 2010/08/29 21:15:26 cegger Exp $);
+__KERNEL_RCSID(0, $NetBSD: fwohci.c,v 1.130 2010/09/07 07:19:45 cegger Exp $);
 
 #include sys/param.h
 #include sys/atomic.h
@@ -882,13 +882,12 @@
 fwohci_irx_disable(struct firewire_comm *fc, int dmach)
 {
 	struct fwohci_softc *sc = (struct fwohci_softc *)fc;
-	int sleepch;
 
 	OWRITE(sc, OHCI_IRCTLCLR(dmach), OHCI_CNTL_DMA_RUN);
 	OWRITE(sc, OHCI_IR_MASKCLR, 1  dmach);
 	OWRITE(sc, OHCI_IR_STATCLR, 1  dmach);
 	/* XXX we cannot free buffers until the DMA really stops */
-	tsleep((void *)sleepch, FWPRI, fwirxd, hz);
+	kpause(fwirxd, true, hz, NULL);
 	fwohci_db_free(sc, sc-ir[dmach]);
 	sc-ir[dmach].xferq.flag = ~FWXFERQ_RUNNING;
 	return 0;
@@ -1016,14 +1015,13 @@
 fwohci_itx_disable(struct firewire_comm *fc, int dmach)
 {
 	struct fwohci_softc *sc = (struct fwohci_softc *)fc;
-	int sleepch;
 
 	OWRITE(sc, OHCI_ITCTLCLR(dmach),
 	OHCI_CNTL_DMA_RUN | OHCI_CNTL_CYCMATCH_S);
 	OWRITE(sc, OHCI_IT_MASKCLR, 1  dmach);
 	OWRITE(sc, OHCI_IT_STATCLR, 1  dmach);
 	/* XXX we cannot free buffers until the DMA really stops */
-	tsleep((void *)sleepch, FWPRI, fwitxd, hz);
+	kpause(fwitxd, true, hz, NULL);
 	fwohci_db_free(sc, sc-it[dmach]);
 	sc-it[dmach].xferq.flag = ~FWXFERQ_RUNNING;
 	return 0;



CVS commit: src/sys/dev/ieee1394

2010-09-07 Thread Christoph Egger
Module Name:src
Committed By:   cegger
Date:   Tue Sep  7 07:26:54 UTC 2010

Modified Files:
src/sys/dev/ieee1394: firewire.c firewirereg.h

Log Message:
do not assume all fw devices speak sbp.
teach the fw attach code to deal with different fw device classes.
this allows other fw drivers than sbp to attach


To generate a diff of this commit:
cvs rdiff -u -r1.37 -r1.38 src/sys/dev/ieee1394/firewire.c
cvs rdiff -u -r1.13 -r1.14 src/sys/dev/ieee1394/firewirereg.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/firewire.c
diff -u src/sys/dev/ieee1394/firewire.c:1.37 src/sys/dev/ieee1394/firewire.c:1.38
--- src/sys/dev/ieee1394/firewire.c:1.37	Thu Aug 26 08:56:15 2010
+++ src/sys/dev/ieee1394/firewire.c	Tue Sep  7 07:26:54 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: firewire.c,v 1.37 2010/08/26 08:56:15 cegger Exp $	*/
+/*	$NetBSD: firewire.c,v 1.38 2010/09/07 07:26:54 cegger Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: firewire.c,v 1.37 2010/08/26 08:56:15 cegger Exp $);
+__KERNEL_RCSID(0, $NetBSD: firewire.c,v 1.38 2010/09/07 07:26:54 cegger Exp $);
 
 #include sys/param.h
 #include sys/bus.h
@@ -1959,6 +1959,45 @@
 	/* NOTREACHED */
 }
 
+static const char *
+fw_get_devclass(struct fw_device *fwdev)
+{
+	struct crom_context cc;
+	struct csrreg *reg;
+
+	crom_init_context(cc, fwdev-csrrom);
+	reg = crom_search_key(cc, CSRKEY_VER);
+	if (reg == NULL)
+		return null;
+
+	switch (reg-val) {
+	case CSR_PROTAVC:
+		return av/c;
+	case CSR_PROTCAL:
+		return cal;
+	case CSR_PROTEHS:
+		return ehs;
+	case CSR_PROTHAVI:
+		return havi;
+	case CSR_PROTCAM104:
+		return cam104;
+	case CSR_PROTCAM120:
+		return cam120;
+	case CSR_PROTCAM130:
+		return cam130;
+	case CSR_PROTDPP:
+		return printer;
+	case CSR_PROTIICP:
+		return iicp;
+	case CSRVAL_T10SBP2:
+		return sbp;
+	default:
+		if (firewire_debug)
+			printf(%s: reg-val 0x%x\n,
+__func__, reg-val);
+		return sbp;
+	}
+}
 
 /*
  * To attach sub-devices layer onto IEEE1394 bus.
@@ -1973,7 +2012,7 @@
 	struct fw_attach_args fwa;
 	int locs[IEEE1394IFCF_NLOCS];
 
-	fwa.name = sbp;
+	fwa.name = null;
 	fwa.fc = fc;
 
 	mutex_enter(fc-fc_mtx);
@@ -1993,16 +2032,17 @@
 			locs[IEEE1394IFCF_EUIHI] = fwdev-eui.hi;
 			locs[IEEE1394IFCF_EUILO] = fwdev-eui.lo;
 
+			fwa.name = fw_get_devclass(fwdev);
 			fwa.fwdev = fwdev;
-			fwdev-sbp = config_found_sm_loc(sc-dev, ieee1394if,
+			fwdev-dev = config_found_sm_loc(sc-dev, ieee1394if,
 			locs, fwa, firewire_print, config_stdsubmatch);
-			if (fwdev-sbp == NULL) {
+			if (fwdev-dev == NULL) {
 free(devlist, M_DEVBUF);
 break;
 			}
 
 			devlist-fwdev = fwdev;
-			devlist-dev = fwdev-sbp;
+			devlist-dev = fwdev-dev;
 
 			mutex_enter(fc-fc_mtx);
 			if (SLIST_EMPTY(sc-devlist))
@@ -2064,7 +2104,7 @@
 			link);
 			free(devlist, M_DEVBUF);
 
-			if (config_detach(fwdev-sbp, DETACH_FORCE) != 0)
+			if (config_detach(fwdev-dev, DETACH_FORCE) != 0)
 return;
 
 			STAILQ_REMOVE(fc-devices, fwdev, fw_device, link);

Index: src/sys/dev/ieee1394/firewirereg.h
diff -u src/sys/dev/ieee1394/firewirereg.h:1.13 src/sys/dev/ieee1394/firewirereg.h:1.14
--- src/sys/dev/ieee1394/firewirereg.h:1.13	Sun May 23 18:56:58 2010
+++ src/sys/dev/ieee1394/firewirereg.h	Tue Sep  7 07:26:54 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: firewirereg.h,v 1.13 2010/05/23 18:56:58 christos Exp $	*/
+/*	$NetBSD: firewirereg.h,v 1.14 2010/09/07 07:26:54 cegger Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -63,7 +63,7 @@
 #define FWDEVATTACHED	2
 #define FWDEVINVAL	3
 	STAILQ_ENTRY(fw_device) link;
-	device_t sbp;
+	device_t dev;
 };
 
 struct firewire_softc {



CVS commit: src/sys/dev/ieee1394

2010-08-29 Thread Christoph Egger
Module Name:src
Committed By:   cegger
Date:   Sun Aug 29 21:14:16 UTC 2010

Modified Files:
src/sys/dev/ieee1394: sbp.h

Log Message:
Confilict - Conflict


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/dev/ieee1394/sbp.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/sbp.h
diff -u src/sys/dev/ieee1394/sbp.h:1.5 src/sys/dev/ieee1394/sbp.h:1.6
--- src/sys/dev/ieee1394/sbp.h:1.5	Thu Apr 29 06:51:26 2010
+++ src/sys/dev/ieee1394/sbp.h	Sun Aug 29 21:14:16 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: sbp.h,v 1.5 2010/04/29 06:51:26 kiyohara Exp $	*/
+/*	$NetBSD: sbp.h,v 1.6 2010/08/29 21:14:16 cegger Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -147,7 +147,7 @@
 /* 6: Busy retry limit exceeded: ack_busy_B */
 /* 7-A: Reserved for future standardization */
 /* B: Tardy retry limit exceeded */
-/* C: Confilict error */
+/* C: Conflict error */
 /* D: Data error */
 /* E: Type error */
 /* F: Address error */



CVS commit: src/sys/dev/ieee1394

2010-08-29 Thread Christoph Egger
Module Name:src
Committed By:   cegger
Date:   Sun Aug 29 21:15:26 UTC 2010

Modified Files:
src/sys/dev/ieee1394: fwohci.c

Log Message:
fix grammar in error message


To generate a diff of this commit:
cvs rdiff -u -r1.128 -r1.129 src/sys/dev/ieee1394/fwohci.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/fwohci.c
diff -u src/sys/dev/ieee1394/fwohci.c:1.128 src/sys/dev/ieee1394/fwohci.c:1.129
--- src/sys/dev/ieee1394/fwohci.c:1.128	Sun May 23 18:56:58 2010
+++ src/sys/dev/ieee1394/fwohci.c	Sun Aug 29 21:15:26 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: fwohci.c,v 1.128 2010/05/23 18:56:58 christos Exp $	*/
+/*	$NetBSD: fwohci.c,v 1.129 2010/08/29 21:15:26 cegger Exp $	*/
 
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
  *
  */
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: fwohci.c,v 1.128 2010/05/23 18:56:58 christos Exp $);
+__KERNEL_RCSID(0, $NetBSD: fwohci.c,v 1.129 2010/08/29 21:15:26 cegger Exp $);
 
 #include sys/param.h
 #include sys/atomic.h
@@ -2104,7 +2104,7 @@
 #endif
 			OWRITE(sc, FWOHCI_INTMASKCLR, OHCI_INT_CYC_LOST);
 			aprint_error_dev(fc-dev, too many cycle lost, 
-			no cycle master presents?\n);
+			no cycle master present?\n);
 		}
 	}
 	if (stat  OHCI_INT_DMA_ATRQ)



CVS commit: src/sys/dev/ieee1394

2010-08-26 Thread Christoph Egger
Module Name:src
Committed By:   cegger
Date:   Thu Aug 26 07:36:53 UTC 2010

Modified Files:
src/sys/dev/ieee1394: fwcrom.c iec13213.h

Log Message:
- print expected crc when it does not match
- add and print secondary text leaf. This prints the model name of my webcam.
- add csr keys that are printed as 'unknown' otherwise


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 src/sys/dev/ieee1394/fwcrom.c
cvs rdiff -u -r1.4 -r1.5 src/sys/dev/ieee1394/iec13213.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/fwcrom.c
diff -u src/sys/dev/ieee1394/fwcrom.c:1.12 src/sys/dev/ieee1394/fwcrom.c:1.13
--- src/sys/dev/ieee1394/fwcrom.c:1.12	Sat Apr 24 21:34:29 2010
+++ src/sys/dev/ieee1394/fwcrom.c	Thu Aug 26 07:36:53 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: fwcrom.c,v 1.12 2010/04/24 21:34:29 cegger Exp $	*/
+/*	$NetBSD: fwcrom.c,v 1.13 2010/08/26 07:36:53 cegger Exp $	*/
 /*-
  * Copyright (c) 2002-2003
  * 	Hidetoshi Shimokawa. All rights reserved.
@@ -34,7 +34,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: fwcrom.c,v 1.12 2010/04/24 21:34:29 cegger Exp $);
+__KERNEL_RCSID(0, $NetBSD: fwcrom.c,v 1.13 2010/08/26 07:36:53 cegger Exp $);
 
 #include sys/param.h
 #ifdef _KERNEL
@@ -178,10 +178,16 @@
 		return;
 
 	reg = crom_get(cc);
-	if (reg-key != CROM_TEXTLEAF ||
-	(char *)(reg + reg-val)  CROM_END(cc)) {
-		strncpy(buf, nullstr, len);
-		return;
+	switch (reg-key) {
+	case CROM_TEXTLEAF:
+	case CROM_TEXTLEAF2:
+		break;
+	default:
+		if ((char *)(reg + reg-val)  CROM_END(cc)) {
+			strncpy(buf, nullstr, len);
+			return;
+		}
+		break;
 	}
 	textleaf = (struct csrtext *)(reg + reg-val);
 
@@ -288,7 +294,7 @@
 	switch (reg-key  CSRTYPE_MASK) {
 	case CSRTYPE_I:
 #if 0
-		len -= snprintf(buf, len, %d, reg-val);
+		len -= snprintf(buf, len, 0x%x, reg-val);
 		buf += strlen(buf);
 #else
 		*buf = '\0';
@@ -304,33 +310,43 @@
 	case CSRTYPE_D:
 		dir = (struct csrdirectory *) (reg + reg-val);
 		crc = crom_crc((uint32_t *)dir-entry, dir-crc_len);
-		len -= snprintf(buf, len, len=%d crc=0x%04x(%s) ,
-		dir-crc_len, dir-crc, (crc == dir-crc) ? OK : NG);
+		len -= snprintf(buf, len, len=%d crc=0x%04x ,
+		dir-crc_len, crc);
+		buf += strlen(buf);
+
+		if (crc == dir-crc)
+			len -= snprintf(buf, len, (OK) );
+		else
+			len -= snprintf(buf, len, (NG, 0x%x) ,
+			dir-crc);
 		buf += strlen(buf);
 	}
 	switch (reg-key) {
-	case 0x03:
+	case CSRKEY_VENDOR: /* 0x03 */
 		desc = module_vendor_ID;
 		break;
-	case 0x04:
+	case CSRKEY_HW: /* 0x04 */
 		desc = hardware_version;
 		break;
-	case 0x0c:
+	case CSRKEY_NCAP: /* 0x0c */
 		desc = node_capabilities;
 		break;
-	case 0x12:
+	case CSRKEY_SPEC: /* 0x12 */
 		desc = unit_spec_ID;
 		break;
-	case 0x13:
+	case CSRKEY_VER: /* 0x13 */
 		desc = unit_sw_version;
 		crom_desc_specver(0, reg-val, buf, len);
 		break;
-	case 0x14:
+	case CSRKEY_DINFO: /* 0x14 */
 		desc = logical_unit_number;
 		break;
-	case 0x17:
+	case CSRKEY_MODEL: /* 0x17 */
 		desc = model_ID;
 		break;
+	case CSRKEY_REV: /* 0x21 */
+		desc = revision_ID;
+		break;
 	case 0x38:
 		desc = command_set_spec_ID;
 		break;
@@ -349,13 +365,20 @@
 	case 0x3d:
 		desc = reconnect_timeout;
 		break;
+	case 0x40:
+		desc = command_regs_base;
+		break;
 	case 0x54:
 		desc = management_agent;
 		break;
-	case 0x81:
+	case CROM_TEXTLEAF: /* 0x81 */
+	case CROM_TEXTLEAF2: /* 0x82 */
 		desc = text_leaf;
 		crom_parse_text(cc, buf + strlen(buf), len);
 		break;
+	case CROM_NODEID: /* 0x8d */
+		desc = node_unique_ID;
+		break;
 	case 0xd1:
 		desc = unit_directory;
 		break;

Index: src/sys/dev/ieee1394/iec13213.h
diff -u src/sys/dev/ieee1394/iec13213.h:1.4 src/sys/dev/ieee1394/iec13213.h:1.5
--- src/sys/dev/ieee1394/iec13213.h:1.4	Mon Mar 29 03:05:28 2010
+++ src/sys/dev/ieee1394/iec13213.h	Thu Aug 26 07:36:53 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: iec13213.h,v 1.4 2010/03/29 03:05:28 kiyohara Exp $	*/
+/*	$NetBSD: iec13213.h,v 1.5 2010/08/26 07:36:53 cegger Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -105,8 +105,10 @@
 
 #define CROM_UDIR	(CSRTYPE_D | CSRKEY_UNIT)  /* 0x81 Unit directory */
 #define CROM_TEXTLEAF	(CSRTYPE_L | CSRKEY_DESC)  /* 0x81 Text leaf */
+#define CROM_TEXTLEAF2	(CSRTYPE_L | CSRKEY_BDINFO)/* 0x82 Text leaf2 */
 #define CROM_LUN	(CSRTYPE_I | CSRKEY_DINFO) /* 0x14 Logical unit num. */
 #define CROM_MGM	(CSRTYPE_C | CSRKEY_DINFO) /* 0x54 Management agent */
+#define CROM_NODEID	0x8d /* only valid for IEEE 1394-1995 digital camera */
 
 #define CSRVAL_VENDOR_PRIVATE	0xacde48
 #define CSRVAL_1394TA	0x00a02d



CVS commit: src/sys/dev/ieee1394

2010-08-26 Thread Christoph Egger
Module Name:src
Committed By:   cegger
Date:   Thu Aug 26 08:56:16 UTC 2010

Modified Files:
src/sys/dev/ieee1394: firewire.c

Log Message:
fix crash when detaching/re-attaching a cable where three firewire devices are 
on the bus.


To generate a diff of this commit:
cvs rdiff -u -r1.36 -r1.37 src/sys/dev/ieee1394/firewire.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/firewire.c
diff -u src/sys/dev/ieee1394/firewire.c:1.36 src/sys/dev/ieee1394/firewire.c:1.37
--- src/sys/dev/ieee1394/firewire.c:1.36	Sat Aug 14 18:28:59 2010
+++ src/sys/dev/ieee1394/firewire.c	Thu Aug 26 08:56:15 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: firewire.c,v 1.36 2010/08/14 18:28:59 jym Exp $	*/
+/*	$NetBSD: firewire.c,v 1.37 2010/08/26 08:56:15 cegger Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: firewire.c,v 1.36 2010/08/14 18:28:59 jym Exp $);
+__KERNEL_RCSID(0, $NetBSD: firewire.c,v 1.37 2010/08/26 08:56:15 cegger Exp $);
 
 #include sys/param.h
 #include sys/bus.h
@@ -2053,6 +2053,10 @@
 			SLIST_FOREACH(devlist, sc-devlist, link)
 if (devlist-fwdev == fwdev)
 	break;
+
+			if (devlist == NULL)
+continue;
+
 			if (devlist-fwdev != fwdev)
 panic(already detached);
 



CVS commit: src/sys/dev/ieee1394

2010-08-16 Thread Christoph Egger
Module Name:src
Committed By:   cegger
Date:   Mon Aug 16 06:05:07 UTC 2010

Modified Files:
src/sys/dev/ieee1394: fwdev.c

Log Message:
do not hold mutexes when calling tsleep(9).
Fixes LOCKDEBUG panics


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/sys/dev/ieee1394/fwdev.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/fwdev.c
diff -u src/sys/dev/ieee1394/fwdev.c:1.22 src/sys/dev/ieee1394/fwdev.c:1.23
--- src/sys/dev/ieee1394/fwdev.c:1.22	Sun May 23 18:56:58 2010
+++ src/sys/dev/ieee1394/fwdev.c	Mon Aug 16 06:05:07 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: fwdev.c,v 1.22 2010/05/23 18:56:58 christos Exp $	*/
+/*	$NetBSD: fwdev.c,v 1.23 2010/08/16 06:05:07 cegger Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: fwdev.c,v 1.22 2010/05/23 18:56:58 christos Exp $);
+__KERNEL_RCSID(0, $NetBSD: fwdev.c,v 1.23 2010/08/16 06:05:07 cegger Exp $);
 
 #include sys/param.h
 #include sys/device.h
@@ -248,7 +248,9 @@
 		if (slept == 0) {
 			slept = 1;
 			ir-flag |= FWXFERQ_WAKEUP;
+			mutex_exit(fc-fc_mtx);
 			err = tsleep(ir, FWPRI, fw_read, hz);
+			mutex_enter(fc-fc_mtx);
 			ir-flag = ~FWXFERQ_WAKEUP;
 			if (err == 0)
 goto readloop;
@@ -324,7 +326,9 @@
 			if (err)
 goto out;
 #endif
+			mutex_exit(fc-fc_mtx);
 			err = tsleep(it, FWPRI, fw_write, hz);
+			mutex_enter(fc-fc_mtx);
 			if (err)
 goto out;
 			goto isoloop;



CVS commit: src/sys/dev/ieee1394

2010-05-22 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun May 23 02:24:40 UTC 2010

Modified Files:
src/sys/dev/ieee1394: firewire.c firewirereg.h

Log Message:
don't allocate rom scratch memory from an interrupt context:

fwohci0: BUS reset
panic: kernel diagnostic assertion !cpu_intr_p() failed: file ../../../../ker
n/subr_kmem.c, line 195
fatal breakpoint trap in supervisor mode
trap type 1 code 0 rip 8022db1d cs 8 rflags 246 cr2  0 cpl 6 rsp fff
f80fafb08
breakpoint() at netbsd:breakpoint+0x5
panic() at netbsd:panic+0x2ba
kern_assert() at netbsd:kern_assert+0x2d
kmem_alloc() at netbsd:kmem_alloc+0x18a
kmem_zalloc() at netbsd:kmem_zalloc+0xf
fw_busreset() at netbsd:fw_busreset+0x23b
fwohci_intr() at netbsd:fwohci_intr+0xa56
...


To generate a diff of this commit:
cvs rdiff -u -r1.33 -r1.34 src/sys/dev/ieee1394/firewire.c
cvs rdiff -u -r1.11 -r1.12 src/sys/dev/ieee1394/firewirereg.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/firewire.c
diff -u src/sys/dev/ieee1394/firewire.c:1.33 src/sys/dev/ieee1394/firewire.c:1.34
--- src/sys/dev/ieee1394/firewire.c:1.33	Sat May 15 06:42:51 2010
+++ src/sys/dev/ieee1394/firewire.c	Sat May 22 22:24:40 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: firewire.c,v 1.33 2010/05/15 10:42:51 kiyohara Exp $	*/
+/*	$NetBSD: firewire.c,v 1.34 2010/05/23 02:24:40 christos Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: firewire.c,v 1.33 2010/05/15 10:42:51 kiyohara Exp $);
+__KERNEL_RCSID(0, $NetBSD: firewire.c,v 1.34 2010/05/23 02:24:40 christos Exp $);
 
 #include sys/param.h
 #include sys/bus.h
@@ -548,7 +548,6 @@
 	struct firewire_dev_list *devlist;
 	struct firewire_dev_comm *fdc;
 	struct crom_src *src;
-	uint32_t *newrom;
 
 	if (fc-status == FWBUSMGRELECT)
 		callout_stop(fc-bmr_callout);
@@ -583,15 +582,13 @@
 	 * Configuration ROM.
 	 */
 #define FW_MAX_GENERATION	0xF
-	newrom = kmem_zalloc(CROMSIZE, KM_NOSLEEP);
 	src = fc-crom_src_buf-src;
-	crom_load(src, newrom, CROMSIZE);
-	if (memcmp(newrom, fc-config_rom, CROMSIZE) != 0) {
+	crom_load(src, fc-new_rom, CROMSIZE);
+	if (memcmp(fc-new_rom, fc-config_rom, CROMSIZE) != 0) {
 		if (src-businfo.generation++  FW_MAX_GENERATION)
 			src-businfo.generation = FW_GENERATION_CHANGEABLE;
-		memcpy((void *)fc-config_rom, newrom, CROMSIZE);
+		memcpy(fc-config_rom, fc-new_rom, CROMSIZE);
 	}
-	kmem_free(newrom, CROMSIZE);
 }
 
 /* Call once after reboot */

Index: src/sys/dev/ieee1394/firewirereg.h
diff -u src/sys/dev/ieee1394/firewirereg.h:1.11 src/sys/dev/ieee1394/firewirereg.h:1.12
--- src/sys/dev/ieee1394/firewirereg.h:1.11	Sun Mar 28 23:05:27 2010
+++ src/sys/dev/ieee1394/firewirereg.h	Sat May 22 22:24:40 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: firewirereg.h,v 1.11 2010/03/29 03:05:27 kiyohara Exp $	*/
+/*	$NetBSD: firewirereg.h,v 1.12 2010/05/23 02:24:40 christos Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -141,6 +141,7 @@
 	uint32_t csr_arc[CSRSIZE/4];
 #define CROMSIZE 0x400
 	uint32_t *config_rom;
+	uint32_t *new_rom;
 	struct crom_src_buf *crom_src_buf;
 	struct crom_src *crom_src;
 	struct crom_chunk *crom_root;



CVS commit: src/sys/dev/ieee1394

2010-05-14 Thread KIYOHARA Takashi
Module Name:src
Committed By:   kiyohara
Date:   Fri May 14 12:10:07 UTC 2010

Modified Files:
src/sys/dev/ieee1394: fwdev.c

Log Message:
Use kmem(9) instead of malloc(9).


To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 src/sys/dev/ieee1394/fwdev.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/fwdev.c
diff -u src/sys/dev/ieee1394/fwdev.c:1.20 src/sys/dev/ieee1394/fwdev.c:1.21
--- src/sys/dev/ieee1394/fwdev.c:1.20	Mon May 10 12:17:32 2010
+++ src/sys/dev/ieee1394/fwdev.c	Fri May 14 12:10:07 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: fwdev.c,v 1.20 2010/05/10 12:17:32 kiyohara Exp $	*/
+/*	$NetBSD: fwdev.c,v 1.21 2010/05/14 12:10:07 kiyohara Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: fwdev.c,v 1.20 2010/05/10 12:17:32 kiyohara Exp $);
+__KERNEL_RCSID(0, $NetBSD: fwdev.c,v 1.21 2010/05/14 12:10:07 kiyohara Exp $);
 
 #include sys/param.h
 #include sys/device.h
@@ -654,7 +654,7 @@
 		err = copyout(ptr, crom_buf-ptr, len);
 		if (fwdev == NULL)
 			/* myself */
-			free(ptr, M_FW);
+			kmem_free(ptr, CROMSIZE);
 		break;
 
 	default:



CVS commit: src/sys/dev/ieee1394

2010-05-14 Thread KIYOHARA Takashi
Module Name:src
Committed By:   kiyohara
Date:   Fri May 14 12:25:19 UTC 2010

Modified Files:
src/sys/dev/ieee1394: firewire.c

Log Message:
May be easy to understand 'pay_len  0' more than 'paylaod != NULL'.


To generate a diff of this commit:
cvs rdiff -u -r1.31 -r1.32 src/sys/dev/ieee1394/firewire.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/firewire.c
diff -u src/sys/dev/ieee1394/firewire.c:1.31 src/sys/dev/ieee1394/firewire.c:1.32
--- src/sys/dev/ieee1394/firewire.c:1.31	Mon May 10 12:17:32 2010
+++ src/sys/dev/ieee1394/firewire.c	Fri May 14 12:25:19 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: firewire.c,v 1.31 2010/05/10 12:17:32 kiyohara Exp $	*/
+/*	$NetBSD: firewire.c,v 1.32 2010/05/14 12:25:19 kiyohara Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: firewire.c,v 1.31 2010/05/10 12:17:32 kiyohara Exp $);
+__KERNEL_RCSID(0, $NetBSD: firewire.c,v 1.32 2010/05/14 12:25:19 kiyohara Exp $);
 
 #include sys/param.h
 #include sys/bus.h
@@ -920,9 +920,9 @@
 		return;
 	}
 	fw_xfer_unload(xfer);
-	if (xfer-send.payload != NULL)
+	if (xfer-send.pay_len  0)
 		kmem_free(xfer-send.payload, xfer-send.pay_len);
-	if (xfer-recv.payload != NULL)
+	if (xfer-recv.pay_len  0)
 		kmem_free(xfer-recv.payload, xfer-recv.pay_len);
 	cv_destroy(xfer-cv);
 	kmem_free(xfer, sizeof(struct fw_xfer));



CVS commit: src/sys/dev/ieee1394

2010-05-10 Thread KIYOHARA Takashi
Module Name:src
Committed By:   kiyohara
Date:   Mon May 10 12:17:33 UTC 2010

Modified Files:
src/sys/dev/ieee1394: firewire.c fwdev.c fwdma.c fwmem.c fwohci.c
if_fwip.c sbp.c

Log Message:
Use kmem(9) instead of malloc(9).


To generate a diff of this commit:
cvs rdiff -u -r1.30 -r1.31 src/sys/dev/ieee1394/firewire.c \
src/sys/dev/ieee1394/sbp.c
cvs rdiff -u -r1.19 -r1.20 src/sys/dev/ieee1394/fwdev.c
cvs rdiff -u -r1.14 -r1.15 src/sys/dev/ieee1394/fwdma.c
cvs rdiff -u -r1.12 -r1.13 src/sys/dev/ieee1394/fwmem.c
cvs rdiff -u -r1.125 -r1.126 src/sys/dev/ieee1394/fwohci.c
cvs rdiff -u -r1.22 -r1.23 src/sys/dev/ieee1394/if_fwip.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/firewire.c
diff -u src/sys/dev/ieee1394/firewire.c:1.30 src/sys/dev/ieee1394/firewire.c:1.31
--- src/sys/dev/ieee1394/firewire.c:1.30	Tue Apr  6 10:45:15 2010
+++ src/sys/dev/ieee1394/firewire.c	Mon May 10 12:17:32 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: firewire.c,v 1.30 2010/04/06 10:45:15 reinoud Exp $	*/
+/*	$NetBSD: firewire.c,v 1.31 2010/05/10 12:17:32 kiyohara Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: firewire.c,v 1.30 2010/04/06 10:45:15 reinoud Exp $);
+__KERNEL_RCSID(0, $NetBSD: firewire.c,v 1.31 2010/05/10 12:17:32 kiyohara Exp $);
 
 #include sys/param.h
 #include sys/bus.h
@@ -48,7 +48,7 @@
 #include sys/errno.h
 #include sys/kernel.h
 #include sys/kthread.h
-#include sys/malloc.h
+#include sys/kmem.h
 #include sys/queue.h
 #include sys/sysctl.h
 #include sys/systm.h
@@ -217,28 +217,24 @@
 	if (fc-nisodma  FWMAXNDMA)
 	fc-nisodma = FWMAXNDMA;
 
-	fc-crom_src_buf =
-	(struct crom_src_buf *)malloc(sizeof(struct crom_src_buf),
-	M_FW, M_NOWAIT | M_ZERO);
+	fc-crom_src_buf = kmem_zalloc(sizeof(struct crom_src_buf), KM_NOSLEEP);
 	if (fc-crom_src_buf == NULL) {
-		aprint_error_dev(fc-bdev, Malloc Failure crom src buff\n);
+		aprint_error_dev(fc-bdev,
+		kmem alloc failure crom src buff\n);
 		return;
 	}
 	fc-topology_map =
-	(struct fw_topology_map *)malloc(sizeof(struct fw_topology_map),
-	M_FW, M_NOWAIT | M_ZERO);
+	kmem_zalloc(sizeof(struct fw_topology_map), KM_NOSLEEP);
 	if (fc-topology_map == NULL) {
 		aprint_error_dev(fc-dev, Malloc Failure topology map\n);
-		free(fc-crom_src_buf, M_FW);
+		kmem_free(fc-crom_src_buf, sizeof(struct crom_src_buf));
 		return;
 	}
-	fc-speed_map =
-	(struct fw_speed_map *)malloc(sizeof(struct fw_speed_map),
-	M_FW, M_NOWAIT | M_ZERO);
+	fc-speed_map = kmem_zalloc(sizeof(struct fw_speed_map), KM_NOSLEEP);
 	if (fc-speed_map == NULL) {
 		aprint_error_dev(fc-dev, Malloc Failure speed map\n);
-		free(fc-crom_src_buf, M_FW);
-		free(fc-topology_map, M_FW);
+		kmem_free(fc-crom_src_buf, sizeof(struct crom_src_buf));
+		kmem_free(fc-topology_map, sizeof(struct fw_topology_map));
 		return;
 	}
 
@@ -262,7 +258,7 @@
 		aprint_error_dev(self, kthread_create failed\n);
 	config_pending_incr();
 
-	devlist = malloc(sizeof(struct firewire_dev_list), M_DEVBUF, M_NOWAIT);
+	devlist = kmem_alloc(sizeof(struct firewire_dev_list), KM_NOSLEEP);
 	if (devlist == NULL) {
 		aprint_error_dev(self, device list allocation failed\n);
 		return;
@@ -273,7 +269,7 @@
 	faa.fwdev = NULL;
 	devlist-dev = config_found(sc-dev, faa, firewire_print);
 	if (devlist-dev == NULL)
-		free(devlist, M_DEVBUF);
+		kmem_free(devlist, sizeof(struct firewire_dev_list));
 	else
 		SLIST_INSERT_HEAD(sc-devlist, devlist, link);
 
@@ -315,7 +311,7 @@
 		if ((err = config_detach(devlist-dev, flags)) != 0)
 			return err;
 		SLIST_REMOVE(sc-devlist, devlist, firewire_dev_list, link);
-		free(devlist, M_DEVBUF);
+		kmem_free(devlist, sizeof(struct firewire_dev_list));
 	}
 
 	callout_stop(fc-timeout_callout);
@@ -326,11 +322,11 @@
 	for (fwdev = STAILQ_FIRST(fc-devices); fwdev != NULL;
 	fwdev = fwdev_next) {
 		fwdev_next = STAILQ_NEXT(fwdev, link);
-		free(fwdev, M_FW);
+		kmem_free(fwdev, sizeof(struct fw_device));
 	}
-	free(fc-topology_map, M_FW);
-	free(fc-speed_map, M_FW);
-	free(fc-crom_src_buf, M_FW);
+	kmem_free(fc-topology_map, sizeof(struct fw_topology_map));
+	kmem_free(fc-speed_map, sizeof(struct fw_speed_map));
+	kmem_free(fc-crom_src_buf, sizeof(struct crom_src_buf));
 
 	cv_destroy(fc-fc_cv);
 	mutex_destroy(fc-wait_lock);
@@ -586,7 +582,7 @@
 	 * Configuration ROM.
 	 */
 #define FW_MAX_GENERATION	0xF
-	newrom = malloc(CROMSIZE, M_FW, M_NOWAIT | M_ZERO);
+	newrom = kmem_zalloc(CROMSIZE, KM_NOSLEEP);
 	src = fc-crom_src_buf-src;
 	crom_load(src, newrom, CROMSIZE);
 	if (memcmp(newrom, fc-config_rom, CROMSIZE) != 0) {
@@ -594,7 +590,7 @@
 			src-businfo.generation = FW_GENERATION_CHANGEABLE;
 		memcpy((void *)fc-config_rom, newrom, CROMSIZE);
 	}
-	free(newrom, M_FW);
+	

CVS commit: src/sys/dev/ieee1394

2010-04-29 Thread KIYOHARA Takashi
Module Name:src
Committed By:   kiyohara
Date:   Thu Apr 29 06:51:26 UTC 2010

Modified Files:
src/sys/dev/ieee1394: sbp.c sbp.h

Log Message:
+ Use structs scsipi_inquiry_data/scsi_sense_data instead of scsi3_inquiry_data/
  scsi3_sense_data.
+ s/switch()/switch ()/.
+ Change args for printf().  (FUNCNAME ...) - (%s ...\n, __func__, ...)
+ Indent.
+ Remove unnecessary cast.


To generate a diff of this commit:
cvs rdiff -u -r1.29 -r1.30 src/sys/dev/ieee1394/sbp.c
cvs rdiff -u -r1.4 -r1.5 src/sys/dev/ieee1394/sbp.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/sbp.c
diff -u src/sys/dev/ieee1394/sbp.c:1.29 src/sys/dev/ieee1394/sbp.c:1.30
--- src/sys/dev/ieee1394/sbp.c:1.29	Mon Mar 29 03:05:28 2010
+++ src/sys/dev/ieee1394/sbp.c	Thu Apr 29 06:51:26 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: sbp.c,v 1.29 2010/03/29 03:05:28 kiyohara Exp $	*/
+/*	$NetBSD: sbp.c,v 1.30 2010/04/29 06:51:26 kiyohara Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: sbp.c,v 1.29 2010/03/29 03:05:28 kiyohara Exp $);
+__KERNEL_RCSID(0, $NetBSD: sbp.c,v 1.30 2010/04/29 06:51:26 kiyohara Exp $);
 
 
 #include sys/param.h
@@ -92,10 +92,10 @@
  * 48-64(16): bus_id, node_id
  */
 #define SBP_BIND_HI 0x1
-#define SBP_DEV2ADDR(u, l) \
-	(((u_int64_t)SBP_BIND_HI  32) \
-	| (((u)  0x3fff)  10) \
-	| (((l)  0xff)  2))
+#define SBP_DEV2ADDR(u, l)		 \
+	(((uint64_t)SBP_BIND_HI  32)	|\
+	 (((u)  0x3fff)  10)		|\
+	 (((l)  0xff)  2))
 #define SBP_ADDR2UNIT(a)	(((a)  10)  0x3fff)
 #define SBP_ADDR2LUN(a)		(((a)  2)  0xff)
 #define SBP_INITIATOR 7
@@ -937,7 +937,7 @@
 	int i;
 
 SBP_DEBUG(1)
-	printf(sbp_probe_target %d\n, target-target_id);
+	printf(%s %d\n, __func__, target-target_id);
 END_DEBUG
 
 	sbp_alloc_lun(target);
@@ -1484,7 +1484,7 @@
 	ocb-flags = OCB_ACT_MGM;
 	ocb-sdev = sdev;
 
-	memset((void *)ocb-orb, 0, sizeof(ocb-orb));
+	memset(ocb-orb, 0, sizeof(ocb-orb));
 	ocb-orb[6] = htonl((nid  16) | SBP_BIND_HI);
 	ocb-orb[7] = htonl(SBP_DEV2ADDR(dv_unit, sdev-lun_id));
 
@@ -1579,8 +1579,7 @@
 sbp_scsi_status(struct sbp_status *sbp_status, struct sbp_ocb *ocb)
 {
 	struct sbp_cmd_status *sbp_cmd_status;
-	scsi3_sense_data_t sense =
-	(scsi3_sense_data_t)ocb-xs-sense.scsi_sense;
+	struct scsi_sense_data *sense = ocb-xs-sense.scsi_sense;
 
 	sbp_cmd_status = (struct sbp_cmd_status *)sbp_status-data;
 
@@ -1608,7 +1607,7 @@
 		else
 			sense-response_code = SSD_RCODE_DEFERRED;
 		if (sbp_cmd_status-valid)
-			sense-response_code |= SSD_RESPONSE_CODE_VALID;
+			sense-response_code |= SSD_RCODE_VALID;
 		sense-flags = sbp_cmd_status-s_key;
 		if (sbp_cmd_status-mark)
 			sense-flags |= SSD_FILEMARK;
@@ -1617,25 +1616,25 @@
 		if (sbp_cmd_status-ill_len)
 			sense-flags |= SSD_ILI;
 
-		memcpy(sense-information, sbp_cmd_status-info, 4);
+		memcpy(sense-info, sbp_cmd_status-info, 4);
 
 		if (sbp_status-len = 1)
 			/* XXX not scsi status. shouldn't be happened */
-			sense-asl = 0;
+			sense-extra_len = 0;
 		else if (sbp_status-len = 4)
 			/* add_sense_code(_qual), info, cmd_spec_info */
-			sense-asl = 6;
+			sense-extra_len = 6;
 		else
 			/* fru, sense_key_spec */
-			sense-asl = 10;
+			sense-extra_len = 10;
 
 		memcpy(sense-csi, sbp_cmd_status-cdb, 4);
 
 		sense-asc = sbp_cmd_status-s_code;
 		sense-ascq = sbp_cmd_status-s_qlfr;
-		sense-fruc = sbp_cmd_status-fru;
+		sense-fru = sbp_cmd_status-fru;
 
-		memcpy(sense-sks, sbp_cmd_status-s_keydep, 3);
+		memcpy(sense-sks.sks_bytes, sbp_cmd_status-s_keydep, 3);
 		ocb-xs-error = XS_SENSE;
 		ocb-xs-xs_status = sbp_cmd_status-status;
 /*
@@ -1663,7 +1662,8 @@
 {
 	struct scsipi_xfer *xs = ocb-xs;
 	struct sbp_dev *sdev;
-	scsi3_inquiry_data_t inq = (scsi3_inquiry_data_t)xs-data;
+	struct scsipi_inquiry_data *inq =
+	(struct scsipi_inquiry_data *)xs-data;
 
 	sdev = ocb-sdev;
 
@@ -1709,9 +1709,9 @@
 	 * XXX CAM also checks SCP_QUEUE_DQUE flag in the control mode page.
 	 */
 	if (sbp_tags  0)
-		inq-flags[1] |= SID_CmdQue;
+		inq-flags3 |= SID_CmdQue;
 	else if (sbp_tags  0)
-		inq-flags[1] = ~SID_CmdQue;
+		inq-flags3 = ~SID_CmdQue;
 
 }
 
@@ -1818,7 +1818,7 @@
 END_DEBUG
 		printf(%s:%s\n, device_xname(sc-sc_fd.dev), sdev-bustgtlun);
 		status = sbp_status-status;
-		switch(sbp_status-resp) {
+		switch (sbp_status-resp) {
 		case SBP_REQ_CMP:
 			if (status  MAX_ORB_STATUS0)
 printf(%s\n, orb_status0[MAX_ORB_STATUS0]);
@@ -1853,17 +1853,17 @@
 	if (ocb == NULL)
 		goto done;
 
-	switch(ntohl(ocb-orb[4])  ORB_FMT_MSK) {
+	switch (ntohl(ocb-orb[4])  ORB_FMT_MSK) {
 	case ORB_FMT_NOP:
 		break;
 	case ORB_FMT_VED:
 		break;
 	case ORB_FMT_STD:
-		switch(ocb-flags) {
+		switch (ocb-flags) {
 		case OCB_ACT_MGM:
 			orb_fun = ntohl(ocb-orb[4])  ORB_FUN_MSK;
 			reset_agent = 0;
-			switch(orb_fun) {
+			

CVS commit: src/sys/dev/ieee1394

2010-04-29 Thread KIYOHARA Takashi
Module Name:src
Committed By:   kiyohara
Date:   Thu Apr 29 06:53:13 UTC 2010

Modified Files:
src/sys/dev/ieee1394: fwohci.c

Log Message:
+ Fix typo.
+ Call aprint_error_dev() instead of aprint_error().


To generate a diff of this commit:
cvs rdiff -u -r1.124 -r1.125 src/sys/dev/ieee1394/fwohci.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/fwohci.c
diff -u src/sys/dev/ieee1394/fwohci.c:1.124 src/sys/dev/ieee1394/fwohci.c:1.125
--- src/sys/dev/ieee1394/fwohci.c:1.124	Mon Apr 19 07:00:58 2010
+++ src/sys/dev/ieee1394/fwohci.c	Thu Apr 29 06:53:13 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: fwohci.c,v 1.124 2010/04/19 07:00:58 kiyohara Exp $	*/
+/*	$NetBSD: fwohci.c,v 1.125 2010/04/29 06:53:13 kiyohara Exp $	*/
 
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
  *
  */
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: fwohci.c,v 1.124 2010/04/19 07:00:58 kiyohara Exp $);
+__KERNEL_RCSID(0, $NetBSD: fwohci.c,v 1.125 2010/04/29 06:53:13 kiyohara Exp $);
 
 #include sys/param.h
 #include sys/atomic.h
@@ -2010,7 +2010,7 @@
 			/* allow from all nodes */
 			OWRITE(sc, OHCI_PREQHI, 0x7fff);
 			OWRITE(sc, OHCI_PREQLO, 0x);
-			/* 0 to 4GB regison */
+			/* 0 to 4GB region */
 			OWRITE(sc, OHCI_PREQUPPER, 0x1);
 		}
 		/* Set ATRetries register */
@@ -2027,7 +2027,7 @@
 		aprint_normal_dev(fc-dev, node_id=0x%08x, gen=%d, ,
 		node_id, (plen  16)  0xff);
 		if (!(node_id  OHCI_NODE_VALID)) {
-			aprint_error(Bus reset failure\n);
+			aprint_error_dev(fc-dev, Bus reset failure\n);
 			goto sidout;
 		}
 



CVS commit: src/sys/dev/ieee1394

2010-04-29 Thread KIYOHARA Takashi
Module Name:src
Committed By:   kiyohara
Date:   Thu Apr 29 06:53:49 UTC 2010

Modified Files:
src/sys/dev/ieee1394: fwdev.c

Log Message:
Remove unnecessary cast.


To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 src/sys/dev/ieee1394/fwdev.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/fwdev.c
diff -u src/sys/dev/ieee1394/fwdev.c:1.18 src/sys/dev/ieee1394/fwdev.c:1.19
--- src/sys/dev/ieee1394/fwdev.c:1.18	Mon Mar 29 03:05:27 2010
+++ src/sys/dev/ieee1394/fwdev.c	Thu Apr 29 06:53:48 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: fwdev.c,v 1.18 2010/03/29 03:05:27 kiyohara Exp $	*/
+/*	$NetBSD: fwdev.c,v 1.19 2010/04/29 06:53:48 kiyohara Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: fwdev.c,v 1.18 2010/03/29 03:05:27 kiyohara Exp $);
+__KERNEL_RCSID(0, $NetBSD: fwdev.c,v 1.19 2010/04/29 06:53:48 kiyohara Exp $);
 
 #include sys/param.h
 #include sys/device.h
@@ -511,10 +511,10 @@
 			break;
 		}
 
-		memcpy((void *)xfer-send.hdr, fp, tinfo-hdr_len);
+		memcpy(xfer-send.hdr, fp, tinfo-hdr_len);
 		if (pay_len  0)
-			memcpy((void *)xfer-send.payload,
-			(char *)fp + tinfo-hdr_len, pay_len);
+			memcpy(xfer-send.payload, (char *)fp + tinfo-hdr_len,
+			pay_len);
 		xfer-send.spd = asyreq-req.sped;
 		xfer-hand = fw_xferwake;
 



CVS commit: src/sys/dev/ieee1394

2010-04-29 Thread KIYOHARA Takashi
Module Name:src
Committed By:   kiyohara
Date:   Thu Apr 29 06:56:00 UTC 2010

Modified Files:
src/sys/dev/ieee1394: fwdma.c

Log Message:
Call malloc(M_ZERO) instead of malloc() and memset().


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/sys/dev/ieee1394/fwdma.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/fwdma.c
diff -u src/sys/dev/ieee1394/fwdma.c:1.13 src/sys/dev/ieee1394/fwdma.c:1.14
--- src/sys/dev/ieee1394/fwdma.c:1.13	Mon Mar 29 03:05:27 2010
+++ src/sys/dev/ieee1394/fwdma.c	Thu Apr 29 06:56:00 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: fwdma.c,v 1.13 2010/03/29 03:05:27 kiyohara Exp $	*/
+/*	$NetBSD: fwdma.c,v 1.14 2010/04/29 06:56:00 kiyohara Exp $	*/
 /*-
  * Copyright (c) 2003
  * 	Hidetoshi Shimokawa. All rights reserved.
@@ -35,7 +35,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: fwdma.c,v 1.13 2010/03/29 03:05:27 kiyohara Exp $);
+__KERNEL_RCSID(0, $NetBSD: fwdma.c,v 1.14 2010/04/29 06:56:00 kiyohara Exp $);
 #if defined(__FreeBSD__)
 __FBSDID($FreeBSD: src/sys/dev/firewire/fwdma.c,v 1.9 2007/06/06 14:31:36 simokawa Exp $);
 #endif
@@ -141,7 +141,8 @@
 	struct fwdma_alloc_multi *am;
 	struct fwdma_seg *seg;
 	bus_size_t ssize;
-	int nseg, size;
+	size_t size;
+	int nseg;
 
 	if (esize  PAGE_SIZE) {
 		/* round up to PAGE_SIZE */
@@ -154,12 +155,11 @@
 	}
 	size = sizeof(struct fwdma_alloc_multi) +
 	sizeof(struct fwdma_seg) * nseg;
-	am = (struct fwdma_alloc_multi *)malloc(size, M_FW, M_WAITOK);
+	am = (struct fwdma_alloc_multi *)malloc(size, M_FW, M_WAITOK | M_ZERO);
 	if (am == NULL) {
 		aprint_error_dev(fc-dev, malloc failed\n);
 		return NULL;
 	}
-	memset(am, 0, size);
 	am-ssize = ssize;
 	am-esize = esize;
 	am-nseg = 0;



CVS commit: src/sys/dev/ieee1394

2010-04-24 Thread Christoph Egger
Module Name:src
Committed By:   cegger
Date:   Sat Apr 24 21:34:29 UTC 2010

Modified Files:
src/sys/dev/ieee1394: fwcrom.c

Log Message:
ANSIfy, KNF


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/sys/dev/ieee1394/fwcrom.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/fwcrom.c
diff -u src/sys/dev/ieee1394/fwcrom.c:1.11 src/sys/dev/ieee1394/fwcrom.c:1.12
--- src/sys/dev/ieee1394/fwcrom.c:1.11	Mon Mar 29 03:05:27 2010
+++ src/sys/dev/ieee1394/fwcrom.c	Sat Apr 24 21:34:29 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: fwcrom.c,v 1.11 2010/03/29 03:05:27 kiyohara Exp $	*/
+/*	$NetBSD: fwcrom.c,v 1.12 2010/04/24 21:34:29 cegger Exp $	*/
 /*-
  * Copyright (c) 2002-2003
  * 	Hidetoshi Shimokawa. All rights reserved.
@@ -34,7 +34,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: fwcrom.c,v 1.11 2010/03/29 03:05:27 kiyohara Exp $);
+__KERNEL_RCSID(0, $NetBSD: fwcrom.c,v 1.12 2010/04/24 21:34:29 cegger Exp $);
 
 #include sys/param.h
 #ifdef _KERNEL
@@ -524,7 +524,8 @@
 
 #ifdef TEST
 int
-main () {
+main(void)
+{
 	struct crom_src src;
 	struct crom_chunk root, unit1, unit2, unit3;
 	struct crom_chunk text1, text2, text3, text4, text5, text6, text7;



CVS commit: src/sys/dev/ieee1394

2010-04-19 Thread KIYOHARA Takashi
Module Name:src
Committed By:   kiyohara
Date:   Mon Apr 19 07:00:58 UTC 2010

Modified Files:
src/sys/dev/ieee1394: fwohci.c

Log Message:
Fix a bug.
  STAILQ is not NULL termination.


To generate a diff of this commit:
cvs rdiff -u -r1.123 -r1.124 src/sys/dev/ieee1394/fwohci.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/fwohci.c
diff -u src/sys/dev/ieee1394/fwohci.c:1.123 src/sys/dev/ieee1394/fwohci.c:1.124
--- src/sys/dev/ieee1394/fwohci.c:1.123	Mon Mar 29 07:34:02 2010
+++ src/sys/dev/ieee1394/fwohci.c	Mon Apr 19 07:00:58 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: fwohci.c,v 1.123 2010/03/29 07:34:02 kiyohara Exp $	*/
+/*	$NetBSD: fwohci.c,v 1.124 2010/04/19 07:00:58 kiyohara Exp $	*/
 
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
  *
  */
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: fwohci.c,v 1.123 2010/03/29 07:34:02 kiyohara Exp $);
+__KERNEL_RCSID(0, $NetBSD: fwohci.c,v 1.124 2010/04/19 07:00:58 kiyohara Exp $);
 
 #include sys/param.h
 #include sys/atomic.h
@@ -1689,12 +1689,12 @@
 static void
 fwohci_db_free(struct fwohci_softc *sc, struct fwohci_dbch *dbch)
 {
-	struct fwohcidb_tr *db_tr;
+	struct fwohcidb_tr *db_tr, *last;
 
 	if ((dbch-flags  FWOHCI_DBCH_INIT) == 0)
 		return;
 
-	for (db_tr = STAILQ_FIRST(dbch-db_trq); db_tr != NULL;
+	for (last = db_tr = STAILQ_FIRST(dbch-db_trq); db_tr != last;
 	db_tr = STAILQ_NEXT(db_tr, link)) {
 		bus_dmamap_destroy(sc-fc.dmat, db_tr-dma_map);
 		if ((dbch-xferq.flag  FWXFERQ_EXTBUF) == 0 



CVS commit: src/sys/dev/ieee1394

2010-04-06 Thread Reinoud Zandijk
Module Name:src
Committed By:   reinoud
Date:   Tue Apr  6 10:45:15 UTC 2010

Modified Files:
src/sys/dev/ieee1394: firewire.c

Log Message:
KASSERT(FALSE) to enter the debugger on this check. When DDB is not defined
but KGDB is, this would result in cpu_Debugger() dont being defined! Please be
kind to developers that use KGDB instead of DDB! :)


To generate a diff of this commit:
cvs rdiff -u -r1.29 -r1.30 src/sys/dev/ieee1394/firewire.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/firewire.c
diff -u src/sys/dev/ieee1394/firewire.c:1.29 src/sys/dev/ieee1394/firewire.c:1.30
--- src/sys/dev/ieee1394/firewire.c:1.29	Mon Mar 29 07:34:02 2010
+++ src/sys/dev/ieee1394/firewire.c	Tue Apr  6 10:45:15 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: firewire.c,v 1.29 2010/03/29 07:34:02 kiyohara Exp $	*/
+/*	$NetBSD: firewire.c,v 1.30 2010/04/06 10:45:15 reinoud Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: firewire.c,v 1.29 2010/03/29 07:34:02 kiyohara Exp $);
+__KERNEL_RCSID(0, $NetBSD: firewire.c,v 1.30 2010/04/06 10:45:15 reinoud Exp $);
 
 #include sys/param.h
 #include sys/bus.h
@@ -1489,7 +1489,7 @@
 		xfer-tl, xfer-flag);
 		fw_dump_hdr(xfer-send.hdr, send);
 		fw_dump_hdr(xfer-recv.hdr, recv);
-		cpu_Debugger();
+		KASSERT(FALSE);
 		return;
 	}
 #endif



CVS commit: src/sys/dev/ieee1394

2010-03-29 Thread KIYOHARA Takashi
Module Name:src
Committed By:   kiyohara
Date:   Mon Mar 29 07:34:02 UTC 2010

Modified Files:
src/sys/dev/ieee1394: firewire.c fwohci.c

Log Message:
Remove more my debugging code.


To generate a diff of this commit:
cvs rdiff -u -r1.28 -r1.29 src/sys/dev/ieee1394/firewire.c
cvs rdiff -u -r1.122 -r1.123 src/sys/dev/ieee1394/fwohci.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/firewire.c
diff -u src/sys/dev/ieee1394/firewire.c:1.28 src/sys/dev/ieee1394/firewire.c:1.29
--- src/sys/dev/ieee1394/firewire.c:1.28	Mon Mar 29 03:42:15 2010
+++ src/sys/dev/ieee1394/firewire.c	Mon Mar 29 07:34:02 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: firewire.c,v 1.28 2010/03/29 03:42:15 kiyohara Exp $	*/
+/*	$NetBSD: firewire.c,v 1.29 2010/03/29 07:34:02 kiyohara Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: firewire.c,v 1.28 2010/03/29 03:42:15 kiyohara Exp $);
+__KERNEL_RCSID(0, $NetBSD: firewire.c,v 1.29 2010/03/29 07:34:02 kiyohara Exp $);
 
 #include sys/param.h
 #include sys/bus.h
@@ -1047,9 +1047,6 @@
 /*
  * Generic packet receiving process.
  */
-#if 0
-int dbgflg = 0;
-#endif
 void
 fw_rcv(struct fw_rcv_buf *rb)
 {
@@ -1088,9 +1085,6 @@
 			fp-mode.hdr.tlrt  3,
 			fp-mode.rresq.data);
 #if 0
-dbgflg=8;
-#endif
-#if 0
 			printf(try ad-hoc work around!!\n);
 			rb-xfer = fw_tl2xfer(rb-fc, fp-mode.hdr.src,
 			(fp-mode.hdr.tlrt  2) ^ 3);

Index: src/sys/dev/ieee1394/fwohci.c
diff -u src/sys/dev/ieee1394/fwohci.c:1.122 src/sys/dev/ieee1394/fwohci.c:1.123
--- src/sys/dev/ieee1394/fwohci.c:1.122	Mon Mar 29 03:42:15 2010
+++ src/sys/dev/ieee1394/fwohci.c	Mon Mar 29 07:34:02 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: fwohci.c,v 1.122 2010/03/29 03:42:15 kiyohara Exp $	*/
+/*	$NetBSD: fwohci.c,v 1.123 2010/03/29 07:34:02 kiyohara Exp $	*/
 
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
  *
  */
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: fwohci.c,v 1.122 2010/03/29 03:42:15 kiyohara Exp $);
+__KERNEL_RCSID(0, $NetBSD: fwohci.c,v 1.123 2010/03/29 07:34:02 kiyohara Exp $);
 
 #include sys/param.h
 #include sys/atomic.h
@@ -2723,9 +2723,6 @@
 	uint8_t *ld;
 	int nvec, resCount, len, plen, hlen, offset;
 	const int psize = dbch-xferq.psize;
-#if 0
-static int prev_resCounts[16], i;
-#endif
 
 #if DIAGNOSTIC
 	if (dbch-off != OHCI_ARQOFF 
@@ -2742,10 +2739,6 @@
 	resCount = FWOHCI_DMA_READ(db_tr-db[0].db.desc.res)  OHCI_COUNT_MASK;
 	while (status  OHCI_CNTL_DMA_ACTIVE) {
 #if 0
-prev_resCounts[i] = resCount;
-i = (i + 1)  0xf;
-#endif
-#if 0
 		if (dbch-off == OHCI_ARQOFF)
 			aprint_normal_dev(sc-fc.dev,
 			buf 0x%08x, status 0x%04x, resCount 0x%04x\n,
@@ -2918,32 +2911,6 @@
 #endif
 break;
 			}
-#if 0
-{
-extern int dbgflg;
-if (dbgflg) {
-	if (dbgflg == 8) {
-		int j;
-
-		printf(%s: i=%d, resCount=%d, __func__, i, prev_resCounts[0]);
-		for (j = 1; j  16; j++)
-			printf(, %d, prev_resCounts[j]);
-		printf(\n);
-	}
-	printf(%s:, __func__);
-	if (dbch-off == OHCI_ARQOFF)
-		printf( ARQ:);
-	else
-		printf( ARS:);
-	printf( plen=%d, offset=%d, buf_offset=%d,, plen, offset, dbch-buf_offset);
-	printf( idx=%d, resCount=%d,, db_tr-idx, resCount);
-	if (dbch-pdb_tr != NULL)
-		printf( pdb=%p, dbch-pdb_tr-db[0].db);
-	printf( db=%p\n, db_tr-db[0].db);
-	dbgflg--;
-}
-}
-#endif
 			if (dbch-pdb_tr != NULL) {
 if (dbch-buf_offset  0)
 	bus_dmamap_sync(sc-fc.dmat,



CVS commit: src/sys/dev/ieee1394

2010-03-28 Thread KIYOHARA Takashi
Module Name:src
Committed By:   kiyohara
Date:   Mon Mar 29 03:42:15 UTC 2010

Modified Files:
src/sys/dev/ieee1394: firewire.c fwohci.c

Log Message:
Remove debugging process.


To generate a diff of this commit:
cvs rdiff -u -r1.27 -r1.28 src/sys/dev/ieee1394/firewire.c
cvs rdiff -u -r1.121 -r1.122 src/sys/dev/ieee1394/fwohci.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/firewire.c
diff -u src/sys/dev/ieee1394/firewire.c:1.27 src/sys/dev/ieee1394/firewire.c:1.28
--- src/sys/dev/ieee1394/firewire.c:1.27	Mon Mar 29 03:05:27 2010
+++ src/sys/dev/ieee1394/firewire.c	Mon Mar 29 03:42:15 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: firewire.c,v 1.27 2010/03/29 03:05:27 kiyohara Exp $	*/
+/*	$NetBSD: firewire.c,v 1.28 2010/03/29 03:42:15 kiyohara Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: firewire.c,v 1.27 2010/03/29 03:05:27 kiyohara Exp $);
+__KERNEL_RCSID(0, $NetBSD: firewire.c,v 1.28 2010/03/29 03:42:15 kiyohara Exp $);
 
 #include sys/param.h
 #include sys/bus.h
@@ -1727,21 +1727,10 @@
 	node = dfwdev-dst;
 
 	/* First quad */
-#if 0
-printf(%s: speed=0x%x(0x%x)\n, __func__, dfwdev-speed, fc-speed_map-speed[fc-nodeid][node]);
-if (dfwdev-speed == 0)
-  dfwdev-speed = fc-speed_map-speed[fc-nodeid][node];
-else if (dfwdev-speed == 2)
-  dfwdev-speed = 1;
-else
-  dfwdev-speed = 0;
-printf(%s: Re: speed=0x%x\n, __func__, dfwdev-speed);
-#endif
 	err = fw_explore_read_quads(dfwdev, CSRROMOFF, csr, 1);
 	if (err) {
 		aprint_error_dev(fc-bdev,
 		node%d: explore_read_quads failure\n, node);
-printf(err=%d\n, err);
 		dfwdev-status = FWDEVINVAL;
 		return -1;
 	}

Index: src/sys/dev/ieee1394/fwohci.c
diff -u src/sys/dev/ieee1394/fwohci.c:1.121 src/sys/dev/ieee1394/fwohci.c:1.122
--- src/sys/dev/ieee1394/fwohci.c:1.121	Mon Mar 29 03:05:27 2010
+++ src/sys/dev/ieee1394/fwohci.c	Mon Mar 29 03:42:15 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: fwohci.c,v 1.121 2010/03/29 03:05:27 kiyohara Exp $	*/
+/*	$NetBSD: fwohci.c,v 1.122 2010/03/29 03:42:15 kiyohara Exp $	*/
 
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
  *
  */
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: fwohci.c,v 1.121 2010/03/29 03:05:27 kiyohara Exp $);
+__KERNEL_RCSID(0, $NetBSD: fwohci.c,v 1.122 2010/03/29 03:42:15 kiyohara Exp $);
 
 #include sys/param.h
 #include sys/atomic.h
@@ -2998,25 +2998,7 @@
 	}
 	fwdma_sync_multiseg(dbch-am, db_tr-idx, db_tr-idx,
 	BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE);
-#if 0
-{
-uint32_t _status;
-
-fwdma_sync_multiseg(dbch-am, db_tr-idx, db_tr-idx, BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE);
-_status = FWOHCI_DMA_READ(db_tr-db[0].db.desc.res)  OHCI_STATUS_SHIFT;
-if (status != _status)
-printf(Ooops status ? 0x%x : 0x%x, %p\n, status, _status, db_tr-db);
-fwdma_sync_multiseg(dbch-am, db_tr-idx, db_tr-idx, BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE);
-_status = FWOHCI_DMA_READ(((struct fwohcidb *)MIPS_PHYS_TO_KSEG1(MIPS_KSEG0_TO_PHYS(db_tr-db)))[0].db.desc.res)  OHCI_STATUS_SHIFT;
-if (status != _status)
-printf(Ops status ? 0x%x : 0x%x\n, status, _status);
-}
-#endif
 	mutex_exit(dbch-xferq.q_mtx);
-#if 0
-prev_resCounts[i] = resCount;
-i = (i + 1)  0xf;
-#endif
 	return;
 
 err:



CVS commit: src/sys/dev/ieee1394

2009-12-06 Thread David Young
Module Name:src
Committed By:   dyoung
Date:   Sun Dec  6 22:56:56 UTC 2009

Modified Files:
src/sys/dev/ieee1394: if_fwip.c

Log Message:
Simplify device-activation hook.


To generate a diff of this commit:
cvs rdiff -u -r1.19 -r1.20 src/sys/dev/ieee1394/if_fwip.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/if_fwip.c
diff -u src/sys/dev/ieee1394/if_fwip.c:1.19 src/sys/dev/ieee1394/if_fwip.c:1.20
--- src/sys/dev/ieee1394/if_fwip.c:1.19	Tue May 12 12:16:55 2009
+++ src/sys/dev/ieee1394/if_fwip.c	Sun Dec  6 22:56:56 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_fwip.c,v 1.19 2009/05/12 12:16:55 cegger Exp $	*/
+/*	$NetBSD: if_fwip.c,v 1.20 2009/12/06 22:56:56 dyoung Exp $	*/
 /*-
  * Copyright (c) 2004
  *	Doug Rabson
@@ -38,7 +38,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: if_fwip.c,v 1.19 2009/05/12 12:16:55 cegger Exp $);
+__KERNEL_RCSID(0, $NetBSD: if_fwip.c,v 1.20 2009/12/06 22:56:56 dyoung Exp $);
 
 #ifdef HAVE_KERNEL_OPTION_HEADERS
 #include opt_device_polling.h
@@ -395,29 +395,20 @@
 	return 0;
 }
 
-#if defined(__NetBSD__)
 int
 fwipactivate(device_t self, enum devact act)
 {
 	struct fwip_softc *fwip = device_private(self);
-	int s, error = 0;
 
-	s = splfwnet();
 	switch (act) {
-	case DVACT_ACTIVATE:
-		error = EOPNOTSUPP;
-		break;
-
 	case DVACT_DEACTIVATE:
 		if_deactivate(fwip-fw_softc.fwip_ifp);
-			break;
+		return 0;
+	default:
+		return EOPNOTSUPP;
 	}
-	splx(s);
-
-	return (error);
 }
 
-#endif
 IF_INIT(fwip)
 {
 	IF_INIT_START(fwip, fwip, ifp);



CVS commit: src/sys/dev/ieee1394

2009-06-20 Thread Christoph Egger
Module Name:src
Committed By:   cegger
Date:   Sat Jun 20 09:40:52 UTC 2009

Modified Files:
src/sys/dev/ieee1394: firewirereg.h

Log Message:
buildfix: don't redefine MIN and MAX. They are defined in sys/param.h.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/sys/dev/ieee1394/firewirereg.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/firewirereg.h
diff -u src/sys/dev/ieee1394/firewirereg.h:1.8 src/sys/dev/ieee1394/firewirereg.h:1.9
--- src/sys/dev/ieee1394/firewirereg.h:1.8	Sat Mar 29 16:22:53 2008
+++ src/sys/dev/ieee1394/firewirereg.h	Sat Jun 20 09:40:52 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: firewirereg.h,v 1.8 2008/03/29 16:22:53 kiyohara Exp $	*/
+/*	$NetBSD: firewirereg.h,v 1.9 2009/06/20 09:40:52 cegger Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -334,8 +334,6 @@
 #define bio_resid b_resid
 #define BIO_READ B_READ
 #define BIO_WRITE B_WRITE
-#define MIN(a,b) (((a)(b))?(a):(b))
-#define MAX(a,b) (((a)(b))?(a):(b))
 #endif
 
 MALLOC_DECLARE(M_FW);



CVS commit: src/sys/dev/ieee1394

2009-06-20 Thread David Young
Module Name:src
Committed By:   dyoung
Date:   Sat Jun 20 20:18:33 UTC 2009

Modified Files:
src/sys/dev/ieee1394: firewirereg.h

Log Message:
unifdef -U__DragonFlyBSD__ -U__FreeBSD__ -D__NetBSD__.

XXX Compiles, but untested.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/sys/dev/ieee1394/firewirereg.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/firewirereg.h
diff -u src/sys/dev/ieee1394/firewirereg.h:1.9 src/sys/dev/ieee1394/firewirereg.h:1.10
--- src/sys/dev/ieee1394/firewirereg.h:1.9	Sat Jun 20 09:40:52 2009
+++ src/sys/dev/ieee1394/firewirereg.h	Sat Jun 20 20:18:32 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: firewirereg.h,v 1.9 2009/06/20 09:40:52 cegger Exp $	*/
+/*	$NetBSD: firewirereg.h,v 1.10 2009/06/20 20:18:32 dyoung Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -63,24 +63,17 @@
 };
 
 struct firewire_softc {
-#if defined(__FreeBSD__)  __FreeBSD_version = 50
-	fw_dev_t dev;
-	device_t sbp_dev;
-#elif defined(__NetBSD__)
 	device_t dev;
 	SLIST_HEAD(, firewire_dev_list) devlist;
 	void *si_drv1;
 	int si_iosize_max;
-#endif
 	struct firewire_comm *fc;
 };
-#if defined(__NetBSD__)
 struct firewire_dev_list {
 	SLIST_ENTRY(firewire_dev_list) link;
 	device_t dev;
 	struct fw_device *fwdev;
 };
-#endif
 
 #define FW_MAX_DMACH 0x20
 #define FW_MAX_DEVCH FW_MAX_DMACH
@@ -297,26 +290,14 @@
 void fw_drain_txq (struct firewire_comm *);
 int fwdev_makedev (struct firewire_softc *);
 int fwdev_destroydev (struct firewire_softc *);
-#if defined(__FreeBSD__)  __FreeBSD_version = 50
-void fwdev_clone (void *, struct ucred *, char *, int, fw_dev_t *);
-#endif
 int fw_open_isodma(struct firewire_comm *, int);
 
 extern int firewire_debug;
-#if defined(__FreeBSD__)
-extern devclass_t firewire_devclass;
-#elif defined(__NetBSD__)
 extern struct cfdriver ieee1394if_cd;
-#endif
 extern int firewire_phydma_enable;
 
-#ifdef __DragonFly__
-#define		FWPRI		PCATCH
-#else
 #define		FWPRI		((PZERO+8)|PCATCH)
-#endif
 
-#if defined(__DragonFly__) || __FreeBSD_version  50 || defined(__NetBSD__)
 /* compatibility shim for 4.X */
 #define bio buf
 #define bio_bcount b_bcount
@@ -326,15 +307,10 @@
 #define bio_dev b_dev
 #define bio_error b_error
 #define bio_flags b_flags
-#if defined(__FreeBSD__)
-#define bio_offset b_offset
-#elif defined(__NetBSD__)
 #define bio_offset b_blkno
-#endif
 #define bio_resid b_resid
 #define BIO_READ B_READ
 #define BIO_WRITE B_WRITE
-#endif
 
 MALLOC_DECLARE(M_FW);
 MALLOC_DECLARE(M_FWXFER);