summaryrefslogtreecommitdiff
path: root/multimedia/pwcbsd/files/extra-patch-pwc.h
diff options
context:
space:
mode:
authorLars Engels <lme@FreeBSD.org>2009-05-28 18:53:53 +0000
committerLars Engels <lme@FreeBSD.org>2009-05-28 18:53:53 +0000
commit3d642d5919a37532457845efe9cb9d5cb0b86fa9 (patch)
tree70f4f5d21f2e58fb18c03834811064cd4039354f /multimedia/pwcbsd/files/extra-patch-pwc.h
parentMake fetchable again by upgrading to 7.5.11. (diff)
- Fix build on 7.x
- Mark BROKEN for older 8-CURRENT - Bump PORTREVISION
Diffstat (limited to 'multimedia/pwcbsd/files/extra-patch-pwc.h')
-rw-r--r--multimedia/pwcbsd/files/extra-patch-pwc.h95
1 files changed, 95 insertions, 0 deletions
diff --git a/multimedia/pwcbsd/files/extra-patch-pwc.h b/multimedia/pwcbsd/files/extra-patch-pwc.h
new file mode 100644
index 000000000000..5c514ba7f8fc
--- /dev/null
+++ b/multimedia/pwcbsd/files/extra-patch-pwc.h
@@ -0,0 +1,95 @@
+--- pwc.h.orig 2006-09-27 07:21:01.000000000 +0200
++++ pwc.h 2009-05-27 20:22:49.147289211 +0200
+@@ -44,8 +44,16 @@
+ #include <vm/pmap.h>
+
+ #include <dev/usb/usb.h>
+-#include <dev/usb/usbdi.h>
+-#include <dev/usb/usbdi_util.h>
++#include <dev/usb/usb_mfunc.h>
++#include <dev/usb/usb_error.h>
++
++#include <dev/usb/usb_core.h>
++#include <dev/usb/usb_debug.h>
++#include <dev/usb/usb_lookup.h>
++#include <dev/usb/usb_util.h>
++#include <dev/usb/usb_busdma.h>
++#include <dev/usb/usb_request.h>
++
+ #include "pwc-uncompress.h"
+ #include "pwc-ioctl.h"
+ #include "videodev.h"
+@@ -69,7 +77,7 @@
+ #define TRACE_READ_VERBOSE 0x0800
+ #define TRACE_SEQUENCE 0x1000
+
+-#ifdef USB_DEBUG
++#if USB_DEBUG
+ #define Trace(R, A...) if (pwcdebug & R) printf(PWC_NAME " " A)
+ #define Debug(A...) if(pwcdebug) printf(PWC_NAME " " A)
+ extern int pwcdebug;
+@@ -93,14 +101,9 @@
+ #define FRAME_LOWMARK 5
+
+ /* Size and number of buffers for the ISO pipe. */
+-#define MAX_ISO_BUFS 3
+-
+-/* !!!!!!!!!! IMPORTANT DO NOT SET THIS HIGHER THAN 8 !!!!!!!!!!!!!!!
+- * !!!!!!!!!! OHCI IS BUGGY IF YOU DO SO !!!!!!!!!!!!!!!*/
+-#define ISO_FRAMES_PER_DESC 8
++#define MAX_ISO_BUFS 2
+
+-#define ISO_MAX_FRAME_SIZE 960
+-#define ISO_BUFFER_SIZE (ISO_FRAMES_PER_DESC * ISO_MAX_FRAME_SIZE)
++#define ISO_FRAMES_PER_DESC 16 /* should be multiple of 8 */
+
+ /* Frame buffers: contains compressed or uncompressed video data. */
+ #define MAX_FRAMES 5
+@@ -133,17 +136,17 @@
+ struct pwc_softc
+ {
+ device_t sc_dev;
+- usbd_device_handle udev;
+- usbd_interface_handle sc_iface;
+- usbd_pipe_handle sc_videopipe;
++
++ struct usb2_xfer *sc_xfer[MAX_ISO_BUFS];
++ struct usb2_device *udev;
+ struct cdev *sc_dev_t;
+
+ struct selinfo rsel;
+- char *name;
++ uint8_t sc_iface_index;
+ int type; /* type of cam (645, 646, 675, 680, 690, 720, 730, 740, 750) */
+ int release; /* release number */
+ int features; /* feature bits */
+- char serial[USB_MAX_STRING_LEN]; /* serial number (string) */
++ char serial[64]; /* serial number (string) */
+ int error_status; /* set when something goes wrong with the cam (unplugged, USB errors) */
+ int usb_init; /* set when the cam has been initialized over USB */
+
+@@ -165,7 +168,6 @@
+ int vframe_count; /* received frames */
+ int vframes_dumped; /* counter for dumped frames */
+ int vframes_error; /* frames received in error */
+- int vmax_packet_size; /* USB maxpacket size */
+ u_int16_t vlast_packet_size; /* for frame synchronisation */
+ int visoc_errors; /* number of contiguous ISOC errors */
+ int vcompression; /* desired compression factor */
+@@ -187,15 +189,7 @@
+ Note that MAX_ISO_BUFS != MAX_FRAMES != MAX_IMAGES....
+ We have in effect a back-to-back-double-buffer system.
+ */
+- /* 1: isoc */
+- struct pwc_iso_buf
+- {
+- unsigned char *data;
+- usbd_xfer_handle xfer;
+- u_int16_t sizes[ISO_FRAMES_PER_DESC];
+- struct pwc_softc *sc;
+- } sbuf[MAX_ISO_BUFS];
+-
++
+ char iso_init;
+
+ /* 2: frame */