01 Apr, 2020

1 commit

  • Pull networking updates from David Miller:
    "Highlights:

    1) Fix the iwlwifi regression, from Johannes Berg.

    2) Support BSS coloring and 802.11 encapsulation offloading in
    hardware, from John Crispin.

    3) Fix some potential Spectre issues in qtnfmac, from Sergey
    Matyukevich.

    4) Add TTL decrement action to openvswitch, from Matteo Croce.

    5) Allow paralleization through flow_action setup by not taking the
    RTNL mutex, from Vlad Buslov.

    6) A lot of zero-length array to flexible-array conversions, from
    Gustavo A. R. Silva.

    7) Align XDP statistics names across several drivers for consistency,
    from Lorenzo Bianconi.

    8) Add various pieces of infrastructure for offloading conntrack, and
    make use of it in mlx5 driver, from Paul Blakey.

    9) Allow using listening sockets in BPF sockmap, from Jakub Sitnicki.

    10) Lots of parallelization improvements during configuration changes
    in mlxsw driver, from Ido Schimmel.

    11) Add support to devlink for generic packet traps, which report
    packets dropped during ACL processing. And use them in mlxsw
    driver. From Jiri Pirko.

    12) Support bcmgenet on ACPI, from Jeremy Linton.

    13) Make BPF compatible with RT, from Thomas Gleixnet, Alexei
    Starovoitov, and your's truly.

    14) Support XDP meta-data in virtio_net, from Yuya Kusakabe.

    15) Fix sysfs permissions when network devices change namespaces, from
    Christian Brauner.

    16) Add a flags element to ethtool_ops so that drivers can more simply
    indicate which coalescing parameters they actually support, and
    therefore the generic layer can validate the user's ethtool
    request. Use this in all drivers, from Jakub Kicinski.

    17) Offload FIFO qdisc in mlxsw, from Petr Machata.

    18) Support UDP sockets in sockmap, from Lorenz Bauer.

    19) Fix stretch ACK bugs in several TCP congestion control modules,
    from Pengcheng Yang.

    20) Support virtual functiosn in octeontx2 driver, from Tomasz
    Duszynski.

    21) Add region operations for devlink and use it in ice driver to dump
    NVM contents, from Jacob Keller.

    22) Add support for hw offload of MACSEC, from Antoine Tenart.

    23) Add support for BPF programs that can be attached to LSM hooks,
    from KP Singh.

    24) Support for multiple paths, path managers, and counters in MPTCP.
    From Peter Krystad, Paolo Abeni, Florian Westphal, Davide Caratti,
    and others.

    25) More progress on adding the netlink interface to ethtool, from
    Michal Kubecek"

    * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (2121 commits)
    net: ipv6: rpl_iptunnel: Fix potential memory leak in rpl_do_srh_inline
    cxgb4/chcr: nic-tls stats in ethtool
    net: dsa: fix oops while probing Marvell DSA switches
    net/bpfilter: remove superfluous testing message
    net: macb: Fix handling of fixed-link node
    net: dsa: ksz: Select KSZ protocol tag
    netdevsim: dev: Fix memory leak in nsim_dev_take_snapshot_write
    net: stmmac: add EHL 2.5Gbps PCI info and PCI ID
    net: stmmac: add EHL PSE0 & PSE1 1Gbps PCI info and PCI ID
    net: stmmac: create dwmac-intel.c to contain all Intel platform
    net: dsa: bcm_sf2: Support specifying VLAN tag egress rule
    net: dsa: bcm_sf2: Add support for matching VLAN TCI
    net: dsa: bcm_sf2: Move writing of CFP_DATA(5) into slicing functions
    net: dsa: bcm_sf2: Check earlier for FLOW_EXT and FLOW_MAC_EXT
    net: dsa: bcm_sf2: Disable learning for ASP port
    net: dsa: b53: Deny enslaving port 7 for 7278 into a bridge
    net: dsa: b53: Prevent tagged VLAN on port 7 for 7278
    net: dsa: b53: Restore VLAN entries upon (re)configuration
    net: dsa: bcm_sf2: Fix overflow checks
    hv_netvsc: Remove unnecessary round_up for recv_completion_cnt
    ...

    Linus Torvalds
     

