Lines Matching refs:sdiodev
432 struct brcmf_sdio_dev *sdiodev; /* sdio device handler */ member
684 struct brcmf_sdio_dev *sdiodev) in brcmf_sdio_get_fwnames() argument
702 strlcpy(sdiodev->fw_name, brcmf_firmware_path, in brcmf_sdio_get_fwnames()
703 sizeof(sdiodev->fw_name)); in brcmf_sdio_get_fwnames()
704 strlcpy(sdiodev->nvram_name, brcmf_firmware_path, in brcmf_sdio_get_fwnames()
705 sizeof(sdiodev->nvram_name)); in brcmf_sdio_get_fwnames()
709 strlcat(sdiodev->fw_name, "/", in brcmf_sdio_get_fwnames()
710 sizeof(sdiodev->fw_name)); in brcmf_sdio_get_fwnames()
711 strlcat(sdiodev->nvram_name, "/", in brcmf_sdio_get_fwnames()
712 sizeof(sdiodev->nvram_name)); in brcmf_sdio_get_fwnames()
715 strlcat(sdiodev->fw_name, brcmf_fwname_data[i].bin, in brcmf_sdio_get_fwnames()
716 sizeof(sdiodev->fw_name)); in brcmf_sdio_get_fwnames()
717 strlcat(sdiodev->nvram_name, brcmf_fwname_data[i].nv, in brcmf_sdio_get_fwnames()
718 sizeof(sdiodev->nvram_name)); in brcmf_sdio_get_fwnames()
750 *regvar = brcmf_sdiod_regrl(bus->sdiodev, core->base + offset, &ret); in r_sdreg32()
761 brcmf_sdiod_regwl(bus->sdiodev, core->base + reg_offset, regval, &ret); in w_sdreg32()
777 brcmf_sdiod_regwb(bus->sdiodev, SBSDIO_FUNC1_SLEEPCSR, in brcmf_sdio_kso_control()
804 rd_val = brcmf_sdiod_regrb(bus->sdiodev, SBSDIO_FUNC1_SLEEPCSR, in brcmf_sdio_kso_control()
810 brcmf_sdiod_regwb(bus->sdiodev, SBSDIO_FUNC1_SLEEPCSR, in brcmf_sdio_kso_control()
847 brcmf_sdiod_regwb(bus->sdiodev, SBSDIO_FUNC1_CHIPCLKCSR, in brcmf_sdio_htclk()
855 clkctl = brcmf_sdiod_regrb(bus->sdiodev, in brcmf_sdio_htclk()
865 devctl = brcmf_sdiod_regrb(bus->sdiodev, in brcmf_sdio_htclk()
874 brcmf_sdiod_regwb(bus->sdiodev, SBSDIO_DEVICE_CTL, in brcmf_sdio_htclk()
882 devctl = brcmf_sdiod_regrb(bus->sdiodev, in brcmf_sdio_htclk()
885 brcmf_sdiod_regwb(bus->sdiodev, SBSDIO_DEVICE_CTL, in brcmf_sdio_htclk()
893 clkctl = brcmf_sdiod_regrb(bus->sdiodev, in brcmf_sdio_htclk()
927 devctl = brcmf_sdiod_regrb(bus->sdiodev, in brcmf_sdio_htclk()
930 brcmf_sdiod_regwb(bus->sdiodev, SBSDIO_DEVICE_CTL, in brcmf_sdio_htclk()
935 brcmf_sdiod_regwb(bus->sdiodev, SBSDIO_FUNC1_CHIPCLKCSR, in brcmf_sdio_htclk()
1026 clkcsr = brcmf_sdiod_regrb(bus->sdiodev, in brcmf_sdio_bus_sleep()
1031 brcmf_sdiod_regwb(bus->sdiodev, in brcmf_sdio_bus_sleep()
1079 sdio_claim_host(bus->sdiodev->func[1]); in brcmf_sdio_readshared()
1089 rv = brcmf_sdiod_ramrw(bus->sdiodev, false, shaddr, in brcmf_sdio_readshared()
1108 rv = brcmf_sdiod_ramrw(bus->sdiodev, false, addr, (u8 *)&sh_le, in brcmf_sdio_readshared()
1113 sdio_release_host(bus->sdiodev->func[1]); in brcmf_sdio_readshared()
1135 sdio_release_host(bus->sdiodev->func[1]); in brcmf_sdio_readshared()
1246 brcmf_sdiod_abort(bus->sdiodev, SDIO_FUNC_2); in brcmf_sdio_rxfail()
1248 brcmf_sdiod_regwb(bus->sdiodev, SBSDIO_FUNC1_FRAMECTRL, in brcmf_sdio_rxfail()
1254 hi = brcmf_sdiod_regrb(bus->sdiodev, in brcmf_sdio_rxfail()
1256 lo = brcmf_sdiod_regrb(bus->sdiodev, in brcmf_sdio_rxfail()
1291 struct brcmf_sdio_dev *sdiodev = bus->sdiodev; in brcmf_sdio_txfail() local
1298 brcmf_sdiod_abort(sdiodev, SDIO_FUNC_2); in brcmf_sdio_txfail()
1299 brcmf_sdiod_regwb(sdiodev, SBSDIO_FUNC1_FRAMECTRL, SFC_WF_TERM, NULL); in brcmf_sdio_txfail()
1303 hi = brcmf_sdiod_regrb(sdiodev, SBSDIO_FUNC1_WFRAMEBCHI, NULL); in brcmf_sdio_txfail()
1304 lo = brcmf_sdiod_regrb(sdiodev, SBSDIO_FUNC1_WFRAMEBCLO, NULL); in brcmf_sdio_txfail()
1644 sdio_claim_host(bus->sdiodev->func[1]); in brcmf_sdio_rxglom()
1645 errcode = brcmf_sdiod_recv_chain(bus->sdiodev, in brcmf_sdio_rxglom()
1647 sdio_release_host(bus->sdiodev->func[1]); in brcmf_sdio_rxglom()
1655 sdio_claim_host(bus->sdiodev->func[1]); in brcmf_sdio_rxglom()
1664 sdio_release_host(bus->sdiodev->func[1]); in brcmf_sdio_rxglom()
1674 sdio_claim_host(bus->sdiodev->func[1]); in brcmf_sdio_rxglom()
1677 sdio_release_host(bus->sdiodev->func[1]); in brcmf_sdio_rxglom()
1693 sdio_claim_host(bus->sdiodev->func[1]); in brcmf_sdio_rxglom()
1696 sdio_release_host(bus->sdiodev->func[1]); in brcmf_sdio_rxglom()
1706 sdio_claim_host(bus->sdiodev->func[1]); in brcmf_sdio_rxglom()
1717 sdio_release_host(bus->sdiodev->func[1]); in brcmf_sdio_rxglom()
1750 brcmf_rx_frame(bus->sdiodev->dev, pfirst); in brcmf_sdio_rxglom()
1817 ((len + pad) < bus->sdiodev->bus_if->maxctl)) in brcmf_sdio_read_control()
1824 if ((rdlen + BRCMF_FIRSTREAD) > bus->sdiodev->bus_if->maxctl) { in brcmf_sdio_read_control()
1826 rdlen, bus->sdiodev->bus_if->maxctl); in brcmf_sdio_read_control()
1831 if ((len - doff) > bus->sdiodev->bus_if->maxctl) { in brcmf_sdio_read_control()
1833 len, len - doff, bus->sdiodev->bus_if->maxctl); in brcmf_sdio_read_control()
1840 sdret = brcmf_sdiod_recv_buf(bus->sdiodev, rbuf, rdlen); in brcmf_sdio_read_control()
1905 !bus->rxskip && rxleft && bus->sdiodev->state == BRCMF_SDIOD_DATA; in brcmf_sdio_readframes()
1922 sdio_claim_host(bus->sdiodev->func[1]); in brcmf_sdio_readframes()
1924 ret = brcmf_sdiod_recv_buf(bus->sdiodev, in brcmf_sdio_readframes()
1932 sdio_release_host(bus->sdiodev->func[1]); in brcmf_sdio_readframes()
1942 sdio_release_host(bus->sdiodev->func[1]); in brcmf_sdio_readframes()
1958 sdio_release_host(bus->sdiodev->func[1]); in brcmf_sdio_readframes()
1975 sdio_release_host(bus->sdiodev->func[1]); in brcmf_sdio_readframes()
1981 ret = brcmf_sdiod_recv_pkt(bus->sdiodev, pkt); in brcmf_sdio_readframes()
1983 sdio_release_host(bus->sdiodev->func[1]); in brcmf_sdio_readframes()
1989 sdio_claim_host(bus->sdiodev->func[1]); in brcmf_sdio_readframes()
1992 sdio_release_host(bus->sdiodev->func[1]); in brcmf_sdio_readframes()
2003 sdio_claim_host(bus->sdiodev->func[1]); in brcmf_sdio_readframes()
2016 sdio_release_host(bus->sdiodev->func[1]); in brcmf_sdio_readframes()
2020 sdio_release_host(bus->sdiodev->func[1]); in brcmf_sdio_readframes()
2036 sdio_claim_host(bus->sdiodev->func[1]); in brcmf_sdio_readframes()
2038 sdio_release_host(bus->sdiodev->func[1]); in brcmf_sdio_readframes()
2061 sdio_claim_host(bus->sdiodev->func[1]); in brcmf_sdio_readframes()
2063 sdio_release_host(bus->sdiodev->func[1]); in brcmf_sdio_readframes()
2088 brcmf_rx_frame(bus->sdiodev->dev, pkt); in brcmf_sdio_readframes()
2124 bus->sdiodev->bus_if->tx_realloc++; in brcmf_sdio_txpkt_hdalign()
2149 struct brcmf_sdio_dev *sdiodev; in brcmf_sdio_txpkt_prep_sg() local
2156 sdiodev = bus->sdiodev; in brcmf_sdio_txpkt_prep_sg()
2157 blksize = sdiodev->func[SDIO_FUNC_2]->cur_blksize; in brcmf_sdio_txpkt_prep_sg()
2336 sdio_claim_host(bus->sdiodev->func[1]); in brcmf_sdio_txpkt()
2337 ret = brcmf_sdiod_send_pkt(bus->sdiodev, pktq); in brcmf_sdio_txpkt()
2343 sdio_release_host(bus->sdiodev->func[1]); in brcmf_sdio_txpkt()
2351 brcmf_txcomplete(bus->sdiodev->dev, pkt_next, ret == 0); in brcmf_sdio_txpkt()
2374 bus->sdiodev->txglomsz); in brcmf_sdio_sendfromq()
2397 sdio_claim_host(bus->sdiodev->func[1]); in brcmf_sdio_sendfromq()
2401 sdio_release_host(bus->sdiodev->func[1]); in brcmf_sdio_sendfromq()
2411 if ((bus->sdiodev->state == BRCMF_SDIOD_DATA) && in brcmf_sdio_sendfromq()
2414 brcmf_txflowblock(bus->sdiodev->dev, false); in brcmf_sdio_sendfromq()
2471 ret = brcmf_sdiod_send_buf(bus->sdiodev, frame, len); in brcmf_sdio_tx_ctrlframe()
2488 struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv.sdio; in brcmf_sdio_bus_stop() local
2489 struct brcmf_sdio *bus = sdiodev->bus; in brcmf_sdio_bus_stop()
2499 if (sdiodev->state != BRCMF_SDIOD_NOMEDIUM) { in brcmf_sdio_bus_stop()
2500 sdio_claim_host(sdiodev->func[1]); in brcmf_sdio_bus_stop()
2511 saveclk = brcmf_sdiod_regrb(sdiodev, SBSDIO_FUNC1_CHIPCLKCSR, in brcmf_sdio_bus_stop()
2514 brcmf_sdiod_regwb(sdiodev, SBSDIO_FUNC1_CHIPCLKCSR, in brcmf_sdio_bus_stop()
2522 sdio_disable_func(sdiodev->func[SDIO_FUNC_2]); in brcmf_sdio_bus_stop()
2528 sdio_release_host(sdiodev->func[1]); in brcmf_sdio_bus_stop()
2552 if (bus->sdiodev->oob_irq_requested) { in brcmf_sdio_clrintr()
2553 spin_lock_irqsave(&bus->sdiodev->irq_en_lock, flags); in brcmf_sdio_clrintr()
2554 if (!bus->sdiodev->irq_en && !atomic_read(&bus->ipend)) { in brcmf_sdio_clrintr()
2555 enable_irq(bus->sdiodev->pdata->oob_irq_nr); in brcmf_sdio_clrintr()
2556 bus->sdiodev->irq_en = true; in brcmf_sdio_clrintr()
2558 spin_unlock_irqrestore(&bus->sdiodev->irq_en_lock, flags); in brcmf_sdio_clrintr()
2581 val = brcmf_sdiod_regrl(bus->sdiodev, addr, &ret); in brcmf_sdio_intr_rstatus()
2591 brcmf_sdiod_regwl(bus->sdiodev, addr, val, &ret); in brcmf_sdio_intr_rstatus()
2609 sdio_claim_host(bus->sdiodev->func[1]); in brcmf_sdio_dpc()
2617 devctl = brcmf_sdiod_regrb(bus->sdiodev, in brcmf_sdio_dpc()
2622 clkctl = brcmf_sdiod_regrb(bus->sdiodev, in brcmf_sdio_dpc()
2629 devctl = brcmf_sdiod_regrb(bus->sdiodev, in brcmf_sdio_dpc()
2632 brcmf_sdiod_regwb(bus->sdiodev, SBSDIO_DEVICE_CTL, in brcmf_sdio_dpc()
2673 sdio_release_host(bus->sdiodev->func[1]); in brcmf_sdio_dpc()
2716 sdio_claim_host(bus->sdiodev->func[1]); in brcmf_sdio_dpc()
2724 sdio_release_host(bus->sdiodev->func[1]); in brcmf_sdio_dpc()
2736 if ((bus->sdiodev->state != BRCMF_SDIOD_DATA) || (err != 0)) { in brcmf_sdio_dpc()
2740 sdio_claim_host(bus->sdiodev->func[1]); in brcmf_sdio_dpc()
2747 sdio_release_host(bus->sdiodev->func[1]); in brcmf_sdio_dpc()
2761 struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv.sdio; in brcmf_sdio_bus_gettxq() local
2762 struct brcmf_sdio *bus = sdiodev->bus; in brcmf_sdio_bus_gettxq()
2814 struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv.sdio; in brcmf_sdio_bus_txdata() local
2815 struct brcmf_sdio *bus = sdiodev->bus; in brcmf_sdio_bus_txdata()
2873 rv = brcmf_sdiod_ramrw(bus->sdiodev, false, addr, (u8 *)&c->log_le, in brcmf_sdio_readconsole()
2899 rv = brcmf_sdiod_ramrw(bus->sdiodev, false, addr, c->buf, c->bufsize); in brcmf_sdio_readconsole()
2941 struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv.sdio; in brcmf_sdio_bus_txctl() local
2942 struct brcmf_sdio *bus = sdiodev->bus; in brcmf_sdio_bus_txctl()
2958 sdio_claim_host(bus->sdiodev->func[1]); in brcmf_sdio_bus_txctl()
2964 sdio_release_host(bus->sdiodev->func[1]); in brcmf_sdio_bus_txctl()
2992 rv = brcmf_sdiod_ramrw(bus->sdiodev, false, addr, in brcmf_sdio_dump_console()
2999 rv = brcmf_sdiod_ramrw(bus->sdiodev, false, addr, in brcmf_sdio_dump_console()
3006 rv = brcmf_sdiod_ramrw(bus->sdiodev, false, addr, in brcmf_sdio_dump_console()
3021 rv = brcmf_sdiod_ramrw(bus->sdiodev, false, console_ptr, (u8 *)conbuf, in brcmf_sdio_dump_console()
3050 error = brcmf_sdiod_ramrw(bus->sdiodev, false, sh->trap_addr, (u8 *)&tr, in brcmf_sdio_trap_info()
3088 sdio_claim_host(bus->sdiodev->func[1]); in brcmf_sdio_assert_info()
3090 error = brcmf_sdiod_ramrw(bus->sdiodev, false, in brcmf_sdio_assert_info()
3096 error = brcmf_sdiod_ramrw(bus->sdiodev, false, in brcmf_sdio_assert_info()
3101 sdio_release_host(bus->sdiodev->func[1]); in brcmf_sdio_assert_info()
3163 struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv.sdio; in brcmf_debugfs_sdio_count_read() local
3164 struct brcmf_sdio_count *sdcnt = &sdiodev->bus->sdcnt; in brcmf_debugfs_sdio_count_read()
3201 struct brcmf_pub *drvr = bus->sdiodev->bus_if->drvr; in brcmf_sdio_debugfs_create()
3232 struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv.sdio; in brcmf_sdio_bus_rxctl() local
3233 struct brcmf_sdio *bus = sdiodev->bus; in brcmf_sdio_bus_rxctl()
3274 brcmf_sdio_verifymemory(struct brcmf_sdio_dev *sdiodev, u32 ram_addr, in brcmf_sdio_verifymemory() argument
3297 err = brcmf_sdiod_ramrw(sdiodev, false, address, ram_cmp, len); in brcmf_sdio_verifymemory()
3319 brcmf_sdio_verifymemory(struct brcmf_sdio_dev *sdiodev, u32 ram_addr, in brcmf_sdio_verifymemory() argument
3333 err = brcmf_sdiod_ramrw(bus->sdiodev, true, bus->ci->rambase, in brcmf_sdio_download_code_file()
3338 else if (!brcmf_sdio_verifymemory(bus->sdiodev, bus->ci->rambase, in brcmf_sdio_download_code_file()
3354 err = brcmf_sdiod_ramrw(bus->sdiodev, true, address, vars, varsz); in brcmf_sdio_download_nvram()
3358 else if (!brcmf_sdio_verifymemory(bus->sdiodev, address, vars, varsz)) in brcmf_sdio_download_nvram()
3371 sdio_claim_host(bus->sdiodev->func[1]); in brcmf_sdio_download_firmware()
3399 brcmf_sdiod_change_state(bus->sdiodev, BRCMF_SDIOD_DATA); in brcmf_sdio_download_firmware()
3404 sdio_release_host(bus->sdiodev->func[1]); in brcmf_sdio_download_firmware()
3415 val = brcmf_sdiod_regrb(bus->sdiodev, SBSDIO_FUNC1_WAKEUPCTRL, &err); in brcmf_sdio_sr_init()
3422 brcmf_sdiod_regwb(bus->sdiodev, SBSDIO_FUNC1_WAKEUPCTRL, val, &err); in brcmf_sdio_sr_init()
3429 brcmf_sdiod_regwb(bus->sdiodev, SDIO_CCCR_BRCM_CARDCAP, in brcmf_sdio_sr_init()
3438 brcmf_sdiod_regwb(bus->sdiodev, SBSDIO_FUNC1_CHIPCLKCSR, in brcmf_sdio_sr_init()
3462 val = brcmf_sdiod_regrb(bus->sdiodev, SBSDIO_FUNC1_SLEEPCSR, &err); in brcmf_sdio_kso_init()
3471 brcmf_sdiod_regwb(bus->sdiodev, SBSDIO_FUNC1_SLEEPCSR, in brcmf_sdio_kso_init()
3486 struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv.sdio; in brcmf_sdio_bus_preinit() local
3487 struct brcmf_sdio *bus = sdiodev->bus; in brcmf_sdio_bus_preinit()
3504 if (sdiodev->pdata) in brcmf_sdio_bus_preinit()
3505 value = sdiodev->pdata->sd_sgentry_align; in brcmf_sdio_bus_preinit()
3516 if (sdiodev->sg_support) { in brcmf_sdio_bus_preinit()
3519 pad_size = bus->sdiodev->func[2]->cur_blksize << 1; in brcmf_sdio_bus_preinit()
3520 err = brcmf_iovar_data_set(bus->sdiodev->dev, "bus:rxglom", in brcmf_sdio_bus_preinit()
3530 brcmf_bus_add_txhdrlen(bus->sdiodev->dev, bus->tx_hdrlen); in brcmf_sdio_bus_preinit()
3553 if (bus->sdiodev->state != BRCMF_SDIOD_DATA) { in brcmf_sdio_isr()
3593 sdio_claim_host(bus->sdiodev->func[1]); in brcmf_sdio_bus_watchdog()
3594 devpend = brcmf_sdiod_regrb(bus->sdiodev, in brcmf_sdio_bus_watchdog()
3597 sdio_release_host(bus->sdiodev->func[1]); in brcmf_sdio_bus_watchdog()
3618 if (bus->sdiodev->state == BRCMF_SDIOD_DATA && in brcmf_sdio_bus_watchdog()
3623 sdio_claim_host(bus->sdiodev->func[1]); in brcmf_sdio_bus_watchdog()
3629 sdio_release_host(bus->sdiodev->func[1]); in brcmf_sdio_bus_watchdog()
3642 sdio_claim_host(bus->sdiodev->func[1]); in brcmf_sdio_bus_watchdog()
3646 sdio_release_host(bus->sdiodev->func[1]); in brcmf_sdio_bus_watchdog()
3669 if (brcmf_sdiod_freezing(bus->sdiodev)) { in brcmf_sdio_dataworker()
3670 brcmf_sdiod_change_state(bus->sdiodev, BRCMF_SDIOD_DOWN); in brcmf_sdio_dataworker()
3671 brcmf_sdiod_try_freeze(bus->sdiodev); in brcmf_sdio_dataworker()
3672 brcmf_sdiod_change_state(bus->sdiodev, BRCMF_SDIOD_DATA); in brcmf_sdio_dataworker()
3677 brcmf_sdio_drivestrengthinit(struct brcmf_sdio_dev *sdiodev, in brcmf_sdio_drivestrengthinit() argument
3734 brcmf_sdiod_regwl(sdiodev, addr, 1, NULL); in brcmf_sdio_drivestrengthinit()
3735 cc_data_temp = brcmf_sdiod_regrl(sdiodev, addr, NULL); in brcmf_sdio_drivestrengthinit()
3739 brcmf_sdiod_regwl(sdiodev, addr, cc_data_temp, NULL); in brcmf_sdio_drivestrengthinit()
3748 struct brcmf_sdio_dev *sdiodev = ctx; in brcmf_sdio_buscoreprep() local
3754 brcmf_sdiod_regwb(sdiodev, SBSDIO_FUNC1_CHIPCLKCSR, clkset, &err); in brcmf_sdio_buscoreprep()
3762 clkval = brcmf_sdiod_regrb(sdiodev, in brcmf_sdio_buscoreprep()
3771 SPINWAIT(((clkval = brcmf_sdiod_regrb(sdiodev, in brcmf_sdio_buscoreprep()
3782 brcmf_sdiod_regwb(sdiodev, SBSDIO_FUNC1_CHIPCLKCSR, clkset, &err); in brcmf_sdio_buscoreprep()
3786 brcmf_sdiod_regwb(sdiodev, SBSDIO_FUNC1_SDIOPULLUP, 0, NULL); in brcmf_sdio_buscoreprep()
3794 struct brcmf_sdio_dev *sdiodev = ctx; in brcmf_sdio_buscore_activate() local
3801 brcmf_sdiod_regwl(sdiodev, reg_addr, 0xFFFFFFFF, NULL); in brcmf_sdio_buscore_activate()
3805 brcmf_sdiod_ramrw(sdiodev, true, 0, (void *)&rstvec, in brcmf_sdio_buscore_activate()
3811 struct brcmf_sdio_dev *sdiodev = ctx; in brcmf_sdio_buscore_read32() local
3814 val = brcmf_sdiod_regrl(sdiodev, addr, NULL); in brcmf_sdio_buscore_read32()
3815 if (sdiodev->func[0]->device == SDIO_DEVICE_ID_BROADCOM_4335_4339 && in brcmf_sdio_buscore_read32()
3828 struct brcmf_sdio_dev *sdiodev = ctx; in brcmf_sdio_buscore_write32() local
3830 brcmf_sdiod_regwl(sdiodev, addr, val, NULL); in brcmf_sdio_buscore_write32()
3849 sdio_claim_host(bus->sdiodev->func[1]); in brcmf_sdio_probe_attach()
3852 brcmf_sdiod_regrl(bus->sdiodev, SI_ENUM_BASE, NULL)); in brcmf_sdio_probe_attach()
3859 brcmf_sdiod_regwb(bus->sdiodev, SBSDIO_FUNC1_CHIPCLKCSR, in brcmf_sdio_probe_attach()
3862 clkctl = brcmf_sdiod_regrb(bus->sdiodev, in brcmf_sdio_probe_attach()
3871 bus->ci = brcmf_chip_attach(bus->sdiodev, &brcmf_sdio_buscore_ops); in brcmf_sdio_probe_attach()
3883 if ((bus->sdiodev->pdata) && (bus->sdiodev->pdata->drive_strength)) in brcmf_sdio_probe_attach()
3884 drivestrength = bus->sdiodev->pdata->drive_strength; in brcmf_sdio_probe_attach()
3887 brcmf_sdio_drivestrengthinit(bus->sdiodev, bus->ci, drivestrength); in brcmf_sdio_probe_attach()
3890 reg_val = brcmf_sdiod_regrb(bus->sdiodev, in brcmf_sdio_probe_attach()
3897 brcmf_sdiod_regwb(bus->sdiodev, in brcmf_sdio_probe_attach()
3905 reg_val = brcmf_sdiod_regrl(bus->sdiodev, reg_addr, &err); in brcmf_sdio_probe_attach()
3911 brcmf_sdiod_regwl(bus->sdiodev, reg_addr, reg_val, &err); in brcmf_sdio_probe_attach()
3915 sdio_release_host(bus->sdiodev->func[1]); in brcmf_sdio_probe_attach()
3936 sdio_release_host(bus->sdiodev->func[1]); in brcmf_sdio_probe_attach()
3948 brcmf_sdiod_freezer_count(bus->sdiodev); in brcmf_sdio_watchdog_thread()
3952 brcmf_sdiod_freezer_uncount(bus->sdiodev); in brcmf_sdio_watchdog_thread()
3954 brcmf_sdiod_freezer_count(bus->sdiodev); in brcmf_sdio_watchdog_thread()
3955 brcmf_sdiod_try_freeze(bus->sdiodev); in brcmf_sdio_watchdog_thread()
3996 struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv.sdio; in brcmf_sdio_firmware_callback() local
3997 struct brcmf_sdio *bus = sdiodev->bus; in brcmf_sdio_firmware_callback()
4017 sdio_claim_host(sdiodev->func[1]); in brcmf_sdio_firmware_callback()
4025 saveclk = brcmf_sdiod_regrb(sdiodev, SBSDIO_FUNC1_CHIPCLKCSR, &err); in brcmf_sdio_firmware_callback()
4027 brcmf_sdiod_regwb(sdiodev, SBSDIO_FUNC1_CHIPCLKCSR, in brcmf_sdio_firmware_callback()
4038 err = sdio_enable_func(sdiodev->func[SDIO_FUNC_2]); in brcmf_sdio_firmware_callback()
4050 brcmf_sdiod_regwb(sdiodev, SBSDIO_WATERMARK, 8, &err); in brcmf_sdio_firmware_callback()
4053 sdio_disable_func(sdiodev->func[SDIO_FUNC_2]); in brcmf_sdio_firmware_callback()
4061 brcmf_sdiod_regwb(sdiodev, SBSDIO_FUNC1_CHIPCLKCSR, in brcmf_sdio_firmware_callback()
4066 err = brcmf_sdiod_intr_register(sdiodev); in brcmf_sdio_firmware_callback()
4075 sdio_release_host(sdiodev->func[1]); in brcmf_sdio_firmware_callback()
4085 sdio_release_host(sdiodev->func[1]); in brcmf_sdio_firmware_callback()
4091 struct brcmf_sdio *brcmf_sdio_probe(struct brcmf_sdio_dev *sdiodev) in brcmf_sdio_probe() argument
4104 bus->sdiodev = sdiodev; in brcmf_sdio_probe()
4105 sdiodev->bus = bus; in brcmf_sdio_probe()
4117 if (sdiodev->pdata) { in brcmf_sdio_probe()
4118 if (sdiodev->pdata->sd_head_align > ALIGNMENT) in brcmf_sdio_probe()
4119 bus->head_align = sdiodev->pdata->sd_head_align; in brcmf_sdio_probe()
4120 if (sdiodev->pdata->sd_sgentry_align > ALIGNMENT) in brcmf_sdio_probe()
4121 bus->sgentry_align = sdiodev->pdata->sd_sgentry_align; in brcmf_sdio_probe()
4126 dev_name(&sdiodev->func[1]->dev)); in brcmf_sdio_probe()
4131 brcmf_sdiod_freezer_count(sdiodev); in brcmf_sdio_probe()
4155 dev_name(&sdiodev->func[1]->dev)); in brcmf_sdio_probe()
4165 bus->sdiodev->bus_if->dev = bus->sdiodev->dev; in brcmf_sdio_probe()
4166 bus->sdiodev->bus_if->ops = &brcmf_sdio_bus_ops; in brcmf_sdio_probe()
4167 bus->sdiodev->bus_if->chip = bus->ci->chip; in brcmf_sdio_probe()
4168 bus->sdiodev->bus_if->chiprev = bus->ci->chiprev; in brcmf_sdio_probe()
4174 ret = brcmf_attach(bus->sdiodev->dev); in brcmf_sdio_probe()
4181 bus->blocksize = bus->sdiodev->func[2]->cur_blksize; in brcmf_sdio_probe()
4185 if (bus->sdiodev->bus_if->maxctl) { in brcmf_sdio_probe()
4186 bus->sdiodev->bus_if->maxctl += bus->roundup; in brcmf_sdio_probe()
4188 roundup((bus->sdiodev->bus_if->maxctl + SDPCM_HDRLEN), in brcmf_sdio_probe()
4197 sdio_claim_host(bus->sdiodev->func[1]); in brcmf_sdio_probe()
4200 sdio_disable_func(bus->sdiodev->func[SDIO_FUNC_2]); in brcmf_sdio_probe()
4205 brcmf_sdiod_regwb(bus->sdiodev, SBSDIO_FUNC1_CHIPCLKCSR, 0, NULL); in brcmf_sdio_probe()
4207 sdio_release_host(bus->sdiodev->func[1]); in brcmf_sdio_probe()
4220 ret = brcmf_sdio_get_fwnames(bus->ci, sdiodev); in brcmf_sdio_probe()
4224 ret = brcmf_fw_get_firmwares(sdiodev->dev, BRCMF_FW_REQUEST_NVRAM, in brcmf_sdio_probe()
4225 sdiodev->fw_name, sdiodev->nvram_name, in brcmf_sdio_probe()
4246 brcmf_sdiod_intr_unregister(bus->sdiodev); in brcmf_sdio_remove()
4248 brcmf_detach(bus->sdiodev->dev); in brcmf_sdio_remove()
4255 if (bus->sdiodev->state != BRCMF_SDIOD_NOMEDIUM) { in brcmf_sdio_remove()
4256 sdio_claim_host(bus->sdiodev->func[1]); in brcmf_sdio_remove()
4266 sdio_release_host(bus->sdiodev->func[1]); in brcmf_sdio_remove()
4290 if (bus->sdiodev->state != BRCMF_SDIOD_DATA) in brcmf_sdio_wd_timer()
4321 sdio_claim_host(bus->sdiodev->func[1]); in brcmf_sdio_sleep()
4323 sdio_release_host(bus->sdiodev->func[1]); in brcmf_sdio_sleep()