hif/usb_api: remove dup code - _fw_usbfifo_recv_command
[open-ath9k-htc-firmware.git] / target_firmware / magpie_fw_dev / target / rompatch / usb_api_patch.c
index 5fb474c6bfb510c3d989e64603c2342353b3d66a..52c692e3074bd0d834ccd5834c12a7bbcd8b8c69 100755 (executable)
@@ -46,8 +46,6 @@
 #define measure_time 0
 #define measure_time_pll 10000000
 
-typedef void (* USBFIFO_recv_command)(VBUF *cmd);
-
 extern Action eUsbCxFinishAction;
 extern CommandType eUsbCxCommand;
 extern BOOLEAN UsbChirpFinish;
@@ -55,8 +53,6 @@ extern USB_FIFO_CONFIG usbFifoConf;
 extern uint16_t *pu8DescriptorEX;
 extern uint16_t u16TxRxCounter;
 
-USBFIFO_recv_command m_origUsbfifoRecvCmd = NULL;
-
 void zfTurnOffPower_patch(void);
 
 static void _fw_reset_dma_fifo();
@@ -67,55 +63,36 @@ static void _fw_power_off();
 BOOLEAN bEepromExist = TRUE;
 BOOLEAN bJumptoFlash = FALSE;
 
-void _fw_usbfifo_recv_command(VBUF *buf)
+void _fw_usb_suspend_reboot()
 {
-       A_UINT8 *cmd_data;
-       A_UINT32 tmp;
-
-       cmd_data = (A_UINT8 *)(buf->desc_list->buf_addr + buf->desc_list->data_offset);
-       tmp = *((A_UINT32 *)cmd_data);
-       if ( tmp == 0xFFFFFFFF ) {      
-               // reset usb/wlan dma
-               _fw_reset_dma_fifo();
-
-               // restore gpio setting and usb/wlan dma state
-               _fw_restore_dma_fifo();
+       /* reset usb/wlan dma */
+       _fw_reset_dma_fifo();
 
-               // set clock to bypass mode - 40Mhz from XTAL 
-               HAL_WORD_REG_WRITE(MAGPIE_REG_CPU_PLL_BYPASS_ADDR, (BIT0|BIT4));
+       /* restore gpio setting and usb/wlan dma state */
+       _fw_restore_dma_fifo();
 
-               A_DELAY_USECS(100); // wait for stable
+       /* set clock to bypass mode - 40Mhz from XTAL */
+       HAL_WORD_REG_WRITE(MAGPIE_REG_CPU_PLL_BYPASS_ADDR, (BIT0|BIT4));
 
-               HAL_WORD_REG_WRITE(MAGPIE_REG_CPU_PLL_ADDR, (BIT16));
+       A_DELAY_USECS(100); /* wait for stable */
 
-               A_DELAY_USECS(100); // wait for stable
-               A_UART_HWINIT((40*1000*1000), 19200);
+       HAL_WORD_REG_WRITE(MAGPIE_REG_CPU_PLL_ADDR, (BIT16));
 
-               A_CLOCK_INIT(40);
+       A_DELAY_USECS(100); /* wait for stable */
+       A_UART_HWINIT((40*1000*1000), 19200);
 
-               if (!bEepromExist) { //jump to flash boot (eeprom data in flash)
-                       bJumptoFlash = TRUE;
-                       A_PRINTF("Jump to Flash BOOT\n");
-                       app_start();
-               }else{
-                       A_PRINTF("receive the suspend command...\n");
-                       // reboot.....
-                       A_USB_JUMP_BOOT();              
-               }
+       A_CLOCK_INIT(40);
 
+       if (!bEepromExist) { /* jump to flash boot (eeprom data in flash) */
+               bJumptoFlash = TRUE;
+               A_PRINTF("Jump to Flash BOOT\n");
+               app_start();
        } else {
-               m_origUsbfifoRecvCmd(buf);
+               A_PRINTF("receive the suspend command...\n");
+               /* reboot..... */
+               A_USB_JUMP_BOOT();
        }
-}
 
-void _fw_usbfifo_init(USB_FIFO_CONFIG *pConfig)
-{
-       m_origUsbfifoRecvCmd = pConfig->recv_command;
-
-       usbFifoConf.get_command_buf = pConfig->get_command_buf;
-       usbFifoConf.recv_command    = _fw_usbfifo_recv_command;
-       usbFifoConf.get_event_buf   = pConfig->get_event_buf;
-       usbFifoConf.send_event_done = pConfig->send_event_done;
 }
 
 #define PCI_RC_RESET_BIT                            BIT6
@@ -123,7 +100,6 @@ void _fw_usbfifo_init(USB_FIFO_CONFIG *pConfig)
 #define PCI_RC_PLL_RESET_BIT                        BIT8
 #define PCI_RC_PHY_SHIFT_RESET_BIT                  BIT10
 
-
 /*
  * -- urn_off_merlin --
  * . values suggested from Lalit