1. 19 3月, 2016 26 次提交
  2. 18 3月, 2016 3 次提交
  3. 17 3月, 2016 11 次提交
    • D
      Merge branch 'thunderx-mdio-fixes' · b4ab9d76
      David S. Miller 提交于
      David Daney says:
      
      ====================
      net/phy: Fixes for Cavium Thunder MDIO code.
      
      Previous patch set:
      commit 5fc7cf17 ("net: thunderx: Cleanup PHY probing code.")
      commit 1eefee90 ("phy: mdio-octeon: Refactor into two files/modules")
      commit 379d7ac7 ("phy: mdio-thunder: Add driver for Cavium Thunder SoC MDIO buses.")
      
      Had several problems.  We try to fix them here.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b4ab9d76
    • D
      net: thunderx: Don't leak phy device references on -EPROBE_DEFER condition. · b7d3e3d3
      David Daney 提交于
      It is possible, although unlikely, that probing will find the
      phy_device for the first LMAC of a thunder BGX device, but then need
      to fail with -EPROBE_DEFER on a subsequent LMAC.  In this case, we
      need to call put_device() on each of the phy_devices that were
      obtained, but will be unused due to returning -EPROBE_DEFER.
      
      Also, since we can break out of the probing loop early, we need to
      explicitly call of_node_put() outside of the loop.
      Signed-off-by: NDavid Daney <david.daney@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b7d3e3d3
    • D
      net: cavium: For Kconfig THUNDER_NIC_BGX, select MDIO_THUNDER. · 9277a4f8
      David Daney 提交于
      Previously we selected MDIO_OCTEON, which after creating the Thunder
      specific MDIO bus driver is much less useful.
      Signed-off-by: NDavid Daney <david.daney@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9277a4f8
    • D
      phy: mdio-cavium: Add missing MODULE_* annotations. · 7091f01e
      David Daney 提交于
      When the code was factored out of mdio-octeon.c, the
      MODULE_DESCRIPTION, MODULE_AUTHOR and MODULE_LICENSE annotations were
      inadvertently omitted.  Restore them so that we don't get kernel taint
      warnings upon module loading.
      Signed-off-by: NDavid Daney <david.daney@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7091f01e
    • G
      ppp: ensure file->private_data can't be overridden · e8e56ffd
      Guillaume Nault 提交于
      Locking ppp_mutex must be done before dereferencing file->private_data,
      otherwise it could be modified before ppp_unattached_ioctl() takes the
      lock. This could lead ppp_unattached_ioctl() to override ->private_data,
      thus leaking reference to the ppp_file previously pointed to.
      
      v2: lock all ppp_ioctl() instead of just checking private_data in
          ppp_unattached_ioctl(), to avoid ambiguous behaviour.
      
      Fixes: f3ff8a4d ("ppp: push BKL down into the driver")
      Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e8e56ffd
    • D
      Merge branch 'arc_emac-next' · c8f5d298
      David S. Miller 提交于
      Caesar Wang says:
      
      ====================
      arc_emac: fixes the emac issues and cleanup emac drivers
      
      This series patches are based on kernel 4.5-rc7+ version.
      Linux version 4.5.0-rc7-next-20160311+ (wxt@nb) (...) #45 SMP Sun Mar 13 16:17:56
      
      The history patch in here:
      Patch-v1: https://lkml.org/lkml/2016/3/11/209
      Patch-v2: https://lkml.org/lkml/2016/3/13/39
      
      Verified on kylin board with my github.
      https://github.com/Caesar-github/rockchip/tree/kylin/next
      
      That's verified on kylin board with ubuntu os.
      
      This series patches are built all pass with Mr.robot on
      https://github.com/Caesar-github/linux/tree/build-emac-v3
      
      How to test and verify?
      
      You can refer to the following wiki document.
      http://rockchip.wikidot.com/linux-develop-guide
      
      bootup log:
      [    1.264740] rockchip_emac 10200000.ethernet: no regulator found
      [    1.270908] rockchip_emac 10200000.ethernet: ARC EMAC detected with id: 0x7fd02
      [    1.278362] rockchip_emac 10200000.ethernet: IRQ is 29
      [    1.283747] rockchip_emac 10200000.ethernet: MAC address is now 06:5d:61:c7:39:41
      [    1.291314] rockchip_emac 10200000.ethernet: GPIO lookup for consumer phy-reset
      [    1.291333] rockchip_emac 10200000.ethernet: using device tree for GPIO lookup
      [    1.663155] rockchip_emac 10200000.ethernet: connected to Generic PHY phy with id 0xffffc816
      [    8.863448] rockchip_emac 10200000.ethernet eth0: Link is Up - 100Mbps/Full - flow control off
      
      root@localhost:/# busybox ping www.baidu.com
      PING www.baidu.com (14.215.177.38): 56 data bytes
      64 bytes from 14.215.177.38: seq=0 ttl=48 time=35.046 ms
      64 bytes from 14.215.177.38: seq=1 ttl=48 time=35.095 ms
      64 bytes from 14.215.177.38: seq=2 ttl=48 time=34.203 ms
      64 bytes from 14.215.177.38: seq=3 ttl=48 time=38.516 ms
      ...
      ---
      
      1) This series has 6 patches: (1--->9)
      net: arc_emac: make the rockchip emac document more compatible
      net: arc_emac: add phy reset is optional for device tree
      net: arc_emac: support the phy reset for emac driver
      net: arc: trivial: cleanup the emac driver
      clk: rockchip: add node-id for rk3036 emac hclk
      clk: rockchip: associate the rk3036 HCLK_EMAC clock-id
      clk: rockchip: add clock-id for rk3036 emac pll source clock
      clk: rockchip: associate SCLK_MAC_PLL and disable reparenting on rk3036
      ARM: dts: rockchip: add support emac for RK3036
      
      2) This series patches have the following descriptions:
      
      Hi Rob, David:
      PATCH[1/9-2/9]: ====>
      net: arc_emac: make the rockchip emac document more compatible
      net: arc_emac: add phy reset is optional for device tree
      
      The patches change the rockchip emac document for more compatible and
      Add the phy reset property for document.
      ---
      
      Hi David
      PATCH[3/9]: ====>
      net: arc_emac: support the phy reset for emac driver
      
      The emac didn't work on kylin board since in some case the clocks parent changed.
      The kylin hardware connects the phy reset pin, we should use it with real world.
      As the previous patch discuss on https://patchwork.kernel.org/patch/8186801/
      
      And as sergei/Heiko suggestions on
      https://patchwork.kernel.org/patch/8564571/
      ---
      
      Hi David
      PATCH[4/9]: ====>
      net: arc: trivial: cleanup the emac driver
      
      The first time to look the emac drivers, I think that have to cleanup the drivers with scripts.
      Although it's the trivial things, in order to be more read.
      ---
      
      Hi Heiko,Michael,Stephen:
      PATCH[5/9-8/9]: ====> clk: rockchip: rk3036: fix and add node id for emac clock
      
      Four-part from https://patchwork.kernel.org/patch/8564581/
      clk: rockchip: add node-id for rk3036 emac hclk
      clk: rockchip: associate the rk3036 HCLK_EMAC clock-id
      clk: rockchip: add clock-id for rk3036 emac pll source clock
      clk: rockchip: associate SCLK_MAC_PLL and disable reparenting on rk3036
      
      Add the emac needed clocks for rk3036 SoCs
      ---
      
      Hi Heiko:
      PATCH[9/9]: ====>
      ARM: dts: rockchip: add support emac for RK3036
      
      Add the emac needed main info for rk3036 dts.
      ---
      
      Thanks your reviewing! :)
      
      Changes in v3:
      - %s/he/the
      - Add the Cc people
      - As Sergei comments, the original name is better, so
        %s/reset-gpios/phy-reset-gpios
      - Add the Cc people.
      - Caused the build error since the missing include head file.
      - %s/reset/phy-reset to match the device tree.
      - Add the Cc people
      - Add the Cc people.
      - Add the Cc people.
      - Add the Cc people.
      - Add the Cc people.
      - Add the Cc people.
      - rename reset-gpio to phy-reset-gpios.
      - change the commit.
      - remove the pcfg_output_high, that's really not needed for emac.
      - Add the Cc people.
      - Fixes the 'zhengxing' to 'Xing Zheng'.
      
      Changes in v2:
      - change the commit and remove the repeat the name 'rockchip'.
      - %s/phy-reset-gpios/reset-gpios
      - As the pervious version, Sergei and Heiko comments on
        https://patchwork.kernel.org/patch/8564571/.
      - Nevermind, add signed-off since Heiko the original patch,
        refer the Heiko's test patch on
        https://github.com/mmind/linux-rockchip/commit/a943c588783438ff1c508dfa8c79f1709aa5775e
        :)
      - As the robot notice the build error since overflow in implicit
        constant conversion.
      - rename phy-reset-gpio to reset-gpios.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c8f5d298
    • X
      ARM: dts: rockchip: add to support emac for rk3036 SoCs · af671e7b
      Xing Zheng 提交于
      This patch adds the emac device node for rk3036 SoCs.
      We need to let mac clock under the DPLL which is able to provide
      the accurate 50MHz what mac_ref need, since that will cause some
      unstable things if the cpufreq is working.
      Signed-off-by: NXing Zheng <zhengxing@rock-chips.com>
      Signed-off-by: NCaesar Wang <wxt@rock-chips.com>
      Cc: linux-rockchip@lists.infradead.org
      Cc: Xing Zheng <zhengxing@rock-chips.com>
      Cc: Heiko Stuebner <heiko@sntech.de>
      Cc: linux-arm-kernel@lists.infradead.org
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      af671e7b
    • H
      clk: rockchip: associate SCLK_MAC_PLL and disable reparenting on rk3036 · 2c6fae25
      Heiko Stuebner 提交于
      The emac needs constant and very specific rate but the possible PLL-sources
      are very limited, so we expect the PLL source to be set manually on per
      board and don't want it to get changed in an automatic way later.
      So add the necessary clock-id and disable reparenting on set_rate calls.
      Signed-off-by: NHeiko Stuebner <heiko@sntech.de>
      Cc: Michael Turquette <mturquette@baylibre.com>
      Cc: Heiko Stuebner <heiko@sntech.de>
      Cc: Stephen Boyd <sboyd@codeaurora.org>
      Cc: linux-clk@vger.kernel.org
      Signed-off-by: NCaesar Wang <wxt@rock-chips.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2c6fae25
    • X
      clk: rockchip: add clock-id for rk3036 emac pll source clock · f7e18022
      Xing Zheng 提交于
      Suitable PLLs for the emac on the rk3036 are difficult to find
      and one of them is the (continuously changing) APLL. So in most
      cases it will be necessary to select a PLL manually.
      So add a clock-id for it.
      Signed-off-by: NXing Zheng <zhengxing@rock-chips.com>
      Signed-off-by: NCaesar Wang <wxt@rock-chips.com>
      Cc: Xing Zheng <zhengxing@rock-chips.com>
      Cc: Michael Turquette <mturquette@baylibre.com>
      Cc: Heiko Stuebner <heiko@sntech.de>
      Cc: Stephen Boyd <sboyd@codeaurora.org>
      Cc: linux-clk@vger.kernel.org
      Cc: linux-rockchip@lists.infradead.org
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f7e18022
    • X
      clk: rockchip: associate the rk3036 HCLK_EMAC clock-id · e764b939
      Xing Zheng 提交于
      Associate the new clock id the clock.
      Signed-off-by: NXing Zheng <zhengxing@rock-chips.com>
      Signed-off-by: NCaesar Wang <wxt@rock-chips.com>
      Cc: Xing Zheng <zhengxing@rock-chips.com>
      Cc: Michael Turquette <mturquette@baylibre.com>
      Cc: Heiko Stuebner <heiko@sntech.de>
      Cc: Stephen Boyd <sboyd@codeaurora.org>
      Cc: linux-clk@vger.kernel.org
      Cc: linux-rockchip@lists.infradead.org
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e764b939
    • X
      clk: rockchip: add node-id for rk3036 emac hclk · fb781c8e
      Xing Zheng 提交于
      Add the node-id for the emac hclk to the binding header.
      Signed-off-by: NXing Zheng <zhengxing@rock-chips.com>
      Signed-off-by: NCaesar Wang <wxt@rock-chips.com>
      Cc: Xing Zheng <zhengxing@rock-chips.com>
      Cc: Michael Turquette <mturquette@baylibre.com>
      Cc: Heiko Stuebner <heiko@sntech.de>
      Cc: Stephen Boyd <sboyd@codeaurora.org>
      Cc: linux-clk@vger.kernel.org
      Cc: linux-rockchip@lists.infradead.org
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fb781c8e