1. 16 Sep, 2019 1 commit
  2. 25 Jun, 2019 2 commits
    • Marc Gonzalez's avatar
      phy: qcom-qmp: Raise qcom_qmp_phy_enable() polling delay · 52060264
      Marc Gonzalez authored
      readl_poll_timeout() calls usleep_range() to sleep between reads.
      usleep_range() doesn't work efficiently for tiny values.
      
      Raise the polling delay in qcom_qmp_phy_enable() to bring it in line
      with the delay in qcom_qmp_phy_com_init().
      Signed-off-by: default avatarMarc Gonzalez <marc.w.gonzalez@free.fr>
      Signed-off-by: default avatarKishon Vijay Abraham I <kishon@ti.com>
      52060264
    • Neil Armstrong's avatar
      phy: meson-g12a-usb3-pcie: disable locking for cr_regmap · 5fc2aa3e
      Neil Armstrong authored
      Locking is not needed for the phy_g12a_usb3_pcie_cr_bus_read/write() and
      currently it causes the following BUG because of the usage of the
      regmap_read_poll_timeout() running in spinlock_irq, configured by regmap fast_io.
      
      Simply disable locking in the cr_regmap config since it's only used from the
      PHY init callback function.
      
      BUG: sleeping function called from invalid context at drivers/phy/amlogic/phy-meson-g12a-usb3-pcie.c:85
      in_atomic(): 1, irqs_disabled(): 128, pid: 60, name: kworker/3:1
      [snip]
      Workqueue: events deferred_probe_work_func
      Call trace:
       dump_backtrace+0x0/0x190
       show_stack+0x14/0x20
       dump_stack+0x90/0xb4
       ___might_sleep+0xec/0x110
       __might_sleep+0x50/0x88
       phy_g12a_usb3_pcie_cr_bus_addr.isra.0+0x80/0x1a8
       phy_g12a_usb3_pcie_cr_bus_read+0x34/0x1d8
       _regmap_read+0x60/0xe0
       _regmap_update_bits+0xc4/0x110
       regmap_update_bits_base+0x60/0x90
       phy_g12a_usb3_pcie_init+0xdc/0x210
       phy_init+0x74/0xd0
       dwc3_meson_g12a_probe+0x2cc/0x4d0
       platform_drv_probe+0x50/0xa0
       really_probe+0x20c/0x3b8
       driver_probe_device+0x68/0x150
       __device_attach_driver+0xa8/0x170
       bus_for_each_drv+0x64/0xc8
       __device_attach+0xd8/0x158
       device_initial_probe+0x10/0x18
       bus_probe_device+0x90/0x98
       deferred_probe_work_func+0x94/0xe8
       process_one_work+0x1e0/0x338
       worker_thread+0x230/0x458
       kthread+0x134/0x138
       ret_from_fork+0x10/0x1c
      
      Fixes: 36077e16 ("phy: amlogic: Add Amlogic G12A USB3 + PCIE Combo PHY Driver")
      Signed-off-by: default avatarNeil Armstrong <narmstrong@baylibre.com>
      Tested-by: default avatarKevin Hilman <khilman@baylibre.com>
      Signed-off-by: default avatarKishon Vijay Abraham I <kishon@ti.com>
      5fc2aa3e
  3. 21 Jun, 2019 5 commits
    • Guido Gunther's avatar
      phy: Add driver for mixel mipi dphy found on NXP's i.MX8 SoCs · f4c8116e
      Guido Gunther authored
      This adds support for the Mixel DPHY as found on i.MX8 CPUs but since
      this is an IP core it will likely be found on others in the future. So
      instead of adding this to the nwl host driver make it a generic PHY
      driver.
      
      The driver supports the i.MX8MQ. Support for i.MX8QM and i.MX8QXP can be
      added once the necessary system controller bits are in via
      mixel_dphy_devdata.
      Signed-off-by: Guido Gunther's avatarGuido Günther <agx@sigxcpu.org>
      Co-developed-by: default avatarRobert Chiras <robert.chiras@nxp.com>
      Signed-off-by: default avatarRobert Chiras <robert.chiras@nxp.com>
      Reviewed-by: default avatarFabio Estevam <festevam@gmail.com>
      Reviewed-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: default avatarKishon Vijay Abraham I <kishon@ti.com>
      f4c8116e
    • Yoshihiro Shimoda's avatar
      phy: renesas: rcar-gen3-usb2: fix imbalance powered flag · 5c9dc637
      Yoshihiro Shimoda authored
      The powered flag should be set for any other phys anyway. Also
      the flag should be locked by the channel. Otherwise, after we have
      revised the device tree for the usb phy, the following warning
      happened during a second system suspend. And if the driver doesn't
      lock the flag, an imbalance is possible when enabling the regulator
      during system resume. So, this patch fixes the issues.
      
      < The warning >
      [   56.026531] unbalanced disables for USB20_VBUS0
      [   56.031108] WARNING: CPU: 3 PID: 513 at drivers/regulator/core.c:2593 _regula
      tor_disable+0xe0/0x1c0
      [   56.040146] Modules linked in: rcar_du_drm rcar_lvds drm_kms_helper drm drm_p
      anel_orientation_quirks vsp1 videobuf2_vmalloc videobuf2_dma_contig videobuf2_me
      mops videobuf2_v4l2 videobuf2_common videodev snd_soc_rcar renesas_usbhs snd_soc
      _audio_graph_card media snd_soc_simple_card_utils crct10dif_ce renesas_usb3 snd_
      soc_ak4613 rcar_fcp pwm_rcar usb_dmac phy_rcar_gen3_usb3 pwm_bl ipv6
      [   56.074047] CPU: 3 PID: 513 Comm: kworker/u16:19 Not tainted 5.2.0-rc3-00001-
      g5f20a19 #6
      [   56.082129] Hardware name: Renesas Salvator-X board based on r8a7795 ES2.0+ (
      DT)
      [   56.089524] Workqueue: events_unbound async_run_entry_fn
      [   56.094832] pstate: 40000005 (nZcv daif -PAN -UAO)
      [   56.099617] pc : _regulator_disable+0xe0/0x1c0
      [   56.104054] lr : _regulator_disable+0xe0/0x1c0
      [   56.108489] sp : ffff0000121c3ae0
      [   56.111796] x29: ffff0000121c3ae0 x28: 0000000000000000
      [   56.117102] x27: 0000000000000000 x26: ffff000010fe0e60
      [   56.122407] x25: 0000000000000002 x24: 0000000000000001
      [   56.127712] x23: 0000000000000002 x22: ffff8006f99d4000
      [   56.133017] x21: ffff8006f99cc000 x20: ffff8006f9846800
      [   56.138322] x19: ffff8006f9846800 x18: ffffffffffffffff
      [   56.143626] x17: 0000000000000000 x16: 0000000000000000
      [   56.148931] x15: ffff0000112f96c8 x14: ffff0000921c37f7
      [   56.154235] x13: ffff0000121c3805 x12: ffff000011312000
      [   56.159540] x11: 0000000005f5e0ff x10: ffff0000112f9f20
      [   56.164844] x9 : ffff0000112d3018 x8 : 00000000000001ad
      [   56.170149] x7 : 00000000ffffffcc x6 : ffff8006ff768180
      [   56.175453] x5 : ffff8006ff768180 x4 : 0000000000000000
      [   56.180758] x3 : ffff8006ff76ef10 x2 : ffff8006ff768180
      [   56.186062] x1 : 3d2eccbaead8fb00 x0 : 0000000000000000
      [   56.191367] Call trace:
      [   56.193808]  _regulator_disable+0xe0/0x1c0
      [   56.197899]  regulator_disable+0x40/0x78
      [   56.201820]  rcar_gen3_phy_usb2_power_off+0x3c/0x50
      [   56.206692]  phy_power_off+0x48/0xd8
      [   56.210263]  usb_phy_roothub_power_off+0x30/0x50
      [   56.214873]  usb_phy_roothub_suspend+0x1c/0x50
      [   56.219311]  hcd_bus_suspend+0x13c/0x168
      [   56.223226]  generic_suspend+0x4c/0x58
      [   56.226969]  usb_suspend_both+0x1ac/0x238
      [   56.230972]  usb_suspend+0xcc/0x170
      [   56.234455]  usb_dev_suspend+0x10/0x18
      [   56.238199]  dpm_run_callback.isra.6+0x20/0x68
      [   56.242635]  __device_suspend+0x110/0x308
      [   56.246637]  async_suspend+0x24/0xa8
      [   56.250205]  async_run_entry_fn+0x40/0xf8
      [   56.254210]  process_one_work+0x1e0/0x320
      [   56.258211]  worker_thread+0x40/0x450
      [   56.261867]  kthread+0x124/0x128
      [   56.265094]  ret_from_fork+0x10/0x18
      [   56.268661] ---[ end trace 86d7ec5de5c517af ]---
      [   56.273290] phy phy-ee080200.usb-phy.10: phy poweroff failed --> -5
      Reported-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
      Fixes: 549b6b55 ("phy: renesas: rcar-gen3-usb2: enable/disable independent irqs")
      Signed-off-by: default avatarYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
      Reviewed-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
      Tested-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
      Reviewed-by: default avatarSimon Horman <horms+renesas@verge.net.au>
      Signed-off-by: default avatarKishon Vijay Abraham I <kishon@ti.com>
      5c9dc637
    • Marc Gonzalez's avatar
      phy: qcom-qmp: Drop useless msm8998_pciephy_cfg setting · 67c2eccb
      Marc Gonzalez authored
      'mask_com_pcs_ready' is only useful if 'has_phy_com_ctrl' is true.
      Since msm8998_pciephy_cfg.has_phy_com_ctrl is false, let's drop
      msm8998_pciephy_cfg.mask_com_pcs_ready altogether.
      Signed-off-by: default avatarMarc Gonzalez <marc.w.gonzalez@free.fr>
      Signed-off-by: default avatarKishon Vijay Abraham I <kishon@ti.com>
      67c2eccb
    • Bjorn Andersson's avatar
      phy: qcom-qmp: Correct READY_STATUS poll break condition · 885bd765
      Bjorn Andersson authored
      After issuing a PHY_START request to the QMP, the hardware documentation
      states that the software should wait for the PCS_READY_STATUS to become
      1.
      
      With the introduction of commit c9b58979 ("phy: qcom: Utilize UFS
      reset controller") an additional 1ms delay was introduced between the
      start request and the check of the status bit. This greatly increases
      the chances for the hardware to actually becoming ready before the
      status bit is read.
      
      The result can be seen in that UFS PHY enabling is now reported as a
      failure in 10% of the boots on SDM845, which is a clear regression from
      the previous rare/occasional failure.
      
      This patch fixes the "break condition" of the poll to check for the
      correct state of the status bit.
      
      Unfortunately PCIe on 8996 and 8998 does not specify the mask_pcs_ready
      register, which means that the code checks a bit that's always 0. So the
      patch also fixes these, in order to not regress these targets.
      
      Fixes: 73d7ec89 ("phy: qcom-qmp: Add msm8998 PCIe QMP PHY support")
      Fixes: e78f3d15 ("phy: qcom-qmp: new qmp phy driver for qcom-chipsets")
      Cc: stable@vger.kernel.org
      Cc: Evan Green <evgreen@chromium.org>
      Cc: Marc Gonzalez <marc.w.gonzalez@free.fr>
      Cc: Vivek Gautam <vivek.gautam@codeaurora.org>
      Reviewed-by: default avatarEvan Green <evgreen@chromium.org>
      Reviewed-by: default avatarNiklas Cassel <niklas.cassel@linaro.org>
      Reviewed-by: default avatarMarc Gonzalez <marc.w.gonzalez@free.fr>
      Tested-by: default avatarMarc Gonzalez <marc.w.gonzalez@free.fr>
      Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
      Signed-off-by: default avatarKishon Vijay Abraham I <kishon@ti.com>
      885bd765
    • YueHaibing's avatar
      phy: ti: am654-serdes: Make serdes_am654_xlate() static · 1853bc0a
      YueHaibing authored
      Fix sparse warning:
      
      drivers/phy/ti/phy-am654-serdes.c:250:12: warning:
       symbol 'serdes_am654_xlate' was not declared. Should it be static?
      Reported-by: default avatarHulk Robot <hulkci@huawei.com>
      Signed-off-by: default avatarYueHaibing <yuehaibing@huawei.com>
      Acked-by: default avatarRoger Quadros <rogerq@ti.com>
      Signed-off-by: default avatarKishon Vijay Abraham I <kishon@ti.com>
      1853bc0a
  4. 20 Jun, 2019 2 commits
  5. 19 Jun, 2019 2 commits
  6. 12 Jun, 2019 4 commits
  7. 05 Jun, 2019 6 commits
  8. 03 Jun, 2019 1 commit
  9. 01 Jun, 2019 1 commit
    • Masahiro Yamada's avatar
      treewide: fix typos of SPDX-License-Identifier · 8e82fe2a
      Masahiro Yamada authored
      Prior to the adoption of SPDX, it was difficult for tools to determine
      the correct license due to incomplete or badly formatted license text.
      The SPDX solves this issue, assuming people can correctly spell
      "SPDX-License-Identifier" although this assumption is broken in some
      places.
      
      Since scripts/spdxcheck.py parses only lines that exactly matches to
      the correct tag, it cannot (should not) detect this kind of error.
      
      If the correct tag is missing, scripts/checkpatch.pl warns like this:
      
       WARNING: Missing or malformed SPDX-License-Identifier tag in line *
      
      So, people should notice it before the patch submission, but in reality
      broken tags sometimes slip in. The checkpatch warning is not useful for
      checking the committed files globally since large number of files still
      have no SPDX tag.
      
      Also, I am not sure about the legal effect when the SPDX tag is broken.
      
      Anyway, these typos are absolutely worth fixing. It is pretty easy to
      find suspicious lines by grep.
      
        $ git grep --not -e SPDX-License-Identifier --and -e SPDX- -- \
          :^LICENSES :^scripts/spdxcheck.py :^*/license-rules.rst
        arch/arm/kernel/bugs.c:// SPDX-Identifier: GPL-2.0
        drivers/phy/st/phy-stm32-usbphyc.c:// SPDX-Licence-Identifier: GPL-2.0
        drivers/pinctrl/sh-pfc/pfc-r8a77980.c:// SPDX-Lincense-Identifier: GPL 2.0
        lib/test_stackinit.c:// SPDX-Licenses: GPLv2
        sound/soc/codecs/max9759.c:// SPDX-Licence-Identifier: GPL-2.0
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      8e82fe2a
  10. 31 May, 2019 1 commit
  11. 30 May, 2019 3 commits
  12. 24 May, 2019 2 commits
  13. 21 May, 2019 2 commits
  14. 18 Apr, 2019 4 commits
  15. 17 Apr, 2019 4 commits