Lines Matching refs:cmd

63 static int wilc_sdio_cmd52(struct wilc *wilc, struct sdio_cmd52 *cmd)
71 func->num = cmd->function;
72 if (cmd->read_write) { /* write */
73 if (cmd->raw) {
74 sdio_writeb(func, cmd->data, cmd->address, &ret);
75 data = sdio_readb(func, cmd->address, &ret);
76 cmd->data = data;
78 sdio_writeb(func, cmd->data, cmd->address, &ret);
81 data = sdio_readb(func, cmd->address, &ret);
82 cmd->data = data;
92 static int wilc_sdio_cmd53(struct wilc *wilc, struct sdio_cmd53 *cmd)
97 u8 *buf = cmd->buffer;
101 func->num = cmd->function;
102 func->cur_blksize = cmd->block_size;
103 if (cmd->block_mode)
104 size = cmd->count * cmd->block_size;
106 size = cmd->count;
108 if (cmd->use_global_buf) {
115 if (cmd->read_write) { /* write */
116 if (cmd->use_global_buf)
117 memcpy(buf, cmd->buffer, size);
119 ret = sdio_memcpy_toio(func, cmd->address, buf, size);
121 ret = sdio_memcpy_fromio(func, buf, cmd->address, size);
123 if (cmd->use_global_buf)
124 memcpy(cmd->buffer, buf, size);
203 struct sdio_cmd52 cmd;
207 cmd.read_write = 1;
208 cmd.function = 0;
209 cmd.raw = 0;
210 cmd.address = SDIO_CCCR_ABORT;
211 cmd.data = WILC_SDIO_CCCR_ABORT_RESET;
212 ret = wilc_sdio_cmd52(wilc, &cmd);
214 dev_err(&func->dev, "Fail cmd 52, reset cmd ...\n");
291 struct sdio_cmd52 cmd;
297 cmd.read_write = 1;
298 cmd.function = 0;
299 cmd.raw = 0;
300 cmd.address = WILC_SDIO_FBR_CSA_REG;
301 cmd.data = (u8)adr;
302 ret = wilc_sdio_cmd52(wilc, &cmd);
305 cmd.address);
309 cmd.address = WILC_SDIO_FBR_CSA_REG + 1;
310 cmd.data = (u8)(adr >> 8);
311 ret = wilc_sdio_cmd52(wilc, &cmd);
314 cmd.address);
318 cmd.address = WILC_SDIO_FBR_CSA_REG + 2;
319 cmd.data = (u8)(adr >> 16);
320 ret = wilc_sdio_cmd52(wilc, &cmd);
323 cmd.address);
334 struct sdio_cmd52 cmd;
337 cmd.read_write = 1;
338 cmd.function = 0;
339 cmd.raw = 0;
340 cmd.address = SDIO_FBR_BASE(func_num) + SDIO_CCCR_BLKSIZE;
341 cmd.data = (u8)block_size;
342 ret = wilc_sdio_cmd52(wilc, &cmd);
345 cmd.address);
349 cmd.address = SDIO_FBR_BASE(func_num) + SDIO_CCCR_BLKSIZE + 1;
350 cmd.data = (u8)(block_size >> 8);
351 ret = wilc_sdio_cmd52(wilc, &cmd);
354 cmd.address);
375 struct sdio_cmd52 cmd;
377 cmd.read_write = 1;
378 cmd.function = 0;
379 cmd.raw = 0;
380 cmd.address = addr;
381 cmd.data = data;
382 ret = wilc_sdio_cmd52(wilc, &cmd);
385 "Failed cmd 52, read reg (%08x) ...\n", addr);
387 struct sdio_cmd53 cmd;
396 cmd.read_write = 1;
397 cmd.function = 0;
398 cmd.address = WILC_SDIO_FBR_DATA_REG;
399 cmd.block_mode = 0;
400 cmd.increment = 1;
401 cmd.count = sizeof(u32);
402 cmd.buffer = (u8 *)&data;
403 cmd.use_global_buf = true;
404 cmd.block_size = sdio_priv->block_size;
405 ret = wilc_sdio_cmd53(wilc, &cmd);
419 struct sdio_cmd53 cmd;
422 cmd.read_write = 1;
427 cmd.function = 0;
428 cmd.address = WILC_SDIO_FBR_DATA_REG;
433 cmd.function = 1;
434 cmd.address = WILC_SDIO_F1_DATA_REG;
441 cmd.use_global_buf = false;
443 cmd.block_mode = 1;
444 cmd.increment = 1;
445 cmd.count = nblk;
446 cmd.buffer = buf;
447 cmd.block_size = block_size;
453 ret = wilc_sdio_cmd53(wilc, &cmd);
465 cmd.block_mode = 0;
466 cmd.increment = 1;
467 cmd.count = nleft;
468 cmd.buffer = buf;
470 cmd.block_size = block_size;
477 ret = wilc_sdio_cmd53(wilc, &cmd);
495 struct sdio_cmd52 cmd;
497 cmd.read_write = 0;
498 cmd.function = 0;
499 cmd.raw = 0;
500 cmd.address = addr;
501 ret = wilc_sdio_cmd52(wilc, &cmd);
504 "Failed cmd 52, read reg (%08x) ...\n", addr);
507 *data = cmd.data;
509 struct sdio_cmd53 cmd;
515 cmd.read_write = 0;
516 cmd.function = 0;
517 cmd.address = WILC_SDIO_FBR_DATA_REG;
518 cmd.block_mode = 0;
519 cmd.increment = 1;
520 cmd.count = sizeof(u32);
521 cmd.buffer = (u8 *)data;
522 cmd.use_global_buf = true;
524 cmd.block_size = sdio_priv->block_size;
525 ret = wilc_sdio_cmd53(wilc, &cmd);
542 struct sdio_cmd53 cmd;
545 cmd.read_write = 0;
550 cmd.function = 0;
551 cmd.address = WILC_SDIO_FBR_DATA_REG;
556 cmd.function = 1;
557 cmd.address = WILC_SDIO_F1_DATA_REG;
564 cmd.use_global_buf = false;
566 cmd.block_mode = 1;
567 cmd.increment = 1;
568 cmd.count = nblk;
569 cmd.buffer = buf;
570 cmd.block_size = block_size;
576 ret = wilc_sdio_cmd53(wilc, &cmd);
588 cmd.block_mode = 0;
589 cmd.increment = 1;
590 cmd.count = nleft;
591 cmd.buffer = buf;
593 cmd.block_size = block_size;
600 ret = wilc_sdio_cmd53(wilc, &cmd);
629 struct sdio_cmd52 cmd;
636 cmd.read_write = 1;
637 cmd.function = 0;
638 cmd.raw = 1;
639 cmd.address = SDIO_FBR_BASE(1);
640 cmd.data = SDIO_FBR_ENABLE_CSA;
641 ret = wilc_sdio_cmd52(wilc, &cmd);
643 dev_err(&func->dev, "Fail cmd 52, enable csa...\n");
652 dev_err(&func->dev, "Fail cmd 52, set func 0 block size...\n");
660 cmd.read_write = 1;
661 cmd.function = 0;
662 cmd.raw = 1;
663 cmd.address = SDIO_CCCR_IOEx;
664 cmd.data = WILC_SDIO_CCCR_IO_EN_FUNC1;
665 ret = wilc_sdio_cmd52(wilc, &cmd);
668 "Fail cmd 52, set IOE register...\n");
675 cmd.read_write = 0;
676 cmd.function = 0;
677 cmd.raw = 0;
678 cmd.address = SDIO_CCCR_IORx;
681 cmd.data = 0;
682 ret = wilc_sdio_cmd52(wilc, &cmd);
685 "Fail cmd 52, get IOR register...\n");
688 if (cmd.data == WILC_SDIO_CCCR_IO_EN_FUNC1)
709 cmd.read_write = 1;
710 cmd.function = 0;
711 cmd.raw = 1;
712 cmd.address = SDIO_CCCR_IENx;
713 cmd.data = WILC_SDIO_CCCR_IEN_MASTER | WILC_SDIO_CCCR_IEN_FUNC1;
714 ret = wilc_sdio_cmd52(wilc, &cmd);
716 dev_err(&func->dev, "Fail cmd 52, set IEN register...\n");
726 dev_err(&func->dev, "Fail cmd read chip id...\n");
739 struct sdio_cmd52 cmd;
744 cmd.read_write = 0;
745 cmd.function = 0;
746 cmd.raw = 0;
747 cmd.address = WILC_SDIO_INTERRUPT_DATA_SZ_REG;
748 cmd.data = 0;
749 wilc_sdio_cmd52(wilc, &cmd);
750 tmp = cmd.data;
752 cmd.address = WILC_SDIO_INTERRUPT_DATA_SZ_REG + 1;
753 cmd.data = 0;
754 wilc_sdio_cmd52(wilc, &cmd);
755 tmp |= (cmd.data << 8);
767 struct sdio_cmd52 cmd;
775 cmd.function = 1;
776 cmd.address = WILC_SDIO_EXT_IRQ_FLAG_REG;
778 cmd.function = 0;
779 cmd.address = WILC_SDIO_IRQ_FLAG_REG;
781 cmd.raw = 0;
782 cmd.read_write = 0;
783 cmd.data = 0;
784 wilc_sdio_cmd52(wilc, &cmd);
785 irq_flags = cmd.data;
786 tmp |= FIELD_PREP(IRG_FLAGS_MASK, cmd.data);
817 struct sdio_cmd52 cmd;
819 cmd.read_write = 1;
820 cmd.function = 0;
821 cmd.raw = 0;
822 cmd.address = WILC_SDIO_IRQ_CLEAR_FLAG_REG;
823 cmd.data = reg;
825 ret = wilc_sdio_cmd52(wilc, &cmd);
829 cmd.address, __LINE__);