This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA4VH-Q1: TDA4VH USB fastboot functiongetd

Part Number: TDA4VH-Q1
Other Parts Discussed in Thread: TDA4VM, TDA4VH

Dear ti,

we use the linux SDK 0805 version to test uboot fastboot function, buf found the issue:

after the uboot run "fastboot_handle_command : download:00008600", the usb dma  index can't automatic increase the number “1”

we found the usb dma index is from the function:

static int cdns3_get_dma_pos(struct cdns3_device *priv_dev,
                             struct cdns3_endpoint *priv_ep)
{
        int dma_index;

        printf("%s ruijie :ep_traddr: 0x%x, readl(ep_traddr):0x%x trb_pool_dma:0x%x\n", __func__, priv_dev->regs->ep_traddr, readl(&priv_dev->regs->ep_traddr), priv_ep->trb_pool_dma);

        dma_index = readl(&priv_dev->regs->ep_traddr) - priv_ep->trb_pool_dma;

        return dma_index / TRB_SIZE;
}

we found the usb priv_dev->regs->ep_traddr can‘t automatic increase, 

the log printf in TDA4VM ,it is normal log,

in line 2: cdns3_get_dma_pos ruijie :ep_traddr: 0xf7ec269c, readl(ep_traddr):0xf7ec269c trb_pool_dma:0xf7ec2600

in line 57:cdns3_get_dma_pos ruijie :ep_traddr: 0xf7ec26a8, readl(ep_traddr):0xf7ec26a8 trb_pool_dma:0xf7ec2600

but TDA4VH the ep_traddr value can't increase

cdns3_select_ep return
cdns3_get_dma_pos ruijie :ep_traddr: 0xf7ec269c, readl(ep_traddr):0xf7ec269c trb_pool_dma:0xf7ec2600
cdns3_request_handled trb->control  & TRB_CYCLE: 0x1 priv_ep->ccs:0x1
cdns3_request_handled current_index: 13, priv_ep->dequeue:12
cdns3_request_handled:===enter===trb[00000000f7ec2690] doorbell[1] ep_cmd[53824]
cdns3_request_handled: ep->dequeue[12] ep->enqueue[13] req->start_trb[12] req->end_trb[12] current_index[13],trb_pool_dma[00000000f7ec2600] free_trbs[38] num_trbs[40] flags[0x141] dir[0] num[1], priv_req->request.complete[00000000fff45130]
cdns3_request_handled ruijie 3
cdns3_transfer_completed call cdns3_gadget_giveback 17 4096
cdns3_gadget_giveback enter 00000000fff45130
cdns3_gadget_giveback  usb_gadget_giveback_request 00000000fff45130
actual:17 length:4096
fastboot_handle_command : download:00008600
Starting download of 34304 bytes
rx_handler_command DATA ruijie
cdns3_select_ep  writel(ep, &priv_dev->regs->ep_sel);
cdns3_gadget_ep_dequeue goto pending_req_list found
cdns3_gadget_ep_dequeue call cdns3_gadget_giveback
cdns3_gadget_giveback enter 00000000fff4498c
cdns3_gadget_giveback  usb_gadget_giveback_request 00000000fff4498c
status: -104 ep 'ep1in' trans: 0
cdns3_gadget_ep_queue enter ep_cmd: 0xea00
__cdns3_gadget_ep_queue ep_cmd: 0xea00
cdns3_start_all_request start
cdns3_start_all_request call cdns3_ep_run_transfer
cdns3_ep_run_transfer start  ep_cmd:0xea00
cdns3_select_ep return
cdns3_ep_run_transfer start 2222  ep_cmd:0xea00
cdns3_ep_run_transfer call cdns3_wa1_update_guard
cdns3_wa1_update_guard ruijie doorbell: 0  regs->ep_cmd: 0xea00
cdns3_ep_run_transfer start 333 ep_cmd:0xea00
cdns3_get_dma_pos ruijie :ep_traddr: 0xf7ec39c4, readl(ep_traddr):0xf7ec39c4 trb_pool_dma:0xf7ec3940
cdns3_ep_run_transfer strat_trb: 11 , addr: 0xf7ec39c4, ep_traddr: 0xf7ec39c4
cdns3_ep_run_transfer start 4444 ep_cmd:0xea00
cdns3_ep_run_transfer priv_ep->wa1_set: 0 priv_ep->flags: 0x141
cdns3_ep_run_transfer EP_CMD_DRDY
__cdns3_gadget_ep_queue end ep_cmd: 0xea40
cdns3_gadget_ep_queue end ep_cmd: 0xe800
cdns3_gadget_ep_queue enter ep_cmd: 0xe800
__cdns3_gadget_ep_queue ep_cmd: 0xe800
cdns3_start_all_request start
cdns3_start_all_request call cdns3_ep_run_transfer
cdns3_ep_run_transfer start  ep_cmd:0xe800
cdns3_select_ep  writel(ep, &priv_dev->regs->ep_sel);
cdns3_ep_run_transfer start 2222  ep_cmd:0xce00
cdns3_ep_run_transfer call cdns3_wa1_update_guard
cdns3_wa1_update_guard ruijie doorbell: 0  regs->ep_cmd: 0xce00
cdns3_ep_run_transfer start 333 ep_cmd:0xce00
cdns3_get_dma_pos ruijie :ep_traddr: 0xf7ec269c, readl(ep_traddr):0xf7ec269c trb_pool_dma:0xf7ec2600
cdns3_ep_run_transfer start 4444 ep_cmd:0xce00
cdns3_ep_run_transfer priv_ep->wa1_set: 0 priv_ep->flags: 0x141
cdns3_ep_run_transfer EP_CMD_DRDY
__cdns3_gadget_ep_queue end ep_cmd: 0xce40
cdns3_gadget_ep_queue end ep_cmd: 0xbe00


