Lines Matching refs:cmd
61 static int wilc_sdio_cmd52(struct wilc *wilc, struct sdio_cmd52 *cmd)
69 func->num = cmd->function;
70 if (cmd->read_write) { /* write */
71 if (cmd->raw) {
72 sdio_writeb(func, cmd->data, cmd->address, &ret);
73 data = sdio_readb(func, cmd->address, &ret);
74 cmd->data = data;
76 sdio_writeb(func, cmd->data, cmd->address, &ret);
79 data = sdio_readb(func, cmd->address, &ret);
80 cmd->data = data;
90 static int wilc_sdio_cmd53(struct wilc *wilc, struct sdio_cmd53 *cmd)
97 func->num = cmd->function;
98 func->cur_blksize = cmd->block_size;
99 if (cmd->block_mode)
100 size = cmd->count * cmd->block_size;
102 size = cmd->count;
104 if (cmd->read_write) { /* write */
105 ret = sdio_memcpy_toio(func, cmd->address,
106 (void *)cmd->buffer, size);
108 ret = sdio_memcpy_fromio(func, (void *)cmd->buffer,
109 cmd->address, size);
175 struct sdio_cmd52 cmd;
179 cmd.read_write = 1;
180 cmd.function = 0;
181 cmd.raw = 0;
182 cmd.address = SDIO_CCCR_ABORT;
183 cmd.data = WILC_SDIO_CCCR_ABORT_RESET;
184 ret = wilc_sdio_cmd52(wilc, &cmd);
186 dev_err(&func->dev, "Fail cmd 52, reset cmd ...\n");
256 struct sdio_cmd52 cmd;
262 cmd.read_write = 1;
263 cmd.function = 0;
264 cmd.raw = 0;
265 cmd.address = WILC_SDIO_FBR_CSA_REG;
266 cmd.data = (u8)adr;
267 ret = wilc_sdio_cmd52(wilc, &cmd);
270 cmd.address);
274 cmd.address = WILC_SDIO_FBR_CSA_REG + 1;
275 cmd.data = (u8)(adr >> 8);
276 ret = wilc_sdio_cmd52(wilc, &cmd);
279 cmd.address);
283 cmd.address = WILC_SDIO_FBR_CSA_REG + 2;
284 cmd.data = (u8)(adr >> 16);
285 ret = wilc_sdio_cmd52(wilc, &cmd);
288 cmd.address);
299 struct sdio_cmd52 cmd;
302 cmd.read_write = 1;
303 cmd.function = 0;
304 cmd.raw = 0;
305 cmd.address = SDIO_FBR_BASE(func_num) + SDIO_CCCR_BLKSIZE;
306 cmd.data = (u8)block_size;
307 ret = wilc_sdio_cmd52(wilc, &cmd);
310 cmd.address);
314 cmd.address = SDIO_FBR_BASE(func_num) + SDIO_CCCR_BLKSIZE + 1;
315 cmd.data = (u8)(block_size >> 8);
316 ret = wilc_sdio_cmd52(wilc, &cmd);
319 cmd.address);
340 struct sdio_cmd52 cmd;
342 cmd.read_write = 1;
343 cmd.function = 0;
344 cmd.raw = 0;
345 cmd.address = addr;
346 cmd.data = data;
347 ret = wilc_sdio_cmd52(wilc, &cmd);
350 "Failed cmd 52, read reg (%08x) ...\n", addr);
352 struct sdio_cmd53 cmd;
361 cmd.read_write = 1;
362 cmd.function = 0;
363 cmd.address = WILC_SDIO_FBR_DATA_REG;
364 cmd.block_mode = 0;
365 cmd.increment = 1;
366 cmd.count = 4;
367 cmd.buffer = (u8 *)&data;
368 cmd.block_size = sdio_priv->block_size;
369 ret = wilc_sdio_cmd53(wilc, &cmd);
383 struct sdio_cmd53 cmd;
386 cmd.read_write = 1;
391 cmd.function = 0;
392 cmd.address = WILC_SDIO_FBR_DATA_REG;
397 cmd.function = 1;
398 cmd.address = WILC_SDIO_F1_DATA_REG;
406 cmd.block_mode = 1;
407 cmd.increment = 1;
408 cmd.count = nblk;
409 cmd.buffer = buf;
410 cmd.block_size = block_size;
416 ret = wilc_sdio_cmd53(wilc, &cmd);
428 cmd.block_mode = 0;
429 cmd.increment = 1;
430 cmd.count = nleft;
431 cmd.buffer = buf;
433 cmd.block_size = block_size;
440 ret = wilc_sdio_cmd53(wilc, &cmd);
458 struct sdio_cmd52 cmd;
460 cmd.read_write = 0;
461 cmd.function = 0;
462 cmd.raw = 0;
463 cmd.address = addr;
464 ret = wilc_sdio_cmd52(wilc, &cmd);
467 "Failed cmd 52, read reg (%08x) ...\n", addr);
470 *data = cmd.data;
472 struct sdio_cmd53 cmd;
478 cmd.read_write = 0;
479 cmd.function = 0;
480 cmd.address = WILC_SDIO_FBR_DATA_REG;
481 cmd.block_mode = 0;
482 cmd.increment = 1;
483 cmd.count = 4;
484 cmd.buffer = (u8 *)data;
486 cmd.block_size = sdio_priv->block_size;
487 ret = wilc_sdio_cmd53(wilc, &cmd);
504 struct sdio_cmd53 cmd;
507 cmd.read_write = 0;
512 cmd.function = 0;
513 cmd.address = WILC_SDIO_FBR_DATA_REG;
518 cmd.function = 1;
519 cmd.address = WILC_SDIO_F1_DATA_REG;
527 cmd.block_mode = 1;
528 cmd.increment = 1;
529 cmd.count = nblk;
530 cmd.buffer = buf;
531 cmd.block_size = block_size;
537 ret = wilc_sdio_cmd53(wilc, &cmd);
549 cmd.block_mode = 0;
550 cmd.increment = 1;
551 cmd.count = nleft;
552 cmd.buffer = buf;
554 cmd.block_size = block_size;
561 ret = wilc_sdio_cmd53(wilc, &cmd);
587 struct sdio_cmd52 cmd;
594 cmd.read_write = 1;
595 cmd.function = 0;
596 cmd.raw = 1;
597 cmd.address = SDIO_FBR_BASE(func->num);
598 cmd.data = SDIO_FBR_ENABLE_CSA;
599 ret = wilc_sdio_cmd52(wilc, &cmd);
601 dev_err(&func->dev, "Fail cmd 52, enable csa...\n");
610 dev_err(&func->dev, "Fail cmd 52, set func 0 block size...\n");
618 cmd.read_write = 1;
619 cmd.function = 0;
620 cmd.raw = 1;
621 cmd.address = SDIO_CCCR_IOEx;
622 cmd.data = WILC_SDIO_CCCR_IO_EN_FUNC1;
623 ret = wilc_sdio_cmd52(wilc, &cmd);
626 "Fail cmd 52, set IOE register...\n");
633 cmd.read_write = 0;
634 cmd.function = 0;
635 cmd.raw = 0;
636 cmd.address = SDIO_CCCR_IORx;
639 cmd.data = 0;
640 ret = wilc_sdio_cmd52(wilc, &cmd);
643 "Fail cmd 52, get IOR register...\n");
646 if (cmd.data == WILC_SDIO_CCCR_IO_EN_FUNC1)
667 cmd.read_write = 1;
668 cmd.function = 0;
669 cmd.raw = 1;
670 cmd.address = SDIO_CCCR_IENx;
671 cmd.data = WILC_SDIO_CCCR_IEN_MASTER | WILC_SDIO_CCCR_IEN_FUNC1;
672 ret = wilc_sdio_cmd52(wilc, &cmd);
674 dev_err(&func->dev, "Fail cmd 52, set IEN register...\n");
686 dev_err(&func->dev, "Fail cmd read chip id...\n");
705 struct sdio_cmd52 cmd;
710 cmd.read_write = 0;
711 cmd.function = 0;
712 cmd.raw = 0;
713 cmd.address = WILC_SDIO_INTERRUPT_DATA_SZ_REG;
714 cmd.data = 0;
715 wilc_sdio_cmd52(wilc, &cmd);
716 tmp = cmd.data;
718 cmd.address = WILC_SDIO_INTERRUPT_DATA_SZ_REG + 1;
719 cmd.data = 0;
720 wilc_sdio_cmd52(wilc, &cmd);
721 tmp |= (cmd.data << 8);
733 struct sdio_cmd52 cmd;
741 cmd.function = 1;
742 cmd.address = WILC_SDIO_EXT_IRQ_FLAG_REG;
744 cmd.function = 0;
745 cmd.address = WILC_SDIO_IRQ_FLAG_REG;
747 cmd.raw = 0;
748 cmd.read_write = 0;
749 cmd.data = 0;
750 wilc_sdio_cmd52(wilc, &cmd);
751 irq_flags = cmd.data;
752 tmp |= FIELD_PREP(IRG_FLAGS_MASK, cmd.data);
786 struct sdio_cmd52 cmd;
788 cmd.read_write = 1;
789 cmd.function = 0;
790 cmd.raw = 0;
791 cmd.address = WILC_SDIO_IRQ_CLEAR_FLAG_REG;
792 cmd.data = reg;
794 ret = wilc_sdio_cmd52(wilc, &cmd);
798 cmd.address, __LINE__);
816 struct sdio_cmd52 cmd;
818 cmd.read_write = 1;
819 cmd.function = 0;
820 cmd.raw = 0;
821 cmd.address = WILC_SDIO_IRQ_CLEAR_FLAG_REG;
822 cmd.data = BIT(i);
824 ret = wilc_sdio_cmd52(wilc, &cmd);
828 cmd.address, __LINE__);
857 struct sdio_cmd52 cmd;
859 cmd.read_write = 1;
860 cmd.function = 0;
861 cmd.raw = 0;
862 cmd.address = WILC_SDIO_VMM_TBL_CTRL_REG;
863 cmd.data = vmm_ctl;
864 ret = wilc_sdio_cmd52(wilc, &cmd);
868 cmd.address, __LINE__);