27 Mar, 2020

1 commit

  • The phy-gmii-sel can be only auto selected in Kconfig and now the pretty
    complex Kconfig dependencies are defined for phy-gmii-sel driver, which
    also need to be updated every time phy-gmii-sel is re-used for any new
    networking driver.

    Simplify Kconfig definition for phy-gmii-sel PHY driver - drop all
    dependencies and from networking drivers and rely on using 'imply
    PHY_TI_GMII_SEL' in Kconfig definitions for networking drivers instead.

    Signed-off-by: Grygorii Strashko
    Acked-by: Kishon Vijay Abraham I
    Tested-by: Murali Karicheri
    Tested-by: Peter Ujfalusi
    Signed-off-by: David S. Miller

    Grygorii Strashko
     

21 Mar, 2020

1 commit

  • …linux-phy into usb-next

    Kishon writes:

    phy: for 5.7

    *) Rename and Re-design phy-cadence-dp driver to phy-cadence-torrent driver
    *) Add new PHY driver for Qualcomm 28nm Hi-Speed USB PHY
    *) Add new PHY driver for Qualcomm Super Speed PHY in QCS404
    *) Add support for Qualcomm PCIe QMP/QHP PHY in SDM845 to phy-qcom-qmp driver
    *) Add support for Qualcomm UFS PHY in MSM8996 to phy-qcom-qmp driver
    *) Add support for an additional reference clock in Mediatek phy-mtk-tphy driver
    *) Add support for configuring tuning parameters in Mediatek phy-mtk-tphy driver
    *) Add support for GMII PHY in TI K3 AM654x/J721E SoCs to phy-gmii-sel driver
    *) Add support for USB2 PHY in Amlogic A1 SoC Family to phy-meson-g12a-usb2
    driver
    *) Add support for USB3/USB2/PCIe PHY in Socionext Pro5 SoC to
    phy-uniphier-usb3ss/phy-uniphier-usb3hs/phy-uniphier-pcie driver respectively
    *) Add support for QUSB2 PHY in Qualcomm SC7180 in driver
    *) Convert dt-bindings of Cadence DP, Qualcomm QUSB2 to YAML format

    Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>

    * tag 'phy-for-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy: (52 commits)
    phy: qcom-qusb2: Add new overriding tuning parameters in QUSB2 V2 PHY
    phy: qcom-qusb2: Add support for overriding tuning parameters in QUSB2 V2 PHY
    dt-bindings: phy: qcom-qusb2: Add support for overriding Phy tuning parameters
    phy: qcom-qusb2: Add generic QUSB2 V2 PHY support
    dt-bindings: phy: qcom,qusb2: Add compatibles for QUSB2 V2 phy and SC7180
    dt-bindings: phy: qcom,qusb2: Convert QUSB2 phy bindings to yaml
    phy: rk-inno-usb2: Decrease verbosity of repeating log.
    phy: amlogic: Add Amlogic A1 USB2 PHY Driver
    dt-bindings: phy: Add Amlogic A1 USB2 PHY Bindings
    phy: ti: gmii-sel: add support for am654x/j721e soc
    dt-bindings: phy: ti: gmii-sel: add support for am654x/j721e soc
    phy: qualcomm: usb: Add SuperSpeed PHY driver
    dt-bindings: Add Qualcomm USB SuperSpeed PHY bindings
    phy: qualcomm: Add Synopsys 28nm Hi-Speed USB PHY driver
    dt-bindings: phy: Add Qualcomm Synopsys Hi-Speed USB PHY binding
    dt-bindings: phy: remove qcom-dwc3-usb-phy
    phy: phy-mtk-tphy: add a new reference clock
    phy: phy-mtk-tphy: remove unused u3phya_ref clock
    phy: phy-mtk-tphy: make the ref clock optional
    phy: phy-mtk-tphy: add a property for internal resistance
    ...

    Greg Kroah-Hartman
     

