1. 24 Apr, 2020 36 commits
  2. 13 Apr, 2020 4 commits
    • Greg Kroah-Hartman's avatar
      Linux 4.9.219 · 5188957a
      Greg Kroah-Hartman authored
      5188957a
    • Rob Clark's avatar
      drm/msm: Use the correct dma_sync calls in msm_gem · dca98889
      Rob Clark authored
      commit 3de433c5 upstream.
      
      [subject was: drm/msm: shake fist angrily at dma-mapping]
      
      So, using dma_sync_* for our cache needs works out w/ dma iommu ops, but
      it falls appart with dma direct ops.  The problem is that, depending on
      display generation, we can have either set of dma ops (mdp4 and dpu have
      iommu wired to mdss node, which maps to toplevel drm device, but mdp5
      has iommu wired up to the mdp sub-node within mdss).
      
      Fixes this splat on mdp5 devices:
      
         Unable to handle kernel paging request at virtual address ffffffff80000000
         Mem abort info:
           ESR = 0x96000144
           Exception class = DABT (current EL), IL = 32 bits
           SET = 0, FnV = 0
           EA = 0, S1PTW = 0
         Data abort info:
           ISV = 0, ISS = 0x00000144
           CM = 1, WnR = 1
         swapper pgtable: 4k pages, 48-bit VAs, pgdp=00000000810e4000
         [ffffffff80000000] pgd=0000000000000000
         Internal error: Oops: 96000144 [#1] SMP
         Modules linked in: btqcomsmd btqca bluetooth cfg80211 ecdh_generic ecc rfkill libarc4 panel_simple msm wcnss_ctrl qrtr_smd drm_kms_helper venus_enc venus_dec videobuf2_dma_sg videobuf2_memops drm venus_core ipv6 qrtr qcom_wcnss_pil v4l2_mem2mem qcom_sysmon videobuf2_v4l2 qmi_helpers videobuf2_common crct10dif_ce mdt_loader qcom_common videodev qcom_glink_smem remoteproc bmc150_accel_i2c bmc150_magn_i2c bmc150_accel_core bmc150_magn snd_soc_lpass_apq8016 snd_soc_msm8916_analog mms114 mc nf_defrag_ipv6 snd_soc_lpass_cpu snd_soc_apq8016_sbc industrialio_triggered_buffer kfifo_buf snd_soc_lpass_platform snd_soc_msm8916_digital drm_panel_orientation_quirks
         CPU: 2 PID: 33 Comm: kworker/2:1 Not tainted 5.3.0-rc2 #1
         Hardware name: Samsung Galaxy A5U (EUR) (DT)
         Workqueue: events deferred_probe_work_func
         pstate: 80000005 (Nzcv daif -PAN -UAO)
         pc : __clean_dcache_area_poc+0x20/0x38
         lr : arch_sync_dma_for_device+0x28/0x30
         sp : ffff0000115736a0
         x29: ffff0000115736a0 x28: 0000000000000001
         x27: ffff800074830800 x26: ffff000011478000
         x25: 0000000000000000 x24: 0000000000000001
         x23: ffff000011478a98 x22: ffff800009fd1c10
         x21: 0000000000000001 x20: ffff800075ad0a00
         x19: 0000000000000000 x18: ffff0000112b2000
         x17: 0000000000000000 x16: 0000000000000000
         x15: 00000000fffffff0 x14: ffff000011455d70
         x13: 0000000000000000 x12: 0000000000000028
         x11: 0000000000000001 x10: ffff00001106c000
         x9 : ffff7e0001d6b380 x8 : 0000000000001000
         x7 : ffff7e0001d6b380 x6 : ffff7e0001d6b382
         x5 : 0000000000000000 x4 : 0000000000001000
         x3 : 000000000000003f x2 : 0000000000000040
         x1 : ffffffff80001000 x0 : ffffffff80000000
         Call trace:
          __clean_dcache_area_poc+0x20/0x38
          dma_direct_sync_sg_for_device+0xb8/0xe8
          get_pages+0x22c/0x250 [msm]
          msm_gem_get_and_pin_iova+0xdc/0x168 [msm]
          ...
      
      Fixes the combination of two patches:
      
      Fixes: 0036bc73 (drm/msm: stop abusing dma_map/unmap for cache)
      Fixes: 449fa54d (dma-direct: correct the physical addr in dma_direct_sync_sg_for_cpu/device)
      Tested-by: default avatarStephan Gerhold <stephan@gerhold.net>
      Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
      [seanpaul changed subject to something more desriptive]
      Signed-off-by: default avatarSean Paul <seanpaul@chromium.org>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190730214633.17820-1-robdclark@gmail.com
      Cc: nobuhiro1.iwamatsu@toshiba.co.jp
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      dca98889
    • Hans Verkuil's avatar
      drm_dp_mst_topology: fix broken drm_dp_sideband_parse_remote_dpcd_read() · 4c1baea0
      Hans Verkuil authored
      commit a4c30a48 upstream.
      
      When parsing the reply of a DP_REMOTE_DPCD_READ DPCD command the
      result is wrong due to a missing idx increment.
      
      This was never noticed since DP_REMOTE_DPCD_READ is currently not
      used, but if you enable it, then it is all wrong.
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Reviewed-by: default avatarLyude Paul <lyude@redhat.com>
      Acked-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/e72ddac2-1dc0-100a-d816-9ac98ac009dd@xs4all.nlSigned-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      4c1baea0
    • Roger Quadros's avatar
      usb: dwc3: don't set gadget->is_otg flag · 20fefd82
      Roger Quadros authored
      commit c09b73cf upstream.
      
      This reverts
      commit 6a4290cc ("usb: dwc3: gadget: set the OTG flag in dwc3 gadget driver.")
      
      We don't yet support any of the OTG mechanisms (HNP/SRP/ADP)
      and are not setting gadget->otg_caps, so don't set gadget->is_otg
      flag.
      
      If we do then we end up publishing a OTG1.0 descriptor in
      the gadget descriptor which causes device enumeration to fail
      if we are connected to a host with CONFIG_USB_OTG enabled.
      
      Host side log without this patch
      
      [   96.720453] usb 1-1: new high-speed USB device number 2 using xhci-hcd
      [   96.901391] usb 1-1: Dual-Role OTG device on non-HNP port
      [   96.907552] usb 1-1: set a_alt_hnp_support failed: -32
      [   97.060447] usb 1-1: new high-speed USB device number 3 using xhci-hcd
      [   97.241378] usb 1-1: Dual-Role OTG device on non-HNP port
      [   97.247536] usb 1-1: set a_alt_hnp_support failed: -32
      [   97.253606] usb usb1-port1: attempt power cycle
      [   97.960449] usb 1-1: new high-speed USB device number 4 using xhci-hcd
      [   98.141383] usb 1-1: Dual-Role OTG device on non-HNP port
      [   98.147540] usb 1-1: set a_alt_hnp_support failed: -32
      [   98.300453] usb 1-1: new high-speed USB device number 5 using xhci-hcd
      [   98.481391] usb 1-1: Dual-Role OTG device on non-HNP port
      [   98.487545] usb 1-1: set a_alt_hnp_support failed: -32
      [   98.493532] usb usb1-port1: unable to enumerate USB device
      Signed-off-by: default avatarRoger Quadros <rogerq@ti.com>
      Signed-off-by: default avatarFelipe Balbi <felipe.balbi@linux.intel.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      20fefd82