Lines Matching refs:com

271 static int ngene_command_mutex(struct ngene *dev, struct ngene_command *com)  in ngene_command_mutex()  argument
278 if (com->cmd.hdr.Opcode == CMD_FWLOAD_PREPARE) { in ngene_command_mutex()
287 } else if (com->cmd.hdr.Opcode == CMD_FWLOAD_FINISH) { in ngene_command_mutex()
298 memcpy(dev->FWInterfaceBuffer, com->cmd.raw8, com->in_len + 2); in ngene_command_mutex()
301 ngcpyto(HOST_TO_NGENE, com->cmd.raw8, com->in_len + 2); in ngene_command_mutex()
304 tmpCmdDoneByte = dev->ngenetohost + com->out_len; in ngene_command_mutex()
305 if (!com->out_len) in ngene_command_mutex()
322 com->cmd.hdr.Opcode, dev->prev_cmd); in ngene_command_mutex()
326 if (com->cmd.hdr.Opcode == CMD_FWLOAD_FINISH) in ngene_command_mutex()
329 dev->prev_cmd = com->cmd.hdr.Opcode; in ngene_command_mutex()
331 if (!com->out_len) in ngene_command_mutex()
334 memcpy(com->cmd.raw8, dev->ngenetohost, com->out_len); in ngene_command_mutex()
339 int ngene_command(struct ngene *dev, struct ngene_command *com) in ngene_command() argument
344 result = ngene_command_mutex(dev, com); in ngene_command()
355 struct ngene_command com; in ngene_command_load_firmware() local
357 com.cmd.hdr.Opcode = CMD_FWLOAD_PREPARE; in ngene_command_load_firmware()
358 com.cmd.hdr.Length = 0; in ngene_command_load_firmware()
359 com.in_len = 0; in ngene_command_load_firmware()
360 com.out_len = 0; in ngene_command_load_firmware()
362 ngene_command(dev, &com); in ngene_command_load_firmware()
372 memset(&com, 0, sizeof(struct ngene_command)); in ngene_command_load_firmware()
373 com.cmd.hdr.Opcode = CMD_FWLOAD_FINISH; in ngene_command_load_firmware()
374 com.cmd.hdr.Length = 4; in ngene_command_load_firmware()
375 com.cmd.FWLoadFinish.Address = DATA_FIFO_AREA; in ngene_command_load_firmware()
376 com.cmd.FWLoadFinish.Length = (unsigned short)cleft; in ngene_command_load_firmware()
377 com.in_len = 4; in ngene_command_load_firmware()
378 com.out_len = 0; in ngene_command_load_firmware()
380 return ngene_command(dev, &com); in ngene_command_load_firmware()
386 struct ngene_command com; in ngene_command_config_buf() local
388 com.cmd.hdr.Opcode = CMD_CONFIGURE_BUFFER; in ngene_command_config_buf()
389 com.cmd.hdr.Length = 1; in ngene_command_config_buf()
390 com.cmd.ConfigureBuffers.config = config; in ngene_command_config_buf()
391 com.in_len = 1; in ngene_command_config_buf()
392 com.out_len = 0; in ngene_command_config_buf()
394 if (ngene_command(dev, &com) < 0) in ngene_command_config_buf()
401 struct ngene_command com; in ngene_command_config_free_buf() local
403 com.cmd.hdr.Opcode = CMD_CONFIGURE_FREE_BUFFER; in ngene_command_config_free_buf()
404 com.cmd.hdr.Length = 6; in ngene_command_config_free_buf()
405 memcpy(&com.cmd.ConfigureBuffers.config, config, 6); in ngene_command_config_free_buf()
406 com.in_len = 6; in ngene_command_config_free_buf()
407 com.out_len = 0; in ngene_command_config_free_buf()
409 if (ngene_command(dev, &com) < 0) in ngene_command_config_free_buf()
417 struct ngene_command com; in ngene_command_gpio_set() local
419 com.cmd.hdr.Opcode = CMD_SET_GPIO_PIN; in ngene_command_gpio_set()
420 com.cmd.hdr.Length = 1; in ngene_command_gpio_set()
421 com.cmd.SetGpioPin.select = select | (level << 7); in ngene_command_gpio_set()
422 com.in_len = 1; in ngene_command_gpio_set()
423 com.out_len = 0; in ngene_command_gpio_set()
425 return ngene_command(dev, &com); in ngene_command_gpio_set()
561 struct ngene_command com; in ngene_command_stream_control() local
568 memset(&com, 0, sizeof(com)); in ngene_command_stream_control()
569 com.cmd.hdr.Opcode = CMD_CONTROL; in ngene_command_stream_control()
570 com.cmd.hdr.Length = sizeof(struct FW_STREAM_CONTROL) - 2; in ngene_command_stream_control()
571 com.cmd.StreamControl.Stream = stream | (control ? 8 : 0); in ngene_command_stream_control()
573 com.cmd.StreamControl.Stream |= 0x07; in ngene_command_stream_control()
574 com.cmd.StreamControl.Control = control | in ngene_command_stream_control()
576 com.cmd.StreamControl.Mode = mode; in ngene_command_stream_control()
577 com.in_len = sizeof(struct FW_STREAM_CONTROL); in ngene_command_stream_control()
578 com.out_len = 0; in ngene_command_stream_control()
582 com.cmd.StreamControl.Stream, com.cmd.StreamControl.Control, in ngene_command_stream_control()
583 com.cmd.StreamControl.Mode); in ngene_command_stream_control()
593 if (ngene_command(dev, &com) < 0) { in ngene_command_stream_control()
608 com.cmd.StreamControl.CaptureBlockCount = in ngene_command_stream_control()
610 com.cmd.StreamControl.Buffer_Address = chan->RingBuffer.PAHead; in ngene_command_stream_control()
612 com.cmd.StreamControl.CaptureBlockCount = in ngene_command_stream_control()
614 com.cmd.StreamControl.MaxLinesPerField = in ngene_command_stream_control()
616 com.cmd.StreamControl.Buffer_Address = in ngene_command_stream_control()
619 com.cmd.StreamControl.BytesPerVBILine = in ngene_command_stream_control()
621 com.cmd.StreamControl.Stream |= 0x07; in ngene_command_stream_control()
624 com.cmd.StreamControl.BytesPerVideoLine = chan->nBytesPerLine; in ngene_command_stream_control()
625 com.cmd.StreamControl.MaxLinesPerField = chan->nLines; in ngene_command_stream_control()
626 com.cmd.StreamControl.MinLinesPerField = 100; in ngene_command_stream_control()
627 com.cmd.StreamControl.Buffer_Address = chan->RingBuffer.PAHead; in ngene_command_stream_control()
630 com.cmd.StreamControl.MaxVBILinesPerField = in ngene_command_stream_control()
632 com.cmd.StreamControl.MinVBILinesPerField = 0; in ngene_command_stream_control()
633 com.cmd.StreamControl.BytesPerVBILine = in ngene_command_stream_control()
637 com.cmd.StreamControl.Stream |= 0x04; in ngene_command_stream_control()
644 com.cmd.StreamControl.SetupDataLen = in ngene_command_stream_control()
646 com.cmd.StreamControl.SetupDataAddr = BsSPI; in ngene_command_stream_control()
647 memcpy(com.cmd.StreamControl.SetupData, in ngene_command_stream_control()
650 com.cmd.StreamControl.SetupDataLen = 4; in ngene_command_stream_control()
651 com.cmd.StreamControl.SetupDataAddr = BsSDI; in ngene_command_stream_control()
652 memcpy(com.cmd.StreamControl.SetupData, in ngene_command_stream_control()
660 com.cmd.StreamControl.SetupDataLen = in ngene_command_stream_control()
662 com.cmd.StreamControl.SetupDataAddr = BsSDO; in ngene_command_stream_control()
663 memcpy(com.cmd.StreamControl.SetupData, in ngene_command_stream_control()
667 com.cmd.StreamControl.SetupDataLen = in ngene_command_stream_control()
669 com.cmd.StreamControl.SetupDataAddr = BsSDI; in ngene_command_stream_control()
670 memcpy(com.cmd.StreamControl.SetupData, in ngene_command_stream_control()
675 com.cmd.StreamControl.SetupDataLen = 8; in ngene_command_stream_control()
676 com.cmd.StreamControl.SetupDataAddr = BsUVI + 0x10; in ngene_command_stream_control()
677 memcpy(com.cmd.StreamControl.SetupData, in ngene_command_stream_control()
683 com.cmd.StreamControl.SetupDataLen = in ngene_command_stream_control()
685 com.cmd.StreamControl.SetupDataAddr = BsUVI; in ngene_command_stream_control()
686 memcpy(com.cmd.StreamControl.SetupData, in ngene_command_stream_control()
688 memcpy(com.cmd.StreamControl.SetupData + 16, in ngene_command_stream_control()
699 if (ngene_command(dev, &com) < 0) { in ngene_command_stream_control()
1602 struct ngene_command com; in ngene_unlink() local
1604 com.cmd.hdr.Opcode = CMD_MEM_WRITE; in ngene_unlink()
1605 com.cmd.hdr.Length = 3; in ngene_unlink()
1606 com.cmd.MemoryWrite.address = 0x910c; in ngene_unlink()
1607 com.cmd.MemoryWrite.data = 0xff; in ngene_unlink()
1608 com.in_len = 3; in ngene_unlink()
1609 com.out_len = 1; in ngene_unlink()
1613 ngene_command_mutex(dev, &com); in ngene_unlink()