1. 07 Nov, 2019 6 commits
    • Greg Kroah-Hartman's avatar
      Merge tag 'thunderbolt-for-v5.5' of... · 4180468e
      Greg Kroah-Hartman authored
      Merge tag 'thunderbolt-for-v5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/westeri/thunderbolt into char-misc-next
      
      Mika writes:
      
      thunderbolt: Changes for v5.5 merge window
      
      This adds Thunderbolt 3 support for the software connection manager. It
      is currently only used in Apple systems. Previously the driver started
      the firmware connection manager on those but it is not necessary anymore
      with these patches (we still leave user an option to start the firmware
      in case there are problems with the software connection manager).
      
      This includes:
      
        - Expose 'generation' attribute under each device in sysfs
        - Converting register names to follow the USB4 spec.
        - Lane bonding support
        - Expose link speed and width in sysfs
        - Display Port handshake needed for Titan Ridge devices
        - Display Port pairing and resource management
        - Display Port bandwidth management
      
      * tag 'thunderbolt-for-v5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/westeri/thunderbolt: (21 commits)
        thunderbolt: Do not start firmware unless asked by the user
        thunderbolt: Add bandwidth management for Display Port tunnels
        thunderbolt: Add Display Port adapter pairing and resource management
        thunderbolt: Add Display Port CM handshake for Titan Ridge devices
        thunderbolt: Add downstream PCIe port mappings for Alpine and Titan Ridge
        thunderbolt: Expand controller name in tb_switch_is_xy()
        thunderbolt: Add default linking between lane adapters if not provided by DROM
        thunderbolt: Add support for lane bonding
        thunderbolt: Refactor add_switch() into two functions
        thunderbolt: Add helper macro to iterate over switch ports
        thunderbolt: Make tb_sw_write() take const parameter
        thunderbolt: Convert DP adapter register names to follow the USB4 spec
        thunderbolt: Convert PCIe adapter register names to follow the USB4 spec
        thunderbolt: Convert basic adapter register names to follow the USB4 spec
        thunderbolt: Log error if adding switch fails
        thunderbolt: Log switch route string on config read/write timeout
        thunderbolt: Introduce tb_switch_is_icm()
        thunderbolt: Add 'generation' attribute for devices
        thunderbolt: Drop unnecessary read when writing LC command in Ice Lake
        thunderbolt: Fix lockdep circular locking depedency warning
        ...
      4180468e
    • Alexander Usyskin's avatar
      mei: add trc detection register to sysfs · 52f6efdf
      Alexander Usyskin authored
      The glitch detection HW (TRC) save it status information into
      TRC status register.
      Make it available to user-space via read-only sysfs file.
      The TRC register is availab for PCH15 gen and newer, for older
      platforms reading the sysfs file will fail with EOPNOTSUPP.
      Signed-off-by: default avatarAlexander Usyskin <alexander.usyskin@intel.com>
      Signed-off-by: default avatarTomas Winkler <tomas.winkler@intel.com>
      Link: https://lore.kernel.org/r/20191107104445.19101-1-tomas.winkler@intel.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      52f6efdf
    • Tomas Winkler's avatar
      mei: abstract fw status register read. · 261e071a
      Tomas Winkler authored
      This is to allow working with mei devices embedded within
      another pci device, where mei device is represented
      as a platform child device and fw status registers
      are not necessarily resident in the device pci config space.
      
      Bump the copyright year to 2019 on the modified files.
      Signed-off-by: default avatarTomas Winkler <tomas.winkler@intel.com>
      Link: https://lore.kernel.org/r/20191106223841.15802-4-tomas.winkler@intel.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      261e071a
    • Alexander Usyskin's avatar
      mei: me: store irq number in the hw struct. · 261b3e1f
      Alexander Usyskin authored
      Store irq number in hw struct to by used by synchronize_irq().
      This is to allow working with mei devices
      embedded within another pci devices, via MFD framework,
      where mei device is represented as a platform device.
      
      Bump the copyright year to 2019 on hw-me.c and hw-me.h
      Signed-off-by: default avatarAlexander Usyskin <alexander.usyskin@intel.com>
      Signed-off-by: default avatarTomas Winkler <tomas.winkler@intel.com>
      Link: https://lore.kernel.org/r/20191106223841.15802-3-tomas.winkler@intel.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      261b3e1f
    • Tomas Winkler's avatar
      mei: me: mei_me_dev_init() use struct device instead of struct pci_dev. · 907b471c
      Tomas Winkler authored
      It's enough to bind mei_device with associated 'struct device' instead
      of actual 'struct pci_dev'. This is to allow working with mei devices
      embedded within another pci device, usually via MFD framework,
      where mei device is represented as a platform device.
      
      Bump copyright year to 2019 on effected files.
      Signed-off-by: default avatarTomas Winkler <tomas.winkler@intel.com>
      Link: https://lore.kernel.org/r/20191106223841.15802-2-tomas.winkler@intel.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      907b471c
    • Greg Kroah-Hartman's avatar
      Merge tag 'phy-for-5.5' of... · 7383092c
      Greg Kroah-Hartman authored
      Merge tag 'phy-for-5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy into char-misc-next
      
      Kishon writes:
      
      phy: for 5.5
      
        *) Add a new PHY driver for USB3 PHY on Allwinner H6 SoC
        *) Add a new PHY driver for Innosilicon Video Combo PHY(MIPI/LVDS/TTL)
        *) Add support in xusb-tegra210 PHY driver to get USB device mode functional
           in Tegra 210
        *) Add support for SM8150 QMP UFS PHY in phy-qcom-qmp PHY driver
        *) Fix smatch warning (array off by one) in phy-rcar-gen2 PHY driver
        *) Enable mac tx internal delay for rgmii-rxid in phy-gmii-sel driver
        *) Fix phy-qcom-usb-hs from registering multiple extcon notifiers during PHY
           power cycle
        *) Use devm_platform_ioremap_resource() in phy-mvebu-a3700-utmi,
           phy-hisi-inno-usb2, phy-histb-combphy and regulator_bulk_set_supply_names()
           in xusb to simplify code
        *) Remove unused variable in xusb-tegra210 and phy-dm816x-usb
        *) Fix sparse warnings in phy-brcm-usb-init
      Signed-off-by: default avatarKishon Vijay Abraham I <kishon@ti.com>
      
      * tag 'phy-for-5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy: (28 commits)
        phy: phy-rockchip-inno-usb2: add phy description for px30
        phy: qcom-usb-hs: Fix extcon double register after power cycle
        phy: renesas: phy-rcar-gen2: Fix the array off by one warning
        phy: lantiq: vrx200-pcie: fix error return code in ltq_vrx200_pcie_phy_power_on()
        dt-bindings: phy: add yaml binding for rockchip,px30-dsi-dphy
        phy/rockchip: Add support for Innosilicon MIPI/LVDS/TTL PHY
        phy: add PHY_MODE_LVDS
        phy: allwinner: add phy driver for USB3 PHY on Allwinner H6 SoC
        dt-bindings: Add bindings for USB3 phy on Allwinner H6
        phy: qcom-qmp: Add SM8150 QMP UFS PHY support
        dt-bindings: phy-qcom-qmp: Add sm8150 UFS phy compatible string
        phy: ti: gmii-sel: fix mac tx internal delay for rgmii-rxid
        phy: tegra: use regulator_bulk_set_supply_names()
        phy: ti: dm816x: remove set but not used variable 'phy_data'
        phy: renesas: rcar-gen3-usb2: Fix sysfs interface of "role"
        phy: tegra: xusb: Add vbus override support on Tegra186
        phy: tegra: xusb: Add vbus override support on Tegra210
        phy: tegra: xusb: Add usb3 port fake support on Tegra210
        phy: tegra: xusb: Add XUSB dual mode support on Tegra210
        dt-bindings: rcar-gen3-phy-usb3: Add r8a774b1 support
        ...
      7383092c
  2. 05 Nov, 2019 15 commits
  3. 04 Nov, 2019 14 commits
  4. 03 Nov, 2019 1 commit
  5. 02 Nov, 2019 4 commits
    • Mika Westerberg's avatar
      thunderbolt: Do not start firmware unless asked by the user · 354a7a77
      Mika Westerberg authored
      Since now we can do pretty much the same thing in the software
      connection manager than the firmware would do, there is no point
      starting it by default. Instead we can just continue using the software
      connection manager.
      
      Make it possible for user to switch between the two by adding a module
      pararameter (start_icm) which is by default false. Having this ability
      to enable the firmware may be useful at least when debugging possible
      issues with the software connection manager implementation.
      Signed-off-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
      354a7a77
    • Mika Westerberg's avatar
      thunderbolt: Add bandwidth management for Display Port tunnels · a11b88ad
      Mika Westerberg authored
      Titan Ridge supports Display Port 1.4 which adds HBR3 (High Bit Rate)
      rates that may be up to 8.1 Gb/s over 4 lanes. This translates to
      effective data bandwidth of 25.92 Gb/s (as 8/10 encoding is removed by
      the DP adapters when going over Thunderbolt fabric). If another high
      rate monitor is connected we may need to reduce the bandwidth it
      consumes so that it fits into the total 40 Gb/s available on the
      Thunderbolt fabric.
      Signed-off-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
      a11b88ad
    • Mika Westerberg's avatar
      thunderbolt: Add Display Port adapter pairing and resource management · 8afe909b
      Mika Westerberg authored
      To perform proper Display Port tunneling for Thunderbolt 3 devices we
      need to allocate DP resources for DP IN port before they can be used.
      The reason for this is that the user can also connect a monitor directly
      to the Type-C ports in which case the Thunderbolt controller acts as
      re-driver for Display Port (no tunneling takes place) taking the DP
      sinks away from the connection manager. This allocation is done using
      special sink allocation registers available through the link controller.
      
      We can pair DP IN to DP OUT only if
      
       * DP IN has sink allocated via link controller
       * DP OUT port receives hotplug event
      
      For DP IN adapters (only for the host router) we first query whether
      there is DP resource available (it may be the previous instance of the
      driver for example already allocated it) and if it is we add it to the
      list. We then update the list when after each plug/unplug event to a DP
      IN/OUT adapter. Each time the list is updated we try to find additional
      DP IN <-> DP OUT pairs for tunnel establishment. This strategy also
      makes it possible to establish another tunnel in case there are 3
      monitors connected and one gets unplugged releasing the DP IN adapter
      for the new tunnel.
      Signed-off-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
      8afe909b
    • Mika Westerberg's avatar
      thunderbolt: Add Display Port CM handshake for Titan Ridge devices · de718ac7
      Mika Westerberg authored
      Titan Ridge needs an additional connection manager handshake in order to
      do proper Display Port tunneling so implement it here.
      Signed-off-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
      de718ac7