1. 27 7月, 2015 1 次提交
  2. 21 3月, 2015 1 次提交
    • K
      net: netcp: fix forward port number usage for 10G ethss · e170f409
      Karicheri, Muralidharan 提交于
      10G switch requires forward port number in the taginfo field,
      where as it should be in packet_info field for necp 1.4 Ethss. So
      fill this value correctly in the knav dma descriptor.
      
      Also rename dma_psflags field in struct netcp_tx_pipe to switch_to_port
      as it contain no flag, but the switch port number for forwarding the
      packet. Add a flag to hold the new flag,  SWITCH_TO_PORT_IN_TAGINFO which
      will be set for 10G. This can also used in the future for other flags for
      the tx_pipe.
      Signed-off-by: NMurali Karicheri <m-karicheri2@ti.com>
      Signed-off-by: NWingMan Kwok <w-kwok2@ti.com>
      CC: "David S. Miller" <davem@davemloft.net>
      CC: Mugunthan V N <mugunthanvnm@ti.com>
      CC: "Lad, Prabhakar" <prabhakar.csengg@gmail.com>
      CC: Grygorii Strashko <grygorii.strashko@ti.com>
      CC: Christoph Jaeger <cj@linux.com>
      CC: Lokesh Vutla <lokeshvutla@ti.com>
      CC: Markus Pargmann <mpa@pengutronix.de>
      CC: Kumar Gala <galak@codeaurora.org>
      CC: Ian Campbell <ijc+devicetree@hellion.org.uk>
      CC: Mark Rutland <mark.rutland@arm.com>
      CC: Pawel Moll <pawel.moll@arm.com>
      CC: Rob Herring <robh+dt@kernel.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e170f409
  3. 20 1月, 2015 1 次提交
    • K
      net: netcp: Add Keystone NetCP core ethernet driver · 84640e27
      Karicheri, Muralidharan 提交于
      The network coprocessor (NetCP) is a hardware accelerator available in
      Keystone SoCs that processes Ethernet packets. NetCP consists of following
      hardware components
      
       1 Gigabit Ethernet (GbE) subsystem with a Ethernet switch sub-module to
         send and receive packets.
       2 Packet Accelerator (PA) module to perform packet classification
         operations such as header matching, and packet modification operations
         such as checksum generation.
       3 Security Accelerator(SA) capable of performing IPSec operations on
         ingress/egress packets.
       4 An optional 10 Gigabit Ethernet Subsystem (XGbE) which includes a
         3-port Ethernet switch sub-module capable of 10Gb/s and 1Gb/s rates
         per Ethernet port.
       5 Packet DMA and Queue Management Subsystem (QMSS) to enqueue and dequeue
         packets and DMA the packets between memory and NetCP hardware components
         described above.
      
      NetCP core driver make use of the Keystone Navigator driver API to allocate
      DMA channel for the Ethenet device and to handle packet queue/de-queue,
      Please refer API's in include/linux/soc/ti/knav_dma.h and
      drivers/soc/ti/knav_qmss.h for details.
      
      NetCP driver consists of NetCP core driver and at a minimum Gigabit
      Ethernet (GBE) module (1) driver to implement the Network device function.
      Other modules (2,3) can be optionally added to achieve supported hardware
      acceleration function. The initial version of the driver include NetCP
      core driver and GBE driver modules.
      
      Please refer Documentation/devicetree/bindings/net/keystone-netcp.txt
      for design of the driver.
      
       Cc: David Miller <davem@davemloft.net>
       Cc: Rob Herring <robh+dt@kernel.org>
       Cc: Grant Likely <grant.likely@linaro.org>
       Cc: Santosh Shilimkar <santosh.shilimkar@kernel.org>
       Cc: Pawel Moll <pawel.moll@arm.com>
       Cc: Mark Rutland <mark.rutland@arm.com>
       Cc: Ian Campbell <ijc+devicetree@hellion.org.uk>
       Cc: Kumar Gala <galak@codeaurora.org>
      Signed-off-by: NMurali Karicheri <m-karicheri2@ti.com>
      Signed-off-by: NWingman Kwok <w-kwok2@ti.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      84640e27