1. 29 Jun, 2018 14 commits
  2. 28 Jun, 2018 19 commits
  3. 27 Jun, 2018 7 commits
    • Shirish S's avatar
      drm/amd/display: release spinlock before committing updates to stream · 4de9f38b
      Shirish S authored
      Currently, amdgpu_do_flip() spinlocks crtc->dev->event_lock and
      releases it only after committing updates to the stream.
      
      dc_commit_updates_for_stream() should be moved out of
      spinlock for the below reasons:
      
      1. event_lock is supposed to protect access to acrct->pflip_status _only_
      2. dc_commit_updates_for_stream() has potential sleep's
         and also its not appropriate to be  in an atomic state
         for such long sequences of code.
      Signed-off-by: default avatarShirish S <shirish.s@amd.com>
      Suggested-by: default avatarAndrey Grodzovsky <andrey.grodzovsky@amd.com>
      Reviewed-by: default avatarMichel Dänzer <michel.daenzer@amd.com>
      Reviewed-by: default avatarHarry Wentland <harry.wentland@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      4de9f38b
    • James Zhu's avatar
      drm/amdgpu:Support new VCN FW version naming convention · 62d5b8e3
      James Zhu authored
      Support new VCN FW version naming convention:
        [31, 28] for VEP interface major version if applicable
        [27, 24] for decode interface major version
        [23, 20] for encode interface major version
        [19, 12] for encode interface minor version
        [11, 0]  for firmware revision
      Bit 20-23, it is encode major and non-zero for new naming convention.
      This field is part of version minor and DRM_DISABLED_FLAG in old naming
      convention. Since the latest version minor is 0x5B and DRM_DISABLED_FLAG
      is zero in old naming convention, this field is always zero so far.
      These four bits are used to tell which naming convention is present.
      Signed-off-by: default avatarJames Zhu <James.Zhu@amd.com>
      Reviewed-by: default avatarFang, Peter <Peter.Fang@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      62d5b8e3
    • Leo Liu's avatar
      drm/amdgpu: fix UBSAN: Undefined behaviour for amdgpu_fence.c · d9e98ee2
      Leo Liu authored
      Here is the UBSAN dump:
      
      [    3.866656] index 2 is out of range for type 'amdgpu_uvd_inst [2]'
      [    3.866693] Workqueue: events work_for_cpu_fn
      [    3.866702] Call Trace:
      [    3.866710]  dump_stack+0x85/0xc5
      [    3.866719]  ubsan_epilogue+0x9/0x40
      [    3.866727]  __ubsan_handle_out_of_bounds+0x89/0x90
      [    3.866737]  ? rcu_read_lock_sched_held+0x58/0x60
      [    3.866746]  ? __kmalloc+0x26c/0x2d0
      [    3.866846]  amdgpu_fence_driver_start_ring+0x259/0x280 [amdgpu]
      [    3.866896]  amdgpu_ring_init+0x12c/0x710 [amdgpu]
      [    3.866906]  ? sprintf+0x42/0x50
      [    3.866956]  amdgpu_gfx_kiq_init_ring+0x1bc/0x3a0 [amdgpu]
      [    3.867009]  gfx_v8_0_sw_init+0x1ad3/0x2360 [amdgpu]
      [    3.867062]  ? smu7_init+0xec/0x160 [amdgpu]
      [    3.867109]  amdgpu_device_init+0x112c/0x1dc0 [amdgpu]
      
      'ring->me' might be set as 2 with 'amdgpu_gfx_kiq_init_ring', that would
      cause out of range for 'amdgpu_uvd_inst[2]'.
      
      v2: simplified with ring type
      Signed-off-by: default avatarLeo Liu <leo.liu@amd.com>
      Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      d9e98ee2
    • Linus Torvalds's avatar
      Merge tag 'xfs-4.18-fixes-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · f5749432
      Linus Torvalds authored
      Pull xfs fixes from Darrick Wong:
       "Here are some patches for 4.18 to fix regressions, accounting
        problems, overflow problems, and to strengthen metadata validation to
        prevent corruption.
      
        This series has been run through a full xfstests run over the weekend
        and through a quick xfstests run against this morning's master, with
        no major failures reported.
      
        Changes since last update:
      
         - more metadata validation strengthening to prevent crashes.
      
         - fix extent offset overflow problem when insert_range on a 512b
           block fs
      
         - fix some off-by-one errors in the realtime fsmap code
      
         - fix some math errors in the default resblks calculation when free
           space is low
      
         - fix a problem where stale page contents are exposed via mmap read
           after a zero_range at eof
      
         - fix accounting problems with per-ag reservations causing statfs
           reports to vary incorrectly"
      
      * tag 'xfs-4.18-fixes-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: fix fdblocks accounting w/ RMAPBT per-AG reservation
        xfs: ensure post-EOF zeroing happens after zeroing part of a file
        xfs: fix off-by-one error in xfs_rtalloc_query_range
        xfs: fix uninitialized field in rtbitmap fsmap backend
        xfs: recheck reflink state after grabbing ILOCK_SHARED for a write
        xfs: don't allow insert-range to shift extents past the maximum offset
        xfs: don't trip over negative free space in xfs_reserve_blocks
        xfs: allow empty transactions while frozen
        xfs: xfs_iflush_abort() can be called twice on cluster writeback failure
        xfs: More robust inode extent count validation
        xfs: simplify xfs_bmap_punch_delalloc_range
      f5749432
    • Timur Tabi's avatar
      MAINTAINERS: Timur has a kernel.org address · 0e49740c
      Timur Tabi authored
      Timur Tabi no longer works for Qualcomm, and he now has a kernel.org
      email address, so update MAINTAINERS accordingly.
      Signed-off-by: default avatarTimur Tabi <timur@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0e49740c
    • Will Deacon's avatar
      arm64: Remove unnecessary ISBs from set_{pte,pmd,pud} · 24fe1b0e
      Will Deacon authored
      Commit 7f0b1bf0 ("arm64: Fix barriers used for page table modifications")
      fixed a reported issue with fixmap page-table entries not being visible
      to the walker due to a missing DSB instruction. At the same time, it added
      ISB instructions to the arm64 set_{pte,pmd,pud} functions, which are not
      required by the architecture and make little sense in isolation.
      
      Remove the redundant ISBs.
      Acked-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Acked-by: default avatarMark Rutland <mark.rutland@arm.com>
      Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      24fe1b0e
    • Will Deacon's avatar
      arm64: Avoid flush_icache_range() in alternatives patching code · 42938868
      Will Deacon authored
      The implementation of flush_icache_range() includes instruction sequences
      which are themselves patched at runtime, so it is not safe to call from
      the patching framework.
      
      This patch reworks the alternatives cache-flushing code so that it rolls
      its own internal D-cache maintenance using DC CIVAC before invalidating
      the entire I-cache after all alternatives have been applied at boot.
      Modules don't cause any issues, since flush_icache_range() is safe to
      call by the time they are loaded.
      Acked-by: default avatarMark Rutland <mark.rutland@arm.com>
      Reported-by: default avatarRohit Khanna <rokhanna@nvidia.com>
      Cc: Alexander Van Brunt <avanbrunt@nvidia.com>
      Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      42938868