20 Mar, 2020

1 commit

  • TI AM654x/J721E SoCs have the same PHY interface selection mechanism for
    CPSWx subsystem as TI SoCs (AM3/4/5/DRA7), but registers and bit-fields
    placement is different.

    This patch adds corresponding support for TI AM654x/J721E SoCs PHY
    interface selection.

    Signed-off-by: Grygorii Strashko
    Signed-off-by: Kishon Vijay Abraham I

    Grygorii Strashko
     

20 Feb, 2020

2 commits

  • The "gmii" PHY interface mode is supported on TI AM335x/437x/5xx SoCs, so
    don't fail if it's selected.

    Signed-off-by: Grygorii Strashko
    Signed-off-by: Kishon Vijay Abraham I

    Grygorii Strashko
     
  • - under PHY_INTERFACE_MODE_MII the 'mode' func parameter is assigned
    instead of 'gmii_sel_mode' and it's working only because the default value
    'gmii_sel_mode' is set to 0.

    - console outputs use 'rgmii_id' and 'mode' values to print PHY mode
    instead of using 'submode' value which is representing PHY interface mode
    now.

    This patch fixes above two cases.

    Signed-off-by: Grygorii Strashko
    Signed-off-by: Kishon Vijay Abraham I

    Grygorii Strashko
     

18 Jan, 2020

1 commit

  • If CONFIG_OF_ADDRESS is not set and COMPILE_TEST=y, the following
    error is seen while building phy-j721e-wiz.c

    drivers/phy/ti/phy-j721e-wiz.o: In function `wiz_remove':
    phy-j721e-wiz.c:(.text+0x1a): undefined reference to
    `of_platform_device_destroy'

    Fix the config dependency for PHY_J721E_WIZ here.

    Reported-by: Hulk Robot
    Fixes: 091876cc355d ("phy: ti: j721e-wiz: Add support for WIZ module present in TI J721E SoC")
    Signed-off-by: Hongbo Yao
    Signed-off-by: Kishon Vijay Abraham I
    Link: https://lore.kernel.org/r/20200117212310.2864-1-kishon@ti.com
    Signed-off-by: Greg Kroah-Hartman

    Hongbo Yao
     

17 Jan, 2020

1 commit

  • In case of error, the function devm_ioremap() returns NULL pointer not
    ERR_PTR(). The IS_ERR() test in the return value check should be
    replaced with NULL test.

    Fixes: 091876cc355d ("phy: ti: j721e-wiz: Add support for WIZ module present in TI J721E SoC")
    Signed-off-by: Wei Yongjun
    Signed-off-by: Kishon Vijay Abraham I

    Wei Yongjun
     

14 Jan, 2020

3 commits

  • Based on this GPIO state we need to configure LN10
    bit to swap lane0 and lane1 if required (flipped connector).

    Type-C companions typically need some time after the cable is
    plugged before and before they reflect the correct status of
    Type-C plug orientation on the DIR line.

    Type-C Spec specifies CC attachment debounce time (tCCDebounce)
    of 100 ms (min) to 200 ms (max).

    Use the DT property to figure out if we need to add delay
    or not before sampling the Type-C DIR line.

    Signed-off-by: Roger Quadros
    Signed-off-by: Sekhar Nori
    Reviewed-by: Jyri Sarha
    Signed-off-by: Kishon Vijay Abraham I

    Roger Quadros
     
  • Some of the phy drivers can be compile tested to increase build
    coverage.

    Signed-off-by: Krzysztof Kozlowski
    Acked-by: Florian Fainelli
    Signed-off-by: Kishon Vijay Abraham I

    Krzysztof Kozlowski
     
  • Add support for WIZ module present in TI's J721E SoC. WIZ is a SERDES
    wrapper used to configure some of the input signals to the SERDES. It is
    used with both Sierra(16G) and Torrent(10G) SERDES. This driver configures
    three clock selects (pll0, pll1, dig), two divider clocks and supports
    resets for each of the lanes.

    [jsarha@ti.com: Add support for Torrent(10G) SERDES wrapper]
    Signed-off-by: Jyri Sarha
    Signed-off-by: Kishon Vijay Abraham I

    Kishon Vijay Abraham I
     

