Lines Matching full:pub

86 	dbus_pub_t   pub; /* MUST BE FIRST */  member
165 static void dbus_detach(dhd_bus_t *pub);
206 static int dbus_send_irb(dbus_pub_t *pub, uint8 *buf, int len, void *pkt, void *info);
378 irb = (dbus_irb_t *) MALLOC(dhd_bus->pub.osh, size_irb); in dbus_irbq_init()
405 MFREE(dhd_bus->pub.osh, irb, size_irb); in dbus_irbq_deinit()
424 if (dhd_bus->pub.busstate != DBUS_STATE_UP) { in dbus_rxirbs_fill()
463 dbus_flowctrl_rx(dbus_pub_t *pub, bool on) in dbus_flowctrl_rx() argument
465 dhd_bus_t *dhd_bus = (dhd_bus_t *) pub; in dbus_flowctrl_rx()
477 if (dhd_bus->pub.busstate == DBUS_STATE_UP) { in dbus_flowctrl_rx()
499 dbus_send_irb(dbus_pub_t *pub, uint8 *buf, int len, void *pkt, void *info) in dbus_send_irb() argument
501 dhd_bus_t *dhd_bus = (dhd_bus_t *) pub; in dbus_send_irb()
512 if (dhd_bus->pub.busstate == DBUS_STATE_UP || in dbus_send_irb()
513 dhd_bus->pub.busstate == DBUS_STATE_SLEEP) { in dbus_send_irb()
550 txirb_pending = dhd_bus->pub.ntxq - dhd_bus->tx_q->cnt; in dbus_send_irb()
632 nv_memblock = MALLOC(dhd_bus->pub.osh, MAX_NVRAMBUF_SIZE); in dbus_get_fw_nvram()
664 memptr = fw_memblock = MALLOC(dhd_bus->pub.osh, memblock_size); in dbus_get_fw_nvram()
671 if ((actual_fwlen = check_file(dhd_bus->pub.osh, memptr)) <= 0) { in dbus_get_fw_nvram()
681 dhd_bus->image = MALLOC(dhd_bus->pub.osh, total_len); in dbus_get_fw_nvram()
738 MFREE(dhd_bus->pub.osh, fw_memblock, MAX_NVRAMBUF_SIZE); in dbus_get_fw_nvram()
742 MFREE(dhd_bus->pub.osh, nv_memblock, MAX_NVRAMBUF_SIZE); in dbus_get_fw_nvram()
777 MFREE(dhd_bus->pub.osh, dhd_bus->image, dhd_bus->image_len); in dbus_do_download()
850 if ((actual_fwlen = check_file(dhd_bus->pub.osh, dhd_bus->fw)) <= 0) { in dbus_get_nvram()
870 dhd_bus->image = MALLOC(dhd_bus->pub.osh, len); in dbus_get_nvram()
948 dhd_bus->firmware = dbus_get_fw_nvfile(dhd_bus->pub.attrib.devid, in dbus_do_download()
949 dhd_bus->pub.attrib.chiprev, &dhd_bus->fw, &dhd_bus->fwlen, in dbus_do_download()
974 dhd_bus->nvfile = dbus_get_fw_nvfile(dhd_bus->pub.attrib.devid, in dbus_do_download()
975 dhd_bus->pub.attrib.chiprev, (void *)&temp_nvram, &temp_len, in dbus_do_download()
978 int8 *tmp = MALLOC(dhd_bus->pub.osh, temp_len); in dbus_do_download()
1010 MFREE(dhd_bus->pub.osh, dhd_bus->image, dhd_bus->image_len); in dbus_do_download()
1018 MFREE(dhd_bus->pub.osh, dhd_bus->fw, dhd_bus->decomp_memsize); in dbus_do_download()
1035 MFREE(dhd_bus->pub.osh, nonfwnvram, nonfwnvramlen); in dbus_do_download()
1093 if (dhd_bus->pub.busstate != DBUS_STATE_DOWN) { in dbus_if_send_irb_complete()
1100 txirb_pending = dhd_bus->pub.ntxq - dhd_bus->tx_q->cnt; in dbus_if_send_irb_complete()
1150 if (dhd_bus->pub.busstate != DBUS_STATE_DOWN && in dbus_if_recv_irb_complete()
1151 dhd_bus->pub.busstate != DBUS_STATE_SLEEP) { in dbus_if_recv_irb_complete()
1170 rxirb_pending = dhd_bus->pub.nrxq - dhd_bus->rx_q->cnt - 1; in dbus_if_recv_irb_complete()
1184 PKTFRMNATIVE(dhd_bus->pub.osh, rxirb->buf); in dbus_if_recv_irb_complete()
1185 PKTFREE(dhd_bus->pub.osh, rxirb->buf, FALSE); in dbus_if_recv_irb_complete()
1194 PKTFRMNATIVE(dhd_bus->pub.osh, rxirb->buf); in dbus_if_recv_irb_complete()
1195 PKTFREE(dhd_bus->pub.osh, rxirb->buf, FALSE); in dbus_if_recv_irb_complete()
1204 PKTFRMNATIVE(dhd_bus->pub.osh, rxirb->buf); in dbus_if_recv_irb_complete()
1205 PKTFREE(dhd_bus->pub.osh, rxirb->buf, FALSE); in dbus_if_recv_irb_complete()
1215 MFREE(dhd_bus->pub.osh, rxirb, sizeof(dbus_irb_tx_t)); in dbus_if_recv_irb_complete()
1233 dhd_bus->pub.stats.tx_errors++; in dbus_if_errhandler()
1237 dhd_bus->pub.stats.tx_dropped++; in dbus_if_errhandler()
1241 dhd_bus->pub.stats.rx_errors++; in dbus_if_errhandler()
1245 dhd_bus->pub.stats.rx_dropped++; in dbus_if_errhandler()
1272 if (dhd_bus->pub.busstate != DBUS_STATE_DOWN) { in dbus_if_ctl_complete()
1292 if (dhd_bus->pub.busstate == state) in dbus_if_state_change()
1294 old_state = dhd_bus->pub.busstate; in dbus_if_state_change()
1307 dhd_bus->pub.busstate = state; in dbus_if_state_change()
1362 if ((dhd_bus == NULL) || (dhd_bus->pub.busstate != DBUS_STATE_UP)) in dbus_if_getirb()
1428 dbus_attach(osl_t *osh, int rxsize, int nrxq, int ntxq, dhd_pub_t *pub, in dbus_attach() argument
1452 dhd_bus->cbarg = pub; in dbus_attach()
1455 dhd_bus->pub.sh = sh; in dbus_attach()
1456 dhd_bus->pub.osh = osh; in dbus_attach()
1457 dhd_bus->pub.rxsize = rxsize; in dbus_attach()
1459 dhd_bus->pub.nrxq = nrxq; in dbus_attach()
1461 dhd_bus->pub.ntxq = ntxq; in dbus_attach()
1485 dhd_bus->bus_info = (void *)g_busintf->attach(&dhd_bus->pub, in dbus_attach()
1520 dbus_detach(dhd_bus_t *pub) in dbus_detach() argument
1522 dhd_bus_t *dhd_bus = (dhd_bus_t *) pub; in dbus_detach()
1532 osh = pub->pub.osh; in dbus_detach()
1565 int dbus_dlneeded(dhd_bus_t *pub) in dbus_dlneeded() argument
1567 dhd_bus_t *dhd_bus = (dhd_bus_t *) pub; in dbus_dlneeded()
1575 DBUSTRACE(("%s: state %d\n", __FUNCTION__, dhd_bus->pub.busstate)); in dbus_dlneeded()
1589 int dbus_download_firmware(dhd_bus_t *pub) in dbus_download_firmware() argument
1591 dhd_bus_t *dhd_bus = (dhd_bus_t *) pub; in dbus_download_firmware()
1599 DBUSTRACE(("%s: state %d\n", __FUNCTION__, dhd_bus->pub.busstate)); in dbus_download_firmware()
1601 dhd_bus->pub.busstate = DBUS_STATE_DL_PENDING; in dbus_download_firmware()
1604 dhd_bus->pub.busstate = DBUS_STATE_DL_DONE; in dbus_download_firmware()
1618 dbus_up(struct dhd_bus *pub) in dbus_up() argument
1620 dhd_bus_t *dhd_bus = (dhd_bus_t *) pub; in dbus_up()
1630 if ((dhd_bus->pub.busstate == DBUS_STATE_DL_DONE) || in dbus_up()
1631 (dhd_bus->pub.busstate == DBUS_STATE_DOWN) || in dbus_up()
1632 (dhd_bus->pub.busstate == DBUS_STATE_SLEEP)) { in dbus_up()
1648 dbus_down(dbus_pub_t *pub) in dbus_down() argument
1650 dhd_bus_t *dhd_bus = (dhd_bus_t *) pub; in dbus_down()
1659 if (dhd_bus->pub.busstate == DBUS_STATE_UP || in dbus_down()
1660 dhd_bus->pub.busstate == DBUS_STATE_SLEEP) { in dbus_down()
1669 dbus_shutdown(dbus_pub_t *pub) in dbus_shutdown() argument
1671 dhd_bus_t *dhd_bus = (dhd_bus_t *) pub; in dbus_shutdown()
1685 dbus_stop(struct dhd_bus *pub) in dbus_stop() argument
1687 dhd_bus_t *dhd_bus = (dhd_bus_t *) pub; in dbus_stop()
1694 if (dhd_bus->pub.busstate == DBUS_STATE_UP || in dbus_stop()
1695 dhd_bus->pub.busstate == DBUS_STATE_SLEEP) { in dbus_stop()
1704 dbus_send_buf(dbus_pub_t *pub, uint8 *buf, int len, void *info) in dbus_send_buf() argument
1706 return dbus_send_irb(pub, buf, len, NULL, info); in dbus_send_buf()
1710 dbus_send_pkt(dbus_pub_t *pub, void *pkt, void *info) in dbus_send_pkt() argument
1712 return dbus_send_irb(pub, NULL, 0, pkt, info); in dbus_send_pkt()
1716 dbus_send_ctl(struct dhd_bus *pub, uint8 *buf, int len) in dbus_send_ctl() argument
1718 dhd_bus_t *dhd_bus = (dhd_bus_t *) pub; in dbus_send_ctl()
1725 if (dhd_bus->pub.busstate == DBUS_STATE_UP || in dbus_send_ctl()
1726 dhd_bus->pub.busstate == DBUS_STATE_SLEEP) { in dbus_send_ctl()
1730 DBUSERR(("%s: bustate=%d\n", __FUNCTION__, dhd_bus->pub.busstate)); in dbus_send_ctl()
1737 dbus_recv_ctl(struct dhd_bus *pub, uint8 *buf, int len) in dbus_recv_ctl() argument
1739 dhd_bus_t *dhd_bus = (dhd_bus_t *) pub; in dbus_recv_ctl()
1744 if (dhd_bus->pub.busstate == DBUS_STATE_UP || in dbus_recv_ctl()
1745 dhd_bus->pub.busstate == DBUS_STATE_SLEEP) { in dbus_recv_ctl()
1749 DBUSERR(("%s: bustate=%d\n", __FUNCTION__, dhd_bus->pub.busstate)); in dbus_recv_ctl()
1757 dbus_recv_bulk(dbus_pub_t *pub, uint32 ep_idx) in dbus_recv_bulk() argument
1759 dhd_bus_t *dhd_bus = (dhd_bus_t *) pub; in dbus_recv_bulk()
1770 if (dhd_bus->pub.busstate == DBUS_STATE_UP) { in dbus_recv_bulk()
1791 dbus_poll_intr(dbus_pub_t *pub) in dbus_poll_intr() argument
1793 dhd_bus_t *dhd_bus = (dhd_bus_t *) pub; in dbus_poll_intr()
1800 if (dhd_bus->pub.busstate == DBUS_STATE_UP) { in dbus_poll_intr()
1812 dbus_pktget(dbus_pub_t *pub, int len) in dbus_pktget() argument
1814 dhd_bus_t *dhd_bus = (dhd_bus_t *) pub; in dbus_pktget()
1819 return PKTGET(dhd_bus->pub.osh, len, TRUE); in dbus_pktget()
1824 dbus_pktfree(dbus_pub_t *pub, void* pkt) in dbus_pktfree() argument
1826 dhd_bus_t *dhd_bus = (dhd_bus_t *) pub; in dbus_pktfree()
1831 PKTFREE(dhd_bus->pub.osh, pkt, TRUE); in dbus_pktfree()
1836 dbus_get_stats(dbus_pub_t *pub, dbus_stats_t *stats) in dbus_get_stats() argument
1838 dhd_bus_t *dhd_bus = (dhd_bus_t *) pub; in dbus_get_stats()
1843 bcopy(&dhd_bus->pub.stats, stats, sizeof(dbus_stats_t)); in dbus_get_stats()
1849 dbus_get_attrib(dhd_bus_t *pub, dbus_attrib_t *attrib) in dbus_get_attrib() argument
1851 dhd_bus_t *dhd_bus = (dhd_bus_t *) pub; in dbus_get_attrib()
1859 &dhd_bus->pub.attrib); in dbus_get_attrib()
1862 bcopy(&dhd_bus->pub.attrib, attrib, sizeof(dbus_attrib_t)); in dbus_get_attrib()
1867 dbus_get_device_speed(dbus_pub_t *pub) in dbus_get_device_speed() argument
1869 dhd_bus_t *dhd_bus = (dhd_bus_t *) pub; in dbus_get_device_speed()
1874 return (dhd_bus->pub.device_speed); in dbus_get_device_speed()
1878 dbus_set_config(dbus_pub_t *pub, dbus_config_t *config) in dbus_set_config() argument
1880 dhd_bus_t *dhd_bus = (dhd_bus_t *) pub; in dbus_set_config()
1892 (dhd_bus->pub.busstate == DBUS_STATE_UP)) { in dbus_set_config()
1901 dbus_get_config(dbus_pub_t *pub, dbus_config_t *config) in dbus_get_config() argument
1903 dhd_bus_t *dhd_bus = (dhd_bus_t *) pub; in dbus_get_config()
1918 dbus_set_errmask(dbus_pub_t *pub, uint32 mask) in dbus_set_errmask() argument
1920 dhd_bus_t *dhd_bus = (dhd_bus_t *) pub; in dbus_set_errmask()
1931 dbus_pnp_resume(dbus_pub_t *pub, int *fw_reload) in dbus_pnp_resume() argument
1933 dhd_bus_t *dhd_bus = (dhd_bus_t *) pub; in dbus_pnp_resume()
1942 if (dhd_bus->pub.busstate == DBUS_STATE_UP) { in dbus_pnp_resume()
1968 dbus_pnp_sleep(dbus_pub_t *pub) in dbus_pnp_sleep() argument
1970 dhd_bus_t *dhd_bus = (dhd_bus_t *) pub; in dbus_pnp_sleep()
1989 dbus_pnp_disconnect(dbus_pub_t *pub) in dbus_pnp_disconnect() argument
1991 dhd_bus_t *dhd_bus = (dhd_bus_t *) pub; in dbus_pnp_disconnect()
2031 dhd_dbus_txq(const dbus_pub_t *pub) in dhd_dbus_txq() argument
2037 dhd_dbus_hdrlen(const dbus_pub_t *pub) in dhd_dbus_hdrlen() argument
2043 dbus_get_devinfo(dbus_pub_t *pub) in dbus_get_devinfo() argument
2045 return pub->dev_info; in dbus_get_devinfo()
2070 devid = dhd_bus->pub.attrib.devid; in dbus_otp()
2083 cis = MALLOC(dhd_bus->pub.osh, otp_size * 2); in dbus_otp()
2095 MFREE(dhd_bus->pub.osh, cis, otp_size * 2); in dbus_otp()
2161 MFREE(dhd_bus->pub.osh, cis, otp_size * 2); in dbus_otp()
2560 return bus->pub.attrib.devid; in dhd_bus_chip()
2568 return bus->pub.attrib.chiprev; in dhd_bus_chiprev()
2596 return dbus_send_pkt(&bus->pub, pktbuf, pktbuf); in dhd_bus_txdata()
2630 if (dbus_poll_intr(bus->pub)) { in dhd_bus_txctl()
2805 dhd_dbus_sync_dongle(dhd_pub_t *pub, int dlneeded) in dhd_dbus_sync_dongle() argument
2810 ret = dbus_up(pub->bus); in dhd_dbus_sync_dongle()
2815 ret = dhd_sync_with_dongle(pub); in dhd_dbus_sync_dongle()
2945 dhd_pub_t *pub = NULL; in dhd_dbus_probe_cb() local
2963 if (!(pub = dhd_attach(osh, bus, hdrlen, adapter))) { in dhd_dbus_probe_cb()
2968 pub = g_pub; in dhd_dbus_probe_cb()
2969 osh = pub->osh; in dhd_dbus_probe_cb()
2972 if (pub->bus) { in dhd_dbus_probe_cb()
2977 rxsz = dhd_get_rxsz(pub); in dhd_dbus_probe_cb()
2978 bus = dbus_attach(osh, rxsz, DBUS_NRXQ, DBUS_NTXQ, pub, &dhd_dbus_cbs, NULL, NULL); in dhd_dbus_probe_cb()
2980 pub->bus = bus; in dhd_dbus_probe_cb()
2981 bus->dhd = pub; in dhd_dbus_probe_cb()
2985 dhd_conf_reset(pub); in dhd_dbus_probe_cb()
2986 dhd_conf_set_chiprev(pub, bus->pub.attrib.devid, bus->pub.attrib.chiprev); in dhd_dbus_probe_cb()
2987 dhd_conf_preinit(pub); in dhd_dbus_probe_cb()
3000 struct dhd_conf *conf = pub->conf; in dhd_dbus_probe_cb()
3009 DHD_LINUX_GENERAL_LOCK(pub, flags); in dhd_dbus_probe_cb()
3012 DHD_LINUX_GENERAL_UNLOCK(pub, flags); in dhd_dbus_probe_cb()
3031 if (dhd_dbus_sync_dongle(pub, dlneeded)) { in dhd_dbus_probe_cb()
3038 pub->hang_report = TRUE; in dhd_dbus_probe_cb()
3044 else if (net_attached && (pub->up == 1) && (dlneeded == 0)) { in dhd_dbus_probe_cb()
3046 pub->hostsleep = 0; in dhd_dbus_probe_cb()
3047 ret = dhd_dbus_sync_dongle(pub, dlneeded); in dhd_dbus_probe_cb()
3049 __wl_cfg80211_up_resume(pub); in dhd_dbus_probe_cb()
3050 wl_cfgp2p_start_p2p_device_resume(pub); in dhd_dbus_probe_cb()
3052 dhd_conf_set_suspend_resume(pub, 0); in dhd_dbus_probe_cb()
3058 g_pub = pub; in dhd_dbus_probe_cb()
3070 if (pub && pub->bus) { in dhd_dbus_probe_cb()
3071 dbus_detach(pub->bus); in dhd_dbus_probe_cb()
3072 pub->bus = NULL; in dhd_dbus_probe_cb()
3076 if (pub) { in dhd_dbus_probe_cb()
3077 dhd_detach(pub); in dhd_dbus_probe_cb()
3078 dhd_free(pub); in dhd_dbus_probe_cb()
3093 dhd_pub_t *pub = g_pub; in dhd_dbus_disconnect_cb() local
3097 adapter = (wifi_adapter_info_t *)pub->adapter; in dhd_dbus_disconnect_cb()
3099 if (pub && !pub->dhd_remove && bus == NULL) { in dhd_dbus_disconnect_cb()
3109 pub->dhd_remove, adapter->name); in dhd_dbus_disconnect_cb()
3110 if (!pub->dhd_remove) { in dhd_dbus_disconnect_cb()
3113 dbus_detach(pub->bus); in dhd_dbus_disconnect_cb()
3114 pub->bus = NULL; in dhd_dbus_disconnect_cb()
3117 osh = pub->osh; in dhd_dbus_disconnect_cb()
3118 dhd_detach(pub); in dhd_dbus_disconnect_cb()
3119 if (pub->bus) { in dhd_dbus_disconnect_cb()
3120 dbus_detach(pub->bus); in dhd_dbus_disconnect_cb()
3121 pub->bus = NULL; in dhd_dbus_disconnect_cb()
3123 dhd_free(pub); in dhd_dbus_disconnect_cb()