Lines Matching refs:com

254 static int ngene_command_mutex(struct ngene *dev, struct ngene_command *com)
262 if (com->cmd.hdr.Opcode == CMD_FWLOAD_PREPARE) {
271 } else if (com->cmd.hdr.Opcode == CMD_FWLOAD_FINISH) {
282 memcpy(dev->FWInterfaceBuffer, com->cmd.raw8, com->in_len + 2);
285 ngcpyto(HOST_TO_NGENE, com->cmd.raw8, com->in_len + 2);
288 tmpCmdDoneByte = dev->ngenetohost + com->out_len;
289 if (!com->out_len)
305 com->cmd.hdr.Opcode, dev->prev_cmd);
309 if (com->cmd.hdr.Opcode == CMD_FWLOAD_FINISH)
312 dev->prev_cmd = com->cmd.hdr.Opcode;
314 if (!com->out_len)
317 memcpy(com->cmd.raw8, dev->ngenetohost, com->out_len);
322 int ngene_command(struct ngene *dev, struct ngene_command *com)
327 result = ngene_command_mutex(dev, com);
338 struct ngene_command com;
340 com.cmd.hdr.Opcode = CMD_FWLOAD_PREPARE;
341 com.cmd.hdr.Length = 0;
342 com.in_len = 0;
343 com.out_len = 0;
345 ngene_command(dev, &com);
355 memset(&com, 0, sizeof(struct ngene_command));
356 com.cmd.hdr.Opcode = CMD_FWLOAD_FINISH;
357 com.cmd.hdr.Length = 4;
358 com.cmd.FWLoadFinish.Address = DATA_FIFO_AREA;
359 com.cmd.FWLoadFinish.Length = (unsigned short)cleft;
360 com.in_len = 4;
361 com.out_len = 0;
363 return ngene_command(dev, &com);
369 struct ngene_command com;
371 com.cmd.hdr.Opcode = CMD_CONFIGURE_BUFFER;
372 com.cmd.hdr.Length = 1;
373 com.cmd.ConfigureBuffers.config = config;
374 com.in_len = 1;
375 com.out_len = 0;
377 if (ngene_command(dev, &com) < 0)
384 struct ngene_command com;
386 com.cmd.hdr.Opcode = CMD_CONFIGURE_FREE_BUFFER;
387 com.cmd.hdr.Length = 6;
388 memcpy(&com.cmd.ConfigureFreeBuffers.config, config, 6);
389 com.in_len = 6;
390 com.out_len = 0;
392 if (ngene_command(dev, &com) < 0)
400 struct ngene_command com;
402 com.cmd.hdr.Opcode = CMD_SET_GPIO_PIN;
403 com.cmd.hdr.Length = 1;
404 com.cmd.SetGpioPin.select = select | (level << 7);
405 com.in_len = 1;
406 com.out_len = 0;
408 return ngene_command(dev, &com);
545 struct ngene_command com;
551 memset(&com, 0, sizeof(com));
552 com.cmd.hdr.Opcode = CMD_CONTROL;
553 com.cmd.hdr.Length = sizeof(struct FW_STREAM_CONTROL) - 2;
554 com.cmd.StreamControl.Stream = stream | (control ? 8 : 0);
556 com.cmd.StreamControl.Stream |= 0x07;
557 com.cmd.StreamControl.Control = control |
559 com.cmd.StreamControl.Mode = mode;
560 com.in_len = sizeof(struct FW_STREAM_CONTROL);
561 com.out_len = 0;
564 com.cmd.StreamControl.Stream, com.cmd.StreamControl.Control,
565 com.cmd.StreamControl.Mode);
575 if (ngene_command(dev, &com) < 0)
586 com.cmd.StreamControl.CaptureBlockCount =
588 com.cmd.StreamControl.Buffer_Address = chan->RingBuffer.PAHead;
590 com.cmd.StreamControl.CaptureBlockCount =
592 com.cmd.StreamControl.MaxLinesPerField =
594 com.cmd.StreamControl.Buffer_Address =
597 com.cmd.StreamControl.BytesPerVBILine =
599 com.cmd.StreamControl.Stream |= 0x07;
602 com.cmd.StreamControl.BytesPerVideoLine = chan->nBytesPerLine;
603 com.cmd.StreamControl.MaxLinesPerField = chan->nLines;
604 com.cmd.StreamControl.MinLinesPerField = 100;
605 com.cmd.StreamControl.Buffer_Address = chan->RingBuffer.PAHead;
608 com.cmd.StreamControl.MaxVBILinesPerField =
610 com.cmd.StreamControl.MinVBILinesPerField = 0;
611 com.cmd.StreamControl.BytesPerVBILine =
615 com.cmd.StreamControl.Stream |= 0x04;
622 com.cmd.StreamControl.SetupDataLen =
624 com.cmd.StreamControl.SetupDataAddr = BsSPI;
625 memcpy(com.cmd.StreamControl.SetupData,
628 com.cmd.StreamControl.SetupDataLen = 4;
629 com.cmd.StreamControl.SetupDataAddr = BsSDI;
630 memcpy(com.cmd.StreamControl.SetupData,
638 com.cmd.StreamControl.SetupDataLen =
640 com.cmd.StreamControl.SetupDataAddr = BsSDO;
641 memcpy(com.cmd.StreamControl.SetupData,
645 com.cmd.StreamControl.SetupDataLen =
647 com.cmd.StreamControl.SetupDataAddr = BsSDI;
648 memcpy(com.cmd.StreamControl.SetupData,
653 com.cmd.StreamControl.SetupDataLen = 8;
654 com.cmd.StreamControl.SetupDataAddr = BsUVI + 0x10;
655 memcpy(com.cmd.StreamControl.SetupData,
661 com.cmd.StreamControl.SetupDataLen =
663 com.cmd.StreamControl.SetupDataAddr = BsUVI;
664 memcpy(com.cmd.StreamControl.SetupData,
666 memcpy(com.cmd.StreamControl.SetupData + 16,
677 if (ngene_command(dev, &com) < 0)
1614 struct ngene_command com;
1616 com.cmd.hdr.Opcode = CMD_MEM_WRITE;
1617 com.cmd.hdr.Length = 3;
1618 com.cmd.MemoryWrite.address = 0x910c;
1619 com.cmd.MemoryWrite.data = 0xff;
1620 com.in_len = 3;
1621 com.out_len = 1;
1625 ngene_command_mutex(dev, &com);