20 Dec, 2019

1 commit


28 Nov, 2019

1 commit

  • Pull char/misc driver updates from Greg KH:
    "Here is the big set of char/misc and other driver patches for 5.5-rc1

    Loads of different things in here, this feels like the catch-all of
    driver subsystems these days. Full details are in the shortlog, but
    nothing major overall, just lots of driver updates and additions.

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'char-misc-5.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (198 commits)
    char: Fix Kconfig indentation, continued
    habanalabs: add more protection of device during reset
    habanalabs: flush EQ workers in hard reset
    habanalabs: make the reset code more consistent
    habanalabs: expose reset counters via existing INFO IOCTL
    habanalabs: make code more concise
    habanalabs: use defines for F/W files
    habanalabs: remove prints on successful device initialization
    habanalabs: remove unnecessary checks
    habanalabs: invalidate MMU cache only once
    habanalabs: skip VA block list update in reset flow
    habanalabs: optimize MMU unmap
    habanalabs: prevent read/write from/to the device during hard reset
    habanalabs: split MMU properties to PCI/DRAM
    habanalabs: re-factor MMU masks and documentation
    habanalabs: type specific MMU cache invalidation
    habanalabs: re-factor memory module code
    habanalabs: export uapi defines to user-space
    habanalabs: don't print error when queues are full
    habanalabs: increase max jobs number to 512
    ...

    Linus Torvalds
     

21 Nov, 2019

1 commit


25 Oct, 2019

2 commits


21 Sep, 2019

1 commit

  • Pull clk updates from Stephen Boyd:
    "We have a small collection of core framework updates this time, mostly
    around clk registration by clk providers and debugfs "nice to haves"
    for rate constraints. I'll highlight that we're now setting the
    clk_init_data pointer inside struct clk_hw to NULL during
    clk_register(), which may break some drivers that thought they could
    use that pointer during normal operations. That change has been
    sitting in next for a while now but maybe something is still broken.
    We'l see. Other than that the core framework changes aren't invasive
    and they're fixing bugs, simplifying, and making things better.

    On the clk driver side we got the usual addition of new SoC support,
    new features for existing drivers, and bug fixes scattered throughout.
    The biggest diffstat is the Amlogic driver that gained CPU clk support
    in addition to migrating to the new way of specifying clk parents.
    After that the Qualcomm, i.MX, Mediatek, and Rockchip clk drivers got
    support for various new SoCs and clock controllers from those vendors.

    Core:
    - Drop NULL checks in clk debugfs
    - Add min/max rates to clk debugfs
    - Set clk_init_data pointer inside clk_hw to NULL after registration
    - Make clk_bulk_get_all() return an 'id' corresponding to clock-names
    - Evict parents from parent cache when they're unregistered

    New Drivers:
    - Add clock driver for i.MX8MN SoCs
    - Support aspeed AST2600 SoCs
    - Support for Mediatek MT6779 SoCs
    - Support qcom SM8150 GCC and RPMh clks
    - Support qcom QCS404 WCSS clks
    - Add CPU clock support for Armada 7K/8K (specifically AP806 and AP807)
    - Addition of clock driver for Rockchip rk3308 SoCs

    Updates:
    - Add regulator support to the cdce925 clk driver
    - Add support for Raspberry Pi 4 bcm2711 SoCs
    - Add SDIO gate support to aspeed driver
    - Add missing of_node_put() calls in various clk drivers
    - Migrate Amlogic driver to new clock parent description method
    - Add DVFS support to Amlogic Meson g12
    - Add Amlogic Meson g12a reset support to the axg audio clock controller
    - Add sm1 support to the Amlogic Meson g12a clock controller
    - Switch i.MX8MM clock driver to platform driver
    - Add Hifi4 DSP related clocks for i.MX8QXP SoC
    - Fix Audio PLL setting and parent clock for USB
    - Misc i.MX8 clock driver improvements and corrections
    - Set floor ops for Qualcomm SD clks so that rounding works
    - Fix "always-on" Clock Domains on Renesas R-Car M1A, RZ/A1, RZ/A2, and RZ/N1
    - Enable the Allwinner V3 SoC and fix the i2s clock for H6"

    * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (137 commits)
    clk: Drop !clk checks in debugfs dumping
    clk: imx: imx8mn: fix pll mux bit
    clk: imx: imx8mm: fix pll mux bit
    clk: imx: clk-pll14xx: unbypass PLL by default
    clk: imx: pll14xx: avoid glitch when set rate
    clk: mvebu: ap80x: add AP807 clock support
    clk: mvebu: ap806: Prepare the introduction of AP807 clock support
    clk: mvebu: ap806: add AP-DCLK (hclk) to system controller driver
    clk: mvebu: ap806: be more explicit on what SaR is
    clk: mvebu: ap80x-cpu: add AP807 CPU clock support
    clk: mvebu: ap806-cpu: prepare mapping of AP807 CPU clock
    dt-bindings: ap806: Document AP807 clock compatible
    dt-bindings: ap80x: Document AP807 CPU clock compatible
    clk: sprd: add missing kfree
    clk: at91: allow 24 Mhz clock as input for PLL
    clk: Make clk_bulk_get_all() return a valid "id"
    clk: actions: Fix factor clk struct member access
    clk: qcom: rcg: Return failure for RCG update
    clk: remove extra ---help--- tags in Kconfig
    clk: add include guard to clk-conf.h
    ...

    Linus Torvalds
     

