Lines Matching refs:sdiodev

437 	struct brcmf_sdio_dev *sdiodev;	/* sdio device handler */  member
672 brcmf_sdiod_writeb(bus->sdiodev, SBSDIO_FUNC1_SLEEPCSR, wr_val, &err); in brcmf_sdio_kso_control()
698 rd_val = brcmf_sdiod_readb(bus->sdiodev, SBSDIO_FUNC1_SLEEPCSR, in brcmf_sdio_kso_control()
710 brcmf_sdiod_writeb(bus->sdiodev, SBSDIO_FUNC1_SLEEPCSR, wr_val, in brcmf_sdio_kso_control()
748 brcmf_sdiod_writeb(bus->sdiodev, SBSDIO_FUNC1_CHIPCLKCSR, in brcmf_sdio_htclk()
756 clkctl = brcmf_sdiod_readb(bus->sdiodev, in brcmf_sdio_htclk()
766 devctl = brcmf_sdiod_readb(bus->sdiodev, in brcmf_sdio_htclk()
774 brcmf_sdiod_writeb(bus->sdiodev, SBSDIO_DEVICE_CTL, in brcmf_sdio_htclk()
782 devctl = brcmf_sdiod_readb(bus->sdiodev, in brcmf_sdio_htclk()
785 brcmf_sdiod_writeb(bus->sdiodev, SBSDIO_DEVICE_CTL, in brcmf_sdio_htclk()
793 clkctl = brcmf_sdiod_readb(bus->sdiodev, in brcmf_sdio_htclk()
827 devctl = brcmf_sdiod_readb(bus->sdiodev, in brcmf_sdio_htclk()
830 brcmf_sdiod_writeb(bus->sdiodev, SBSDIO_DEVICE_CTL, in brcmf_sdio_htclk()
835 brcmf_sdiod_writeb(bus->sdiodev, SBSDIO_FUNC1_CHIPCLKCSR, in brcmf_sdio_htclk()
926 clkcsr = brcmf_sdiod_readb(bus->sdiodev, in brcmf_sdio_bus_sleep()
931 brcmf_sdiod_writeb(bus->sdiodev, in brcmf_sdio_bus_sleep()
979 sdio_claim_host(bus->sdiodev->func1); in brcmf_sdio_readshared()
989 rv = brcmf_sdiod_ramrw(bus->sdiodev, false, shaddr, in brcmf_sdio_readshared()
1008 rv = brcmf_sdiod_ramrw(bus->sdiodev, false, addr, (u8 *)&sh_le, in brcmf_sdio_readshared()
1013 sdio_release_host(bus->sdiodev->func1); in brcmf_sdio_readshared()
1035 sdio_release_host(bus->sdiodev->func1); in brcmf_sdio_readshared()
1054 struct brcmf_sdio_dev *sdiod = bus->sdiodev; in brcmf_sdio_hostmail()
1147 struct brcmf_sdio_dev *sdiod = bus->sdiodev; in brcmf_sdio_rxfail()
1159 brcmf_sdiod_abort(bus->sdiodev, bus->sdiodev->func2); in brcmf_sdio_rxfail()
1161 brcmf_sdiod_writeb(bus->sdiodev, SBSDIO_FUNC1_FRAMECTRL, SFC_RF_TERM, in brcmf_sdio_rxfail()
1167 hi = brcmf_sdiod_readb(bus->sdiodev, SBSDIO_FUNC1_RFRAMEBCHI, in brcmf_sdio_rxfail()
1169 lo = brcmf_sdiod_readb(bus->sdiodev, SBSDIO_FUNC1_RFRAMEBCLO, in brcmf_sdio_rxfail()
1204 struct brcmf_sdio_dev *sdiodev = bus->sdiodev; in brcmf_sdio_txfail() local
1211 brcmf_sdiod_abort(sdiodev, sdiodev->func2); in brcmf_sdio_txfail()
1212 brcmf_sdiod_writeb(sdiodev, SBSDIO_FUNC1_FRAMECTRL, SFC_WF_TERM, NULL); in brcmf_sdio_txfail()
1216 hi = brcmf_sdiod_readb(sdiodev, SBSDIO_FUNC1_WFRAMEBCHI, NULL); in brcmf_sdio_txfail()
1217 lo = brcmf_sdiod_readb(sdiodev, SBSDIO_FUNC1_WFRAMEBCLO, NULL); in brcmf_sdio_txfail()
1567 sdio_claim_host(bus->sdiodev->func1); in brcmf_sdio_rxglom()
1568 errcode = brcmf_sdiod_recv_chain(bus->sdiodev, in brcmf_sdio_rxglom()
1570 sdio_release_host(bus->sdiodev->func1); in brcmf_sdio_rxglom()
1578 sdio_claim_host(bus->sdiodev->func1); in brcmf_sdio_rxglom()
1582 sdio_release_host(bus->sdiodev->func1); in brcmf_sdio_rxglom()
1592 sdio_claim_host(bus->sdiodev->func1); in brcmf_sdio_rxglom()
1595 sdio_release_host(bus->sdiodev->func1); in brcmf_sdio_rxglom()
1611 sdio_claim_host(bus->sdiodev->func1); in brcmf_sdio_rxglom()
1614 sdio_release_host(bus->sdiodev->func1); in brcmf_sdio_rxglom()
1623 sdio_claim_host(bus->sdiodev->func1); in brcmf_sdio_rxglom()
1627 sdio_release_host(bus->sdiodev->func1); in brcmf_sdio_rxglom()
1661 brcmf_rx_event(bus->sdiodev->dev, pfirst); in brcmf_sdio_rxglom()
1663 brcmf_rx_frame(bus->sdiodev->dev, pfirst, in brcmf_sdio_rxglom()
1729 ((len + pad) < bus->sdiodev->bus_if->maxctl)) in brcmf_sdio_read_control()
1736 if ((rdlen + BRCMF_FIRSTREAD) > bus->sdiodev->bus_if->maxctl) { in brcmf_sdio_read_control()
1738 rdlen, bus->sdiodev->bus_if->maxctl); in brcmf_sdio_read_control()
1743 if ((len - doff) > bus->sdiodev->bus_if->maxctl) { in brcmf_sdio_read_control()
1745 len, len - doff, bus->sdiodev->bus_if->maxctl); in brcmf_sdio_read_control()
1752 sdret = brcmf_sdiod_recv_buf(bus->sdiodev, rbuf, rdlen); in brcmf_sdio_read_control()
1817 !bus->rxskip && rxleft && bus->sdiodev->state == BRCMF_SDIOD_DATA; in brcmf_sdio_readframes()
1834 sdio_claim_host(bus->sdiodev->func1); in brcmf_sdio_readframes()
1836 ret = brcmf_sdiod_recv_buf(bus->sdiodev, in brcmf_sdio_readframes()
1844 sdio_release_host(bus->sdiodev->func1); in brcmf_sdio_readframes()
1854 sdio_release_host(bus->sdiodev->func1); in brcmf_sdio_readframes()
1870 sdio_release_host(bus->sdiodev->func1); in brcmf_sdio_readframes()
1887 sdio_release_host(bus->sdiodev->func1); in brcmf_sdio_readframes()
1893 ret = brcmf_sdiod_recv_pkt(bus->sdiodev, pkt); in brcmf_sdio_readframes()
1895 sdio_release_host(bus->sdiodev->func1); in brcmf_sdio_readframes()
1901 sdio_claim_host(bus->sdiodev->func1); in brcmf_sdio_readframes()
1904 sdio_release_host(bus->sdiodev->func1); in brcmf_sdio_readframes()
1915 sdio_claim_host(bus->sdiodev->func1); in brcmf_sdio_readframes()
1928 sdio_release_host(bus->sdiodev->func1); in brcmf_sdio_readframes()
1932 sdio_release_host(bus->sdiodev->func1); in brcmf_sdio_readframes()
1948 sdio_claim_host(bus->sdiodev->func1); in brcmf_sdio_readframes()
1950 sdio_release_host(bus->sdiodev->func1); in brcmf_sdio_readframes()
1973 sdio_claim_host(bus->sdiodev->func1); in brcmf_sdio_readframes()
1975 sdio_release_host(bus->sdiodev->func1); in brcmf_sdio_readframes()
1992 brcmf_rx_event(bus->sdiodev->dev, pkt); in brcmf_sdio_readframes()
1994 brcmf_rx_frame(bus->sdiodev->dev, pkt, in brcmf_sdio_readframes()
2037 stats = &bus->sdiodev->bus_if->stats; in brcmf_sdio_txpkt_hdalign()
2065 struct brcmf_sdio_dev *sdiodev; in brcmf_sdio_txpkt_prep_sg() local
2072 sdiodev = bus->sdiodev; in brcmf_sdio_txpkt_prep_sg()
2073 blksize = sdiodev->func2->cur_blksize; in brcmf_sdio_txpkt_prep_sg()
2252 sdio_claim_host(bus->sdiodev->func1); in brcmf_sdio_txpkt()
2253 ret = brcmf_sdiod_send_pkt(bus->sdiodev, pktq); in brcmf_sdio_txpkt()
2259 sdio_release_host(bus->sdiodev->func1); in brcmf_sdio_txpkt()
2267 brcmf_proto_bcdc_txcomplete(bus->sdiodev->dev, pkt_next, in brcmf_sdio_txpkt()
2292 bus->sdiodev->txglomsz); in brcmf_sdio_sendfromq()
2315 sdio_claim_host(bus->sdiodev->func1); in brcmf_sdio_sendfromq()
2316 intstatus = brcmf_sdiod_readl(bus->sdiodev, in brcmf_sdio_sendfromq()
2318 sdio_release_host(bus->sdiodev->func1); in brcmf_sdio_sendfromq()
2329 if ((bus->sdiodev->state == BRCMF_SDIOD_DATA) && in brcmf_sdio_sendfromq()
2332 brcmf_proto_bcdc_txflowblock(bus->sdiodev->dev, false); in brcmf_sdio_sendfromq()
2389 ret = brcmf_sdiod_send_buf(bus->sdiodev, frame, len); in brcmf_sdio_tx_ctrlframe()
2403 struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv.sdio; in brcmf_sdio_bus_stop() local
2404 struct brcmf_sdio *bus = sdiodev->bus; in brcmf_sdio_bus_stop()
2418 if (sdiodev->state != BRCMF_SDIOD_NOMEDIUM) { in brcmf_sdio_bus_stop()
2419 sdio_claim_host(sdiodev->func1); in brcmf_sdio_bus_stop()
2425 brcmf_sdiod_writel(sdiodev, core->base + SD_REG(hostintmask), in brcmf_sdio_bus_stop()
2432 saveclk = brcmf_sdiod_readb(sdiodev, SBSDIO_FUNC1_CHIPCLKCSR, in brcmf_sdio_bus_stop()
2435 brcmf_sdiod_writeb(sdiodev, SBSDIO_FUNC1_CHIPCLKCSR, in brcmf_sdio_bus_stop()
2443 sdio_disable_func(sdiodev->func2); in brcmf_sdio_bus_stop()
2446 brcmf_sdiod_writel(sdiodev, core->base + SD_REG(intstatus), in brcmf_sdio_bus_stop()
2449 sdio_release_host(sdiodev->func1); in brcmf_sdio_bus_stop()
2471 struct brcmf_sdio_dev *sdiodev; in brcmf_sdio_clrintr() local
2474 sdiodev = bus->sdiodev; in brcmf_sdio_clrintr()
2475 if (sdiodev->oob_irq_requested) { in brcmf_sdio_clrintr()
2476 spin_lock_irqsave(&sdiodev->irq_en_lock, flags); in brcmf_sdio_clrintr()
2477 if (!sdiodev->irq_en && !atomic_read(&bus->ipend)) { in brcmf_sdio_clrintr()
2478 enable_irq(sdiodev->settings->bus.sdio.oob_irq_nr); in brcmf_sdio_clrintr()
2479 sdiodev->irq_en = true; in brcmf_sdio_clrintr()
2481 spin_unlock_irqrestore(&sdiodev->irq_en_lock, flags); in brcmf_sdio_clrintr()
2494 val = brcmf_sdiod_readl(bus->sdiodev, addr, &ret); in brcmf_sdio_intr_rstatus()
2504 brcmf_sdiod_writel(bus->sdiodev, addr, val, &ret); in brcmf_sdio_intr_rstatus()
2514 struct brcmf_sdio_dev *sdiod = bus->sdiodev; in brcmf_sdio_dpc()
2524 sdio_claim_host(bus->sdiodev->func1); in brcmf_sdio_dpc()
2532 devctl = brcmf_sdiod_readb(bus->sdiodev, SBSDIO_DEVICE_CTL, in brcmf_sdio_dpc()
2537 clkctl = brcmf_sdiod_readb(bus->sdiodev, in brcmf_sdio_dpc()
2544 devctl = brcmf_sdiod_readb(bus->sdiodev, in brcmf_sdio_dpc()
2547 brcmf_sdiod_writeb(bus->sdiodev, in brcmf_sdio_dpc()
2587 sdio_release_host(bus->sdiodev->func1); in brcmf_sdio_dpc()
2630 sdio_claim_host(bus->sdiodev->func1); in brcmf_sdio_dpc()
2638 sdio_release_host(bus->sdiodev->func1); in brcmf_sdio_dpc()
2650 if ((bus->sdiodev->state != BRCMF_SDIOD_DATA) || (err != 0)) { in brcmf_sdio_dpc()
2654 sdio_claim_host(bus->sdiodev->func1); in brcmf_sdio_dpc()
2661 sdio_release_host(bus->sdiodev->func1); in brcmf_sdio_dpc()
2675 struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv.sdio; in brcmf_sdio_bus_gettxq() local
2676 struct brcmf_sdio *bus = sdiodev->bus; in brcmf_sdio_bus_gettxq()
2728 struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv.sdio; in brcmf_sdio_bus_txdata() local
2729 struct brcmf_sdio *bus = sdiodev->bus; in brcmf_sdio_bus_txdata()
2732 if (sdiodev->state != BRCMF_SDIOD_DATA) in brcmf_sdio_bus_txdata()
2789 rv = brcmf_sdiod_ramrw(bus->sdiodev, false, addr, (u8 *)&c->log_le, in brcmf_sdio_readconsole()
2815 rv = brcmf_sdiod_ramrw(bus->sdiodev, false, addr, c->buf, c->bufsize); in brcmf_sdio_readconsole()
2857 struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv.sdio; in brcmf_sdio_bus_txctl() local
2858 struct brcmf_sdio *bus = sdiodev->bus; in brcmf_sdio_bus_txctl()
2862 if (sdiodev->state != BRCMF_SDIOD_DATA) in brcmf_sdio_bus_txctl()
2876 sdio_claim_host(bus->sdiodev->func1); in brcmf_sdio_bus_txctl()
2882 sdio_release_host(bus->sdiodev->func1); in brcmf_sdio_bus_txctl()
2910 rv = brcmf_sdiod_ramrw(bus->sdiodev, false, addr, in brcmf_sdio_dump_console()
2917 rv = brcmf_sdiod_ramrw(bus->sdiodev, false, addr, in brcmf_sdio_dump_console()
2924 rv = brcmf_sdiod_ramrw(bus->sdiodev, false, addr, in brcmf_sdio_dump_console()
2939 rv = brcmf_sdiod_ramrw(bus->sdiodev, false, console_ptr, (u8 *)conbuf, in brcmf_sdio_dump_console()
2968 error = brcmf_sdiod_ramrw(bus->sdiodev, false, sh->trap_addr, (u8 *)&tr, in brcmf_sdio_trap_info()
3006 sdio_claim_host(bus->sdiodev->func1); in brcmf_sdio_assert_info()
3008 error = brcmf_sdiod_ramrw(bus->sdiodev, false, in brcmf_sdio_assert_info()
3014 error = brcmf_sdiod_ramrw(bus->sdiodev, false, in brcmf_sdio_assert_info()
3019 sdio_release_host(bus->sdiodev->func1); in brcmf_sdio_assert_info()
3081 struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv.sdio; in brcmf_debugfs_sdio_count_read() local
3082 struct brcmf_sdio_count *sdcnt = &sdiodev->bus->sdcnt; in brcmf_debugfs_sdio_count_read()
3119 struct brcmf_pub *drvr = bus->sdiodev->bus_if->drvr; in brcmf_sdio_debugfs_create()
3152 struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv.sdio; in brcmf_sdio_bus_rxctl() local
3153 struct brcmf_sdio *bus = sdiodev->bus; in brcmf_sdio_bus_rxctl()
3156 if (sdiodev->state != BRCMF_SDIOD_DATA) in brcmf_sdio_bus_rxctl()
3196 brcmf_sdio_verifymemory(struct brcmf_sdio_dev *sdiodev, u32 ram_addr, in brcmf_sdio_verifymemory() argument
3219 err = brcmf_sdiod_ramrw(sdiodev, false, address, ram_cmp, len); in brcmf_sdio_verifymemory()
3241 brcmf_sdio_verifymemory(struct brcmf_sdio_dev *sdiodev, u32 ram_addr, in brcmf_sdio_verifymemory() argument
3255 err = brcmf_sdiod_ramrw(bus->sdiodev, true, bus->ci->rambase, in brcmf_sdio_download_code_file()
3260 else if (!brcmf_sdio_verifymemory(bus->sdiodev, bus->ci->rambase, in brcmf_sdio_download_code_file()
3276 err = brcmf_sdiod_ramrw(bus->sdiodev, true, address, vars, varsz); in brcmf_sdio_download_nvram()
3280 else if (!brcmf_sdio_verifymemory(bus->sdiodev, address, vars, varsz)) in brcmf_sdio_download_nvram()
3293 sdio_claim_host(bus->sdiodev->func1); in brcmf_sdio_download_firmware()
3322 sdio_release_host(bus->sdiodev->func1); in brcmf_sdio_download_firmware()
3333 val = brcmf_sdiod_readb(bus->sdiodev, SBSDIO_FUNC1_WAKEUPCTRL, &err); in brcmf_sdio_sr_init()
3340 brcmf_sdiod_writeb(bus->sdiodev, SBSDIO_FUNC1_WAKEUPCTRL, val, &err); in brcmf_sdio_sr_init()
3347 brcmf_sdiod_func0_wb(bus->sdiodev, SDIO_CCCR_BRCM_CARDCAP, in brcmf_sdio_sr_init()
3356 brcmf_sdiod_writeb(bus->sdiodev, SBSDIO_FUNC1_CHIPCLKCSR, in brcmf_sdio_sr_init()
3381 val = brcmf_sdiod_readb(bus->sdiodev, SBSDIO_FUNC1_SLEEPCSR, &err); in brcmf_sdio_kso_init()
3390 brcmf_sdiod_writeb(bus->sdiodev, SBSDIO_FUNC1_SLEEPCSR, in brcmf_sdio_kso_init()
3405 struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv.sdio; in brcmf_sdio_bus_preinit() local
3406 struct brcmf_sdio *bus = sdiodev->bus; in brcmf_sdio_bus_preinit()
3437 value = sdiodev->settings->bus.sdio.sd_sgentry_align; in brcmf_sdio_bus_preinit()
3448 if (sdiodev->sg_support) { in brcmf_sdio_bus_preinit()
3451 pad_size = bus->sdiodev->func2->cur_blksize << 1; in brcmf_sdio_bus_preinit()
3452 err = brcmf_iovar_data_set(bus->sdiodev->dev, "bus:rxglom", in brcmf_sdio_bus_preinit()
3462 brcmf_bus_add_txhdrlen(bus->sdiodev->dev, bus->tx_hdrlen); in brcmf_sdio_bus_preinit()
3471 struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv.sdio; in brcmf_sdio_bus_get_ramsize() local
3472 struct brcmf_sdio *bus = sdiodev->bus; in brcmf_sdio_bus_get_ramsize()
3481 struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv.sdio; in brcmf_sdio_bus_get_memdump() local
3482 struct brcmf_sdio *bus = sdiodev->bus; in brcmf_sdio_bus_get_memdump()
3493 sdio_claim_host(sdiodev->func1); in brcmf_sdio_bus_get_memdump()
3497 err = brcmf_sdiod_ramrw(sdiodev, false, address, data, len); in brcmf_sdio_bus_get_memdump()
3509 sdio_release_host(sdiodev->func1); in brcmf_sdio_bus_get_memdump()
3566 sdio_claim_host(bus->sdiodev->func1); in brcmf_sdio_bus_watchdog()
3567 devpend = brcmf_sdiod_func0_rb(bus->sdiodev, in brcmf_sdio_bus_watchdog()
3569 sdio_release_host(bus->sdiodev->func1); in brcmf_sdio_bus_watchdog()
3590 if (bus->sdiodev->state == BRCMF_SDIOD_DATA && BRCMF_FWCON_ON() && in brcmf_sdio_bus_watchdog()
3595 sdio_claim_host(bus->sdiodev->func1); in brcmf_sdio_bus_watchdog()
3601 sdio_release_host(bus->sdiodev->func1); in brcmf_sdio_bus_watchdog()
3614 sdio_claim_host(bus->sdiodev->func1); in brcmf_sdio_bus_watchdog()
3618 sdio_release_host(bus->sdiodev->func1); in brcmf_sdio_bus_watchdog()
3641 if (brcmf_sdiod_freezing(bus->sdiodev)) { in brcmf_sdio_dataworker()
3642 brcmf_sdiod_change_state(bus->sdiodev, BRCMF_SDIOD_DOWN); in brcmf_sdio_dataworker()
3643 brcmf_sdiod_try_freeze(bus->sdiodev); in brcmf_sdio_dataworker()
3644 brcmf_sdiod_change_state(bus->sdiodev, BRCMF_SDIOD_DATA); in brcmf_sdio_dataworker()
3649 brcmf_sdio_drivestrengthinit(struct brcmf_sdio_dev *sdiodev, in brcmf_sdio_drivestrengthinit() argument
3706 brcmf_sdiod_writel(sdiodev, addr, 1, NULL); in brcmf_sdio_drivestrengthinit()
3707 cc_data_temp = brcmf_sdiod_readl(sdiodev, addr, NULL); in brcmf_sdio_drivestrengthinit()
3711 brcmf_sdiod_writel(sdiodev, addr, cc_data_temp, NULL); in brcmf_sdio_drivestrengthinit()
3720 struct brcmf_sdio_dev *sdiodev = ctx; in brcmf_sdio_buscoreprep() local
3726 brcmf_sdiod_writeb(sdiodev, SBSDIO_FUNC1_CHIPCLKCSR, clkset, &err); in brcmf_sdio_buscoreprep()
3734 clkval = brcmf_sdiod_readb(sdiodev, SBSDIO_FUNC1_CHIPCLKCSR, NULL); in brcmf_sdio_buscoreprep()
3742 SPINWAIT(((clkval = brcmf_sdiod_readb(sdiodev, SBSDIO_FUNC1_CHIPCLKCSR, in brcmf_sdio_buscoreprep()
3754 brcmf_sdiod_writeb(sdiodev, SBSDIO_FUNC1_CHIPCLKCSR, clkset, &err); in brcmf_sdio_buscoreprep()
3758 brcmf_sdiod_writeb(sdiodev, SBSDIO_FUNC1_SDIOPULLUP, 0, NULL); in brcmf_sdio_buscoreprep()
3766 struct brcmf_sdio_dev *sdiodev = ctx; in brcmf_sdio_buscore_activate() local
3767 struct brcmf_core *core = sdiodev->bus->sdio_core; in brcmf_sdio_buscore_activate()
3772 brcmf_sdiod_writel(sdiodev, reg_addr, 0xFFFFFFFF, NULL); in brcmf_sdio_buscore_activate()
3776 brcmf_sdiod_ramrw(sdiodev, true, 0, (void *)&rstvec, in brcmf_sdio_buscore_activate()
3782 struct brcmf_sdio_dev *sdiodev = ctx; in brcmf_sdio_buscore_read32() local
3785 val = brcmf_sdiod_readl(sdiodev, addr, NULL); in brcmf_sdio_buscore_read32()
3795 (sdiodev->func1->device == SDIO_DEVICE_ID_BROADCOM_4339 || in brcmf_sdio_buscore_read32()
3796 sdiodev->func1->device == SDIO_DEVICE_ID_BROADCOM_4335_4339)) { in brcmf_sdio_buscore_read32()
3809 struct brcmf_sdio_dev *sdiodev = ctx; in brcmf_sdio_buscore_write32() local
3811 brcmf_sdiod_writel(sdiodev, addr, val, NULL); in brcmf_sdio_buscore_write32()
3824 struct brcmf_sdio_dev *sdiodev; in brcmf_sdio_probe_attach() local
3831 sdiodev = bus->sdiodev; in brcmf_sdio_probe_attach()
3832 sdio_claim_host(sdiodev->func1); in brcmf_sdio_probe_attach()
3835 brcmf_sdiod_readl(sdiodev, SI_ENUM_BASE, NULL)); in brcmf_sdio_probe_attach()
3842 brcmf_sdiod_writeb(sdiodev, SBSDIO_FUNC1_CHIPCLKCSR, BRCMF_INIT_CLKCTL1, in brcmf_sdio_probe_attach()
3845 clkctl = brcmf_sdiod_readb(sdiodev, SBSDIO_FUNC1_CHIPCLKCSR, in brcmf_sdio_probe_attach()
3854 bus->ci = brcmf_chip_attach(sdiodev, &brcmf_sdio_buscore_ops); in brcmf_sdio_probe_attach()
3867 sdiodev->cc_core = brcmf_chip_get_core(bus->ci, BCMA_CORE_CHIPCOMMON); in brcmf_sdio_probe_attach()
3868 if (!sdiodev->cc_core) in brcmf_sdio_probe_attach()
3871 sdiodev->settings = brcmf_get_module_param(sdiodev->dev, in brcmf_sdio_probe_attach()
3875 if (!sdiodev->settings) { in brcmf_sdio_probe_attach()
3884 if (sdiodev->settings->bus.sdio.sd_head_align > ALIGNMENT) in brcmf_sdio_probe_attach()
3885 bus->head_align = sdiodev->settings->bus.sdio.sd_head_align; in brcmf_sdio_probe_attach()
3886 if (sdiodev->settings->bus.sdio.sd_sgentry_align > ALIGNMENT) in brcmf_sdio_probe_attach()
3888 sdiodev->settings->bus.sdio.sd_sgentry_align; in brcmf_sdio_probe_attach()
3893 brcmf_sdiod_sgtable_alloc(sdiodev); in brcmf_sdio_probe_attach()
3899 if ((sdio_get_host_pm_caps(sdiodev->func1) & MMC_PM_KEEP_POWER) && in brcmf_sdio_probe_attach()
3900 ((sdio_get_host_pm_caps(sdiodev->func1) & MMC_PM_WAKE_SDIO_IRQ) || in brcmf_sdio_probe_attach()
3901 (sdiodev->settings->bus.sdio.oob_irq_supported))) in brcmf_sdio_probe_attach()
3902 sdiodev->bus_if->wowl_supported = true; in brcmf_sdio_probe_attach()
3910 if (sdiodev->settings->bus.sdio.drive_strength) in brcmf_sdio_probe_attach()
3911 drivestrength = sdiodev->settings->bus.sdio.drive_strength; in brcmf_sdio_probe_attach()
3914 brcmf_sdio_drivestrengthinit(sdiodev, bus->ci, drivestrength); in brcmf_sdio_probe_attach()
3917 reg_val = brcmf_sdiod_func0_rb(sdiodev, SDIO_CCCR_BRCM_CARDCTRL, &err); in brcmf_sdio_probe_attach()
3923 brcmf_sdiod_func0_wb(sdiodev, SDIO_CCCR_BRCM_CARDCTRL, reg_val, &err); in brcmf_sdio_probe_attach()
3929 reg_val = brcmf_sdiod_readl(sdiodev, reg_addr, &err); in brcmf_sdio_probe_attach()
3935 brcmf_sdiod_writel(sdiodev, reg_addr, reg_val, &err); in brcmf_sdio_probe_attach()
3939 sdio_release_host(sdiodev->func1); in brcmf_sdio_probe_attach()
3960 sdio_release_host(sdiodev->func1); in brcmf_sdio_probe_attach()
3972 brcmf_sdiod_freezer_count(bus->sdiodev); in brcmf_sdio_watchdog_thread()
3976 brcmf_sdiod_freezer_uncount(bus->sdiodev); in brcmf_sdio_watchdog_thread()
3978 brcmf_sdiod_freezer_count(bus->sdiodev); in brcmf_sdio_watchdog_thread()
3979 brcmf_sdiod_try_freeze(bus->sdiodev); in brcmf_sdio_watchdog_thread()
4125 brcmf_sdiod_change_state(bus->sdiodev, BRCMF_SDIOD_DATA); in brcmf_sdio_firmware_callback()
4167 { ".bin", bus->sdiodev->fw_name }, in brcmf_sdio_prepare_fw_request()
4168 { ".txt", bus->sdiodev->nvram_name }, in brcmf_sdio_prepare_fw_request()
4184 struct brcmf_sdio *brcmf_sdio_probe(struct brcmf_sdio_dev *sdiodev) in brcmf_sdio_probe() argument
4198 bus->sdiodev = sdiodev; in brcmf_sdio_probe()
4199 sdiodev->bus = bus; in brcmf_sdio_probe()
4208 dev_name(&sdiodev->func1->dev)); in brcmf_sdio_probe()
4213 brcmf_sdiod_freezer_count(sdiodev); in brcmf_sdio_probe()
4234 dev_name(&sdiodev->func1->dev)); in brcmf_sdio_probe()
4247 bus->blocksize = bus->sdiodev->func2->cur_blksize; in brcmf_sdio_probe()
4250 sdio_claim_host(bus->sdiodev->func1); in brcmf_sdio_probe()
4253 sdio_disable_func(bus->sdiodev->func2); in brcmf_sdio_probe()
4258 brcmf_sdiod_writeb(bus->sdiodev, SBSDIO_FUNC1_CHIPCLKCSR, 0, NULL); in brcmf_sdio_probe()
4260 sdio_release_host(bus->sdiodev->func1); in brcmf_sdio_probe()
4278 ret = brcmf_fw_get_firmwares(sdiodev->dev, fwreq, in brcmf_sdio_probe()
4307 brcmf_sdiod_intr_unregister(bus->sdiodev); in brcmf_sdio_remove()
4309 brcmf_detach(bus->sdiodev->dev); in brcmf_sdio_remove()
4316 if (bus->sdiodev->state != BRCMF_SDIOD_NOMEDIUM) { in brcmf_sdio_remove()
4317 sdio_claim_host(bus->sdiodev->func1); in brcmf_sdio_remove()
4327 sdio_release_host(bus->sdiodev->func1); in brcmf_sdio_remove()
4331 if (bus->sdiodev->settings) in brcmf_sdio_remove()
4332 brcmf_release_module_param(bus->sdiodev->settings); in brcmf_sdio_remove()
4352 if (bus->sdiodev->state != BRCMF_SDIOD_DATA) in brcmf_sdio_wd_timer()
4374 sdio_claim_host(bus->sdiodev->func1); in brcmf_sdio_sleep()
4376 sdio_release_host(bus->sdiodev->func1); in brcmf_sdio_sleep()