Lines Matching +full:0 +full:xf000
42 #define BUFFER_SIZE 0x1000
46 #define ZR364XX_READ_IDLE 0
55 } while (0)
66 #define METHOD0 0
81 MODULE_PARM_DESC(mode, "0 = 320x240, 1 = 160x120, 2 = 640x480");
87 {USB_DEVICE(0x08ca, 0x0109), .driver_info = METHOD0 },
88 {USB_DEVICE(0x041e, 0x4024), .driver_info = METHOD0 },
89 {USB_DEVICE(0x0d64, 0x0108), .driver_info = METHOD0 },
90 {USB_DEVICE(0x0546, 0x3187), .driver_info = METHOD0 },
91 {USB_DEVICE(0x0d64, 0x3108), .driver_info = METHOD0 },
92 {USB_DEVICE(0x0595, 0x4343), .driver_info = METHOD0 },
93 {USB_DEVICE(0x0bb0, 0x500d), .driver_info = METHOD0 },
94 {USB_DEVICE(0x0feb, 0x2004), .driver_info = METHOD0 },
95 {USB_DEVICE(0x055f, 0xb500), .driver_info = METHOD0 },
96 {USB_DEVICE(0x08ca, 0x2062), .driver_info = METHOD2 },
97 {USB_DEVICE(0x052b, 0x1a18), .driver_info = METHOD1 },
98 {USB_DEVICE(0x04c8, 0x0729), .driver_info = METHOD0 },
99 {USB_DEVICE(0x04f2, 0xa208), .driver_info = METHOD0 },
100 {USB_DEVICE(0x0784, 0x0040), .driver_info = METHOD1 },
101 {USB_DEVICE(0x06d6, 0x0034), .driver_info = METHOD0 },
102 {USB_DEVICE(0x0a17, 0x0062), .driver_info = METHOD2 },
103 {USB_DEVICE(0x06d6, 0x003b), .driver_info = METHOD0 },
104 {USB_DEVICE(0x0a17, 0x004e), .driver_info = METHOD2 },
105 {USB_DEVICE(0x041e, 0x405d), .driver_info = METHOD2 },
106 {USB_DEVICE(0x08ca, 0x2102), .driver_info = METHOD3 },
107 {USB_DEVICE(0x06d6, 0x003d), .driver_info = METHOD0 },
204 usb_sndctrlpipe(udev, 0), in send_control_msg()
223 /* method 0 */
224 static unsigned char m0d1[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
225 static unsigned char m0d2[] = { 0, 0, 0, 0, 0, 0 };
226 static unsigned char m0d3[] = { 0, 0 };
228 {0x1f30, 0, NULL},
229 {0xd000, 0, NULL},
230 {0x3370, sizeof(m0d1), m0d1},
231 {0x2000, 0, NULL},
232 {0x2f0f, 0, NULL},
233 {0x2610, sizeof(m0d2), m0d2},
234 {0xe107, 0, NULL},
235 {0x2502, 0, NULL},
236 {0x1f70, 0, NULL},
237 {0xd000, 0, NULL},
238 {0x9a01, sizeof(m0d3), m0d3},
243 static unsigned char m1d1[] = { 0xff, 0xff };
244 static unsigned char m1d2[] = { 0x00, 0x00 };
246 {0x1f30, 0, NULL},
247 {0xd000, 0, NULL},
248 {0xf000, 0, NULL},
249 {0x2000, 0, NULL},
250 {0x2f0f, 0, NULL},
251 {0x2650, 0, NULL},
252 {0xe107, 0, NULL},
253 {0x2502, sizeof(m1d1), m1d1},
254 {0x1f70, 0, NULL},
255 {0xd000, 0, NULL},
256 {0xd000, 0, NULL},
257 {0xd000, 0, NULL},
258 {0x9a01, sizeof(m1d2), m1d2},
263 static unsigned char m2d1[] = { 0xff, 0xff };
265 {0x1f30, 0, NULL},
266 {0xf000, 0, NULL},
267 {0x2000, 0, NULL},
268 {0x2f0f, 0, NULL},
269 {0x2650, 0, NULL},
270 {0xe107, 0, NULL},
271 {0x2502, sizeof(m2d1), m2d1},
272 {0x1f70, 0, NULL},
282 0xFF, 0xD8,
284 0xFF, 0xE0, 0x00, 0x10, 'J', 'F', 'I', 'F',
285 0x00, 0x01, 0x01, 0x00, 0x33, 0x8A, 0x00, 0x00, 0x33, 0x88,
287 0xFF, 0xDB, 0x00, 0x84
290 0xFF, 0xC4, 0x00, 0x1F, 0x00, 0x00, 0x01, 0x05, 0x01, 0x01, 0x01,
291 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
292 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B,
293 0xFF, 0xC4, 0x00, 0xB5, 0x10, 0x00, 0x02, 0x01, 0x03, 0x03, 0x02,
294 0x04, 0x03, 0x05, 0x05, 0x04, 0x04, 0x00, 0x00, 0x01, 0x7D, 0x01,
295 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12, 0x21, 0x31, 0x41, 0x06,
296 0x13, 0x51, 0x61, 0x07, 0x22, 0x71, 0x14, 0x32, 0x81, 0x91, 0xA1,
297 0x08, 0x23, 0x42, 0xB1, 0xC1, 0x15, 0x52, 0xD1, 0xF0, 0x24, 0x33,
298 0x62, 0x72, 0x82, 0x09, 0x0A, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x25,
299 0x26, 0x27, 0x28, 0x29, 0x2A, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
300 0x3A, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x53, 0x54,
301 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x63, 0x64, 0x65, 0x66, 0x67,
302 0x68, 0x69, 0x6A, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A,
303 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x92, 0x93, 0x94,
304 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6,
305 0xA7, 0xA8, 0xA9, 0xAA, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8,
306 0xB9, 0xBA, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA,
307 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xE1, 0xE2,
308 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xF1, 0xF2, 0xF3,
309 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xFF, 0xC4, 0x00, 0x1F,
310 0x01, 0x00, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
311 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04,
312 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0xFF, 0xC4, 0x00, 0xB5,
313 0x11, 0x00, 0x02, 0x01, 0x02, 0x04, 0x04, 0x03, 0x04, 0x07, 0x05,
314 0x04, 0x04, 0x00, 0x01, 0x02, 0x77, 0x00, 0x01, 0x02, 0x03, 0x11,
315 0x04, 0x05, 0x21, 0x31, 0x06, 0x12, 0x41, 0x51, 0x07, 0x61, 0x71,
316 0x13, 0x22, 0x32, 0x81, 0x08, 0x14, 0x42, 0x91, 0xA1, 0xB1, 0xC1,
317 0x09, 0x23, 0x33, 0x52, 0xF0, 0x15, 0x62, 0x72, 0xD1, 0x0A, 0x16,
318 0x24, 0x34, 0xE1, 0x25, 0xF1, 0x17, 0x18, 0x19, 0x1A, 0x26, 0x27,
319 0x28, 0x29, 0x2A, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x43, 0x44,
320 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x53, 0x54, 0x55, 0x56, 0x57,
321 0x58, 0x59, 0x5A, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A,
322 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x82, 0x83, 0x84,
323 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x92, 0x93, 0x94, 0x95, 0x96,
324 0x97, 0x98, 0x99, 0x9A, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8,
325 0xA9, 0xAA, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA,
326 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xD2, 0xD3,
327 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xE2, 0xE3, 0xE4, 0xE5,
328 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
329 0xF8, 0xF9, 0xFA, 0xFF, 0xC0, 0x00, 0x11, 0x08, 0x00, 0xF0, 0x01,
330 0x40, 0x03, 0x01, 0x21, 0x00, 0x02, 0x11, 0x01, 0x03, 0x11, 0x01,
331 0xFF, 0xDA, 0x00, 0x0C, 0x03, 0x01, 0x00, 0x02, 0x11, 0x03, 0x11,
332 0x00, 0x3F, 0x00
347 if (*count == 0) in buffer_setup()
353 return 0; in buffer_setup()
380 if (buf->vb.baddr != 0 && buf->vb.bsize < buf->vb.size) { in buffer_prepare()
392 if (rc < 0) in buffer_prepare()
397 return 0; in buffer_prepare()
442 int err = 0; in zr364xx_read()
457 if (err == 0) { in zr364xx_read()
481 int pos = 0; in zr364xx_fillbuff()
517 unsigned long flags = 0; in zr364xx_got_frame()
518 int rc = 0; in zr364xx_got_frame()
549 * returns 0 on success, EAGAIN if more data to process (call this
560 int i = 0; in zr364xx_read_video_callback()
568 for (i = 0; i < purb->actual_length/2; i++) in zr364xx_read_video_callback()
592 frm->cur_size = 0; in zr364xx_read_video_callback()
597 header3 = 0; in zr364xx_read_video_callback()
613 psrc[0], psrc[1], psrc[2], in zr364xx_read_video_callback()
637 cam->cur_frame = 0; in zr364xx_read_video_callback()
644 if (*ptr == 0xFF && *(ptr + 1) == 0xD9 in zr364xx_read_video_callback()
645 && *(ptr + 2) == 0xFF) in zr364xx_read_video_callback()
655 if (*ptr == 0xFF && *(ptr + 1) == 0xFF in zr364xx_read_video_callback()
656 && *(ptr + 2) == 0xFF) in zr364xx_read_video_callback()
669 pdest[0], pdest[1], pdest[2], pdest[3], in zr364xx_read_video_callback()
677 frm->cur_size = 0; in zr364xx_read_video_callback()
680 return 0; in zr364xx_read_video_callback()
693 return 0; in zr364xx_vidioc_querycap()
699 if (i->index != 0) in zr364xx_vidioc_enum_input()
703 return 0; in zr364xx_vidioc_enum_input()
709 *i = 0; in zr364xx_vidioc_g_input()
710 return 0; in zr364xx_vidioc_g_input()
716 if (i != 0) in zr364xx_vidioc_s_input()
718 return 0; in zr364xx_vidioc_s_input()
730 send_control_msg(cam->udev, 1, 0x2001, 0, NULL, 0); in zr364xx_s_ctrl()
731 temp = (0x60 << 8) + 127 - ctrl->val; in zr364xx_s_ctrl()
732 send_control_msg(cam->udev, 1, temp, 0, NULL, 0); in zr364xx_s_ctrl()
738 return 0; in zr364xx_s_ctrl()
744 if (f->index > 0) in zr364xx_vidioc_enum_fmt_vid_cap()
746 f->pixelformat = formats[0].fourcc; in zr364xx_vidioc_enum_fmt_vid_cap()
747 return 0; in zr364xx_vidioc_enum_fmt_vid_cap()
752 buf[0] = pixelformat & 0xff; in decode_fourcc()
753 buf[1] = (pixelformat >> 8) & 0xff; in decode_fourcc()
754 buf[2] = (pixelformat >> 16) & 0xff; in decode_fourcc()
755 buf[3] = (pixelformat >> 24) & 0xff; in decode_fourcc()
756 buf[4] = '\0'; in decode_fourcc()
788 return 0; in zr364xx_vidioc_try_fmt_vid_cap()
800 f->fmt.pix.pixelformat = formats[0].fourcc; in zr364xx_vidioc_g_fmt_vid_cap()
807 return 0; in zr364xx_vidioc_g_fmt_vid_cap()
819 if (ret < 0) in zr364xx_vidioc_s_fmt_vid_cap()
850 mode = 0; in zr364xx_vidioc_s_fmt_vid_cap()
852 m0d1[0] = mode; in zr364xx_vidioc_s_fmt_vid_cap()
853 m1[2].value = 0xf000 + mode; in zr364xx_vidioc_s_fmt_vid_cap()
854 m2[1].value = 0xf000 + mode; in zr364xx_vidioc_s_fmt_vid_cap()
860 m2[1].value = 0xf000 + 4; in zr364xx_vidioc_s_fmt_vid_cap()
863 m2[1].value = 0xf000 + 0; in zr364xx_vidioc_s_fmt_vid_cap()
866 m2[1].value = 0xf000 + 1; in zr364xx_vidioc_s_fmt_vid_cap()
876 for (i = 0; init[cam->method][i].size != -1; i++) { in zr364xx_vidioc_s_fmt_vid_cap()
879 0, init[cam->method][i].bytes, in zr364xx_vidioc_s_fmt_vid_cap()
881 if (ret < 0) { in zr364xx_vidioc_s_fmt_vid_cap()
893 ret = 0; in zr364xx_vidioc_s_fmt_vid_cap()
976 if (pipe_info->state == 0) { in read_pipe_completion()
986 if (purb->status == 0) in read_pipe_completion()
1002 if (pipe_info->state != 0) { in read_pipe_completion()
1011 DBG("read pipe complete state 0\n"); in read_pipe_completion()
1023 pipe_info->err_count = 0; in zr364xx_start_readpipe()
1024 pipe_info->stream_urb = usb_alloc_urb(0, GFP_KERNEL); in zr364xx_start_readpipe()
1042 return 0; in zr364xx_start_readpipe()
1056 if (pipe_info->state != 0) in zr364xx_stop_readpipe()
1057 pipe_info->state = 0; in zr364xx_stop_readpipe()
1077 cam->cur_frame = 0; in zr364xx_start_acquire()
1078 for (j = 0; j < FRAMES; j++) { in zr364xx_start_acquire()
1080 cam->buffer.frame[j].cur_size = 0; in zr364xx_start_acquire()
1083 return 0; in zr364xx_start_acquire()
1088 cam->b_acquire = 0; in zr364xx_stop_acquire()
1089 return 0; in zr364xx_stop_acquire()
1097 for (i = 0; init[cam->method][i].size != -1; i++) { in zr364xx_prepare()
1099 0, init[cam->method][i].bytes, in zr364xx_prepare()
1101 if (res < 0) { in zr364xx_prepare()
1110 cam->cur_frame = 0; in zr364xx_prepare()
1111 cam->frame_count = 0; in zr364xx_prepare()
1112 for (j = 0; j < FRAMES; j++) { in zr364xx_prepare()
1114 cam->buffer.frame[j].cur_size = 0; in zr364xx_prepare()
1117 return 0; in zr364xx_prepare()
1138 if (res == 0) { in zr364xx_vidioc_streamon()
1179 err = 0; in zr364xx_open()
1194 for (i = 0; i < FRAMES; i++) { in zr364xx_board_uninit()
1237 for (i = 0; i < 2; i++) { in zr364xx_close()
1239 0, init[cam->method][i].bytes, in zr364xx_close()
1267 DBG("vma start=0x%08lx, size=%ld, ret=%d\n", in zr364xx_mmap()
1340 memset(pipe, 0, sizeof(*pipe)); in zr364xx_board_init()
1351 cam->b_acquire = 0; in zr364xx_board_init()
1352 cam->frame_count = 0; in zr364xx_board_init()
1355 for (i = 0; i < FRAMES; i++) { in zr364xx_board_init()
1368 if (i == 0) { in zr364xx_board_init()
1376 for (i = 0; i < FRAMES; i++) { in zr364xx_board_init()
1378 cam->buffer.frame[i].cur_size = 0; in zr364xx_board_init()
1381 cam->cur_frame = 0; in zr364xx_board_init()
1391 return 0; in zr364xx_board_init()
1394 for (i = 0; i < FRAMES; i++) in zr364xx_board_init()
1425 if (err < 0) { in zr364xx_probe()
1432 V4L2_CID_BRIGHTNESS, 0, 127, 1, 64); in zr364xx_probe()
1467 m0d1[0] = mode; in zr364xx_probe()
1468 m1[2].value = 0xf000 + mode; in zr364xx_probe()
1469 m2[1].value = 0xf000 + mode; in zr364xx_probe()
1475 m2[1].value = 0xf000 + 4; in zr364xx_probe()
1478 m2[1].value = 0xf000 + 0; in zr364xx_probe()
1481 m2[1].value = 0xf000 + 1; in zr364xx_probe()
1491 cam->nb = 0; in zr364xx_probe()
1498 for (i = 0; i < iface_desc->desc.bNumEndpoints; ++i) { in zr364xx_probe()
1545 return 0; in zr364xx_probe()
1585 return 0; in zr364xx_suspend()
1588 return 0; in zr364xx_suspend()
1597 return 0; in zr364xx_resume()
1608 return 0; in zr364xx_resume()