1. 15 10月, 2017 1 次提交
    • J
      net: stmmac: Use correct values in TQS/RQS fields · 52a76235
      Jose Abreu 提交于
      Currently we are using all the available fifo size in RQS and
      TQS fields. This will not work correctly in multi-queues IP's
      because total fifo size must be splitted to the enabled queues.
      
      Correct this by computing the available fifo size per queue and
      setting the right value in TQS and RQS fields.
      Signed-off-by: NJose Abreu <joabreu@synopsys.com>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Joao Pinto <jpinto@synopsys.com>
      Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
      Cc: Alexandre Torgue <alexandre.torgue@st.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      52a76235
  2. 26 5月, 2017 1 次提交
    • L
      net-next: stmmac: rework the speed selection · ca84dfb9
      LABBE Corentin 提交于
      The current stmmac_adjust_link() part which handle speed have
      some if (has_platform) code and my dwmac-sun8i will add more of them.
      
      So we need to handle better speed selection.
      Moreover the struct link member speed and port are hard to guess their
      purpose. And their unique usage are to be combined for writing speed.
      
      So this patch replace speed/port by simpler
      speed10/speed100/speed1000/speed_mask variables.
      
      In dwmac4_core_init and dwmac1000_core_init, port/speed value was used
      directly without using the struct link. This patch convert also their
      usage to speedxxx.
      Signed-off-by: NCorentin Labbe <clabbe.montjoie@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ca84dfb9
  3. 14 4月, 2017 1 次提交
    • N
      net: stmmac: set total length of the packet to be transmitted in TDES3 · fe6af0e1
      Niklas Cassel 提交于
      Field FL/TPL in register TDES3 is not correctly set on GMAC4.
      TX appears to be functional on GMAC 4.10a even if this field is not set,
      however, to avoid relying on undefined behavior, set the length in TDES3.
      
      The field has a different meaning depending on if the TSE bit in TDES3
      is set or not (TSO). However, regardless of the TSE bit, the field is
      not optional. The field is already set correctly when the TSE bit is set.
      
      Since there is no limit for the number of descriptors that can be
      used for a single packet, the field should be set to the sum of
      the buffers contained in:
      [<desc with First Descriptor bit set> ... <desc n> ...
      <desc with Last Descriptor bit set>], which should be equal to skb->len.
      Signed-off-by: NNiklas Cassel <niklas.cassel@axis.com>
      Acked-by: NGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fe6af0e1
  4. 25 3月, 2017 1 次提交
  5. 22 3月, 2017 2 次提交
  6. 16 3月, 2017 7 次提交
  7. 13 3月, 2017 9 次提交
  8. 25 2月, 2017 1 次提交
  9. 09 2月, 2017 3 次提交
  10. 10 1月, 2017 1 次提交
  11. 30 12月, 2016 1 次提交
  12. 09 12月, 2016 1 次提交
  13. 04 12月, 2016 1 次提交
  14. 30 11月, 2016 1 次提交
  15. 16 11月, 2016 2 次提交
  16. 13 9月, 2016 1 次提交
  17. 28 6月, 2016 3 次提交
  18. 03 4月, 2016 3 次提交
    • A
      stmmac: support new GMAC4 · f748be53
      Alexandre TORGUE 提交于
      This patch adds the whole GMAC4 support inside the
      stmmac d.d. now able to use the new HW and some new features
      i.e.: TSO.
      It is missing the multi-queue and split Header support at this
      stage.
      This patch also updates the driver version and the stmmac.txt.
      Signed-off-by: NAlexandre TORGUE <alexandre.torgue@st.com>
      Signed-off-by: NGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f748be53
    • A
      stmmac: add GMAC4 core support · 477286b5
      Alexandre TORGUE 提交于
      This is the initial support for GMAC4 that includes
      the main callbacks to setup the core module: including
      Csum, basic filtering, mac address and interrupt (MMC,
      MTL, PMT) No LPI added.
      Signed-off-by: NAlexandre TORGUE <alexandre.torgue@st.com>
      Signed-off-by: NGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      477286b5
    • A
      stmmac: add DMA support for GMAC 4.xx · 48863ce5
      Alexandre TORGUE 提交于
      DMA behavior is linked to descriptor management:
      
      -descriptor mechanism (Tx for example, but it is exactly the same for RX):
      -useful registers:
      -DMA_CH#_TxDesc_Ring_Len: length of transmit descriptor ring
      -DMA_CH#_TxDesc_List_Address: start address of the ring
      	-DMA_CH#_TxDesc_Tail_Pointer: address of the last
      					      descriptor to send + 1.
      	-DMA_CH#_TxDesc_Current_App_TxDesc: address of the current
      						    descriptor
      
      -The descriptor Tail Pointer register contains the pointer to the
       descriptor address (N). The base address and the current
       descriptor decide the address of the current descriptor that the
       DMA can process. The descriptors up to one location less than the
       one indicated by the descriptor tail pointer (N-1) are owned by
       the DMA. The DMA continues to process the descriptors until the
       following condition occurs:
       "current descriptor pointer == Descriptor Tail pointer"
      
      Then the DMA goes into suspend mode. The application must perform
      a write to descriptor tail pointer register and update the tail
      pointer to have the following condition and to start a new transfer:
      "current descriptor pointer < Descriptor tail pointer"
      
      The DMA automatically wraps around the base address when the end
      of ring is reached.
      
      Up to 8 DMA could be use but currently we only use one (channel0)
      Signed-off-by: NAlexandre TORGUE <alexandre.torgue@st.com>
      Signed-off-by: NGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      48863ce5