1. 02 4月, 2018 2 次提交
  2. 31 3月, 2018 2 次提交
  3. 30 3月, 2018 2 次提交
  4. 28 3月, 2018 1 次提交
  5. 27 3月, 2018 3 次提交
  6. 23 3月, 2018 1 次提交
  7. 08 3月, 2018 3 次提交
  8. 06 3月, 2018 5 次提交
  9. 01 3月, 2018 1 次提交
    • M
      net: mvpp2: Add hardware offloading for VLAN filtering · 56beda3d
      Maxime Chevallier 提交于
      Marvell PPv2 controller allows for generic packet filtering. This commit
      adds entries to implement VLAN filtering. The approach taken is :
      
       - Filter entries that would match on the presence of the VLAN tag
         (existing VLAN detection, DSA / EDSA detection) will set the next
         lookup ID to be for the VID.
      
       - For each VLAN existing on a given port, we add an entry that matches
         this specific VID. If the incoming packet matches the VID entry, it is
         set for the next lookup in the chain (LU_L2).
      
       - A Guard entry is added for each port, that will match if the incoming
         packet didn't match any of the above VID entries. This entry tags the
         packet to be dropped.
      
      Due to this design, and the fact that the total 256 filter entries are
      also used for other purposes, we have a limit of 10 VLANs per port. To
      accommodate the case where we would need more VLANS on one port, this
      patch implements the ndo_set_features to allow for disabling of VLAN
      filtering using ethtool.
      
      The default config has VLAN filtering disabled.
      Signed-off-by: NMaxime Chevallier <maxime.chevallier@bootlin.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      56beda3d
  10. 12 2月, 2018 1 次提交
    • M
      mvpp2: fix multicast address filter · 7ac8ff95
      Mikulas Patocka 提交于
      IPv6 doesn't work on the MacchiatoBIN board. It is caused by broken
      multicast address filter in the mvpp2 driver.
      
      The driver loads doesn't load any multicast entries if "allmulti" is not
      set. This condition should be reversed.
      
      The condition !netdev_mc_empty(dev) is useless (because
      netdev_for_each_mc_addr is nop if the list is empty).
      
      This patch also fixes a possible overflow of the multicast list - if
      mvpp2_prs_mac_da_accept fails, we set the allmulti flag and retry.
      Signed-off-by: NMikulas Patocka <mpatocka@redhat.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7ac8ff95
  11. 02 2月, 2018 1 次提交
  12. 22 1月, 2018 3 次提交
    • M
      net: mvpp2: enable ACPI support in the driver · a75edc7c
      Marcin Wojtas 提交于
      This patch introduces an alternative way of obtaining resources - via
      ACPI tables provided by firmware. Enabling coexistence with the DT
      support, in addition to the OF_*->device_*/fwnode_* API replacement,
      required following steps to be taken:
      
      * Add mvpp2_acpi_match table
      * Omit clock configuration and obtain tclk from the property - in ACPI
        world, the firmware is responsible for clock maintenance.
      * Disable comphy and syscon handling as they are not available for ACPI.
      * Modify way of obtaining interrupts - use newly introduced
        fwnode_irq_get() routine
      * Until proper MDIO bus and PHY handling with ACPI is established in the
        kernel, use only link interrupts feature in the driver. For the RGMII
        port it results in depending on GMAC settings done during firmware
        stage.
      * When booting with ACPI MVPP2_QDIST_MULTI_MODE is picked by
        default, as there is no need to keep any kind of the backward
        compatibility.
      
      Moreover, a memory region used by mvmdio driver is usually placed in
      the middle of the address space of the PP2 network controller.
      The MDIO base address is obtained without requesting memory region
      (by devm_ioremap() call) in mvmdio.c, later overlapping resources are
      requested by the network driver, which is responsible for avoiding
      a concurrent access.
      
      In case the MDIO memory region is declared in the ACPI, it can
      already appear as 'in-use' in the OS. Because it is overlapped by second
      region of the network controller, make sure it is released, before
      requesting it again. The care is taken by mvpp2 driver to avoid
      concurrent access to this memory region.
      Signed-off-by: NMarcin Wojtas <mw@semihalf.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a75edc7c
    • M
      net: mvpp2: use device_*/fwnode_* APIs instead of of_* · 24812221
      Marcin Wojtas 提交于
      OF functions can be used only for the driver using DT.
      As a preparation for introducing ACPI support in mvpp2
      driver, use struct fwnode_handle in order to obtain
      properties from the hardware description.
      
      This patch replaces of_* function with device_*/fwnode_*
      where possible in the mvpp2.
      Signed-off-by: NMarcin Wojtas <mw@semihalf.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      24812221
    • M
      net: mvpp2: simplify maintaining enabled ports' list · bf147153
      Marcin Wojtas 提交于
      'port_count' field of the mvpp2 structure holds an overall amount
      of available ports, based on DT nodes status. In order to be prepared
      to support other HW description, obtain the value by incrementing it
      upon each successful port initialization. This allowed for simplifying
      port indexing in the controller's private array, whose size is now not
      dynamically allocated, but fixed to MVPP2_MAX_PORTS.
      
      This patch simplifies creating and filling list of enabled ports and
      is a part of the preparation for adding ACPI support in the mvpp2 driver.
      Signed-off-by: NMarcin Wojtas <mw@semihalf.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bf147153
  13. 03 1月, 2018 10 次提交
  14. 21 12月, 2017 3 次提交
  15. 14 12月, 2017 2 次提交