26 Aug, 2019

1 commit


17 Aug, 2019

1 commit

  • A future patch is going to change semantics of clk_register() so that
    clk_hw::init is guaranteed to be NULL after a clk is registered. Avoid
    referencing this member here so that we don't run into NULL pointer
    exceptions.

    Cc: Roger Quadros
    Cc: Kishon Vijay Abraham I
    Signed-off-by: Stephen Boyd
    Link: https://lkml.kernel.org/r/20190731193517.237136-9-sboyd@kernel.org
    Acked-by: Kishon Vijay Abraham I

    Stephen Boyd
     

01 Jul, 2019

1 commit

  • …linux-phy into usb-next

    phy: for 5.3

    *) Add a new PHY driver for Qualcomm PCIe2 PHY
    *) Add a new PHY driver for Mixel DPHY present in i.MX8
    *) Fix Qualcomm QMP UFS PHY driver from incorrectly reporting that
    PHY enable failed
    *) Fix _BUG_ on Amlogic G12A USB3 + PCIE Combo PHY Driver due to
    calling a sleeping function from invalid context
    *) Fix WARN_ON dump on rcar-gen3-usb2 PHY driver caused due to
    imbalance powered flag
    *) Fix .cocci and sparse warnings

    Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>

    * tag 'phy-for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy:
    phy: qcom-qmp: Raise qcom_qmp_phy_enable() polling delay
    phy: meson-g12a-usb3-pcie: disable locking for cr_regmap
    phy: Add driver for mixel mipi dphy found on NXP's i.MX8 SoCs
    dt-bindings: phy: Add documentation for mixel dphy
    dt-bindings: phy-pxa-usb: add bindings
    phy: renesas: rcar-gen3-usb2: fix imbalance powered flag
    phy: qcom-qmp: Drop useless msm8998_pciephy_cfg setting
    phy: qcom-qmp: Correct READY_STATUS poll break condition
    phy: ti: am654-serdes: Make serdes_am654_xlate() static
    phy: usb: phy-brcm-usb: Fix platform_no_drv_owner.cocci warnings
    phy: samsung: Use struct_size() in devm_kzalloc()
    phy: qcom: Add Qualcomm PCIe2 PHY driver
    dt-bindings: phy: Add binding for Qualcomm PCIe2 PHY

    Greg Kroah-Hartman
     

21 Jun, 2019

1 commit


19 Jun, 2019

