Skip to content
Snippets Groups Projects
  1. Jan 10, 2023
  2. Dec 08, 2022
  3. Nov 16, 2022
  4. Nov 10, 2022
    • Andrew Davis's avatar
      drm: Move radeon and amdgpu Kconfig options into their directories · cb20d650
      Andrew Davis authored
      
      Most Kconfig options to enable a driver are in the Kconfig file
      inside the relevant directory, move these two to the same.
      
      Signed-off-by: default avatarAndrew Davis <afd@ti.com>
      Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      cb20d650
    • Takashi Iwai's avatar
      drm/radeon: Add HD-audio component notifier support (v6) · 20ea3471
      Takashi Iwai authored
      This patch adds the support for the notification of HD-audio hotplug
      via the already existing drm_audio_component framework to radeon
      driver.  This allows us more reliable hotplug notification and ELD
      transfer without accessing HD-audio bus; it's more efficient, and more
      importantly, it works without waking up the runtime PM.
      
      The implementation is rather simplistic: radeon driver provides the
      get_eld ops for HD-audio, and it notifies the audio hotplug via
      pin_eld_notify callback upon each radeon_audio_enable() call.
      The pin->id is referred as the port number passed to the notifier
      callback, and the corresponding connector is looked through the
      encoder list in the get_eld callback in turn.
      
      The bind and unbind callbacks handle the device-link so that it
      assures the PM call order.
      
      Also, as a gratis bonus, this patch "fixes" the regression by the
      recent change in HD-audio to be more strict for the HDMI/DP
      connection, too.  Since the HD-audio HDMI/DP codec requires both the
      connection bit and the valid ELD to be provided, it started failing on
      some RADEON gfx boards where the ELD update performed instably.  As
      this change switches the communication to a direct way between the
      audio and the graphics drivers, now the system receives the proper
      ELD, and the HDMI/DP hotplug starts working again.
      
      [ v2: fix the logic in radeon_audio_component_get_eld to walk the
        connector list since that is where the EDID lives and we can
        derive the encoder from the connector because the encoder has
        not been assigned at this point (i.e., during monitor probe).
      
        v3: the component binding is moved outside radeon_audio_init() and
        _fini(), as those are called from suspend/resume, too.
        Drop modeset lock calls that caused Oops.
        Moved Kconfig change so that it can be applied on older kernels.
      
        v4: revive drm_modeset_lock*() again, add the missing
        device_link_remove() call at unbinding
      
        v5: squash in mutex fix
      
        v6: squash in fix for audio get_eld callback ]
      
      Link: https://gitlab.freedesktop.org/drm/amd/-/issues/1569
      
      
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      20ea3471
  5. Sep 24, 2022
  6. Aug 26, 2022
    • Randy Dunlap's avatar
      drm: fix drm_mipi_dbi build errors · eb7de496
      Randy Dunlap authored
      
      drm_mipi_dbi needs lots of DRM_KMS_HELPER support, so select
      that Kconfig symbol like it is done is most other uses, and
      the way that it was before MIPS_DBI was moved from tinydrm
      to its core location.
      
      Fixes these build errors:
      
      ld: drivers/gpu/drm/drm_mipi_dbi.o: in function `mipi_dbi_buf_copy':
      drivers/gpu/drm/drm_mipi_dbi.c:205: undefined reference to `drm_gem_fb_get_obj'
      ld: drivers/gpu/drm/drm_mipi_dbi.c:211: undefined reference to `drm_gem_fb_begin_cpu_access'
      ld: drivers/gpu/drm/drm_mipi_dbi.c:215: undefined reference to `drm_gem_fb_vmap'
      ld: drivers/gpu/drm/drm_mipi_dbi.c:222: undefined reference to `drm_fb_swab'
      ld: drivers/gpu/drm/drm_mipi_dbi.c:224: undefined reference to `drm_fb_memcpy'
      ld: drivers/gpu/drm/drm_mipi_dbi.c:227: undefined reference to `drm_fb_xrgb8888_to_rgb565'
      ld: drivers/gpu/drm/drm_mipi_dbi.c:235: undefined reference to `drm_gem_fb_vunmap'
      ld: drivers/gpu/drm/drm_mipi_dbi.c:237: undefined reference to `drm_gem_fb_end_cpu_access'
      ld: drivers/gpu/drm/drm_mipi_dbi.o: in function `mipi_dbi_dev_init_with_formats':
      ld: drivers/gpu/drm/drm_mipi_dbi.o:/X64/../drivers/gpu/drm/drm_mipi_dbi.c:469: undefined reference to `drm_gem_fb_create_with_dirty'
      
      Fixes: 174102f4 ("drm/tinydrm: Move mipi-dbi")
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Cc: Dillon Min <dillon.minfei@gmail.com>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Cc: Noralf Trønnes <noralf@tronnes.org>
      Cc: Thomas Zimmermann <tzimmermann@suse.de>
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Cc: dri-devel@lists.freedesktop.org
      Cc: David Airlie <airlied@linux.ie>
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220823004243.11596-1-rdunlap@infradead.org
      eb7de496
  7. Aug 25, 2022
    • Hans de Goede's avatar
      drm/radeon: Don't register backlight when another backlight should be used (v3) · 1eb67781
      Hans de Goede authored
      
      Before this commit when we want userspace to use the acpi_video backlight
      device we register both the GPU's native backlight device and acpi_video's
      firmware acpi_video# backlight device. This relies on userspace preferring
      firmware type backlight devices over native ones.
      
      Registering 2 backlight devices for a single display really is
      undesirable, don't register the GPU's native backlight device when
      another backlight device should be used.
      
      Changes in v2:
      - To avoid linker errors when amdgpu is builtin and video_detect.c is in
        a module, select ACPI_VIDEO and its deps if ACPI is enabled.
        When ACPI is disabled, ACPI_VIDEO is also always disabled, ensuring
        the stubs from acpi/video.h will be used.
      
      Changes in v3:
      - Use drm_info(drm_dev, "...") to log messages
      - ACPI_VIDEO can now be enabled on non X86 too,
        adjust the Kconfig changes to match this.
      
      Acked-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      1eb67781
    • Hans de Goede's avatar
      drm/amdgpu: Don't register backlight when another backlight should be used (v3) · da11ef83
      Hans de Goede authored
      
      Before this commit when we want userspace to use the acpi_video backlight
      device we register both the GPU's native backlight device and acpi_video's
      firmware acpi_video# backlight device. This relies on userspace preferring
      firmware type backlight devices over native ones.
      
      Registering 2 backlight devices for a single display really is
      undesirable, don't register the GPU's native backlight device when
      another backlight device should be used.
      
      Changes in v2:
      - To avoid linker errors when amdgpu is builtin and video_detect.c is in
        a module, select ACPI_VIDEO and its deps if ACPI is enabled.
        When ACPI is disabled, ACPI_VIDEO is also always disabled, ensuring
        the stubs from acpi/video.h will be used.
      
      Changes in v3:
      - Use drm_info(drm_dev, "...") to log messages
      - ACPI_VIDEO can now be enabled on non X86 too,
        adjust the Kconfig changes to match this.
      
      Acked-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      da11ef83
  8. Aug 03, 2022
    • Danilo Krummrich's avatar
      drm/gem: rename GEM CMA helpers to GEM DMA helpers · 4a83c26a
      Danilo Krummrich authored
      
      Rename "GEM CMA" helpers to "GEM DMA" helpers - considering the
      hierarchy of APIs (mm/cma -> dma -> gem dma) calling them "GEM
      DMA" seems to be more applicable.
      
      Besides that, commit e57924d4 ("drm/doc: Task to rename CMA helpers")
      requests to rename the CMA helpers and implies that people seem to be
      confused about the naming.
      
      In order to do this renaming the following script was used:
      
      ```
      	#!/bin/bash
      
      	DIRS="drivers/gpu include/drm Documentation/gpu"
      
      	REGEX_SYM_UPPER="[0-9A-Z_\-]"
      	REGEX_SYM_LOWER="[0-9a-z_\-]"
      
      	REGEX_GREP_UPPER="(${REGEX_SYM_UPPER}*)(GEM)_CMA_(${REGEX_SYM_UPPER}*)"
      	REGEX_GREP_LOWER="(${REGEX_SYM_LOWER}*)(gem)_cma_(${REGEX_SYM_LOWER}*)"
      
      	REGEX_SED_UPPER="s/${REGEX_GREP_UPPER}/\1\2_DMA_\3/g"
      	REGEX_SED_LOWER="s/${REGEX_GREP_LOWER}/\1\2_dma_\3/g"
      
      	# Find all upper case 'CMA' symbols and replace them with 'DMA'.
      	for ff in $(grep -REHl "${REGEX_GREP_UPPER}" $DIRS)
      	do
      	       sed -i -E "$REGEX_SED_UPPER" $ff
      	done
      
      	# Find all lower case 'cma' symbols and replace them with 'dma'.
      	for ff in $(grep -REHl "${REGEX_GREP_LOWER}" $DIRS)
      	do
      	       sed -i -E "$REGEX_SED_LOWER" $ff
      	done
      
      	# Replace all occurrences of 'CMA' / 'cma' in comments and
      	# documentation files with 'DMA' / 'dma'.
      	for ff in $(grep -RiHl " cma " $DIRS)
      	do
      		sed -i -E "s/ cma / dma /g" $ff
      		sed -i -E "s/ CMA / DMA /g" $ff
      	done
      
      	# Rename all 'cma_obj's to 'dma_obj'.
      	for ff in $(grep -RiHl "cma_obj" $DIRS)
      	do
      		sed -i -E "s/cma_obj/dma_obj/g" $ff
      	done
      ```
      
      Only a few more manual modifications were needed, e.g. reverting the
      following modifications in some DRM Kconfig files
      
          -       select CMA if HAVE_DMA_CONTIGUOUS
          +       select DMA if HAVE_DMA_CONTIGUOUS
      
      as well as manually picking the occurrences of 'CMA'/'cma' in comments and
      documentation which relate to "GEM CMA", but not "FB CMA".
      
      Also drivers/gpu/drm/Makefile was fixed up manually after renaming
      drm_gem_cma_helper.c to drm_gem_dma_helper.c.
      
      This patch is compile-time tested building a x86_64 kernel with
      `make allyesconfig && make drivers/gpu/drm`.
      
      Acked-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Acked-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
      Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: default avatarDanilo Krummrich <dakr@redhat.com>
      Reviewed-by: Liviu Dudau <liviu.dudau@arm.com> #drivers/gpu/drm/arm
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220802000405.949236-4-dakr@redhat.com
      4a83c26a
  9. Jul 11, 2022
  10. Jul 08, 2022
  11. Jun 27, 2022
  12. Jun 09, 2022
    • Paul Kocialkowski's avatar
      drm: Add support for the LogiCVC display controller · efeeaefe
      Paul Kocialkowski authored
      
      Introduces a driver for the LogiCVC display controller, a programmable
      logic controller optimized for use in Xilinx Zynq-7000 SoCs and other
      Xilinx FPGAs. The controller is mostly configured at logic synthesis
      time so only a subset of configuration is left for the driver to
      handle.
      
      The following features are implemented and tested:
      - LVDS 4-bit interface;
      - RGB565 pixel formats;
      - Multiple layers and hardware composition;
      - Layer-wide alpha mode;
      
      The following features are implemented but untested:
      - Other RGB pixel formats;
      - Layer framebuffer configuration for version 4;
      - Lowest-layer used as background color;
      - Per-pixel alpha mode.
      
      The following features are not implemented:
      - YUV pixel formats;
      - DVI, LVDS 3-bit, ITU656 and camera link interfaces;
      - External parallel input for layer;
      - Color-keying;
      - LUT-based alpha modes.
      
      Additional implementation-specific notes:
      - Panels are only enabled after the first page flip to avoid flashing a
        white screen.
      - Depth used in context of the LogiCVC driver only counts color components
        to match the definition of the synthesis parameters.
      
      Support is implemented for both version 3 and 4 of the controller.
      
      With version 3, framebuffers are stored in a dedicated contiguous
      memory area, with a base address hardcoded for each layer. This requires
      using a dedicated CMA pool registered at the base address and tweaking a
      few offset-related registers to try to use any buffer allocated from
      the pool. This is done on a best-effort basis to have the hardware cope
      with the DRM framebuffer allocation model and there is no guarantee
      that each buffer allocated by GEM CMA can be used for any layer.
      In particular, buffers allocated below the base address for a layer are
      guaranteed not to be configurable for that layer. See the implementation of
      logicvc_layer_buffer_find_setup for specifics.
      
      Version 4 allows configuring each buffer address directly, which
      guarantees that any buffer can be configured.
      
      Signed-off-by: default avatarPaul Kocialkowski <paul.kocialkowski@bootlin.com>
      Reviewed-by: default avatarMaxime Ripard <mripard@kernel.org>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220520141555.1429041-2-paul.kocialkowski@bootlin.com
      efeeaefe
  13. Apr 25, 2022
  14. Apr 08, 2022
    • Arunpravin Paneer Selvam's avatar
      drm/amdgpu: add drm buddy support to amdgpu · c9cad937
      Arunpravin Paneer Selvam authored
      
      - Switch to drm buddy allocator
      - Add resource cursor support for drm buddy
      
      v2(Matthew Auld):
        - replace spinlock with mutex as we call kmem_cache_zalloc
          (..., GFP_KERNEL) in drm_buddy_alloc() function
      
        - lock drm_buddy_block_trim() function as it calls
          mark_free/mark_split are all globally visible
      
      v3(Matthew Auld):
        - remove trim method error handling as we address the failure case
          at drm_buddy_block_trim() function
      
      v4:
        - fix warnings reported by kernel test robot <lkp@intel.com>
      
      v5:
        - fix merge conflict issue
      
      v6:
        - fix warnings reported by kernel test robot <lkp@intel.com>
      
      v7:
        - remove DRM_BUDDY_RANGE_ALLOCATION flag usage
      
      v8:
        - keep DRM_BUDDY_RANGE_ALLOCATION flag usage
        - resolve conflicts created by drm/amdgpu: remove VRAM accounting v2
      
      v9(Christian):
        - merged the below patch
           - drm/amdgpu: move vram inline functions into a header
        - rename label name as fallback
        - move struct amdgpu_vram_mgr to amdgpu_vram_mgr.h
        - remove unnecessary flags from struct amdgpu_vram_reservation
        - rewrite block NULL check condition
        - change else style as per coding standard
        - rewrite the node max size
        - add a helper function to fetch the first entry from the list
      
      v10(Christian):
         - rename amdgpu_get_node() function name as amdgpu_vram_mgr_first_block
      
      v11:
         - if size is not aligned with min_page_size, enable is_contiguous flag,
           therefore, the size round up to the power of two and trimmed to the
           original size.
      v12:
         - rename the function names having prefix as amdgpu_vram_mgr_*()
         - modify the round_up() logic conforming to contiguous flag enablement
           or if size is not aligned to min_block_size
         - modify the trim logic
         - rename node as block wherever applicable
      
      Signed-off-by: default avatarArunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
      Acked-by: default avatarChristian König <christian.koenig@amd.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220407224843.2416-1-Arunpravin.PaneerSelvam@amd.com
      
      
      Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
      c9cad937
  15. Feb 23, 2022
  16. Feb 16, 2022
  17. Jan 19, 2022
  18. Jan 17, 2022
  19. Dec 10, 2021
  20. Nov 30, 2021
  21. Nov 27, 2021
  22. Nov 05, 2021
  23. Oct 22, 2021
  24. Oct 14, 2021
    • Hans de Goede's avatar
      drm: Add privacy-screen class (v4) · a1a98689
      Hans de Goede authored
      
      On some new laptops the LCD panel has a builtin electronic privacy-screen.
      We want to export this functionality as a property on the drm connector
      object. But often this functionality is not exposed on the GPU but on some
      other (ACPI) device.
      
      This commit adds a privacy-screen class allowing the driver for these
      other devices to register themselves as a privacy-screen provider; and
      allowing the drm/kms code to get a privacy-screen provider associated
      with a specific GPU/connector combo.
      
      Changes in v2:
      - Make CONFIG_DRM_PRIVACY_SCREEN a bool which controls if the drm_privacy
        code gets built as part of the main drm module rather then making it
        a tristate which builds its own module.
      - Add a #if IS_ENABLED(CONFIG_DRM_PRIVACY_SCREEN) check to
        drm_privacy_screen_consumer.h and define stubs when the check fails.
        Together these 2 changes fix several dependency issues.
      - Remove module related code now that this is part of the main drm.ko
      - Use drm_class as class for the privacy-screen devices instead of
        adding a separate class for this
      
      Changes in v3:
      - Make the static inline drm_privacy_screen_get_state() stub set sw_state
        and hw_state to PRIVACY_SCREEN_DISABLED to squelch an uninitialized
        variable warning when CONFIG_DRM_PRIVICAY_SCREEN is not set
      
      Changes in v4:
      - Make drm_privacy_screen_set_sw_state() skip calling out to the hw if
        hw_state == new_sw_state
      
      Reviewed-by: default avatarEmil Velikov <emil.l.velikov@gmail.com>
      Reviewed-by: default avatarLyude Paul <lyude@redhat.com>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20211005202322.700909-3-hdegoede@redhat.com
      a1a98689
  25. Oct 13, 2021
    • Jani Nikula's avatar
      drm/locking: add backtrace for locking contended locks without backoff · cd06ab2f
      Jani Nikula authored
      If drm_modeset_lock() returns -EDEADLK, the caller is supposed to drop
      all currently held locks using drm_modeset_backoff(). Failing to do so
      will result in warnings and backtraces on the paths trying to lock a
      contended lock. Add support for optionally printing the backtrace on the
      path that hit the deadlock and didn't gracefully handle the situation.
      
      For example, the patch [1] inadvertently dropped the return value check
      and error return on replacing calc_watermark_data() with
      intel_compute_global_watermarks(). The backtraces on the subsequent
      locking paths hitting WARN_ON(ctx->contended) were unhelpful, but adding
      the backtrace to the deadlock path produced this helpful printout:
      
      <7> [98.002465] drm_modeset_lock attempting to lock a contended lock without backoff:
         drm_modeset_lock+0x107/0x130
         drm_atomic_get_plane_state+0x76/0x150
         skl_compute_wm+0x251d/0x2b20 [i915]
         intel_atomic_check+0x1942/0x29e0 [i915]
         drm_atomic_check_only+0x554/0x910
         drm_atomic_nonblocking_commit+0xe/0x50
         drm_mode_atomic_ioctl+0x8c2/0xab0
         drm_ioctl_kernel+0xac/0x140
      
      Add new CONFIG_DRM_DEBUG_MODESET_LOCK to enable modeset lock debugging
      with stack depot and trace.
      
      [1] https://lore.kernel.org/r/20210924114741.15940-4-jani.nikula@intel.com
      
      
      
      v2:
      - default y if DEBUG_WW_MUTEX_SLOWPATH (Daniel)
      - depends on DEBUG_KERNEL
      
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Cc: Dave Airlie <airlied@gmail.com>
      Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20211001091444.8177-1-jani.nikula@intel.com
      cd06ab2f
  26. Oct 01, 2021
  27. Aug 26, 2021
  28. Aug 18, 2021
  29. Aug 12, 2021
    • Simona Vetter's avatar
      drm/vgem: use shmem helpers · 45d9c8dd
      Simona Vetter authored
      
      Aside from deleting lots of code the real motivation here is to switch
      the mmap over to VM_PFNMAP, to be more consistent with what real gpu
      drivers do. They're all VM_PFNMAP, which means get_user_pages doesn't
      work, and even if you try and there's a struct page behind that,
      touching it and mucking around with its refcount can upset drivers
      real bad.
      
      v2: Review from Thomas:
      - sort #include
      - drop more dead code that I didn't spot somehow
      
      v3: select DRM_GEM_SHMEM_HELPER to make it build (intel-gfx-ci)
      
      v4: I got tricked by 0cf2ef46 ("drm/shmem-helper: Use cached
      mappings by default"), and we need WC in vgem because vgem doesn't
      have explicit begin/end cpu access ioctls.
      
      Also add a comment why exactly vgem has to use wc.
      
      v5: Don't set obj->base.funcs, it will default to drm_gem_shmem_funcs
      (Thomas)
      
      v6: vgem also needs an MMU for remapping
      
      v7: I absolutely butchered the rebases over the vgem mmap change and
      revert and broke the patch. Actually go back to v6 from before the
      vgem mmap changes.
      
      Cc: Thomas Zimmermann <tzimmermann@suse.de>
      Acked-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
      Cc: John Stultz <john.stultz@linaro.org>
      Cc: Sumit Semwal <sumit.semwal@linaro.org>
      Cc: "Christian König" <christian.koenig@amd.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      Cc: Melissa Wen <melissa.srw@gmail.com>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210812131412.2487363-4-daniel.vetter@ffwll.ch
      45d9c8dd
    • Simona Vetter's avatar
      drm/shmem-helper: Switch to vmf_insert_pfn · 8b93d1d7
      Simona Vetter authored
      
      We want to stop gup, which isn't the case if we use vmf_insert_page
      and VM_MIXEDMAP, because that does not set pte_special.
      
      The motivation here is to stop get_user_pages from working on buffer
      object mmaps in general. Quoting some discussion with Thomas:
      
      On Thu, Jul 22, 2021 at 08:22:43PM +0200, Thomas Zimmermann wrote:
      > Am 13.07.21 um 22:51 schrieb Daniel Vetter:
      > > We want to stop gup, which isn't the case if we use vmf_insert_page
      >
      > What is gup?
      
      get_user_pages. It pins memory wherever it is, which badly wreaks at least
      ttm and could also cause trouble with cma allocations. In both cases
      becaue we can't move/reuse these pages anymore.
      
      Now get_user_pages fails when the memory isn't considered "normal", like
      with VM_PFNMAP and using vm_insert_pfn. For consistency across all dma-buf
      I'm trying (together with Christian König) to roll this out everywhere,
      for fewer surprises.
      
      E.g. for 5.14 iirc we merged a patch to do the same for ttm, where it
      closes an actual bug (ttm gets really badly confused when there's suddenly
      pinned pages where it thought it can move them).
      
      cma allcoations already use VM_PFNMAP (because that's what dma_mmap is
      using underneath), as is anything that's using remap_pfn_range. Worst case
      we have to revert this patch for shmem helpers if it breaks something, but
      I hope that's not the case. On the ttm side we've also had some fallout
      that we needed to paper over with clever tricks.
      v2: With this shmem gem helpers now definitely need CONFIG_MMU (0day)
      
      v3: add more depends on MMU. For usb drivers this is a bit awkward,
      but really it's correct: To be able to provide a contig mapping of
      buffers to userspace on !MMU platforms we'd need to use the cma
      helpers for these drivers on those platforms. As-is this wont work.
      
      Also not exactly sure why vm_insert_page doesn't go boom, because that
      definitely wont fly in practice since the pages are non-contig to
      begin with.
      
      v4: Explain the entire motivation a lot more (Thomas)
      
      Acked-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Cc: Maxime Ripard <mripard@kernel.org>
      Cc: Thomas Zimmermann <tzimmermann@suse.de>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210812131412.2487363-2-daniel.vetter@ffwll.ch
      8b93d1d7
  30. Jul 05, 2021
  31. Jun 11, 2021
  32. Jun 07, 2021
  33. Jun 03, 2021
  34. May 26, 2021
Loading