1. 20 1月, 2014 1 次提交
  2. 10 8月, 2013 1 次提交
  3. 09 4月, 2013 1 次提交
  4. 27 3月, 2013 3 次提交
    • R
      stmmac: add IEEE PTPv1 and PTPv2 support. · 891434b1
      Rayagond Kokatanur 提交于
      This patch enhances the stmmac driver to support IEEE 1588-2002
      PTP (Precision Time Protocol) version 1 and IEEE 1588-2008 PPT
      version 2.
      
      Precision Time Protocol(PTP),which enables precise synchronization
      of clocks in measurement and control systems implemented with
      technologies such as network communication,local computing,
      & distributed objects.
      
      Both PTPv1 and PTPv2 is selected at run-time using the HW capability
      register.
      
      The PTPv1 TimeStamp support can be used on chips that have the normal
      descriptor structures and PTPv2 TimeStamp support can be used on chips
      that have the Extended descriptors(DES4-5-6-7). All such sanity checks
      are done and verified by using HW capability register.
      
      V2: in this version the ethtool support has been included in this patch;
      Koptions have been completely removed (previously added to select
      PTP and PTPv2). PTPv1 and PTPv2 is now added in a single patch instead of
      two patches.
      get_timestamp() and get_systemtime() L/H have been combined into single APIs.
      Signed-off-by: NRayagond Kokatanur <rayagond@vayavyalabs.com>
      Signed-off-by: NGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Cc: Richard Cochran <richardcochran@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      891434b1
    • R
      stmmac: add tx_skbuff_dma to save descriptors used by PTP · cf32deec
      Rayagond Kokatanur 提交于
      This patch adds a new pointer variable called "tx_skbuff_dma" to private
      data structure. This variable will holds the physical address of packet
      to be transmitted & same will be used to free/unmap the memory once the
      corresponding packet is transmitted by device.
      
      Prior to this patch the descriptor buffer pointer(ie des2) itself was
      being used for freeing/unmapping the buffer memory. But in case PTP v1
      with normal descriptor the field(des2) will be overwritten by device
      with timestamp value, hence driver will loose the buffer pointer to be
      freed/unmapped.
      Signed-off-by: NRayagond Kokatanur <rayagond@vayavyalabs.com>
      Acked-by: NGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cf32deec
    • G
      stmmac: reorganize chain/ring modes removing Koptions · 4a7d666a
      Giuseppe CAVALLARO 提交于
      Previously we had two Koptions to decide if the stmmac
      had to use either a ring or a chain to manage its descriptors.
      This patch removes the Kernel configuration options and it allow us
      to use the chain mode by passing a module option.
      Ring mode continues to be the default.
      
      Also with this patch, it will be easier to validate the driver built and
      guarantee that all the two modes always compile fine.
      Signed-off-by: NGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4a7d666a
  5. 10 7月, 2012 1 次提交
    • D
      stmmac: Fix for higher mtu size handling · 684901a6
      Deepak Sikri 提交于
      For the higher mtu sizes requiring the buffer size greater than 8192,
      the buffers are sent or received using multiple dma descriptors/ same
      descriptor with option of multi buffer handling.
      It was observed during tests that the driver was missing on data
      packets during the normal ping operations if the data buffers being used
      catered to jumbo frame handling.
      
      The memory barrriers are added in between preparation of dma descriptors
      in the jumbo frame handling path to ensure all instructions before
      enabling the dma are complete.
      Signed-off-by: NDeepak Sikri <deepak.sikri@st.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      684901a6
  6. 20 10月, 2011 1 次提交
    • G
      stmmac: add CHAINED descriptor mode support (V4) · 286a8372
      Giuseppe CAVALLARO 提交于
      This patch enhances the STMMAC driver to support CHAINED mode of
      descriptor.
      
      STMMAC supports DMA descriptor to operate both in dual buffer(RING)
      and linked-list(CHAINED) mode. In RING mode (default) each descriptor
      points to two data buffer pointers whereas in CHAINED mode they point
      to only one data buffer pointer.
      
      In CHAINED mode each descriptor will have pointer to next descriptor in
      the list, hence creating the explicit chaining in the descriptor itself,
      whereas such explicit chaining is not possible in RING mode.
      
      First version of this work has been done by Rayagond.
      Then the patch has been reworked avoiding ifdef inside the C code.
      A new header file has been added to define all the functions needed for
      managing enhanced and normal descriptors.
      In fact, these have to be specialized according to the ring/chain usage.
      Two new C files have been also added to implement the helper routines
      needed to manage: jumbo frames, chain and ring setup (i.e. desc3).
      Signed-off-by: NRayagond Kokatanur <rayagond@vayavyalabs.com>
      Signed-off-by: NGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      286a8372