• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/drivers/staging/winbond/

Lines Matching defs:pHwData

54 static void hal_set_beacon_period(struct hw_data *pHwData, u16 beacon_period)
58 if (pHwData->SurpriseRemove)
61 pHwData->BeaconPeriod = beacon_period;
62 tmp = pHwData->BeaconPeriod << 16;
63 tmp |= pHwData->ProbeDelay;
64 Wb35Reg_Write(pHwData, 0x0848, tmp);
138 static void hal_set_radio_mode(struct hw_data *pHwData, unsigned char radio_off)
140 struct wb35_reg *reg = &pHwData->reg;
142 if (pHwData->SurpriseRemove)
146 pHwData->CurrentRadioSw = 1; /* off */
149 pHwData->CurrentRadioSw = 0; /* on */
152 Wb35Reg_Write(pHwData, 0x0824, reg->M24_MacControl);
155 static void hal_set_current_channel_ex(struct hw_data *pHwData, struct chan_info channel)
157 struct wb35_reg *reg = &pHwData->reg;
159 if (pHwData->SurpriseRemove)
164 RFSynthesizer_SwitchingChannel(pHwData, channel); /* Switch channel */
165 pHwData->Channel = channel.ChanNo;
166 pHwData->band = channel.band;
168 printk("Set channel is %d, band =%d\n", pHwData->Channel,
169 pHwData->band);
173 Wb35Reg_WriteWithCallbackValue(pHwData, 0x0828, reg->M28_MacControl,
178 static void hal_set_current_channel(struct hw_data *pHwData, struct chan_info channel)
180 hal_set_current_channel_ex(pHwData, channel);
183 static void hal_set_accept_broadcast(struct hw_data *pHwData, u8 enable)
185 struct wb35_reg *reg = &pHwData->reg;
187 if (pHwData->SurpriseRemove)
195 Wb35Reg_Write(pHwData, 0x0800, reg->M00_MacControl);
199 static void hal_set_accept_promiscuous(struct hw_data *pHwData, u8 enable)
201 struct wb35_reg *reg = &pHwData->reg;
203 if (pHwData->SurpriseRemove)
208 Wb35Reg_Write(pHwData, 0x0800, reg->M00_MacControl);
211 Wb35Reg_Write(pHwData, 0x0800, reg->M00_MacControl);
215 static void hal_set_accept_multicast(struct hw_data *pHwData, u8 enable)
217 struct wb35_reg *reg = &pHwData->reg;
219 if (pHwData->SurpriseRemove)
225 Wb35Reg_Write(pHwData, 0x0800, reg->M00_MacControl);
228 static void hal_set_accept_beacon(struct hw_data *pHwData, u8 enable)
230 struct wb35_reg *reg = &pHwData->reg;
232 if (pHwData->SurpriseRemove)
242 Wb35Reg_Write(pHwData, 0x0800, reg->M00_MacControl);
285 static void hal_set_ethernet_address(struct hw_data *pHwData, u8 *current_address)
289 if (pHwData->SurpriseRemove)
292 memcpy(pHwData->CurrentMacAddress, current_address, ETH_ALEN);
294 ltmp[0] = cpu_to_le32(*(u32 *) pHwData->CurrentMacAddress);
295 ltmp[1] = cpu_to_le32(*(u32 *) (pHwData->CurrentMacAddress + 4)) & 0xffff;
297 Wb35Reg_BurstWrite(pHwData, 0x03e8, ltmp, 2, AUTO_INCREMENT);
300 static void hal_get_permanent_address(struct hw_data *pHwData, u8 *pethernet_address)
302 if (pHwData->SurpriseRemove)
305 memcpy(pethernet_address, pHwData->PermanentMacAddress, 6);
308 static void hal_stop(struct hw_data *pHwData)
310 struct wb35_reg *reg = &pHwData->reg;
312 pHwData->Wb35Rx.rx_halt = 1;
313 Wb35Rx_stop(pHwData);
315 pHwData->Wb35Tx.tx_halt = 1;
316 Wb35Tx_stop(pHwData);
319 Wb35Reg_Write(pHwData, 0x0400, reg->D00_DmaControl);
322 static unsigned char hal_idle(struct hw_data *pHwData)
324 struct wb35_reg *reg = &pHwData->reg;
325 struct wb_usb *pWbUsb = &pHwData->WbUsb;
327 if (!pHwData->SurpriseRemove
334 u8 hal_get_antenna_number(struct hw_data *pHwData)
336 struct wb35_reg *reg = &pHwData->reg;
345 static u8 hal_get_hw_radio_off(struct hw_data *pHwData)
347 struct wb35_reg *reg = &pHwData->reg;
349 if (pHwData->SurpriseRemove)
353 Wb35Reg_Read(pHwData, 0x3b0, &reg->U1B0);
355 pHwData->CurrentRadioHw = 1;
358 pHwData->CurrentRadioHw = 0;
375 struct hw_data *pHwData = &adapter->sHwData;
376 struct wb35_reg *reg = &pHwData->reg;
377 u32 LEDSet = (pHwData->SoftwareSet & HAL_LED_SET_MASK) >> HAL_LED_SET_SHIFT;
381 if (pHwData->SurpriseRemove)
384 if (pHwData->LED_control) {
385 ltmp2 = pHwData->LED_control & 0xff;
388 ltmp2 = (pHwData->LED_control >> 8) & 0xff;
391 pHwData->LED_Blinking %= 3;
393 if (pHwData->LED_Blinking == 2) /* Turn off */
397 pHwData->LED_Blinking %= 2;
399 if (pHwData->LED_Blinking) /* Turn off */
403 pHwData->LED_Blinking %= 15;
405 if ((pHwData->LED_Blinking >= 9) || (pHwData->LED_Blinking % 2)) /* Turn off 0.6 sec */
410 if (pHwData->LED_Blinking >= 3000)
414 pHwData->LED_Blinking++;
421 Wb35Reg_Write(pHwData, 0x03bc, reg->U1BC_LEDConfigure);
423 } else if (pHwData->CurrentRadioSw || pHwData->CurrentRadioHw) { /* If radio off */
426 Wb35Reg_Write(pHwData, 0x03bc, reg->U1BC_LEDConfigure);
431 if (!pHwData->LED_LinkOn) { /* Blink only if not Link On */
433 if (pHwData->LED_Scanning) {
434 if (pHwData->LED_Blinking == 0) {
436 Wb35Reg_Write(pHwData, 0x03bc, reg->U1BC_LEDConfigure); /* LED_0 On */
437 pHwData->LED_Blinking = 1;
441 Wb35Reg_Write(pHwData, 0x03bc, reg->U1BC_LEDConfigure); /* LED_0 Off */
442 pHwData->LED_Blinking = 0;
449 Wb35Reg_Write(pHwData, 0x03bc, reg->U1BC_LEDConfigure); /* LED_0 Off */
456 Wb35Reg_Write(pHwData, 0x03bc, reg->U1BC_LEDConfigure); /* LED_0 Off */
461 if (!pHwData->LED_LinkOn) { /* Blink only if not Link On */
463 if (pHwData->LED_Scanning) {
464 if (pHwData->LED_Blinking == 0) {
467 Wb35Reg_Write(pHwData, 0x03bc, reg->U1BC_LEDConfigure); /* LED_0 On */
468 pHwData->LED_Blinking = 1;
472 Wb35Reg_Write(pHwData, 0x03bc, reg->U1BC_LEDConfigure); /* LED_0 Off */
473 pHwData->LED_Blinking = 0;
480 if (LED_GRAY2[(pHwData->LED_Blinking % 30)]) {
483 LED_GRAY2[(pHwData->LED_Blinking % 30)];
485 pHwData->LED_Blinking++;
487 Wb35Reg_Write(pHwData, 0x03bc, reg->U1BC_LEDConfigure); /* LED_0 Off */
494 Wb35Reg_Write(pHwData, 0x03bc, reg->U1BC_LEDConfigure); /* LED_0 Off */
499 if (!pHwData->LED_LinkOn) { /* Blink only if not Link On */
501 if (pHwData->LED_Scanning) {
502 if (pHwData->LED_Blinking == 0) {
504 Wb35Reg_Write(pHwData, 0x03bc, reg->U1BC_LEDConfigure); /* LED_1 On */
505 pHwData->LED_Blinking = 1;
509 Wb35Reg_Write(pHwData, 0x03bc, reg->U1BC_LEDConfigure); /* LED_1 Off */
510 pHwData->LED_Blinking = 0;
517 Wb35Reg_Write(pHwData, 0x03bc, reg->U1BC_LEDConfigure); /* LED_1 Off */
523 pHwData->RxByteCountLast)
525 pHwData->TxByteCountLast)) {
529 Wb35Reg_Write(pHwData, 0x03bc, reg->U1BC_LEDConfigure); /* LED_1 On */
532 pHwData->RxByteCountLast =
534 pHwData->TxByteCountLast =
545 Wb35Reg_Write(pHwData, 0x03bc, reg->U1BC_LEDConfigure); /* LED_1 On */
553 Wb35Reg_Write(pHwData, 0x03bc,
557 if (pHwData->LED_Blinking) {
562 LED_GRAY[(pHwData->LED_Blinking - 1) % 20];
563 Wb35Reg_Write(pHwData, 0x03bc,
566 pHwData->LED_Blinking += 2;
567 if (pHwData->LED_Blinking < 40)
570 pHwData->LED_Blinking = 0; /* Stop blinking */
572 Wb35Reg_Write(pHwData, 0x03bc,
578 if (pHwData->LED_LinkOn) {
582 pHwData->LED_Blinking = 1; /* Start blinking */
588 Wb35Reg_Write(pHwData, 0x03bc,
596 if (pHwData->LED_LinkOn) {
597 pHwData->NullPacketCount += TimeInterval;
598 if (pHwData->NullPacketCount >=
600 pHwData->NullPacketCount = 0;
605 pHwData->time_count += TimeInterval;
606 Wb35Tx_CurrentTime(adapter, pHwData->time_count);
607 pHwData->LEDTimer.expires = jiffies + msecs_to_jiffies(TimeInterval);
608 add_timer(&pHwData->LEDTimer);
614 struct hw_data *pHwData = &priv->sHwData;
617 pHwData->MaxReceiveLifeTime = DEFAULT_MSDU_LIFE_TIME;
618 pHwData->FragmentThreshold = DEFAULT_FRAGMENT_THRESHOLD;
620 if (!Wb35Reg_initial(pHwData))
623 if (!Wb35Tx_initial(pHwData))
626 if (!Wb35Rx_initial(pHwData))
629 init_timer(&pHwData->LEDTimer);
630 pHwData->LEDTimer.function = hal_led_control;
631 pHwData->LEDTimer.data = (unsigned long)priv;
632 pHwData->LEDTimer.expires = jiffies + msecs_to_jiffies(1000);
633 add_timer(&pHwData->LEDTimer);
635 SoftwareSet = hal_software_set(pHwData);
650 Wb35Rx_destroy(pHwData);
652 Wb35Tx_destroy(pHwData);
654 Wb35Reg_destroy(pHwData);
656 pHwData->SurpriseRemove = 1;
663 struct hw_data *pHwData = &priv->sHwData;
670 pHwData->phy_type = RF_DECIDE_BY_INF;
690 EEPROM_region = hal_get_region_from_EEPROM(pHwData);
710 hal_get_permanent_address(pHwData, priv->sLocalPara.PermanentAddress);
715 hal_set_ethernet_address(pHwData,
719 priv->sLocalPara.bAntennaNo = hal_get_antenna_number(pHwData);
723 hal_get_hw_radio_off(pHwData);
726 while (!hal_idle(pHwData))
731 HwRadioOff = hal_get_hw_radio_off(pHwData);
734 hal_set_radio_mode(pHwData,
741 hal_driver_init_OK(pHwData) = 1;
805 struct hw_data *pHwData = &priv->sHwData;
807 hal_get_permanent_address(pHwData, dev_addr);
836 static void hal_halt(struct hw_data *pHwData)
838 del_timer_sync(&pHwData->LEDTimer);
840 Wb35Rx_destroy(pHwData);
841 Wb35Tx_destroy(pHwData);
842 Wb35Reg_destroy(pHwData);