1 commit

  • Based on 2 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation #

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 4122 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Enrico Weigelt
    Reviewed-by: Kate Stewart
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190604081206.933168790@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

05 Jun, 2019

1 commit

  • Based on 1 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license as published by
    the free software foundation version 2 of the license this program
    is distributed in the hope that it will be useful but without any
    warranty without even the implied warranty of merchantability or
    fitness for a particular purpose see the gnu general public license
    for more details

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 100 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Alexios Zavras
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190529141900.918357685@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

31 May, 2019

1 commit

  • Based on 3 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license as published by
    the free software foundation either version 2 of the license or at
    your option any later version this program is distributed in the
    hope that it will be useful but without any warranty without even
    the implied warranty of merchantability or fitness for a particular
    purpose see the gnu general public license for more details

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license as published by
    the free software foundation either version 2 of the license or at
    your option any later version [author] [kishon] [vijay] [abraham]
    [i] [kishon]@[ti] [com] this program is distributed in the hope that
    it will be useful but without any warranty without even the implied
    warranty of merchantability or fitness for a particular purpose see
    the gnu general public license for more details

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license as published by
    the free software foundation either version 2 of the license or at
    your option any later version [author] [graeme] [gregory]
    [gg]@[slimlogic] [co] [uk] [author] [kishon] [vijay] [abraham] [i]
    [kishon]@[ti] [com] [based] [on] [twl6030]_[usb] [c] [author] [hema]
    [hk] [hemahk]@[ti] [com] this program is distributed in the hope
    that it will be useful but without any warranty without even the
    implied warranty of merchantability or fitness for a particular
    purpose see the gnu general public license for more details

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-or-later

    has been chosen to replace the boilerplate/reference in 1105 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Allison Randal
    Reviewed-by: Richard Fontana
    Reviewed-by: Kate Stewart
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190527070033.202006027@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

24 May, 2019

1 commit

  • Based on 1 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license as published by
    the free software foundation either version 2 of the license or at
    your option any later version this program is distributed in the
    hope that it will be useful but without any warranty without even
    the implied warranty of merchantability or fitness for a particular
    purpose see the gnu general public license for more details you
    should have received a copy of the gnu general public license along
    with this program if not write to the free software foundation inc
    675 mass ave cambridge ma 02139 usa

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-or-later

    has been chosen to replace the boilerplate/reference in 441 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Michael Ellerman (powerpc)
    Reviewed-by: Richard Fontana
    Reviewed-by: Allison Randal
    Reviewed-by: Kate Stewart
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190520071858.739733335@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

21 May, 2019

1 commit


09 May, 2019

1 commit

  • Pull USB/PHY updates from Greg KH:
    "Here is the big set of USB and PHY driver patches for 5.2-rc1

    There is the usual set of:

    - USB gadget updates

    - PHY driver updates and additions

    - USB serial driver updates and fixes

    - typec updates and new chips supported

    - mtu3 driver updates

    - xhci driver updates

    - other tiny driver updates

    Nothing really interesting, just constant forward progress.

    All of these have been in linux-next for a while with no reported
    issues. The usb-gadget and usb-serial trees were merged a bit "late",
    but both of them had been in linux-next before they got merged here
    last Friday"

    * tag 'usb-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (206 commits)
    USB: serial: f81232: implement break control
    USB: serial: f81232: add high baud rate support
    USB: serial: f81232: clear overrun flag
    USB: serial: f81232: fix interrupt worker not stop
    usb: dwc3: Rename DWC3_DCTL_LPM_ERRATA
    usb: dwc3: Fix default lpm_nyet_threshold value
    usb: dwc3: debug: Print GET_STATUS(device) tracepoint
    usb: dwc3: Do core validation early on probe
    usb: dwc3: gadget: Set lpm_capable
    usb: gadget: atmel: tie wake lock to running clock
    usb: gadget: atmel: support USB suspend
    usb: gadget: atmel_usba_udc: simplify setting of interrupt-enabled mask
    dwc2: gadget: Fix completed transfer size calculation in DDMA
    usb: dwc2: Set lpm mode parameters depend on HW configuration
    usb: dwc2: Fix channel disable flow
    usb: dwc2: Set actual frame number for completed ISOC transfer
    usb: gadget: do not use __constant_cpu_to_le16
    usb: dwc2: gadget: Increase descriptors count for ISOC's
    usb: introduce usb_ep_type_string() function
    usb: dwc3: move synchronize_irq() out of the spinlock protected block
    ...

    Linus Torvalds
     

