Lines Matching refs:func
70 static int sdspi_card_regread(sdioh_info_t *sd, int func, uint32 regaddr,
72 static int sdspi_card_regwrite(sdioh_info_t *sd, int func, uint32 regaddr,
76 static int sdspi_card_buf(sdioh_info_t *sd, int rw, int func, bool fifo,
78 static int sdspi_abort(sdioh_info_t *sd, uint func);
80 static int set_client_block_size(sdioh_info_t *sd, int func, int blocksize);
339 uint func = ((uint32)int_val >> 16); in sdioh_iovar_op() local
343 if (func > si->num_funcs) { in sdioh_iovar_op()
348 switch (func) { in sdioh_iovar_op()
364 bcmerror = set_client_block_size(si, func, blksize); in sdioh_iovar_op()
483 if (sdioh_cfg_read(si, sd_ptr->func, sd_ptr->offset, &data)) { in sdioh_iovar_op()
498 if (sdioh_cfg_write(si, sd_ptr->func, sd_ptr->offset, &data)) { in sdioh_iovar_op()
534 sdioh_cis_read(sdioh_info_t *sd, uint func, uint8 *cisd, uint32 length) in sdioh_cis_read() argument
541 sd_trace(("%s: Func = %d\n", __FUNCTION__, func)); in sdioh_cis_read()
543 if (!sd->func_cis_ptr[func]) { in sdioh_cis_read()
551 offset = sd->func_cis_ptr[func] + count; in sdioh_cis_read()
565 sdioh_request_byte(sdioh_info_t *sd, uint rw, uint func, uint regaddr, uint8 *byte) in sdioh_request_byte() argument
574 cmd_arg = SFIELD(cmd_arg, CMD52_FUNCTION, func); in sdioh_request_byte()
580 sd_trace(("%s: rw=%d, func=%d, regaddr=0x%08x\n", __FUNCTION__, rw, func, regaddr)); in sdioh_request_byte()
591 __FUNCTION__, rsp5, func)); in sdioh_request_byte()
605 sdioh_request_word(sdioh_info_t *sd, uint cmd_type, uint rw, uint func, uint addr, in sdioh_request_word() argument
613 status = sdspi_card_regread(sd, func, addr, nbytes, word); in sdioh_request_word()
615 status = sdspi_card_regwrite(sd, func, addr, nbytes, *word); in sdioh_request_word()
622 sdioh_request_buffer(sdioh_info_t *sd, uint pio_dma, uint fix_inc, uint rw, uint func, in sdioh_request_buffer() argument
633 ASSERT(sd->client_block_size[func]); in sdioh_request_buffer()
648 if (buflen > sd->client_block_size[func]) in sdioh_request_buffer()
649 len = (len/sd->client_block_size[func]) * in sdioh_request_buffer()
650 sd->client_block_size[func]; in sdioh_request_buffer()
653 len = MIN(sd->client_block_size[func], buflen); in sdioh_request_buffer()
656 if (sdspi_card_buf(sd, rw, func, fifo, addr, len, (uint32 *)buffer) != SUCCESS) { in sdioh_request_buffer()
670 sdspi_abort(sdioh_info_t *sd, uint func) in sdspi_abort() argument
678 sd_err(("Sending SPI Abort to F%d\n", func)); in sdspi_abort()
679 spi_databuf[4] = func & 0x7; in sdspi_abort()
1015 uint8 func; in sdspi_card_enablefuncs() local
1034 for (fbraddr = SDIOD_FBR_STARTADDR, func = 1; in sdspi_card_enablefuncs()
1035 func <= sd->num_funcs; func++, fbraddr += SDIOD_FBR_SIZE) { in sdspi_card_enablefuncs()
1036 ptr = (uint8 *) &sd->func_cis_ptr[func]; in sdspi_card_enablefuncs()
1046 sd->func_cis_ptr[func] &= 0x0001FFFF; in sdspi_card_enablefuncs()
1048 __FUNCTION__, func, sd->func_cis_ptr[func])); in sdspi_card_enablefuncs()
1067 sdspi_card_regread(sdioh_info_t *sd, int func, uint32 regaddr, int regsize, uint32 *data) in sdspi_card_regread() argument
1075 if ((func == 0) || (regsize == 1)) { in sdspi_card_regread()
1076 cmd_arg = SFIELD(cmd_arg, CMD52_FUNCTION, func); in sdspi_card_regread()
1090 __FUNCTION__, rsp5, func)); in sdspi_card_regread()
1097 cmd_arg = SFIELD(cmd_arg, CMD53_FUNCTION, func); in sdspi_card_regread()
1114 __FUNCTION__, rsp5, func)); in sdspi_card_regread()
1122 __FUNCTION__, func, regaddr, regsize, *data)); in sdspi_card_regread()
1132 sdspi_card_regwrite(sdioh_info_t *sd, int func, uint32 regaddr, int regsize, uint32 data) in sdspi_card_regwrite() argument
1139 if ((func == 0) || (regsize == 1)) { in sdspi_card_regwrite()
1140 cmd_arg = SFIELD(cmd_arg, CMD52_FUNCTION, func); in sdspi_card_regwrite()
1159 cmd_arg = SFIELD(cmd_arg, CMD53_FUNCTION, func); in sdspi_card_regwrite()
1167 __FUNCTION__, func, regaddr, regsize, data)); in sdspi_card_regwrite()
1436 sdspi_card_buf(sdioh_info_t *sd, int rw, int func, bool fifo, uint32 addr, int nbytes, uint32 *data) in sdspi_card_buf() argument
1449 __FUNCTION__, read ? "Rd" : "Wr", func, fifo ? "FIXED" : "INCR", in sdspi_card_buf()
1458 if (nbytes < sd->client_block_size[func]) { in sdspi_card_buf()
1460 nbytes, sd->client_block_size[func])); in sdspi_card_buf()
1466 blocksize = MIN(sd->client_block_size[func], nbytes); in sdspi_card_buf()
1482 cmd_arg = SFIELD(cmd_arg, CMD53_FUNCTION, func); in sdspi_card_buf()
1490 if ((func == 2) && (fifo == 1)) { in sdspi_card_buf()
1492 __FUNCTION__, read ? "Rd" : "Wr", func, fifo ? "FIXED" : "INCR", in sdspi_card_buf()
1518 set_client_block_size(sdioh_info_t *sd, int func, int block_size) in set_client_block_size() argument
1523 sd_err(("%s: Setting block size %d, func %d\n", __FUNCTION__, block_size, func)); in set_client_block_size()
1524 sd->client_block_size[func] = block_size; in set_client_block_size()
1527 base = func * SDIOD_FBR_SIZE; in set_client_block_size()