1. 24 Apr, 2019 3 commits
    • Dave Airlie's avatar
      Merge tag 'drm/tegra/for-5.2-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next · 6e865c72
      Dave Airlie authored
      drm/tegra: Changes for v5.2-rc1
      
      This contains a fix for the usage of shared resets that previously
      generated a WARN on boot. In addition, there's a fix for CPU cache
      maintenance of GEM buffers allocated using get_pages().
      
      (airlied: contains a merge from a shared tegra tree)
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Thierry Reding <thierry.reding@gmail.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190418151447.9430-1-thierry.reding@gmail.com
      6e865c72
    • Dave Airlie's avatar
      Merge tag 'drm-misc-next-2019-04-18' of git://anongit.freedesktop.org/drm/drm-misc into drm-next · 8d8f6f70
      Dave Airlie authored
      drm-misc-next for v5.2:
      
      UAPI Changes:
      - Document which feature flags belong to which command in virtio_gpu.h
      - Make the FB_DAMAGE_CLIPS available for atomic userspace only, it's useless for legacy.
      
      Cross-subsystem Changes:
      - Add device tree bindings for lg,acx467akm-7 panel and ST-Ericsson Multi Channel Display Engine MCDE
      - Add parameters to the device tree bindings for tfp410
      - iommu/io-pgtable: Add ARM Mali midgard MMU page table format
      - dma-buf: Only do a 64-bits seqno compare when driver explicitly asks for it, else wraparound.
      - Use the 64-bits compare for dma-fence-chains
      
      Core Changes:
      - Make the fb conversion functions use __iomem dst.
      - Rename drm_client_add to drm_client_register
      - Move intel_fb_initial_config to core.
      - Add a drm_gem_objects_lookup helper
      - Add drm_gem_fence_array helpers, and use it in lima.
      - Add drm_format_helper.c to kerneldoc.
      
      Driver Changes:
      - Add panfrost driver for mali midgard/bitfrost.
      - Converts bochs to use the simple display type.
      - Small fixes to sun4i, tinydrm, ti-fp410.
      - Fid aspeed's Kconfig options.
      - Make some symbols/functions static in lima, sun4i and meson.
      - Add a driver for the lg,acx467akm-7 panel.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/737ad994-213d-45b5-207a-b99d795acd21@linux.intel.com
      8d8f6f70
    • Dave Airlie's avatar
      Merge tag 'drm-intel-next-2019-04-17' of git://anongit.freedesktop.org/drm/drm-intel into drm-next · b1c4f7fe
      Dave Airlie authored
      UAPI Changes:
      
      - uAPI "Fixes:" patch for the upcoming kernel 5.1, included here too
      
        We have an Ack from the media folks (only current user) for this
        late tweak
      
      Cross-subsystem Changes:
      
      - ALSA: hda: Fix racy display power access (Takashi, Chris)
      
      Driver Changes:
      
      - DDI and MIPI-DSI clocks fixes for Icelake (Vandita)
      - Fix Icelake frequency change/locking (RPS) (Mika)
      - Temporarily disable ppGTT read-only bit on Icelake (Mika)
      - Add missing Icelake W/As (Mika)
      - Enable 12 deep CSB status FIFO on Icelake (Mika)
      - Inherit more Icelake code for Elkhartlake (Bob, Jani)
      
      - Handle catastrophic error on engine reset (Mika)
      - Shortcut readiness to reset check (Mika)
      - Regression fix for GEM_BUSY causing us to report a mixed uabi-class request as not busy (Chris)
      - Revert back to max link rate and lane count on eDP (Jani)
      - Fix pipe BPP readout for BXT/GLK DSI (Ville)
      - Set DP min_bpp to 8*3 for non-RGB output formats (Ville)
      - Enable coarse preemption boundaries for Gen8 (Chris)
      - Do not enable FEC without DSC (Ville)
      - Restore correct BXT DDI latency optim setting calculation (Ville)
      - Always reset context's RING registers to avoid running workload twice during reset (Chris)
      - Set GPU wedged on driver unload (Janusz)
      - Consolidate two similar barries from timeline into one (Chris)
      - Only reset the pinned kernel contexts on resume (Chris)
      - Wakeref tracking improvements (Chris, Imre)
      - Lockdep fixes for shrinker interactions (Chris)
      - Bump ready tasks ahead of busywaits in prep of semaphore use (Chris)
      
      - Huge step in splitting display code into fine grained files (Jani)
      - Refactor the IRQ init/reset macros for code saving (Paulo)
      - Convert IRQ initialization code to uncore MMIO access (Paulo)
      - Convert workarounds code to use uncore MMIO access (Chris)
      - Nuke drm_crtc_state and use intel_atomic_state instead (Manasi)
      - Update SKL clock-gating WA (Radhakrishna, Ville)
      - Isolate GuC reset code flow (Chris)
      - Expose force_dsc_enable through debugfs (Manasi)
      - Header standalone compile testing framework (Jani)
      - Code cleanups to reduce driver footprint (Chris)
      - PSR code fixes and cleanups (Jose)
      - Sparse and kerneldoc updates (Chris)
      - Suppress spurious combo PHY B warning (Vile)
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190418080426.GA6409@jlahtine-desk.ger.corp.intel.com
      b1c4f7fe
  2. 23 Apr, 2019 1 commit
  3. 18 Apr, 2019 1 commit
    • Dmitry Osipenko's avatar
      drm/tegra: gem: Fix CPU-cache maintenance for BO's allocated using get_pages() · 61b51fb5
      Dmitry Osipenko authored
      The allocated pages need to be invalidated in CPU caches. On ARM32 the
      DMA_BIDIRECTIONAL flag only ensures that data is written-back to DRAM and
      the data stays in CPU cache lines. While the DMA_FROM_DEVICE flag ensures
      that the corresponding CPU cache lines are getting invalidated and nothing
      more, that's exactly what is needed for a newly allocated pages.
      
      This fixes randomly failing rendercheck tests on Tegra30 using the
      Opentegra driver for tests that use small-sized pixmaps (10x10 and less,
      i.e. 1-2 memory pages) because apparently CPU reads out stale data from
      caches and/or that data is getting evicted to DRAM at the time of HW job
      execution.
      
      Fixes: bd43c9f0 ("drm/tegra: gem: Map pages via the DMA API")
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: default avatarDmitry Osipenko <digetx@gmail.com>
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      61b51fb5
  4. 17 Apr, 2019 13 commits
  5. 16 Apr, 2019 16 commits
  6. 15 Apr, 2019 3 commits
  7. 14 Apr, 2019 3 commits
    • Linus Torvalds's avatar
      Linux 5.1-rc5 · dc4060a5
      Linus Torvalds authored
      dc4060a5
    • Linus Torvalds's avatar
      Merge branch 'page-refs' (page ref overflow) · 6b3a7077
      Linus Torvalds authored
      Merge page ref overflow branch.
      
      Jann Horn reported that he can overflow the page ref count with
      sufficient memory (and a filesystem that is intentionally extremely
      slow).
      
      Admittedly it's not exactly easy.  To have more than four billion
      references to a page requires a minimum of 32GB of kernel memory just
      for the pointers to the pages, much less any metadata to keep track of
      those pointers.  Jann needed a total of 140GB of memory and a specially
      crafted filesystem that leaves all reads pending (in order to not ever
      free the page references and just keep adding more).
      
      Still, we have a fairly straightforward way to limit the two obvious
      user-controllable sources of page references: direct-IO like page
      references gotten through get_user_pages(), and the splice pipe page
      duplication.  So let's just do that.
      
      * branch page-refs:
        fs: prevent page refcount overflow in pipe_buf_get
        mm: prevent get_user_pages() from overflowing page refcount
        mm: add 'try_get_page()' helper function
        mm: make page ref count overflow check tighter and more explicit
      6b3a7077
    • Matthew Wilcox's avatar
      fs: prevent page refcount overflow in pipe_buf_get · 15fab63e
      Matthew Wilcox authored
      Change pipe_buf_get() to return a bool indicating whether it succeeded
      in raising the refcount of the page (if the thing in the pipe is a page).
      This removes another mechanism for overflowing the page refcount.  All
      callers converted to handle a failure.
      Reported-by: default avatarJann Horn <jannh@google.com>
      Signed-off-by: default avatarMatthew Wilcox <willy@infradead.org>
      Cc: stable@kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      15fab63e