1. 08 1月, 2015 2 次提交
  2. 06 1月, 2015 4 次提交
  3. 04 1月, 2015 3 次提交
  4. 03 1月, 2015 21 次提交
  5. 01 1月, 2015 10 次提交
    • D
      Merge branch 'gmac-next' · 01aa2997
      David S. Miller 提交于
      Roger Chen says:
      
      ====================
      support GMAC driver for RK3288
      
      Roger Chen (6):
        patch1: add driver for Rockchip RK3288 SoCs integrated GMAC
        patch2: define clock ID used for GMAC
        patch3: modify CRU config for Rockchip RK3288 SoCs integrated GMAC
        patch4: dts: rockchip: add gmac info for rk3288
        patch5: dts: rockchip: enable gmac on RK3288 evb board
        patch6: add document for Rockchip RK3288 GMAC
      
      Tested on rk3288 evb board:
      Execute the following command to enable ethernet,
      set local IP and ping a remote host.
      
      busybox ifconfig eth0 up
      busybox ifconfig eth0 192.168.1.111
      ping 192.168.1.1
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      01aa2997
    • R
      GMAC: add document for Rockchip RK3288 GMAC · 53a83930
      Roger Chen 提交于
      The document descripts how to add properties for GMAC in device tree.
      
      change since v2:
      
      1. remove power-gpio, reset-gpio, phyirq-gpio, pmu_regulator setting
      2. add "snps,reset-gpio", "snps,reset-active-low;" "snps,reset-delays-us"
      Signed-off-by: NRoger Chen <roger.chen@rock-chips.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      53a83930
    • R
      ARM: dts: rockchip: enable gmac on RK3288 evb board · e35e47ac
      Roger Chen 提交于
      enable gmac in rk3288-evb-rk808.dts
      
      changes since v2:
      1. add fixed regulator for PHY
      2. remove power-gpio, reset-gpio, phyirq-gpio, pmu_regulator setting
      3. add "snps,reset-gpio", "snps,reset-active-low;" "snps,reset-delays-us"
      Signed-off-by: NRoger Chen <roger.chen@rock-chips.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e35e47ac
    • R
      ARM: dts: rockchip: add gmac info for rk3288 · 3d3fb74a
      Roger Chen 提交于
      add gmac info in rk3288.dtsi for GMAC driver
      
      changes since v2:
      1. add drive-strength in the pinctrl settings
      Signed-off-by: NRoger Chen <roger.chen@rock-chips.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3d3fb74a
    • R
      GMAC: modify CRU config for Rockchip RK3288 SoCs integrated GMAC · 7f186025
      Roger Chen 提交于
      modify CRU config for GMAC driver
      
      changes since v2:
      1. remove SCLK_MAC_PLL
      Signed-off-by: NRoger Chen <roger.chen@rock-chips.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7f186025
    • R
      GMAC: define clock ID used for GMAC · 3cf8e53a
      Roger Chen 提交于
      changes since v2:
      1. remove SCLK_MAC_PLL
      Signed-off-by: NRoger Chen <roger.chen@rock-chips.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3cf8e53a
    • R
      GMAC: add driver for Rockchip RK3288 SoCs integrated GMAC · 7ad269ea
      Roger Chen 提交于
      This driver is based on stmmac driver.
      
      changes since v2:
      - use tab instead of space for macros
      - use HIWORD_UPDATE macro for GMAC_CLK_RX_DL_CFG and GMAC_CLK_TX_DL_CFG
      - remove drive-strength setting in the driver and set it in the pinctrl settings
      - use dev_err instead of pr_err
      - remove clock names's macros, just use the real name of the clock
      - use devm_clk_get() instead of clk_get()
      - remove clk_set_parent(bsp_priv->clk_mac, bsp_priv->clk_mac_pll)
      - remove gpio setting for LDO, just use regulator API
      - remove phy reset using gpio in the glue layer, it has been handled in the stmmac driver
      - remove handling phy interrupt (mii interrupt)
      
      changes since v1:
      - use BIT() to set register
      - combine two remap_write() operations into one for the same register
      - use macros for register value setting
      - remove grf fail check in rk_gmac_setup() and save all the check in set_rgmii_speed()
      - remove .tx_coe=1 in rk_gmac_data
      Signed-off-by: NRoger Chen <roger.chen@rock-chips.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7ad269ea
    • D
      9aacfb20
    • D
      54da5083
    • D
      Merge branch 'fib_trie-next' · e495f78d
      David S. Miller 提交于
      Alexander Duyck says:
      
      ====================
      fib_trie: Reduce time spent in fib_table_lookup by 35 to 75%
      
      These patches are meant to address several performance issues I have seen
      in the fib_trie implementation, and fib_table_lookup specifically.  With
      these changes in place I have seen a reduction of up to 35 to 75% for the
      total time spent in fib_table_lookup depending on the type of search being
      performed.
      
      On a VM running in my Corei7-4930K system with a trie of maximum depth of 7
      this resulted in a reduction of over 370ns per packet in the total time to
      process packets received from an ixgbe interface and route them to a dummy
      interface.  This represents a failed lookup in the local trie followed by
      a successful search in the main trie.
      
      				Baseline	Refactor
        ixgbe->dummy routing		1.20Mpps	2.21Mpps
        ------------------------------------------------------------
        processing time per packet		835ns		453ns
        fib_table_lookup		50.1%	418ns	25.0%	113ns
        check_leaf.isra.9		 7.9%	 66ns	   --	 --
        ixgbe_clean_rx_irq		 5.3%	 44ns	 9.8%	 44ns
        ip_route_input_noref		 2.9%	 25ns	 4.6%	 21ns
        pvclock_clocksource_read	 2.6%	 21ns	 4.6%	 21ns
        ip_rcv			 2.6%	 22ns	 4.0%	 18ns
      
      In the simple case of receiving a frame and dropping it before it can reach
      the socket layer I saw a reduction of 40ns per packet.  This represents a
      trip through the local trie with the correct leaf found with no need for
      any backtracing.
      
      				Baseline	Refactor
        ixgbe->local receive		2.65Mpps	2.96Mpps
        ------------------------------------------------------------
        processing time per packet		377ns		337ns
        fib_table_lookup		25.1%	 95ns	25.8%	 87ns
        ixgbe_clean_rx_irq		 8.7%	 33ns	 9.0%	 30ns
        check_leaf.isra.9		 7.2%	 27ns	   --	 --
        ip_rcv			 5.7%	 21ns	 6.5%	 22ns
      
      These changes have resulted in several functions being inlined such as
      check_leaf and fib_find_node, but due to the code simplification the
      overall size of the code has been reduced.
      
         text	   data	    bss	    dec	    hex	filename
        16932	    376	     16	  17324	   43ac	net/ipv4/fib_trie.o - before
        15259	    376	      8	  15643	   3d1b	net/ipv4/fib_trie.o - after
      
      Changes since RFC:
        Replaced this_cpu_ptr with correct call to this_cpu_inc in patch 1
        Changed test for leaf_info mismatch to (key ^ n->key) & li->mask_plen in patch 10
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e495f78d