Às 9:37 AM de 3/9/2017, Niklas Cassel escreveu: > On 03/08/2017 05:48 PM, Joao Pinto wrote: >> Às 4:45 PM de 3/8/2017, Niklas Cassel escreveu: >>> On 03/08/2017 01:22 PM, Joao Pinto wrote: >>>> This patch adds the RX and TX scheduling algorithms programming. >>>> It introduces the multiple queues configuration function >>>> (stmmac_mtl_configuration) in stmmac_main. >>>>
(snip...) >>>> + stmmac_mac_enable_rx_queues(priv); >>> Hello Joao >>> >>> Since you are now enabling RX queues here, >>> perhaps we should move the enabling of TX queue(s) here as well? >> Hi Niklas, >> TX enable operation is different, it is part of the DMA Operation Mode >> configuration. In a later patch I will be updating the DMA Operation Mode >> configuration and this op will be placed here. >> >> As indicated by David Miller, this patch-set is focused in MAC ops only. DMA >> focused patch-set will follow after this one gets accepted. > > Not sure that I agree 100% since: > > "23.2 Initializing MTL Registers" > > 1. Program the Tx Scheduling algorithm. (Which you now do in > stmmac_mtl_configuration.) > > [snip] > > 3. Program the following fields to initialize the mode of operation in the > MTL_TxQ0_Operation_Mode > a. Transmit Store And Forward (TSF) or Transmit Threshold Control (TTC) in > case of threshold mode > b. Transmit Queue Enable (TXQEN) to value 2‘b10 to enable Transmit Queue0 > c. Transmit Queue Size (TQS) > > > Note that "Initializing DMA" is a separate chapter. > > However, since you are planning on moving the MTL_TxQ0_Operation_Mode > initialization > to stmmac_mtl_configuration in a later patch, I don't think that you have to > rework this > patch just because of this simple remark. Sorry, I misleaded you. What I was trying to say was that the TX Operation Mode is going to be moved here in a later patch. Thanks for the help. > > Nice to see some work done on multiqueues for stmmac :) > > >> >> Thanks! >> >>> >>>> +} >>>> + >>>> +/** >>>> * stmmac_hw_setup - setup mac in a usable state. >>>> * @dev : pointer to the device structure. >>>> * Description: >>>> @@ -1688,9 +1713,9 @@ static int stmmac_hw_setup(struct net_device *dev, >>>> bool init_ptp) >>>> /* Initialize the MAC Core */ >>>> priv->hw->mac->core_init(priv->hw, dev->mtu); >>>> >>>> - /* Initialize MAC RX Queues */ >>>> - if (priv->hw->mac->rx_queue_enable) >>>> - stmmac_mac_enable_rx_queues(priv); >>>> + /* Initialize MTL*/ >>>> + if (priv->synopsys_id >= DWMAC_CORE_4_00) >>>> + stmmac_mtl_configuration(priv); >>>> >>>> ret = priv->hw->mac->rx_ipc(priv->hw); >>>> if (!ret) { >