cdns3_select_ep return
cdns3_get_dma_pos ruijie :ep_traddr: 0xf7ec26a8, readl(ep_traddr):0xf7ec26a8 trb_pool_dma:0xf7ec2600
cdns3_request_handled trb->control  & TRB_CYCLE: 0x1 priv_ep->ccs:0x1
cdns3_request_handled current_index: 14, priv_ep->dequeue:13
cdns3_request_handled:===enter===trb[00000000f7ec269c] doorbell[0] ep_cmd[48640]
cdns3_request_handled: ep->dequeue[13] ep->enqueue[14] req->start_trb[13] req->end_trb[13] current_index[14],trb_pool_dma[00000000f7ec2600] free_trbs[38] num_trbs[40] flags[0x141] dir[0] num[1], priv_req->request.complete[00000000fff4504c]
cdns3_request_handled ruijie 3
cdns3_transfer_completed call cdns3_gadget_giveback 4096 4096
cdns3_gadget_giveback enter 00000000fff4504c
cdns3_gadget_giveback  usb_gadget_giveback_request 00000000fff4504c
cdns3_gadget_ep_queue enter ep_cmd: 0xbe00
__cdns3_gadget_ep_queue ep_cmd: 0xbe00
cdns3_start_all_request start
cdns3_start_all_request call cdns3_ep_run_transfer
cdns3_ep_run_transfer start  ep_cmd:0xbe00
cdns3_select_ep return
cdns3_ep_run_transfer start 2222  ep_cmd:0xbe00
cdns3_ep_run_transfer call cdns3_wa1_update_guard
cdns3_wa1_update_guard ruijie doorbell: 0  regs->ep_cmd: 0xbe00
cdns3_ep_run_transfer start 333 ep_cmd:0xbe00
cdns3_get_dma_pos ruijie :ep_traddr: 0xf7ec26a8, readl(ep_traddr):0xf7ec26a8 trb_pool_dma:0xf7ec2600
cdns3_ep_run_transfer start 4444 ep_cmd:0xbe00
cdns3_ep_run_transfer priv_ep->wa1_set: 0 priv_ep->flags: 0x141
cdns3_ep_run_transfer EP_CMD_DRDY
__cdns3_gadget_ep_queue end ep_cmd: 0xbe40
cdns3_gadget_ep_queue end ep_cmd: 0xae00
cdns3_select_ep return
cdns3_get_dma_pos ruijie :ep_traddr: 0xf7ec26b4, readl(ep_traddr):0xf7ec26b4 trb_pool_dma:0xf7ec2600
cdns3_request_handled trb->control  & TRB_CYCLE: 0x1 priv_ep->ccs:0x1
cdns3_request_handled current_index: 15, priv_ep->dequeue:14
cdns3_request_handled:===enter===trb[00000000f7ec26a8] doorbell[0] ep_cmd[44544]
cdns3_request_handled: ep->dequeue[14] ep->enqueue[15] req->start_trb[14] req->end_trb[14] current_index[15],trb_pool_dma[00000000f7ec2600] free_trbs[38] num_trbs[40] flags[0x141] dir[0] num[1], priv_req->request.complete[00000000fff4504c]
cdns3_request_handled ruijie 3
cdns3_transfer_completed call cdns3_gadget_giveback 4096 4096
cdns3_gadget_giveback enter 00000000fff4504c
cdns3_gadget_giveback  usb_gadget_giveback_request 00000000fff4504c
cdns3_gadget_ep_queue enter ep_cmd: 0xae00
__cdns3_gadget_ep_queue ep_cmd: 0xae00
cdns3_start_all_request start
cdns3_start_all_request call cdns3_ep_run_transfer
cdns3_ep_run_transfer start  ep_cmd:0xae00
cdns3_select_ep return
cdns3_ep_run_transfer start 2222  ep_cmd:0xae00
cdns3_ep_run_transfer call cdns3_wa1_update_guard
cdns3_wa1_update_guard ruijie doorbell: 0  regs->ep_cmd: 0xae00
cdns3_ep_run_transfer start 333 ep_cmd:0xae00
cdns3_get_dma_pos ruijie :ep_traddr: 0xf7ec26b4, readl(ep_traddr):0xf7ec26b4 trb_pool_dma:0xf7ec2600
cdns3_ep_run_transfer start 4444 ep_cmd:0xae00
cdns3_ep_run_transfer priv_ep->wa1_set: 0 priv_ep->flags: 0x141
cdns3_ep_run_transfer EP_CMD_DRDY
__cdns3_gadget_ep_queue end ep_cmd: 0xae40
cdns3_gadget_ep_queue end ep_cmd: 0x9e00

