Lines Matching +full:lower +full:- +full:case

4  * Copyright (C) 1999-2016, Broadcom Corporation
25 * <<Broadcom-WL-IPTag/Open:>>
27 * $Id: dbus_usb.c 565557 2015-06-22 19:29:44Z $
54 #define USB_DEV_ISBAD(u) (u->pub->attrib.devid == 0xDEAD)
111 * These functions are called by the lower DBUS level (dbus_usb_os.c) to notify this DBUS level
154 static dbus_intf_t dbus_usb_intf; /** functions called by higher layer DBUS into lower layer */
168 * lower level DBUS functions to call (in both dbus_usb.c and dbus_usb_os.c).
176 /* First, initialize all lower-level functions as default in dbus_usb_probe()
226 * On return, *intf contains this or lower-level DBUS functions to be called by higher
259 if ((g_dbusintf == NULL) || (g_dbusintf->attach == NULL)) in dbus_usb_attach()
265 usb_info = MALLOC(pub->osh, sizeof(usb_info_t)); in dbus_usb_attach()
271 usb_info->pub = pub; in dbus_usb_attach()
272 usb_info->cbarg = cbarg; in dbus_usb_attach()
273 usb_info->cbs = cbs; in dbus_usb_attach()
275 usb_info->usbosl_info = (dbus_pub_t *)g_dbusintf->attach(pub, in dbus_usb_attach()
277 if (usb_info->usbosl_info == NULL) { in dbus_usb_attach()
278 MFREE(pub->osh, usb_info, sizeof(usb_info_t)); in dbus_usb_attach()
282 /* Save USB OS-specific driver entry points */ in dbus_usb_attach()
283 usb_info->drvintf = g_dbusintf; in dbus_usb_attach()
285 pub->bus = usb_info; in dbus_usb_attach()
288 usb_info->pub->busstate = DBUS_STATE_DL_DONE; in dbus_usb_attach()
291 /* Return Lower layer info */ in dbus_usb_attach()
292 return (void *) usb_info->usbosl_info; in dbus_usb_attach()
298 usb_info_t *usb_info = (usb_info_t *) pub->bus; in dbus_usb_detach()
299 osl_t *osh = pub->osh; in dbus_usb_detach()
304 if (usb_info->drvintf && usb_info->drvintf->detach) in dbus_usb_detach()
305 usb_info->drvintf->detach(pub, usb_info->usbosl_info); in dbus_usb_detach()
319 * When the lower DBUS level (dbus_usb_os.c) signals this event, the higher DBUS level has to be
332 if (usb_info->cbs && usb_info->cbs->send_irb_timeout) in dbus_usb_send_irb_timeout()
333 usb_info->cbs->send_irb_timeout(usb_info->cbarg, txirb); in dbus_usb_send_irb_timeout()
337 * When the lower DBUS level (dbus_usb_os.c) signals this event, the higher DBUS level has to be
348 if (usb_info->cbs && usb_info->cbs->send_irb_complete) in dbus_usb_send_irb_complete()
349 usb_info->cbs->send_irb_complete(usb_info->cbarg, txirb, status); in dbus_usb_send_irb_complete()
353 * When the lower DBUS level (dbus_usb_os.c) signals this event, the higher DBUS level has to be
364 if (usb_info->cbs && usb_info->cbs->recv_irb_complete) in dbus_usb_recv_irb_complete()
365 usb_info->cbs->recv_irb_complete(usb_info->cbarg, rxirb, status); in dbus_usb_recv_irb_complete()
368 /** Lower DBUS level (dbus_usb_os.c) requests a free IRB. Pass this on to the higher DBUS level. */
377 if (usb_info->cbs && usb_info->cbs->getirb) in dbus_usb_getirb()
378 return usb_info->cbs->getirb(usb_info->cbarg, send); in dbus_usb_getirb()
384 * When the lower DBUS level (dbus_usb_os.c) signals this event, the higher DBUS level has to be
395 if (usb_info->cbs && usb_info->cbs->rxerr_indicate) in dbus_usb_rxerr_indicate()
396 usb_info->cbs->rxerr_indicate(usb_info->cbarg, on); in dbus_usb_rxerr_indicate()
400 * When the lower DBUS level (dbus_usb_os.c) signals this event, the higher DBUS level has to be
411 if (usb_info->cbs && usb_info->cbs->errhandler) in dbus_usb_errhandler()
412 usb_info->cbs->errhandler(usb_info->cbarg, err); in dbus_usb_errhandler()
416 * When the lower DBUS level (dbus_usb_os.c) signals this event, the higher DBUS level has to be
431 if (usb_info->cbs && usb_info->cbs->ctl_complete) in dbus_usb_ctl_complete()
432 usb_info->cbs->ctl_complete(usb_info->cbarg, type, status); in dbus_usb_ctl_complete()
436 * When the lower DBUS level (dbus_usb_os.c) signals this event, the higher DBUS level has to be
447 if (usb_info->cbs && usb_info->cbs->state_change) in dbus_usb_state_change()
448 usb_info->cbs->state_change(usb_info->cbarg, state); in dbus_usb_state_change()
495 /* set up 'params' pointer in case this is a set command so that in dbus_iovar_process()
503 if (vi->type == IOVT_VOID) in dbus_iovar_process()
505 else if (vi->type == IOVT_BUFFER) in dbus_iovar_process()
511 actionid = set ? IOV_SVAL(vi->varid) : IOV_GVAL(vi->varid); in dbus_iovar_process()
544 case IOV_SVAL(IOV_MEMBYTES): in dbus_usb_doiovar()
545 case IOV_GVAL(IOV_MEMBYTES): in dbus_usb_doiovar()
561 dsize = set ? plen - (2 * sizeof(int)) : len; in dbus_usb_doiovar()
580 case IOV_SVAL(IOV_SET_DOWNLOAD_STATE): in dbus_usb_doiovar()
588 usbinfo->pub->busstate = DBUS_STATE_DL_DONE; in dbus_usb_doiovar()
592 case IOV_SVAL(IOV_VARS): in dbus_usb_doiovar()
596 case IOV_GVAL(IOV_DBUS_MSGLEVEL): in dbus_usb_doiovar()
601 case IOV_SVAL(IOV_DBUS_MSGLEVEL): in dbus_usb_doiovar()
606 case IOV_SVAL(IOV_LOOPBACK_TX): in dbus_usb_doiovar()
635 if (!bus->rdlram_size) in dhdusb_downloadvars()
640 varaddr = (bus->rdlram_size - 4) - varsize; in dhdusb_downloadvars()
644 bcmerror = dbus_write_membytes(bus->usbosl_info, TRUE, (varaddr + bus->rdlram_base_addr), in dhdusb_downloadvars()
648 DBUSTRACE(("Usable memory size: %d\n", bus->rdlram_size)); in dhdusb_downloadvars()
651 varsize = ((bus->rdlram_size - 4) - varaddr); in dhdusb_downloadvars()
655 * Varsize, converted to words, in lower 16-bits, checksum in upper 16-bits. in dhdusb_downloadvars()
668 bcmerror = dbus_write_membytes(bus->usbosl_info, TRUE, ((bus->rdlram_size - 4) + in dhdusb_downloadvars()
669 bus->rdlram_base_addr), (uint8*)&varsizew, 4); in dhdusb_downloadvars()
694 osinfo = usbinfo->usbosl_info; in dbus_usb_resetcfg()
709 waittime += (endtime - starttime); in dbus_usb_resetcfg()
737 void *osinfo = usbinfo->usbosl_info; in dbus_usb_rdl_dwnld_state()
765 osl_t *osh = usbinfo->pub->osh; in dbus_usb_dl_writeimage()
766 void *osinfo = usbinfo->usbosl_info; in dbus_usb_dl_writeimage()
775 if (BCM4350_CHIP(usbinfo->pub->attrib.devid)) in dbus_usb_dl_writeimage()
799 id.chip = usbinfo->pub->attrib.devid; in dbus_usb_dl_writeimage()
800 id.chiprev = usbinfo->pub->attrib.chiprev; in dbus_usb_dl_writeimage()
811 if ((dllen-sent) < dl_trunk_size) in dbus_usb_dl_writeimage()
812 sendlen = dllen-sent; in dbus_usb_dl_writeimage()
820 sendlen -= 4; in dbus_usb_dl_writeimage()
894 usbinfo->pub->busstate = DBUS_STATE_DL_DONE; in dbus_usb_dlstart()
896 usbinfo->pub->busstate = DBUS_STATE_DL_PENDING; in dbus_usb_dlstart()
898 usbinfo->pub->busstate = DBUS_STATE_DL_PENDING; in dbus_usb_dlstart()
910 case 0x4319: in dbus_usb_update_chipinfo()
911 usbinfo->rdlram_size = RDL_RAM_SIZE_4319; in dbus_usb_update_chipinfo()
912 usbinfo->rdlram_base_addr = RDL_RAM_BASE_4319; in dbus_usb_update_chipinfo()
915 case 0x4329: in dbus_usb_update_chipinfo()
916 usbinfo->rdlram_size = RDL_RAM_SIZE_4329; in dbus_usb_update_chipinfo()
917 usbinfo->rdlram_base_addr = RDL_RAM_BASE_4329; in dbus_usb_update_chipinfo()
920 case 43234: in dbus_usb_update_chipinfo()
921 case 43235: in dbus_usb_update_chipinfo()
922 case 43236: in dbus_usb_update_chipinfo()
923 usbinfo->rdlram_size = RDL_RAM_SIZE_43236; in dbus_usb_update_chipinfo()
924 usbinfo->rdlram_base_addr = RDL_RAM_BASE_43236; in dbus_usb_update_chipinfo()
927 case 0x4328: in dbus_usb_update_chipinfo()
928 usbinfo->rdlram_size = RDL_RAM_SIZE_4328; in dbus_usb_update_chipinfo()
929 usbinfo->rdlram_base_addr = RDL_RAM_BASE_4328; in dbus_usb_update_chipinfo()
932 case 0x4322: in dbus_usb_update_chipinfo()
933 usbinfo->rdlram_size = RDL_RAM_SIZE_4322; in dbus_usb_update_chipinfo()
934 usbinfo->rdlram_base_addr = RDL_RAM_BASE_4322; in dbus_usb_update_chipinfo()
937 case 0x4360: in dbus_usb_update_chipinfo()
938 case 0xAA06: in dbus_usb_update_chipinfo()
939 usbinfo->rdlram_size = RDL_RAM_SIZE_4360; in dbus_usb_update_chipinfo()
940 usbinfo->rdlram_base_addr = RDL_RAM_BASE_4360; in dbus_usb_update_chipinfo()
943 case 43242: in dbus_usb_update_chipinfo()
944 case 43243: in dbus_usb_update_chipinfo()
945 usbinfo->rdlram_size = RDL_RAM_SIZE_43242; in dbus_usb_update_chipinfo()
946 usbinfo->rdlram_base_addr = RDL_RAM_BASE_43242; in dbus_usb_update_chipinfo()
949 case 43143: in dbus_usb_update_chipinfo()
950 usbinfo->rdlram_size = RDL_RAM_SIZE_43143; in dbus_usb_update_chipinfo()
951 usbinfo->rdlram_base_addr = RDL_RAM_BASE_43143; in dbus_usb_update_chipinfo()
954 case 0x4350: in dbus_usb_update_chipinfo()
955 case 43556: in dbus_usb_update_chipinfo()
956 case 43558: in dbus_usb_update_chipinfo()
957 case 43569: in dbus_usb_update_chipinfo()
958 usbinfo->rdlram_size = RDL_RAM_SIZE_4350; in dbus_usb_update_chipinfo()
959 usbinfo->rdlram_base_addr = RDL_RAM_BASE_4350; in dbus_usb_update_chipinfo()
962 case POSTBOOT_ID: in dbus_usb_update_chipinfo()
989 osinfo = usbinfo->usbosl_info; in dbus_usb_dlneeded()
1011 if (usbinfo->pub->busstate == DBUS_STATE_DL_PENDING) in dbus_usb_dlneeded()
1012 usbinfo->pub->busstate = DBUS_STATE_DL_DONE; in dbus_usb_dlneeded()
1014 usbinfo->pub->attrib.devid = id.chip; in dbus_usb_dlneeded()
1015 usbinfo->pub->attrib.chiprev = id.chiprev; in dbus_usb_dlneeded()
1039 osinfo = usbinfo->usbosl_info; in dbus_usb_dlrun()
1053 if (usbinfo->pub->attrib.devid == TEST_CHIP) in dbus_usb_dlrun()
1057 /* The Donlge may go for re-enumeration. */ in dbus_usb_dlrun()
1078 devid = usbinfo->pub->attrib.devid; in dbus_bus_fw_get()
1079 crev = usbinfo->pub->attrib.chiprev; in dbus_bus_fw_get()
1085 case BCM43236_CHIP_ID: in dbus_bus_fw_get()
1086 case BCM43235_CHIP_ID: in dbus_bus_fw_get()
1087 case BCM43234_CHIP_ID: in dbus_bus_fw_get()
1088 case BCM43238_CHIP_ID: { in dbus_bus_fw_get()
1097 case BCM4360_CHIP_ID: in dbus_bus_fw_get()
1098 case BCM4352_CHIP_ID: in dbus_bus_fw_get()
1099 case BCM43526_CHIP_ID: in dbus_bus_fw_get()
1114 case BCM43242_CHIP_ID: in dbus_bus_fw_get()
1121 case BCM43143_CHIP_ID: in dbus_bus_fw_get()
1132 case BCM4350_CHIP_ID: in dbus_bus_fw_get()
1133 case BCM4354_CHIP_ID: in dbus_bus_fw_get()
1134 case BCM43556_CHIP_ID: in dbus_bus_fw_get()
1135 case BCM43558_CHIP_ID: in dbus_bus_fw_get()
1136 case BCM43566_CHIP_ID: in dbus_bus_fw_get()
1137 case BCM43568_CHIP_ID: in dbus_bus_fw_get()
1138 case BCM43570_CHIP_ID: in dbus_bus_fw_get()
1139 case BCM4358_CHIP_ID: in dbus_bus_fw_get()
1177 case BCM43569_CHIP_ID: in dbus_bus_fw_get()