Lines Matching refs:sdioh_info

230 static int sdstd_check_errs(sdioh_info_t *sdioh_info, uint32 cmd, uint32 arg);
1751 sdstd_check_errs(sdioh_info_t *sdioh_info, uint32 cmd, uint32 arg) in sdstd_check_errs() argument
1758 if ((regval = sdstd_rreg16(sdioh_info, SD_ErrorIntrStatus)) == 0) in sdstd_check_errs()
1767 sdstd_wreg16(sdioh_info, SD_ErrorIntrStatus, regval); in sdstd_check_errs()
1773 __FUNCTION__, regval, sdstd_rreg16(sdioh_info, SD_IntrStatus), in sdstd_check_errs()
1774 sdstd_rreg(sdioh_info, SD_PresentState))); in sdstd_check_errs()
1775 sdstd_wreg16(sdioh_info, SD_ErrorIntrStatus, regval); in sdstd_check_errs()
1791 sdstd_wreg8(sdioh_info, SD_SoftwareReset, SFIELD(0, SW_RESET_CMD, 1)); in sdstd_check_errs()
1793 if (!(GFIELD(sdstd_rreg8(sdioh_info, SD_SoftwareReset), SW_RESET_CMD))) in sdstd_check_errs()
1804 __FUNCTION__, sdstd_rreg(sdioh_info, SD_ADMA_ErrStatus))); in sdstd_check_errs()
1806 sdstd_wreg8(sdioh_info, SD_SoftwareReset, SFIELD(0, SW_RESET_DAT, 1)); in sdstd_check_errs()
1808 if (!(GFIELD(sdstd_rreg8(sdioh_info, SD_SoftwareReset), SW_RESET_DAT))) in sdstd_check_errs()
1828 sdstd_abort(sdioh_info, function); in sdstd_check_errs()
4351 sdstd_cmd_issue(sdioh_info_t *sdioh_info, bool use_dma, uint32 cmd, uint32 arg) in sdstd_cmd_issue() argument
4359 if (sdstd_rreg16(sdioh_info, SD_ErrorIntrStatus) != 0) { in sdstd_cmd_issue()
4361 __FUNCTION__, sdstd_rreg16(sdioh_info, SD_ErrorIntrStatus))); in sdstd_cmd_issue()
4365 if ((sdioh_info->sd_mode == SDIOH_MODE_SPI) && in sdstd_cmd_issue()
4372 while ((GFIELD(sdstd_rreg(sdioh_info, SD_PresentState), PRES_CMD_INHIBIT)) && --retries) { in sdstd_cmd_issue()
4375 __FUNCTION__, cmd, sdstd_rreg(sdioh_info, SD_PresentState))); in sdstd_cmd_issue()
4499 use_dma = USE_DMA(sdioh_info) && GFIELD(cmd_arg, CMD53_BLK_MODE); in sdstd_cmd_issue()
4506 ASSERT(sdioh_info->sd_blockmode); in sdstd_cmd_issue()
4509 blocksize = MIN((int)sdioh_info->data_xfer_count, in sdstd_cmd_issue()
4510 sdioh_info->client_block_size[func]); in sdstd_cmd_issue()
4518 switch (sdioh_info->sd_dma_mode) { in sdstd_cmd_issue()
4521 __FUNCTION__, sdstd_rreg(sdioh_info, SD_SysAddr), in sdstd_cmd_issue()
4522 (uint32)sdioh_info->dma_phys)); in sdstd_cmd_issue()
4523 sdstd_wreg(sdioh_info, SD_SysAddr, sdioh_info->dma_phys); in sdstd_cmd_issue()
4530 if ((sdioh_info->glom_info.count != 0) && in sdstd_cmd_issue()
4531 (sdioh_info->txglom_mode == SDPCM_TXGLOM_MDESC)) { in sdstd_cmd_issue()
4534 i < sdioh_info->glom_info.count-1; in sdstd_cmd_issue()
4537 glom_info = &(sdioh_info->glom_info); in sdstd_cmd_issue()
4538 sd_create_adma_descriptor(sdioh_info, in sdstd_cmd_issue()
4546 sd_create_adma_descriptor(sdioh_info, in sdstd_cmd_issue()
4548 sdioh_info->glom_info.dma_phys_arr[i], in sdstd_cmd_issue()
4549 sdioh_info->glom_info.nbytes[i], in sdstd_cmd_issue()
4557 sd_create_adma_descriptor(sdioh_info, 0, in sdstd_cmd_issue()
4558 sdioh_info->dma_phys, blockcount*blocksize, in sdstd_cmd_issue()
4564 sd_dump_adma_dscr(sdioh_info); in sdstd_cmd_issue()
4567 sdstd_wreg(sdioh_info, SD_ADMA_SysAddr, in sdstd_cmd_issue()
4568 sdioh_info->adma2_dscr_phys); in sdstd_cmd_issue()
4572 __FUNCTION__, sdioh_info->sd_dma_mode)); in sdstd_cmd_issue()
4579 sdstd_wreg16(sdioh_info, SD_BlockSize, blocksize); in sdstd_cmd_issue()
4580 sdstd_wreg16(sdioh_info, SD_BlockCount, blockcount); in sdstd_cmd_issue()
4584 if (sdioh_info->client_block_size[func] != blocksize) in sdstd_cmd_issue()
4585 set_client_block_size(sdioh_info, 1, blocksize); in sdstd_cmd_issue()
4603 while (GFIELD(sdstd_rreg(sdioh_info, SD_PresentState), in sdstd_cmd_issue()
4615 sdstd_wreg16(sdioh_info, SD_TransferMode, xfer_reg); in sdstd_cmd_issue()
4627 sdstd_wreg(sdioh_info, SD_SysAddr, sdioh_info->dma_phys); in sdstd_cmd_issue()
4640 sdstd_wreg16(sdioh_info, SD_BlockSize, bytes); in sdstd_cmd_issue()
4646 sdstd_wreg16(sdioh_info, SD_BlockCount, 1); in sdstd_cmd_issue()
4649 while (GFIELD(sdstd_rreg(sdioh_info, SD_PresentState), in sdstd_cmd_issue()
4661 sdstd_wreg16(sdioh_info, SD_TransferMode, xfer_reg); in sdstd_cmd_issue()
4670 if (sdioh_info->sd_mode == SDIOH_MODE_SPI) { in sdstd_cmd_issue()
4676 sdstd_wreg(sdioh_info, SD_Arg0, arg); in sdstd_cmd_issue()
4695 sdstd_wreg16(sdioh_info, SD_TransferMode, xfer_reg); in sdstd_cmd_issue()
4696 sdstd_wreg16(sdioh_info, SD_BlockSize, 64); in sdstd_cmd_issue()
4697 sdstd_wreg16(sdioh_info, SD_BlockCount, 1); in sdstd_cmd_issue()
4699 sdstd_wreg16(sdioh_info, SD_Command, cmd_reg); in sdstd_cmd_issue()
4708 if (sdioh_info->polled_mode) { in sdstd_cmd_issue()
4717 int_reg = sdstd_rreg16(sdioh_info, SD_IntrStatus); in sdstd_cmd_issue()
4718 sdstd_os_yield(sdioh_info); in sdstd_cmd_issue()
4727 sdstd_rreg16(sdioh_info, SD_ErrorIntrStatus), in sdstd_cmd_issue()
4728 sdstd_rreg(sdioh_info, SD_PresentState))); in sdstd_cmd_issue()
4731 sdstd_wreg8(sdioh_info, SD_SoftwareReset, SFIELD(0, SW_RESET_CMD, 1)); in sdstd_cmd_issue()
4735 } while ((GFIELD(sdstd_rreg8(sdioh_info, SD_SoftwareReset), in sdstd_cmd_issue()
4749 sdstd_wreg16(sdioh_info, SD_IntrStatus, int_reg); in sdstd_cmd_issue()
4752 if (sdstd_check_errs(sdioh_info, cmd, arg)) { in sdstd_cmd_issue()