we found the USB dev revision in TDA4VM is DEV_VER_TI_V1 , but in TDA4VH the usb version is DEV_VER_V3,

modify the TDA4VH use version to DEV_VER_TI_V1, the issue is fixed, can you help this? thanks

#define DEV_VER_TI_V1           0x00024509
#define DEV_VER_V2              0x0002450C
#define DEV_VER_V3              0x0002450d
priv_dev->dev_ver = readl(&priv_dev->regs->usb_cap6);

        dev_dbg(priv_dev->dev, "Device Controller version: %08x\n",
                readl(&priv_dev->regs->usb_cap6));
        dev_dbg(priv_dev->dev, "USB Capabilities:: %08x\n",
                readl(&priv_dev->regs->usb_cap1));
        dev_dbg(priv_dev->dev, "On-Chip memory cnfiguration: %08x\n",
                readl(&priv_dev->regs->usb_cap2));

        priv_dev->dev_ver = GET_DEV_BASE_VERSION(priv_dev->dev_ver);
  • the TDA4VH log is:

    1) the line 345

    cdns3_get_dma_pos ep_traddr: 0xf7ec277c trb_pool_dma: 0xf7ec2740

    cdns3_request_handled trb->control & TRB_CYCLE: 0x1 priv_ep->ccs:0x1

    cdns3_request_handled current_index: 5, priv_ep->dequeue:4

    2) the line 435

    cdns3_get_dma_pos ep_traddr: 0xf7ec277c trb_pool_dma: 0xf7ec2740

    cdns3_request_handled trb->control & TRB_CYCLE: 0x1 priv_ep->ccs:0x1

    cdns3_request_handled current_index: 5, priv_ep->dequeue:5

    the ep_traddr value is the same

    traddr: 0xf7ec274c trb_pool_dma: 0xf7ec2740
    
    cdns3_request_handled trb->control  & TRB_CYCLE: 0x1 priv_ep->ccs:0x1
    
    cdns3_request_handled current_index: 1, priv_ep->dequeue:1
    
    cdns3_request_handled 11 goto finish
    
    cdns3_transfer_completed error  prepare_next_td
    
    cdns3_start_all_request start
    
    cdns3_device_thread_irq_handler bit 1
    
    cdns3_device_irq_handler ep_ists:0x20001
    
    cdns3_select_ep  writel(ep, &priv_dev->regs->ep_sel);
    
    cdns3_ep0_setup_phase
    
    cdns3_ep0_standard_request
    
    cdns3_ep0_delegate_req setup
    
    composite_setup ruijie
    
    composite_setup nnn
    
    cdns3_select_ep return
    
    cdns3_gadget_ep0_queue continuecdns3_select_ep  writel(ep, &priv_dev->regs->ep_sel);
    
    cdns3_ep0_run_transfer EP_CMD_DRDY
    
    cdns3_device_thread_irq_handler ruijie  ep_ists[0x20000]
    
    cdns3_select_ep  writel(ep, &priv_dev->regs->ep_sel);
    
    cdns3_check_ep_interrupt_proceed ep_sts_reg:0xa
    
    cdns3_check_ep_interrupt_proceed cdns3_transfer_completed start
    
    cdns3_check_ep_interrupt_proceed cdns3_transfer_completed
    
    cdns3_transfer_completed enter
    
    cdns3_select_ep return
    
    cdns3_get_dma_pos ep_traddr: 0xf7ec3a8c trb_pool_dma: 0xf7ec3a80
    
    cdns3_request_handled trb->control  & TRB_CYCLE: 0x1 priv_ep->ccs:0x1
    
    cdns3_request_handled current_index: 1, priv_ep->dequeue:0
    
    cdns3_request_handled ruijie 3
    
    cdns3_transfer_completed call cdns3_gadget_giveback 4 4
    
    cdns3_gadget_giveback enter 00000000fff4266c
    
    cdns3_gadget_giveback  usb_gadget_giveback_request 00000000fff4266c
    
    cdns3_start_all_request start
    
    cdns3_device_thread_irq_handler bit 17
    
    cdns3_device_irq_handler ep_ists:0x10000
    
    cdns3_select_ep  writel(ep, &priv_dev->regs->ep_sel);
    
    cdns3_gadget_giveback enter 00000000fff3df8c
    
    cdns3_gadget_giveback  usb_gadget_giveback_request 00000000fff3df8c
    
    composite_setup_complete: setup complete --> 0, 4/4
    
    cdns3_select_ep  writel(ep, &priv_dev->regs->ep_sel);
    
    cdns3_ep0_run_transfer EP_CMD_DRDY
    
    cdns3_device_irq_handler ep_ists:0x2
    
    cdns3_device_thread_irq_handler ruijie  ep_ists[0x2]
    
    cdns3_select_ep  writel(ep, &priv_dev->regs->ep_sel);
    
    cdns3_check_ep_interrupt_proceed ep_sts_reg:0xa
    
    cdns3_check_ep_interrupt_proceed cdns3_transfer_completed start
    
    cdns3_check_ep_interrupt_proceed cdns3_transfer_completed
    
    cdns3_transfer_completed enter
    
    cdns3_select_ep return
    
    cdns3_get_dma_pos ep_traddr: 0xf7ec2758 trb_pool_dma: 0xf7ec2740
    
    cdns3_request_handled trb->control  & TRB_CYCLE: 0x1 priv_ep->ccs:0x1
    
    cdns3_request_handled current_index: 2, priv_ep->dequeue:1
    
    cdns3_request_handled ruijie 3
    
    cdns3_transfer_completed call cdns3_gadget_giveback 19 4096
    
    cdns3_gadget_giveback enter 00000000fff42988
    
    cdns3_gadget_giveback  usb_gadget_giveback_request 00000000fff42988
    
    actual:19 length:4096
    
    fastboot_handle_command : getvar:has-slot:gpt
    
    cdns3_select_ep  writel(ep, &priv_dev->regs->ep_sel);
    
    cdns3_gadget_ep_queue enter ep_cmd: 0x0
    
    __cdns3_gadget_ep_queue ep_cmd: 0x0
    
    cdns3_start_all_request start
    
    cdns3_start_all_request call cdns3_ep_run_transfer
    
    cdns3_ep_run_transfer start  ep_cmd:0x0
    
    cdns3_select_ep return
    
    cdns3_ep_run_transfer start 2222  ep_cmd:0x0
    
    cdns3_ep_run_transfer start 333 ep_cmd:0x0
    
    cdns3_ep_run_transfer start 4444 ep_cmd:0x0
    
    cdns3_ep_run_transfer priv_ep->wa1_set: 0 priv_ep->flags: 0x141
    
    cdns3_ep_run_transfer EP_CMD_DRDY
    
    __cdns3_gadget_ep_queue end ep_cmd: 0x40
    
    cdns3_gadget_ep_queue end ep_cmd: 0x0
    
    cdns3_gadget_ep_queue enter ep_cmd: 0x0
    
    __cdns3_gadget_ep_queue ep_cmd: 0x0
    
    cdns3_start_all_request start
    
    cdns3_start_all_request call cdns3_ep_run_transfer
    
    cdns3_ep_run_transfer start  ep_cmd:0x0
    
    cdns3_select_ep  writel(ep, &priv_dev->regs->ep_sel);
    
    cdns3_ep_run_transfer start 2222  ep_cmd:0x0
    
    cdns3_ep_run_transfer start 333 ep_cmd:0x0
    
    cdns3_ep_run_transfer start 4444 ep_cmd:0x0
    
    cdns3_ep_run_transfer priv_ep->wa1_set: 0 priv_ep->flags: 0x141
    
    cdns3_ep_run_transfer EP_CMD_DRDY
    
    __cdns3_gadget_ep_queue end ep_cmd: 0x40
    
    cdns3_gadget_ep_queue end ep_cmd: 0x0
    
    cdns3_select_ep return
    
    cdns3_get_dma_pos ep_traddr: 0xf7ec2764 trb_pool_dma: 0xf7ec2740
    
    cdns3_request_handled trb->control  & TRB_CYCLE: 0x1 priv_ep->ccs:0x1
    
    cdns3_request_handled current_index: 3, priv_ep->dequeue:2
    
    cdns3_request_handled ruijie 3
    
    cdns3_transfer_completed call cdns3_gadget_giveback 24 4096
    
    cdns3_gadget_giveback enter 00000000fff42988
    
    cdns3_gadget_giveback  usb_gadget_giveback_request 00000000fff42988
    
    actual:24 length:4096
    
    fastboot_handle_command : getvar:max-download-size
    
    cdns3_select_ep  writel(ep, &priv_dev->regs->ep_sel);
    
    cdns3_gadget_ep_dequeue goto pending_req_list found
    
    cdns3_gadget_ep_dequeue call cdns3_gadget_giveback
    
    cdns3_gadget_giveback enter 00000000fff421e4
    
    cdns3_gadget_giveback  usb_gadget_giveback_request 00000000fff421e4
    
    status: -104 ep 'ep1in' trans: 0
    
    cdns3_gadget_ep_queue enter ep_cmd: 0x0
    
    __cdns3_gadget_ep_queue ep_cmd: 0x0
    
    cdns3_start_all_request start
    
    cdns3_start_all_request call cdns3_ep_run_transfer
    
    cdns3_ep_run_transfer start  ep_cmd:0x0
    
    cdns3_select_ep return
    
    cdns3_ep_run_transfer start 2222  ep_cmd:0x0
    
    cdns3_ep_run_transfer start 333 ep_cmd:0x0
    
    cdns3_ep_run_transfer update ep_traddr:0xf7ec3a98 0xf7ec3a80 0x2
    
    cdns3_ep_run_transfer start 4444 ep_cmd:0x0
    
    cdns3_ep_run_transfer priv_ep->wa1_set: 0 priv_ep->flags: 0x141
    
    cdns3_ep_run_transfer EP_CMD_DRDY
    
    __cdns3_gadget_ep_queue end ep_cmd: 0x40
    
    cdns3_gadget_ep_queue end ep_cmd: 0x0
    
    cdns3_gadget_ep_queue enter ep_cmd: 0x0
    
    __cdns3_gadget_ep_queue ep_cmd: 0x0
    
    cdns3_start_all_request start
    
    cdns3_start_all_request call cdns3_ep_run_transfer
    
    cdns3_ep_run_transfer start  ep_cmd:0x0
    
    cdns3_select_ep  writel(ep, &priv_dev->regs->ep_sel);
    
    cdns3_ep_run_transfer start 2222  ep_cmd:0x0
    
    cdns3_ep_run_transfer start 333 ep_cmd:0x0
    
    cdns3_ep_run_transfer start 4444 ep_cmd:0x0
    
    cdns3_ep_run_transfer priv_ep->wa1_set: 0 priv_ep->flags: 0x141
    
    cdns3_ep_run_transfer EP_CMD_DRDY
    
    __cdns3_gadget_ep_queue end ep_cmd: 0x40
    
    cdns3_gadget_ep_queue end ep_cmd: 0x0
    
    cdns3_select_ep return
    
    cdns3_get_dma_pos ep_traddr: 0xf7ec2770 trb_pool_dma: 0xf7ec2740
    
    cdns3_request_handled trb->control  & TRB_CYCLE: 0x1 priv_ep->ccs:0x1
    
    cdns3_request_handled current_index: 4, priv_ep->dequeue:3
    
    cdns3_request_handled ruijie 3
    
    cdns3_transfer_completed call cdns3_gadget_giveback 21 4096
    
    cdns3_gadget_giveback enter 00000000fff42988
    
    cdns3_gadget_giveback  usb_gadget_giveback_request 00000000fff42988
    
    actual:21 length:4096
    
    fastboot_handle_command : getvar:is-logical:gpt
    
    WARNING: unknown variable: is-logical:gpt
    
    cdns3_select_ep  writel(ep, &priv_dev->regs->ep_sel);
    
    cdns3_gadget_ep_dequeue goto pending_req_list found
    
    cdns3_gadget_ep_dequeue call cdns3_gadget_giveback
    
    cdns3_gadget_giveback enter 00000000fff421e4
    
    cdns3_gadget_giveback  usb_gadget_giveback_request 00000000fff421e4
    
    status: -104 ep 'ep1in' trans: 0
    
    cdns3_gadget_ep_queue enter ep_cmd: 0x0
    
    __cdns3_gadget_ep_queue ep_cmd: 0x0
    
    cdns3_start_all_request start
    
    cdns3_start_all_request call cdns3_ep_run_transfer
    
    cdns3_ep_run_transfer start  ep_cmd:0x0
    
    cdns3_select_ep return
    
    cdns3_ep_run_transfer start 2222  ep_cmd:0x0
    
    cdns3_ep_run_transfer start 333 ep_cmd:0x0
    
    cdns3_ep_run_transfer update ep_traddr:0xf7ec3aa4 0xf7ec3a80 0x3
    
    cdns3_ep_run_transfer start 4444 ep_cmd:0x0
    
    cdns3_ep_run_transfer priv_ep->wa1_set: 0 priv_ep->flags: 0x141
    
    cdns3_ep_run_transfer EP_CMD_DRDY
    
    __cdns3_gadget_ep_queue end ep_cmd: 0x40
    
    cdns3_gadget_ep_queue end ep_cmd: 0x0
    
    cdns3_gadget_ep_queue enter ep_cmd: 0x0
    
    __cdns3_gadget_ep_queue ep_cmd: 0x0
    
    cdns3_start_all_request start
    
    cdns3_start_all_request call cdns3_ep_run_transfer
    
    cdns3_ep_run_transfer start  ep_cmd:0x0
    
    cdns3_select_ep  writel(ep, &priv_dev->regs->ep_sel);
    
    cdns3_ep_run_transfer start 2222  ep_cmd:0x0
    
    cdns3_ep_run_transfer start 333 ep_cmd:0x0
    
    cdns3_ep_run_transfer start 4444 ep_cmd:0x0
    
    cdns3_ep_run_transfer priv_ep->wa1_set: 0 priv_ep->flags: 0x141
    
    cdns3_ep_run_transfer EP_CMD_DRDY
    
    __cdns3_gadget_ep_queue end ep_cmd: 0x40
    
    cdns3_gadget_ep_queue end ep_cmd: 0x0
    
    cdns3_select_ep return
    
    cdns3_get_dma_pos ep_traddr: 0xf7ec277c trb_pool_dma: 0xf7ec2740
    
    cdns3_request_handled trb->control  & TRB_CYCLE: 0x1 priv_ep->ccs:0x1
    
    cdns3_request_handled current_index: 5, priv_ep->dequeue:4
    
    cdns3_request_handled ruijie 3
    
    cdns3_transfer_completed call cdns3_gadget_giveback 17 4096
    
    cdns3_gadget_giveback enter 00000000fff42988
    
    cdns3_gadget_giveback  usb_gadget_giveback_request 00000000fff42988
    
    actual:17 length:4096
    
    fastboot_handle_command : download:00008600
    
    Starting download of 34304 bytes
    
    rx_handler_command DATA ruijie
    
    cdns3_select_ep  writel(ep, &priv_dev->regs->ep_sel);
    
    cdns3_gadget_ep_dequeue goto pending_req_list found
    
    cdns3_gadget_ep_dequeue call cdns3_gadget_giveback
    
    cdns3_gadget_giveback enter 00000000fff421e4
    
    cdns3_gadget_giveback  usb_gadget_giveback_request 00000000fff421e4
    
    status: -104 ep 'ep1in' trans: 0
    
    cdns3_gadget_ep_queue enter ep_cmd: 0x0
    
    __cdns3_gadget_ep_queue ep_cmd: 0x0
    
    cdns3_start_all_request start
    
    cdns3_start_all_request call cdns3_ep_run_transfer
    
    cdns3_ep_run_transfer start  ep_cmd:0x0
    
    cdns3_select_ep return
    
    cdns3_ep_run_transfer start 2222  ep_cmd:0x0
    
    cdns3_ep_run_transfer start 333 ep_cmd:0x0
    
    cdns3_ep_run_transfer update ep_traddr:0xf7ec3ab0 0xf7ec3a80 0x4
    
    cdns3_ep_run_transfer start 4444 ep_cmd:0x0
    
    cdns3_ep_run_transfer priv_ep->wa1_set: 0 priv_ep->flags: 0x141
    
    cdns3_ep_run_transfer EP_CMD_DRDY
    
    __cdns3_gadget_ep_queue end ep_cmd: 0x40
    
    cdns3_gadget_ep_queue end ep_cmd: 0x0
    
    cdns3_gadget_ep_queue enter ep_cmd: 0x0
    
    __cdns3_gadget_ep_queue ep_cmd: 0x0
    
    cdns3_start_all_request start
    
    cdns3_start_all_request call cdns3_ep_run_transfer
    
    cdns3_ep_run_transfer start  ep_cmd:0x0
    
    cdns3_select_ep  writel(ep, &priv_dev->regs->ep_sel);
    
    cdns3_ep_run_transfer start 2222  ep_cmd:0x0
    
    cdns3_ep_run_transfer start 333 ep_cmd:0x0
    
    cdns3_ep_run_transfer start 4444 ep_cmd:0x0
    
    cdns3_ep_run_transfer priv_ep->wa1_set: 0 priv_ep->flags: 0x141
    
    cdns3_ep_run_transfer EP_CMD_DRDY
    
    __cdns3_gadget_ep_queue end ep_cmd: 0x40
    
    cdns3_gadget_ep_queue end ep_cmd: 0x40
    
    cdns3_select_ep return
    
    cdns3_get_dma_pos ep_traddr: 0xf7ec277c trb_pool_dma: 0xf7ec2740
    
    cdns3_request_handled trb->control  & TRB_CYCLE: 0x1 priv_ep->ccs:0x1
    
    cdns3_request_handled current_index: 5, priv_ep->dequeue:5
    
    cdns3_request_handled 11 goto finish
    
    cdns3_transfer_completed error  prepare_next_td
    
    cdns3_start_all_request start
    
    cdns3_device_thread_irq_handler bit 1
    
    cdns3_device_irq_handler ep_ists:0x20002
    
    cdns3_device_thread_irq_handler ruijie  ep_ists[0x20002]
    
    cdns3_select_ep return
    
    cdns3_check_ep_interrupt_proceed ep_sts_reg:0xa
    
    cdns3_check_ep_interrupt_proceed cdns3_transfer_completed start
    
    cdns3_check_ep_interrupt_proceed cdns3_transfer_completed
    
    cdns3_transfer_completed enter
    
    cdns3_select_ep return
    
    cdns3_get_dma_pos ep_traddr: 0xf7ec277c trb_pool_dma: 0xf7ec2740
    
    cdns3_request_handled trb->control  & TRB_CYCLE: 0x1 priv_ep->ccs:0x1
    
    cdns3_request_handled current_index: 5, priv_ep->dequeue:5
    
    cdns3_request_handled 11 goto finish
    
    cdns3_transfer_completed error  prepare_next_td
    
    cdns3_start_all_request start
    
    cdns3_device_thread_irq_handler bit 1
    
    cdns3_select_ep  writel(ep, &priv_dev->regs->ep_sel);
    
    cdns3_check_ep_interrupt_proceed ep_sts_reg:0xa
    
    cdns3_check_ep_interrupt_proceed cdns3_transfer_completed start
    
    cdns3_check_ep_interrupt_proceed cdns3_transfer_completed
    
    cdns3_transfer_completed enter
    
    cdns3_select_ep return
    
    cdns3_get_dma_pos ep_traddr: 0xf7ec3abc trb_pool_dma: 0xf7ec3a80
    
    cdns3_request_handled trb->control  & TRB_CYCLE: 0x1 priv_ep->ccs:0x1
    
    cdns3_request_handled current_index: 5, priv_ep->dequeue:4
    
    cdns3_request_handled ruijie 3
    
    cdns3_transfer_completed call cdns3_gadget_giveback 12 12
    
    cdns3_gadget_giveback enter 00000000fff421e4
    
    cdns3_gadget_giveback  usb_gadget_giveback_request 00000000fff421e4
    
    cdns3_start_all_request start
    
    cdns3_device_thread_irq_handler bit 17

  • Hi sun ruijie 

    Thanks for reporting the issue i am able to reproduce the issue i already raised a bug on this 

    TI internal Bug link 

    https://jira.itg.ti.com/browse/JACINTOREQ-5445

    Regards
    Diwakar

  • Hi sun ruijie 

    Update on this issue is that it is planned for the 9.1 sdk.

    Regards
    Diwakar