Răsfoiți Sursa

usbdevice/core: small optimization on the event loop

Sort the switch cases by the frequency of the events.
Grissiom 12 ani în urmă
părinte
comite
157af94af9
1 a modificat fișierele cu 4 adăugiri și 4 ștergeri
  1. 4 4
      components/drivers/usb/usbdevice/core/core.c

+ 4 - 4
components/drivers/usb/usbdevice/core/core.c

@@ -1308,8 +1308,8 @@ static void rt_usbd_thread_entry(void* parameter)
 
 
         switch (msg.type)
         switch (msg.type)
         {
         {
-        case USB_MSG_SETUP_NOTIFY:
-            _setup_request(device, (ureq_t)msg.content.setup_msg.packet);
+        case USB_MSG_SOF:
+            _sof_notify(device);
             break;
             break;
         case USB_MSG_DATA_NOTIFY:
         case USB_MSG_DATA_NOTIFY:
             ep = rt_usbd_find_endpoint(device, &cls, msg.content.ep_msg.ep_addr);
             ep = rt_usbd_find_endpoint(device, &cls, msg.content.ep_msg.ep_addr);
@@ -1318,8 +1318,8 @@ static void rt_usbd_thread_entry(void* parameter)
             else
             else
                 rt_kprintf("invalid endpoint\n");
                 rt_kprintf("invalid endpoint\n");
             break;
             break;
-        case USB_MSG_SOF:
-            _sof_notify(device);
+        case USB_MSG_SETUP_NOTIFY:
+            _setup_request(device, (ureq_t)msg.content.setup_msg.packet);
             break;
             break;
         default:
         default:
             rt_kprintf("unknown msg type\n");
             rt_kprintf("unknown msg type\n");