17 Apr, 2019

9 commits

  • Add support to select all 16 CLKSEL combinations that are shown in
    "SerDes Reference Clock Distribution" in AM65 TRM.

    Signed-off-by: Roger Quadros
    Signed-off-by: Kishon Vijay Abraham I

    Roger Quadros
     
  • Add a new SERDES driver for TI's AM654x SoC which configures
    the SERDES only for PCIe. Support fo USB3 will be added later.

    SERDES in am654x has three input clocks (left input, externel reference
    clock and right input) and two output clocks (left output and right
    output) in addition to a PLL mux clock which the SERDES uses for Clock
    Multiplier Unit (CMU refclock).

    The PLL mux clock can select from one of the three input clocks.
    The right output can select between left input and external reference
    clock while the left output can select between the right input and
    external reference clock.

    The driver has support to select PLL mux and left/right output mux as
    specified in device tree.

    [rogerq@ti.com: Fix boot lockup caused by accessing a structure member
    (hw->init) allocated in stack of probe() and accessed in get_parent]
    [rogerq@ti.com: Fix "Failed to find the parent" warnings]
    Signed-off-by: Roger Quadros
    Signed-off-by: Kishon Vijay Abraham I

    Kishon Vijay Abraham I
     
  • TRM [1] mentions that we need to power up
    PCIESS_PHY_TX and PCIESS_PHY_RX before configuring
    PCIe_PHY_RX SCP settings.

    See "Table 26-81. PCIePHY Subsystem Low-Level Programming Sequence".

    [1] DRA75x, DRA74x TRM - http://www.ti.com/lit/ug/sprui30f/sprui30f.pdf

    Signed-off-by: Roger Quadros
    Signed-off-by: Kishon Vijay Abraham I

    Roger Quadros
     
  • As per "Table 26-7. SATA PHY Subsystem Low-Level Programming Sequence"
    in TRM [1] we need to turn on SATA_PHY_TX before SATA_PHY_RX.

    [1] DRA75x, DRA74x TRM - http://www.ti.com/lit/ug/sprui30f/sprui30f.pdf

    Signed-off-by: Roger Quadros
    Signed-off-by: Kishon Vijay Abraham I

    Roger Quadros
     
  • For increased DPLL stability use the settings recommended in
    the TRM [1] for PHY_RX registers for SATA and USB.

    For SATA we need to use spread spectrum settings even
    though we don't have spread spectrum enabled. The
    suggested non-spread spectrum settings don't work.

    [1] DRA75x, DRA74x TRM - http://www.ti.com/lit/ug/sprui30f/sprui30f.pdf

    Signed-off-by: Roger Quadros
    Signed-off-by: Kishon Vijay Abraham I

    Roger Quadros
     
  • Introduce a mode property in the driver data so that
    we don't have to keep using "of_device_is_compatible()"
    throughtout the driver.

    No functional change.

    Signed-off-by: Roger Quadros
    Signed-off-by: Kishon Vijay Abraham I

    Roger Quadros
     
  • There seems to be a missing bit-wise or operator when setting val,
    fix this by adding it in.

    Fixes: 2796ceb0c18a ("phy: ti-pipe3: Update pcie phy settings")
    Cc: stable@vger.kernel.org # v4.19+
    Signed-off-by: Colin Ian King
    Signed-off-by: Kishon Vijay Abraham I

    Colin Ian King
     
  • With randconfig build testing on arm64, we can run into a configuration
    that has CONFIG_OMAP_CONTROL_PHY=m and CONFIG_OMAP_USB2=y, which in turn
    causes a link failure:

    drivers/phy/ti/phy-omap-usb2.o: In function `omap_usb_phy_power':
    phy-omap-usb2.c:(.text+0x17c): undefined reference to `omap_control_phy_power'

    I could not come up with a good way to correctly describe the relation
    of the two symbols, but if we just select CONFIG_OMAP_CONTROL_PHY
    during compile testing, we can no longer run into the broken configuration.

    Fixes: 6777cee3a872 ("phy: ti: usb2: Add support for AM654 USB2 PHY")
    Signed-off-by: Arnd Bergmann
    Signed-off-by: Kishon Vijay Abraham I

    Arnd Bergmann
     
  • With the recent regulator changes I noticed new warnings on doing rmmod of
    phy-twl4030-usb:

    WARNING: CPU: 0 PID: 1080 at drivers/regulator/core.c:2046 _regulator_put
    ...

    Turns out we can currently miss disconnect at least for cases where status
    is 0 and linkstat is 0. And in that case doing rmmod phy-twl4030-usb will
    produce the regulator_put() warning.

    This is because the missed disconnect causes unbalanced PM runtime calls
    and the regulators will be on exit.

    Let's fix the issue by using an atomic flag for the cable state to make
    sure that PM runtime won't get out of sync with the cable state. That
    way we can also simplify the code a bit.

    Note that we can also drop the old comments, those relate to issues that
    the battery charger driver and musb driver is dealing with rather than
    the USB PHY driver.

    Cc: NeilBrown
    Signed-off-by: Tony Lindgren
    Signed-off-by: Kishon Vijay Abraham I

    Tony Lindgren
     

