Lines Matching refs:bcmsdh
147 bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)l_bcmsdh; in bcmsdh_btsdio_interface_init() local
151 sdioh_sdmmc_card_enable_func_f3(bcmsdh->sdioh, func); in bcmsdh_btsdio_interface_init()
169 bcmsdh_info_t *bcmsdh; in bcmsdh_attach() local
171 if ((bcmsdh = (bcmsdh_info_t *)MALLOC(osh, sizeof(bcmsdh_info_t))) == NULL) { in bcmsdh_attach()
175 bzero((char *)bcmsdh, sizeof(bcmsdh_info_t)); in bcmsdh_attach()
176 bcmsdh->sdioh = sdioh; in bcmsdh_attach()
177 bcmsdh->osh = osh; in bcmsdh_attach()
178 bcmsdh->init_success = TRUE; in bcmsdh_attach()
181 bcmsdh_force_sbwad_calc(bcmsdh, FALSE); in bcmsdh_attach()
184 bcmsdh->sbwad = si_enum_base(0); in bcmsdh_attach()
187 l_bcmsdh = bcmsdh; in bcmsdh_attach()
189 return bcmsdh; in bcmsdh_attach()
195 bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)sdh; in bcmsdh_detach() local
197 if (bcmsdh != NULL) { in bcmsdh_detach()
199 if (bcmsdh->sdioh) in bcmsdh_detach()
200 sdioh_detach(osh, bcmsdh->sdioh); in bcmsdh_detach()
202 MFREE(osh, bcmsdh, sizeof(bcmsdh_info_t)); in bcmsdh_detach()
214 bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)sdh; in bcmsdh_iovar_op() local
215 return sdioh_iovar_op(bcmsdh->sdioh, name, params, plen, arg, len, set); in bcmsdh_iovar_op()
221 bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)sdh; in bcmsdh_intr_query() local
225 ASSERT(bcmsdh); in bcmsdh_intr_query()
226 status = sdioh_interrupt_query(bcmsdh->sdioh, &on); in bcmsdh_intr_query()
236 bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)sdh; in bcmsdh_intr_enable() local
241 ASSERT(bcmsdh); in bcmsdh_intr_enable()
243 status = sdioh_interrupt_set(bcmsdh->sdioh, TRUE); in bcmsdh_intr_enable()
255 bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)sdh; in bcmsdh_intr_disable() local
260 ASSERT(bcmsdh); in bcmsdh_intr_disable()
262 status = sdioh_interrupt_set(bcmsdh->sdioh, FALSE); in bcmsdh_intr_disable()
274 bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)sdh; in bcmsdh_intr_reg() local
277 if (!bcmsdh) in bcmsdh_intr_reg()
278 bcmsdh = l_bcmsdh; in bcmsdh_intr_reg()
280 ASSERT(bcmsdh); in bcmsdh_intr_reg()
282 status = sdioh_interrupt_register(bcmsdh->sdioh, fn, argh); in bcmsdh_intr_reg()
289 bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)sdh; in bcmsdh_intr_dereg() local
292 if (!bcmsdh) in bcmsdh_intr_dereg()
293 bcmsdh = l_bcmsdh; in bcmsdh_intr_dereg()
295 ASSERT(bcmsdh); in bcmsdh_intr_dereg()
297 status = sdioh_interrupt_deregister(bcmsdh->sdioh); in bcmsdh_intr_dereg()
305 bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)sdh; in bcmsdh_intr_pending() local
308 return sdioh_interrupt_pending(bcmsdh->sdioh); in bcmsdh_intr_pending()
332 bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)sdh; in bcmsdh_cfg_read() local
339 if (!bcmsdh) in bcmsdh_cfg_read()
340 bcmsdh = l_bcmsdh; in bcmsdh_cfg_read()
342 ASSERT(bcmsdh->init_success); in bcmsdh_cfg_read()
349 status = sdioh_cfg_read(bcmsdh->sdioh, fnc_num, addr, (uint8 *)&data); in bcmsdh_cfg_read()
368 bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)sdh; in bcmsdh_cfg_write() local
374 if (!bcmsdh) in bcmsdh_cfg_write()
375 bcmsdh = l_bcmsdh; in bcmsdh_cfg_write()
377 ASSERT(bcmsdh->init_success); in bcmsdh_cfg_write()
384 status = sdioh_cfg_write(bcmsdh->sdioh, fnc_num, addr, (uint8 *)&data); in bcmsdh_cfg_write()
401 bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)sdh; in bcmsdh_cfg_read_word() local
405 if (!bcmsdh) in bcmsdh_cfg_read_word()
406 bcmsdh = l_bcmsdh; in bcmsdh_cfg_read_word()
408 ASSERT(bcmsdh->init_success); in bcmsdh_cfg_read_word()
410 status = sdioh_request_word(bcmsdh->sdioh, SDIOH_CMD_TYPE_NORMAL, SDIOH_READ, fnc_num, in bcmsdh_cfg_read_word()
425 bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)sdh; in bcmsdh_cfg_write_word() local
428 if (!bcmsdh) in bcmsdh_cfg_write_word()
429 bcmsdh = l_bcmsdh; in bcmsdh_cfg_write_word()
431 ASSERT(bcmsdh->init_success); in bcmsdh_cfg_write_word()
433 status = sdioh_request_word(bcmsdh->sdioh, SDIOH_CMD_TYPE_NORMAL, SDIOH_WRITE, fnc_num, in bcmsdh_cfg_write_word()
446 bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)sdh; in bcmsdh_cis_read() local
454 if (!bcmsdh) in bcmsdh_cis_read()
455 bcmsdh = l_bcmsdh; in bcmsdh_cis_read()
457 ASSERT(bcmsdh->init_success); in bcmsdh_cis_read()
461 status = sdioh_cis_read(bcmsdh->sdioh, func, cis, length); in bcmsdh_cis_read()
465 if ((tmp_buf = (uint8 *)MALLOC(bcmsdh->osh, length)) == NULL) { in bcmsdh_cis_read()
476 MFREE(bcmsdh->osh, tmp_buf, length); in bcmsdh_cis_read()
485 bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)sdh; in bcmsdh_cisaddr_read() local
490 if (!bcmsdh) in bcmsdh_cisaddr_read()
491 bcmsdh = l_bcmsdh; in bcmsdh_cisaddr_read()
493 ASSERT(bcmsdh->init_success); in bcmsdh_cisaddr_read()
496 status = sdioh_cisaddr_read(bcmsdh->sdioh, func, cisd, offset); in bcmsdh_cisaddr_read()
507 bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)sdh; in bcmsdhsdio_set_sbaddr_window() local
509 if (bar0 != bcmsdh->sbwad || force_set) { in bcmsdhsdio_set_sbaddr_window()
510 bcmsdh_cfg_write(bcmsdh, SDIO_FUNC_1, SBSDIO_FUNC1_SBADDRLOW, in bcmsdhsdio_set_sbaddr_window()
513 bcmsdh_cfg_write(bcmsdh, SDIO_FUNC_1, SBSDIO_FUNC1_SBADDRMID, in bcmsdhsdio_set_sbaddr_window()
516 bcmsdh_cfg_write(bcmsdh, SDIO_FUNC_1, SBSDIO_FUNC1_SBADDRHIGH, in bcmsdhsdio_set_sbaddr_window()
520 bcmsdh->sbwad = bar0; in bcmsdhsdio_set_sbaddr_window()
523 bcmsdh->sbwad = 0; in bcmsdhsdio_set_sbaddr_window()
538 bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)sdh; in bcmsdh_reg_read() local
544 if (!bcmsdh) in bcmsdh_reg_read()
545 bcmsdh = l_bcmsdh; in bcmsdh_reg_read()
547 ASSERT(bcmsdh->init_success); in bcmsdh_reg_read()
549 if (bcmsdhsdio_set_sbaddr_window(bcmsdh, addr, bcmsdh->force_sbwad_calc)) { in bcmsdh_reg_read()
550 bcmsdh->regfail = TRUE; // terence 20130621: prevent dhd_dpc in dead lock in bcmsdh_reg_read()
558 status = sdioh_request_word(bcmsdh->sdioh, SDIOH_CMD_TYPE_NORMAL, in bcmsdh_reg_read()
561 bcmsdh->regfail = !(SDIOH_API_SUCCESS(status)); in bcmsdh_reg_read()
576 bcmsdh->regfail = TRUE; in bcmsdh_reg_read()
590 bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)sdh; in bcmsdh_reg_write() local
597 if (!bcmsdh) in bcmsdh_reg_write()
598 bcmsdh = l_bcmsdh; in bcmsdh_reg_write()
600 ASSERT(bcmsdh->init_success); in bcmsdh_reg_write()
602 if ((err = bcmsdhsdio_set_sbaddr_window(bcmsdh, addr, bcmsdh->force_sbwad_calc))) { in bcmsdh_reg_write()
603 bcmsdh->regfail = TRUE; // terence 20130621: in bcmsdh_reg_write()
610 status = sdioh_request_word(bcmsdh->sdioh, SDIOH_CMD_TYPE_NORMAL, SDIOH_WRITE, SDIO_FUNC_1, in bcmsdh_reg_write()
612 bcmsdh->regfail = !(SDIOH_API_SUCCESS(status)); in bcmsdh_reg_write()
633 bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)sdh; in bcmsdh_recv_buf() local
639 ASSERT(bcmsdh); in bcmsdh_recv_buf()
640 ASSERT(bcmsdh->init_success); in bcmsdh_recv_buf()
650 if ((err = bcmsdhsdio_set_sbaddr_window(bcmsdh, addr, FALSE))) in bcmsdh_recv_buf()
660 status = sdioh_request_buffer(bcmsdh->sdioh, SDIOH_DATA_PIO, incr_fix, in bcmsdh_recv_buf()
671 bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)sdh; in bcmsdh_send_buf() local
677 ASSERT(bcmsdh); in bcmsdh_send_buf()
678 ASSERT(bcmsdh->init_success); in bcmsdh_send_buf()
688 if ((err = bcmsdhsdio_set_sbaddr_window(bcmsdh, addr, FALSE))) in bcmsdh_send_buf()
698 status = sdioh_request_buffer(bcmsdh->sdioh, SDIOH_DATA_PIO, incr_fix, in bcmsdh_send_buf()
707 bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)sdh; in bcmsdh_rwdata() local
710 ASSERT(bcmsdh); in bcmsdh_rwdata()
711 ASSERT(bcmsdh->init_success); in bcmsdh_rwdata()
717 status = sdioh_request_buffer(bcmsdh->sdioh, SDIOH_DATA_PIO, SDIOH_DATA_INC, in bcmsdh_rwdata()
727 bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)sdh; in bcmsdh_abort() local
729 return sdioh_abort(bcmsdh->sdioh, fn); in bcmsdh_abort()
735 bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)sdh; in bcmsdh_start() local
737 return sdioh_start(bcmsdh->sdioh, stage); in bcmsdh_start()
743 bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)sdh; in bcmsdh_stop() local
745 return sdioh_stop(bcmsdh->sdioh); in bcmsdh_stop()
752 bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)sdh; in bcmsdh_waitlockfree() local
754 return sdioh_waitlockfree(bcmsdh->sdioh); in bcmsdh_waitlockfree()
763 bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)sdh; in bcmsdh_query_device() local
765 bcmsdh->vendevid = (VENDOR_BROADCOM << 16) | 0; in bcmsdh_query_device()
771 osl_t *osh = bcmsdh->osh; in bcmsdh_query_device()
773 bcmsdh->vendevid = ~(0); in bcmsdh_query_device()
777 return (bcmsdh->vendevid); in bcmsdh_query_device()
785 bcmsdh->vendevid = (VENDOR_BROADCOM << 16) | 0; in bcmsdh_query_device()
787 return (bcmsdh->vendevid); in bcmsdh_query_device()
794 bcmsdh->vendevid = (getintvar(vars, "vendid") << 16) | in bcmsdh_query_device()
802 return (bcmsdh->vendevid); in bcmsdh_query_device()
808 bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)sdh; in bcmsdh_query_iofnum() local
810 if (!bcmsdh) in bcmsdh_query_iofnum()
811 bcmsdh = l_bcmsdh; in bcmsdh_query_iofnum()
813 return (sdioh_query_iofnum(bcmsdh->sdioh)); in bcmsdh_query_iofnum()
819 bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)sdh; in bcmsdh_reset() local
821 return sdioh_sdio_reset(bcmsdh->sdioh); in bcmsdh_reset()
846 bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)sdh; in bcmsdh_cur_sbwad() local
848 if (!bcmsdh) in bcmsdh_cur_sbwad()
849 bcmsdh = l_bcmsdh; in bcmsdh_cur_sbwad()
851 return (bcmsdh->sbwad); in bcmsdh_cur_sbwad()
860 bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)sdh; in bcmsdh_force_sbwad_calc() local
862 if (!bcmsdh) in bcmsdh_force_sbwad_calc()
863 bcmsdh = l_bcmsdh; in bcmsdh_force_sbwad_calc()
864 bcmsdh->force_sbwad_calc = force; in bcmsdh_force_sbwad_calc()
942 bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)sdh; in bcmsdh_set_mode() local
943 return (sdioh_set_mode(bcmsdh->sdioh, mode)); in bcmsdh_set_mode()
950 bcmsdh_info_t *bcmsdh = (bcmsdh_info_t *)sdh; in bcmsdh_get_spend_time() local
951 return (sdioh_get_spend_time(bcmsdh->sdioh)); in bcmsdh_get_spend_time()