• Minas Harutyunyan's avatar
    usb: dwc2: Fix TxFIFOn sizes and total TxFIFO size issues · 9273083a
    Minas Harutyunyan authored
    In host mode reading from DPTXSIZn returning invalid value in
    dwc2_check_param_tx_fifo_sizes function.
    
    In total TxFIFO size calculations unnecessarily reducing by ep_info.
    hw->total_fifo_size can be fully allocated for FIFO's.
    
    Added num_dev_in_eps member in dwc2_hw_params structure to save number
    of IN EPs.
    
    Added g_tx_fifo_size array in dwc2_hw_params structure to store power
    on reset values of DPTXSIZn registers in forced device mode.
    
    Updated dwc2_hsotg_tx_fifo_count() function to get TxFIFO count from
    num_dev_in_eps.
    
    Updated dwc2_get_dev_hwparams() function to store DPTXFSIZn in
    g_tx_fifo_size array.
    
    dwc2_get_host/dev_hwparams() functions call moved after num_dev_in_eps
    set from hwcfg4.
    
    Modified dwc2_check_param_tx_fifo_sizes() function to check TxFIFOn
    sizes based on g_tx_fifo_size array.
    
    Removed ep_info subtraction during calculation of tx_addr_max in
    dwc2_hsotg_tx_fifo_total_depth() function. Also removed
    dwc2_hsotg_ep_info_size() function as no more need.
    Acked-by: default avatarJohn Youn <johnyoun@synopsys.com>
    Signed-off-by: default avatarGevorg Sahakyan <sahakyan@synopsys.com>
    Signed-off-by: default avatarMinas Harutyunyan <hminas@synopsys.com>
    Signed-off-by: default avatarFelipe Balbi <felipe.balbi@linux.intel.com>
    9273083a
gadget.c 126 KB