12 Feb, 2019

1 commit

  • …linux-phy into usb-next

    Kishon writes:

    phy: for 5.1

    *) Add a new driver to support Armada 3700 COMPHY IP (supports SATA, USB3,
    PCIe)
    *) Add a new driver to support Armada UTMI PHY
    *) Add a new driver to support Cadence D-PHY
    *) Extend omap-usb2 PHY driver to be used for AM654 USB2 PHY
    *) Extend qcom-qmp PHY driver to be used for UFS PHY and USB3 PHY in Qualcomm
    MSM8998
    *) Extend qcom-qusb2 PHY driver to support QUSB2 PHY in Qualcomm MSM8998
    *) Remove module specific code that is present for drivers that can be only
    built-in
    *) Allow Freescale IMX8MQ USB to be used for multiple SoCs and not just
    i.MX8MQ
    *) Cleanups such as switch to SPDX identifier, use readl_poll_timeout macro,
    remove unused headers etc.,

    Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>

    * tag 'phy-for-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy: (32 commits)
    phy: qcom-qmp: Add QMP UFS PHY support for msm8998
    dt-bindings: phy-qcom-qmp: Add qcom,msm8998-qmp-ufs-phy
    phy: bcm-sr-pcie: Change operation when PIPEMUX=1
    phy: Add Cadence D-PHY support
    dt-bindings: phy: Move the Cadence D-PHY bindings
    phy: dphy: Clarify lanes parameter documentation
    phy: dphy: Change units of wakeup and init parameters
    phy: dphy: Remove unused header
    MAINTAINERS: phy: fill Armada 3700 PHY drivers entry
    dt-bindings: phy: mvebu-utmi: add UTMI PHY bindings
    phy: add A3700 UTMI PHY driver
    MAINTAINERS: phy: add entry for Armada 3700 COMPHY driver
    dt-bindings: phy: mvebu-comphy: extend the file to describe a3700 bindings
    phy: add A3700 COMPHY support
    phy: mvebu-cp110-comphy: fix port check in ->xlate()
    phy: armada375-usb2: switch to SPDX license identifier
    phy: make phy-armada375-usb2 explicitly non-modular
    phy: make phy-mvebu-sata explicitly non-modular
    phy: make phy-core explicitly non-modular
    phy: qcom-qusb2: Add QUSB2 PHY support for msm8998
    ...

    Greg Kroah-Hartman
     

07 Feb, 2019

3 commits