Lines Matching refs:card
84 struct sdio_mmc_card *card = NULL; in mwifiex_sdio_probe() local
89 card = kzalloc(sizeof(struct sdio_mmc_card), GFP_KERNEL); in mwifiex_sdio_probe()
90 if (!card) in mwifiex_sdio_probe()
93 card->func = func; in mwifiex_sdio_probe()
95 func->card->quirks |= MMC_QUIRK_BLKSZ_FOR_BYTE_MODE; in mwifiex_sdio_probe()
100 card->firmware = data->firmware; in mwifiex_sdio_probe()
101 card->reg = data->reg; in mwifiex_sdio_probe()
102 card->max_ports = data->max_ports; in mwifiex_sdio_probe()
103 card->mp_agg_pkt_limit = data->mp_agg_pkt_limit; in mwifiex_sdio_probe()
104 card->supports_sdio_new_mode = data->supports_sdio_new_mode; in mwifiex_sdio_probe()
105 card->has_control_mask = data->has_control_mask; in mwifiex_sdio_probe()
106 card->tx_buf_size = data->tx_buf_size; in mwifiex_sdio_probe()
107 card->mp_tx_agg_buf_size = data->mp_tx_agg_buf_size; in mwifiex_sdio_probe()
108 card->mp_rx_agg_buf_size = data->mp_rx_agg_buf_size; in mwifiex_sdio_probe()
109 card->can_dump_fw = data->can_dump_fw; in mwifiex_sdio_probe()
110 card->can_auto_tdls = data->can_auto_tdls; in mwifiex_sdio_probe()
111 card->can_ext_scan = data->can_ext_scan; in mwifiex_sdio_probe()
120 kfree(card); in mwifiex_sdio_probe()
124 if (mwifiex_add_card(card, &add_remove_card_sem, &sdio_ops, in mwifiex_sdio_probe()
127 kfree(card); in mwifiex_sdio_probe()
150 struct sdio_mmc_card *card; in mwifiex_sdio_resume() local
156 card = sdio_get_drvdata(func); in mwifiex_sdio_resume()
157 if (!card || !card->adapter) { in mwifiex_sdio_resume()
166 adapter = card->adapter; in mwifiex_sdio_resume()
190 struct sdio_mmc_card *card; in mwifiex_sdio_remove() local
196 card = sdio_get_drvdata(func); in mwifiex_sdio_remove()
197 if (!card) in mwifiex_sdio_remove()
200 adapter = card->adapter; in mwifiex_sdio_remove()
215 mwifiex_remove_card(card->adapter, &add_remove_card_sem); in mwifiex_sdio_remove()
231 struct sdio_mmc_card *card; in mwifiex_sdio_suspend() local
246 card = sdio_get_drvdata(func); in mwifiex_sdio_suspend()
247 if (!card || !card->adapter) { in mwifiex_sdio_suspend()
256 adapter = card->adapter; in mwifiex_sdio_suspend()
339 struct sdio_mmc_card *card = adapter->card; in mwifiex_write_reg() local
342 sdio_claim_host(card->func); in mwifiex_write_reg()
343 ret = mwifiex_write_reg_locked(card->func, reg, data); in mwifiex_write_reg()
344 sdio_release_host(card->func); in mwifiex_write_reg()
355 struct sdio_mmc_card *card = adapter->card; in mwifiex_read_reg() local
359 sdio_claim_host(card->func); in mwifiex_read_reg()
360 val = sdio_readb(card->func, reg, &ret); in mwifiex_read_reg()
361 sdio_release_host(card->func); in mwifiex_read_reg()
377 struct sdio_mmc_card *card = adapter->card; in mwifiex_write_data_sync() local
394 sdio_claim_host(card->func); in mwifiex_write_data_sync()
396 ret = sdio_writesb(card->func, ioport, buffer, blk_cnt * blk_size); in mwifiex_write_data_sync()
398 sdio_release_host(card->func); in mwifiex_write_data_sync()
409 struct sdio_mmc_card *card = adapter->card; in mwifiex_read_data_sync() local
419 sdio_claim_host(card->func); in mwifiex_read_data_sync()
421 ret = sdio_readsb(card->func, buffer, ioport, blk_cnt * blk_size); in mwifiex_read_data_sync()
424 sdio_release_host(card->func); in mwifiex_read_data_sync()
461 struct sdio_mmc_card *card = adapter->card; in mwifiex_init_sdio_new_mode() local
466 if (mwifiex_read_reg(adapter, card->reg->card_cfg_2_1_reg, ®)) in mwifiex_init_sdio_new_mode()
468 if (mwifiex_write_reg(adapter, card->reg->card_cfg_2_1_reg, in mwifiex_init_sdio_new_mode()
473 if (mwifiex_read_reg(adapter, card->reg->cmd_cfg_0, ®)) in mwifiex_init_sdio_new_mode()
475 if (mwifiex_write_reg(adapter, card->reg->cmd_cfg_0, in mwifiex_init_sdio_new_mode()
482 if (mwifiex_read_reg(adapter, card->reg->cmd_cfg_1, ®)) in mwifiex_init_sdio_new_mode()
484 if (mwifiex_write_reg(adapter, card->reg->cmd_cfg_1, in mwifiex_init_sdio_new_mode()
501 struct sdio_mmc_card *card = adapter->card; in mwifiex_init_sdio_ioport() local
505 if (card->supports_sdio_new_mode) { in mwifiex_init_sdio_ioport()
512 if (!mwifiex_read_reg(adapter, card->reg->io_port_0_reg, ®)) in mwifiex_init_sdio_ioport()
517 if (!mwifiex_read_reg(adapter, card->reg->io_port_1_reg, ®)) in mwifiex_init_sdio_ioport()
522 if (!mwifiex_read_reg(adapter, card->reg->io_port_2_reg, ®)) in mwifiex_init_sdio_ioport()
530 if (!mwifiex_read_reg(adapter, card->reg->host_int_rsr_reg, ®)) in mwifiex_init_sdio_ioport()
531 mwifiex_write_reg(adapter, card->reg->host_int_rsr_reg, in mwifiex_init_sdio_ioport()
532 reg | card->reg->sdio_int_mask); in mwifiex_init_sdio_ioport()
537 if (!mwifiex_read_reg(adapter, card->reg->card_misc_cfg_reg, ®)) in mwifiex_init_sdio_ioport()
538 mwifiex_write_reg(adapter, card->reg->card_misc_cfg_reg, in mwifiex_init_sdio_ioport()
583 struct sdio_mmc_card *card = adapter->card; in mwifiex_get_rd_port() local
584 const struct mwifiex_sdio_card_reg *reg = card->reg; in mwifiex_get_rd_port()
585 u32 rd_bitmap = card->mp_rd_bitmap; in mwifiex_get_rd_port()
589 if (card->supports_sdio_new_mode) { in mwifiex_get_rd_port()
597 if ((card->has_control_mask) && in mwifiex_get_rd_port()
598 (card->mp_rd_bitmap & CTRL_PORT_MASK)) { in mwifiex_get_rd_port()
599 card->mp_rd_bitmap &= (u32) (~CTRL_PORT_MASK); in mwifiex_get_rd_port()
602 *port, card->mp_rd_bitmap); in mwifiex_get_rd_port()
606 if (!(card->mp_rd_bitmap & (1 << card->curr_rd_port))) in mwifiex_get_rd_port()
610 card->mp_rd_bitmap &= (u32)(~(1 << card->curr_rd_port)); in mwifiex_get_rd_port()
611 *port = card->curr_rd_port; in mwifiex_get_rd_port()
613 if (++card->curr_rd_port == card->max_ports) in mwifiex_get_rd_port()
614 card->curr_rd_port = reg->start_rd_port; in mwifiex_get_rd_port()
618 *port, rd_bitmap, card->mp_rd_bitmap); in mwifiex_get_rd_port()
632 struct sdio_mmc_card *card = adapter->card; in mwifiex_get_wr_port_data() local
633 const struct mwifiex_sdio_card_reg *reg = card->reg; in mwifiex_get_wr_port_data()
634 u32 wr_bitmap = card->mp_wr_bitmap; in mwifiex_get_wr_port_data()
638 if (!(wr_bitmap & card->mp_data_port_mask)) { in mwifiex_get_wr_port_data()
643 if (card->mp_wr_bitmap & (1 << card->curr_wr_port)) { in mwifiex_get_wr_port_data()
644 card->mp_wr_bitmap &= (u32) (~(1 << card->curr_wr_port)); in mwifiex_get_wr_port_data()
645 *port = card->curr_wr_port; in mwifiex_get_wr_port_data()
646 if (++card->curr_wr_port == card->mp_end_port) in mwifiex_get_wr_port_data()
647 card->curr_wr_port = reg->start_wr_port; in mwifiex_get_wr_port_data()
653 if ((card->has_control_mask) && (*port == CTRL_PORT)) { in mwifiex_get_wr_port_data()
656 *port, card->curr_wr_port, wr_bitmap, in mwifiex_get_wr_port_data()
657 card->mp_wr_bitmap); in mwifiex_get_wr_port_data()
662 *port, wr_bitmap, card->mp_wr_bitmap); in mwifiex_get_wr_port_data()
673 struct sdio_mmc_card *card = adapter->card; in mwifiex_sdio_poll_card_status() local
678 if (mwifiex_read_reg(adapter, card->reg->poll_reg, &cs)) in mwifiex_sdio_poll_card_status()
697 struct sdio_mmc_card *card = adapter->card; in mwifiex_sdio_read_fw_status() local
698 const struct mwifiex_sdio_card_reg *reg = card->reg; in mwifiex_sdio_read_fw_status()
720 struct sdio_mmc_card *card = adapter->card; in mwifiex_sdio_disable_host_int() local
721 struct sdio_func *func = card->func; in mwifiex_sdio_disable_host_int()
724 mwifiex_write_reg_locked(func, card->reg->host_int_mask_reg, 0); in mwifiex_sdio_disable_host_int()
734 struct sdio_mmc_card *card = adapter->card; in mwifiex_interrupt_status() local
738 if (mwifiex_read_data_sync(adapter, card->mp_regs, in mwifiex_interrupt_status()
739 card->reg->max_mp_regs, in mwifiex_interrupt_status()
745 sdio_ireg = card->mp_regs[card->reg->host_int_status_reg]; in mwifiex_interrupt_status()
771 struct sdio_mmc_card *card; in mwifiex_sdio_interrupt() local
773 card = sdio_get_drvdata(func); in mwifiex_sdio_interrupt()
774 if (!card || !card->adapter) { in mwifiex_sdio_interrupt()
776 func, card, card ? card->adapter : NULL); in mwifiex_sdio_interrupt()
779 adapter = card->adapter; in mwifiex_sdio_interrupt()
796 struct sdio_mmc_card *card = adapter->card; in mwifiex_sdio_enable_host_int() local
797 struct sdio_func *func = card->func; in mwifiex_sdio_enable_host_int()
810 ret = mwifiex_write_reg_locked(func, card->reg->host_int_mask_reg, in mwifiex_sdio_enable_host_int()
811 card->reg->host_int_enable); in mwifiex_sdio_enable_host_int()
867 struct sdio_mmc_card *card = adapter->card; in mwifiex_prog_fw_w_helper() local
868 const struct mwifiex_sdio_card_reg *reg = card->reg; in mwifiex_prog_fw_w_helper()
1011 struct sdio_mmc_card *card = adapter->card; in mwifiex_check_fw_status() local
1033 (adapter, card->reg->status_reg_0, &winner_status)) in mwifiex_check_fw_status()
1201 struct sdio_mmc_card *card = adapter->card; in mwifiex_sdio_card_to_host_mp_aggr() local
1211 if ((card->has_control_mask) && (port == CTRL_PORT)) { in mwifiex_sdio_card_to_host_mp_aggr()
1220 if (!card->mpa_rx.enabled) { in mwifiex_sdio_card_to_host_mp_aggr()
1228 if ((!card->has_control_mask && (card->mp_rd_bitmap & in mwifiex_sdio_card_to_host_mp_aggr()
1229 card->reg->data_port_mask)) || in mwifiex_sdio_card_to_host_mp_aggr()
1230 (card->has_control_mask && (card->mp_rd_bitmap & in mwifiex_sdio_card_to_host_mp_aggr()
1235 if (MP_RX_AGGR_IN_PROGRESS(card)) { in mwifiex_sdio_card_to_host_mp_aggr()
1236 if (MP_RX_AGGR_BUF_HAS_ROOM(card, rx_len)) { in mwifiex_sdio_card_to_host_mp_aggr()
1252 if (MP_RX_AGGR_IN_PROGRESS(card)) { in mwifiex_sdio_card_to_host_mp_aggr()
1254 if (MP_RX_AGGR_BUF_HAS_ROOM(card, rx_len)) in mwifiex_sdio_card_to_host_mp_aggr()
1267 mp_rx_aggr_setup(card, rx_len, port); in mwifiex_sdio_card_to_host_mp_aggr()
1269 if (MP_RX_AGGR_PKT_LIMIT_REACHED(card) || in mwifiex_sdio_card_to_host_mp_aggr()
1270 mp_rx_aggr_port_limit_reached(card)) { in mwifiex_sdio_card_to_host_mp_aggr()
1281 card->mpa_rx.pkt_cnt); in mwifiex_sdio_card_to_host_mp_aggr()
1283 if (card->supports_sdio_new_mode) { in mwifiex_sdio_card_to_host_mp_aggr()
1287 for (i = 0, port_count = 0; i < card->max_ports; i++) in mwifiex_sdio_card_to_host_mp_aggr()
1288 if (card->mpa_rx.ports & BIT(i)) in mwifiex_sdio_card_to_host_mp_aggr()
1296 (port_count << 8)) + card->mpa_rx.start_port; in mwifiex_sdio_card_to_host_mp_aggr()
1299 (card->mpa_rx.ports << 4)) + in mwifiex_sdio_card_to_host_mp_aggr()
1300 card->mpa_rx.start_port; in mwifiex_sdio_card_to_host_mp_aggr()
1303 if (mwifiex_read_data_sync(adapter, card->mpa_rx.buf, in mwifiex_sdio_card_to_host_mp_aggr()
1304 card->mpa_rx.buf_len, mport, 1)) in mwifiex_sdio_card_to_host_mp_aggr()
1307 curr_ptr = card->mpa_rx.buf; in mwifiex_sdio_card_to_host_mp_aggr()
1309 for (pind = 0; pind < card->mpa_rx.pkt_cnt; pind++) { in mwifiex_sdio_card_to_host_mp_aggr()
1310 u32 *len_arr = card->mpa_rx.len_arr; in mwifiex_sdio_card_to_host_mp_aggr()
1352 MP_RX_AGGR_BUF_RESET(card); in mwifiex_sdio_card_to_host_mp_aggr()
1365 card->mpa_rx.buf, rx_len, in mwifiex_sdio_card_to_host_mp_aggr()
1391 mp_rx_aggr_setup(card, rx_len, port); in mwifiex_sdio_card_to_host_mp_aggr()
1396 if (MP_RX_AGGR_IN_PROGRESS(card)) in mwifiex_sdio_card_to_host_mp_aggr()
1397 MP_RX_AGGR_BUF_RESET(card); in mwifiex_sdio_card_to_host_mp_aggr()
1423 struct sdio_mmc_card *card = adapter->card; in mwifiex_process_int_status() local
1424 const struct mwifiex_sdio_card_reg *reg = card->reg; in mwifiex_process_int_status()
1453 rx_len = card->mp_regs[reg->cmd_rd_len_1] << 8; in mwifiex_process_int_status()
1454 rx_len |= (u16)card->mp_regs[reg->cmd_rd_len_0]; in mwifiex_process_int_status()
1488 bitmap = (u32) card->mp_regs[reg->wr_bitmap_l]; in mwifiex_process_int_status()
1489 bitmap |= ((u32) card->mp_regs[reg->wr_bitmap_u]) << 8; in mwifiex_process_int_status()
1490 if (card->supports_sdio_new_mode) { in mwifiex_process_int_status()
1492 ((u32) card->mp_regs[reg->wr_bitmap_1l]) << 16; in mwifiex_process_int_status()
1494 ((u32) card->mp_regs[reg->wr_bitmap_1u]) << 24; in mwifiex_process_int_status()
1496 card->mp_wr_bitmap = bitmap; in mwifiex_process_int_status()
1499 card->mp_wr_bitmap); in mwifiex_process_int_status()
1501 (card->mp_wr_bitmap & card->mp_data_port_mask)) { in mwifiex_process_int_status()
1511 if (card->has_control_mask && adapter->cmd_sent) { in mwifiex_process_int_status()
1514 card->mp_wr_bitmap |= in mwifiex_process_int_status()
1515 (u32) card->mp_regs[reg->wr_bitmap_l] & CTRL_PORT_MASK; in mwifiex_process_int_status()
1516 if (card->mp_wr_bitmap & CTRL_PORT_MASK) in mwifiex_process_int_status()
1523 bitmap = (u32) card->mp_regs[reg->rd_bitmap_l]; in mwifiex_process_int_status()
1524 bitmap |= ((u32) card->mp_regs[reg->rd_bitmap_u]) << 8; in mwifiex_process_int_status()
1525 if (card->supports_sdio_new_mode) { in mwifiex_process_int_status()
1527 ((u32) card->mp_regs[reg->rd_bitmap_1l]) << 16; in mwifiex_process_int_status()
1529 ((u32) card->mp_regs[reg->rd_bitmap_1u]) << 24; in mwifiex_process_int_status()
1531 card->mp_rd_bitmap = bitmap; in mwifiex_process_int_status()
1533 card->mp_rd_bitmap); in mwifiex_process_int_status()
1544 rx_len = ((u16) card->mp_regs[len_reg_u]) << 8; in mwifiex_process_int_status()
1545 rx_len |= (u16) card->mp_regs[len_reg_l]; in mwifiex_process_int_status()
1553 card->mpa_rx.buf_size) { in mwifiex_process_int_status()
1611 struct sdio_mmc_card *card = adapter->card; in mwifiex_host_to_card_mp_aggr() local
1619 if (!card->mpa_tx.enabled || in mwifiex_host_to_card_mp_aggr()
1620 (card->has_control_mask && (port == CTRL_PORT)) || in mwifiex_host_to_card_mp_aggr()
1621 (card->supports_sdio_new_mode && (port == CMD_PORT_SLCT))) { in mwifiex_host_to_card_mp_aggr()
1634 if (MP_TX_AGGR_IN_PROGRESS(card)) { in mwifiex_host_to_card_mp_aggr()
1635 if (MP_TX_AGGR_BUF_HAS_ROOM(card, pkt_len)) { in mwifiex_host_to_card_mp_aggr()
1638 if (!(card->mp_wr_bitmap & in mwifiex_host_to_card_mp_aggr()
1639 (1 << card->curr_wr_port)) || in mwifiex_host_to_card_mp_aggr()
1641 card, pkt_len + next_pkt_len)) in mwifiex_host_to_card_mp_aggr()
1647 if (!(card->mp_wr_bitmap & in mwifiex_host_to_card_mp_aggr()
1648 (1 << card->curr_wr_port))) in mwifiex_host_to_card_mp_aggr()
1654 if (MP_TX_AGGR_BUF_HAS_ROOM(card, pkt_len) && in mwifiex_host_to_card_mp_aggr()
1655 (card->mp_wr_bitmap & (1 << card->curr_wr_port))) in mwifiex_host_to_card_mp_aggr()
1665 if (MP_TX_AGGR_IN_PROGRESS(card)) { in mwifiex_host_to_card_mp_aggr()
1669 if (MP_TX_AGGR_BUF_HAS_ROOM(card, pkt_len)) in mwifiex_host_to_card_mp_aggr()
1682 MP_TX_AGGR_BUF_PUT(card, payload, pkt_len, port); in mwifiex_host_to_card_mp_aggr()
1684 if (MP_TX_AGGR_PKT_LIMIT_REACHED(card) || in mwifiex_host_to_card_mp_aggr()
1685 mp_tx_aggr_port_limit_reached(card)) in mwifiex_host_to_card_mp_aggr()
1693 card->mpa_tx.start_port, card->mpa_tx.ports); in mwifiex_host_to_card_mp_aggr()
1694 if (card->supports_sdio_new_mode) { in mwifiex_host_to_card_mp_aggr()
1698 for (i = 0, port_count = 0; i < card->max_ports; i++) in mwifiex_host_to_card_mp_aggr()
1699 if (card->mpa_tx.ports & BIT(i)) in mwifiex_host_to_card_mp_aggr()
1707 (port_count << 8)) + card->mpa_tx.start_port; in mwifiex_host_to_card_mp_aggr()
1710 (card->mpa_tx.ports << 4)) + in mwifiex_host_to_card_mp_aggr()
1711 card->mpa_tx.start_port; in mwifiex_host_to_card_mp_aggr()
1714 ret = mwifiex_write_data_to_card(adapter, card->mpa_tx.buf, in mwifiex_host_to_card_mp_aggr()
1715 card->mpa_tx.buf_len, mport); in mwifiex_host_to_card_mp_aggr()
1717 MP_TX_AGGR_BUF_RESET(card); in mwifiex_host_to_card_mp_aggr()
1731 MP_TX_AGGR_BUF_PUT(card, payload, pkt_len, port); in mwifiex_host_to_card_mp_aggr()
1751 struct sdio_mmc_card *card = adapter->card; in mwifiex_sdio_host_to_card() local
1787 if (card->supports_sdio_new_mode) in mwifiex_sdio_host_to_card()
1808 card->curr_wr_port = port; in mwifiex_sdio_host_to_card()
1809 card->mp_wr_bitmap |= (u32)(1 << card->curr_wr_port); in mwifiex_sdio_host_to_card()
1813 if (!(card->mp_wr_bitmap & (1 << card->curr_wr_port))) in mwifiex_sdio_host_to_card()
1829 struct sdio_mmc_card *card = adapter->card; in mwifiex_alloc_sdio_mpa_buffers() local
1833 card->mpa_tx.buf = kzalloc(mpa_tx_buf_size, GFP_KERNEL); in mwifiex_alloc_sdio_mpa_buffers()
1834 if (!card->mpa_tx.buf) { in mwifiex_alloc_sdio_mpa_buffers()
1839 card->mpa_tx.buf_size = mpa_tx_buf_size; in mwifiex_alloc_sdio_mpa_buffers()
1843 card->mpa_rx.buf = kzalloc(rx_buf_size, GFP_KERNEL); in mwifiex_alloc_sdio_mpa_buffers()
1844 if (!card->mpa_rx.buf) { in mwifiex_alloc_sdio_mpa_buffers()
1849 card->mpa_rx.buf_size = rx_buf_size; in mwifiex_alloc_sdio_mpa_buffers()
1853 kfree(card->mpa_tx.buf); in mwifiex_alloc_sdio_mpa_buffers()
1854 kfree(card->mpa_rx.buf); in mwifiex_alloc_sdio_mpa_buffers()
1869 struct sdio_mmc_card *card = adapter->card; in mwifiex_unregister_dev() local
1871 if (adapter->card) { in mwifiex_unregister_dev()
1872 sdio_claim_host(card->func); in mwifiex_unregister_dev()
1873 sdio_disable_func(card->func); in mwifiex_unregister_dev()
1874 sdio_release_host(card->func); in mwifiex_unregister_dev()
1886 struct sdio_mmc_card *card = adapter->card; in mwifiex_register_dev() local
1887 struct sdio_func *func = card->func; in mwifiex_register_dev()
1890 card->adapter = adapter; in mwifiex_register_dev()
1891 adapter->tx_buf_size = card->tx_buf_size; in mwifiex_register_dev()
1896 ret = sdio_set_block_size(card->func, MWIFIEX_SDIO_BLOCK_SIZE); in mwifiex_register_dev()
1906 strcpy(adapter->fw_name, card->firmware); in mwifiex_register_dev()
1927 struct sdio_mmc_card *card = adapter->card; in mwifiex_init_sdio() local
1928 const struct mwifiex_sdio_card_reg *reg = card->reg; in mwifiex_init_sdio()
1932 sdio_set_drvdata(card->func, card); in mwifiex_init_sdio()
1939 mwifiex_read_reg(adapter, card->reg->host_int_status_reg, &sdio_ireg); in mwifiex_init_sdio()
1945 card->mp_rd_bitmap = 0; in mwifiex_init_sdio()
1946 card->mp_wr_bitmap = 0; in mwifiex_init_sdio()
1947 card->curr_rd_port = reg->start_rd_port; in mwifiex_init_sdio()
1948 card->curr_wr_port = reg->start_wr_port; in mwifiex_init_sdio()
1950 card->mp_data_port_mask = reg->data_port_mask; in mwifiex_init_sdio()
1952 card->mpa_tx.buf_len = 0; in mwifiex_init_sdio()
1953 card->mpa_tx.pkt_cnt = 0; in mwifiex_init_sdio()
1954 card->mpa_tx.start_port = 0; in mwifiex_init_sdio()
1956 card->mpa_tx.enabled = 1; in mwifiex_init_sdio()
1957 card->mpa_tx.pkt_aggr_limit = card->mp_agg_pkt_limit; in mwifiex_init_sdio()
1959 card->mpa_rx.buf_len = 0; in mwifiex_init_sdio()
1960 card->mpa_rx.pkt_cnt = 0; in mwifiex_init_sdio()
1961 card->mpa_rx.start_port = 0; in mwifiex_init_sdio()
1963 card->mpa_rx.enabled = 1; in mwifiex_init_sdio()
1964 card->mpa_rx.pkt_aggr_limit = card->mp_agg_pkt_limit; in mwifiex_init_sdio()
1967 card->mp_regs = kzalloc(reg->max_mp_regs, GFP_KERNEL); in mwifiex_init_sdio()
1968 if (!card->mp_regs) in mwifiex_init_sdio()
1972 card->mpa_rx.skb_arr = kzalloc((sizeof(void *)) * in mwifiex_init_sdio()
1973 card->mp_agg_pkt_limit, GFP_KERNEL); in mwifiex_init_sdio()
1974 card->mpa_rx.len_arr = kzalloc(sizeof(*card->mpa_rx.len_arr) * in mwifiex_init_sdio()
1975 card->mp_agg_pkt_limit, GFP_KERNEL); in mwifiex_init_sdio()
1977 card->mp_tx_agg_buf_size, in mwifiex_init_sdio()
1978 card->mp_rx_agg_buf_size); in mwifiex_init_sdio()
1981 kfree(card->mp_regs); in mwifiex_init_sdio()
1985 adapter->auto_tdls = card->can_auto_tdls; in mwifiex_init_sdio()
1986 adapter->ext_scan = card->can_ext_scan; in mwifiex_init_sdio()
1995 struct sdio_mmc_card *card = adapter->card; in mwifiex_cleanup_mpa_buf() local
1997 MP_TX_AGGR_BUF_RESET(card); in mwifiex_cleanup_mpa_buf()
1998 MP_RX_AGGR_BUF_RESET(card); in mwifiex_cleanup_mpa_buf()
2011 struct sdio_mmc_card *card = adapter->card; in mwifiex_cleanup_sdio() local
2013 kfree(card->mp_regs); in mwifiex_cleanup_sdio()
2014 kfree(card->mpa_rx.skb_arr); in mwifiex_cleanup_sdio()
2015 kfree(card->mpa_rx.len_arr); in mwifiex_cleanup_sdio()
2016 kfree(card->mpa_tx.buf); in mwifiex_cleanup_sdio()
2017 kfree(card->mpa_rx.buf); in mwifiex_cleanup_sdio()
2018 sdio_set_drvdata(card->func, NULL); in mwifiex_cleanup_sdio()
2019 kfree(card); in mwifiex_cleanup_sdio()
2028 struct sdio_mmc_card *card = adapter->card; in mwifiex_update_mp_end_port() local
2029 const struct mwifiex_sdio_card_reg *reg = card->reg; in mwifiex_update_mp_end_port()
2032 card->mp_end_port = port; in mwifiex_update_mp_end_port()
2034 card->mp_data_port_mask = reg->data_port_mask; in mwifiex_update_mp_end_port()
2037 for (i = 1; i <= card->max_ports - card->mp_end_port; i++) in mwifiex_update_mp_end_port()
2038 card->mp_data_port_mask &= in mwifiex_update_mp_end_port()
2039 ~(1 << (card->max_ports - i)); in mwifiex_update_mp_end_port()
2042 card->curr_wr_port = reg->start_wr_port; in mwifiex_update_mp_end_port()
2045 port, card->mp_data_port_mask); in mwifiex_update_mp_end_port()
2051 struct sdio_mmc_card *card = adapter->card; in mwifiex_sdio_card_reset_work() local
2052 struct mmc_host *target = card->func->card->host; in mwifiex_sdio_card_reset_work()
2075 struct sdio_mmc_card *card = adapter->card; in mwifiex_sdio_rdwr_firmware() local
2079 sdio_writeb(card->func, FW_DUMP_HOST_READY, card->reg->fw_dump_ctrl, in mwifiex_sdio_rdwr_firmware()
2086 ctrl_data = sdio_readb(card->func, card->reg->fw_dump_ctrl, in mwifiex_sdio_rdwr_firmware()
2099 sdio_writeb(card->func, FW_DUMP_HOST_READY, in mwifiex_sdio_rdwr_firmware()
2100 card->reg->fw_dump_ctrl, &ret); in mwifiex_sdio_rdwr_firmware()
2119 struct sdio_mmc_card *card = adapter->card; in mwifiex_sdio_fw_dump_work() local
2129 if (!card->can_dump_fw) in mwifiex_sdio_fw_dump_work()
2143 sdio_claim_host(card->func); in mwifiex_sdio_fw_dump_work()
2151 reg = card->reg->fw_dump_start; in mwifiex_sdio_fw_dump_work()
2153 dump_num = sdio_readb(card->func, reg, &ret); in mwifiex_sdio_fw_dump_work()
2168 reg = card->reg->fw_dump_start; in mwifiex_sdio_fw_dump_work()
2170 read_reg = sdio_readb(card->func, reg, &ret); in mwifiex_sdio_fw_dump_work()
2205 reg_start = card->reg->fw_dump_start; in mwifiex_sdio_fw_dump_work()
2206 reg_end = card->reg->fw_dump_end; in mwifiex_sdio_fw_dump_work()
2208 *dbg_ptr = sdio_readb(card->func, reg, &ret); in mwifiex_sdio_fw_dump_work()
2234 sdio_release_host(card->func); in mwifiex_sdio_fw_dump_work()
2279 struct sdio_mmc_card *cardp = adapter->card; in mwifiex_sdio_reg_dump()