1. 19 Dec, 2023 9 commits
    • Francois Dugast's avatar
      drm/xe: Use global macros to set PM functions · 8375e58c
      Francois Dugast authored
      This aligns with other drivers and fixes build failure when
      CONFIG_PM_SLEEP is not set, such as on RISC-V.
      Signed-off-by: default avatarFrancois Dugast <francois.dugast@intel.com>
      Reviewed-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      8375e58c
    • Mauro Carvalho Chehab's avatar
      drm/xe: skip Kunit tests requiring real hardware when running on UML · a93bcc3a
      Mauro Carvalho Chehab authored
      Some tests are meant to run only on real hardware. Skip those,
      if no device was found.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
      Reviewed-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
      Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      a93bcc3a
    • Rodrigo Vivi's avatar
      drm/xe/guc_pc: Fix Meteor Lake registers. · b3ab1b91
      Rodrigo Vivi authored
      When adding the frequency management, Meteor Lake platform
      was left behind. Handling it properly now.
      Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      Reviewed-by: default avatarMatthew Brost <matthew.brost@intel.com>
      Cc: Francois Dugast <francois.dugast@intel.com>
      Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      b3ab1b91
    • Philippe Lecluse's avatar
      drm/xe: Fix Meteor Lake rsa issue on guc loading · 6c8c1e74
      Philippe Lecluse authored
      [  117.901473] xe 0000:00:02.0: [drm] GuC load failed: status = 0x400000A0
      [  117.901506] xe 0000:00:02.0: [drm] GuC load failed: status: Reset = 0, BootROM = 0x50, UKernel = 0x00, MIA = 0x00, Auth = 0x01
      Signed-off-by: default avatarPhilippe Lecluse <philippe.lecluse@intel.com>
      Reviewed-by: default avatarMatthew Brost <matthew.brost@intel.com>
      Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      6c8c1e74
    • Balasubramani Vivekanandan's avatar
      drm/xe/gt: Enable interrupt while initializing root gt · 9484c7dc
      Balasubramani Vivekanandan authored
      At present the interrupts are enabled while initializing the last GT.
      But this is incorrect for a Multi-GT platform, as root GT initialization
      will fail with interrupt disabled. Interrupts are required for
      the GuC submission triggered during initialization.
      Enable the interrupt during the root GT initialization.
      Signed-off-by: default avatarBalasubramani Vivekanandan <balasubramani.vivekanandan@intel.com>
      Reviewed-by: default avatarMatthew Brost <matthew.brost@intel.com>
      Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      9484c7dc
    • Mauro Carvalho Chehab's avatar
      drm/xe: KUnit tests depend on CONFIG_DRM_FBDEV_EMULATION · a4c75c0f
      Mauro Carvalho Chehab authored
      ERROR:root:../drivers/gpu/drm/xe/display/intel_fbdev.c:585:5: error: redefinition of ‘intel_fbdev_init’
        585 | int intel_fbdev_init(struct drm_device *dev)
            |     ^~~~~~~~~~~~~~~~
      In file included from ../drivers/gpu/drm/xe/display/intel_fbdev.c:55:
      ../drivers/gpu/drm/xe/display/intel_fbdev.h:26:19: note: previous definition of ‘intel_fbdev_init’ with type ‘int(struct drm_device *)’
         26 | static inline int intel_fbdev_init(struct drm_device *dev)
            |                   ^~~~~~~~~~~~~~~~
      ../drivers/gpu/drm/xe/display/intel_fbdev.c:626:6: error: redefinition of ‘intel_fbdev_initial_config_async’
        626 | void intel_fbdev_initial_config_async(struct drm_device *dev)
            |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      ../drivers/gpu/drm/xe/display/intel_fbdev.h:31:20: note: previous definition of ‘intel_fbdev_initial_config_async’ with type ‘void(struct drm_device *)’
         31 | static inline void intel_fbdev_initial_config_async(struct drm_device *dev)
            |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      ../drivers/gpu/drm/xe/display/intel_fbdev.c:646:6: error: redefinition of ‘intel_fbdev_unregister’
        646 | void intel_fbdev_unregister(struct drm_i915_private *dev_priv)
            |      ^~~~~~~~~~~~~~~~~~~~~~
      ../drivers/gpu/drm/xe/display/intel_fbdev.h:35:20: note: previous definition of ‘intel_fbdev_unregister’ with type ‘void(struct xe_device *)’
         35 | static inline void intel_fbdev_unregister(struct drm_i915_private *dev_priv)
            |                    ^~~~~~~~~~~~~~~~~~~~~~
      ../drivers/gpu/drm/xe/display/intel_fbdev.c:661:6: error: redefinition of ‘intel_fbdev_fini’
        661 | void intel_fbdev_fini(struct drm_i915_private *dev_priv)
            |      ^~~~~~~~~~~~~~~~
      ../drivers/gpu/drm/xe/display/intel_fbdev.h:39:20: note: previous definition of ‘intel_fbdev_fini’ with type ‘void(struct xe_device *)’
         39 | static inline void intel_fbdev_fini(struct drm_i915_private *dev_priv)
            |                    ^~~~~~~~~~~~~~~~
      ../drivers/gpu/drm/xe/display/intel_fbdev.c:692:6: error: redefinition of ‘intel_fbdev_set_suspend’
        692 | void intel_fbdev_set_suspend(struct drm_device *dev, int state, bool synchronous)
            |      ^~~~~~~~~~~~~~~~~~~~~~~
      ../drivers/gpu/drm/xe/display/intel_fbdev.h:43:20: note: previous definition of ‘intel_fbdev_set_suspend’ with type ‘void(struct drm_device *, int,  bool)’ {aka ‘void(struct drm_device *, int,  _Bool)’}
         43 | static inline void intel_fbdev_set_suspend(struct drm_device *dev, int state, bool synchronous)
            |                    ^~~~~~~~~~~~~~~~~~~~~~~
      ../drivers/gpu/drm/xe/display/intel_fbdev.c:751:6: error: redefinition of ‘intel_fbdev_output_poll_changed’
        751 | void intel_fbdev_output_poll_changed(struct drm_device *dev)
            |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      ../drivers/gpu/drm/xe/display/intel_fbdev.h:47:20: note: previous definition of ‘intel_fbdev_output_poll_changed’ with type ‘void(struct drm_device *)’
         47 | static inline void intel_fbdev_output_poll_changed(struct drm_device *dev)
            |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      ../drivers/gpu/drm/xe/display/intel_fbdev.c:770:6: error: redefinition of ‘intel_fbdev_restore_mode’
        770 | void intel_fbdev_restore_mode(struct drm_device *dev)
            |      ^~~~~~~~~~~~~~~~~~~~~~~~
      ../drivers/gpu/drm/xe/display/intel_fbdev.h:51:20: note: previous definition of ‘intel_fbdev_restore_mode’ with type ‘void(struct drm_device *)’
         51 | static inline void intel_fbdev_restore_mode(struct drm_device *dev)
            |                    ^~~~~~~~~~~~~~~~~~~~~~~~
      ../drivers/gpu/drm/xe/display/intel_fbdev.c:785:27: error: redefinition of ‘intel_fbdev_framebuffer’
        785 | struct intel_framebuffer *intel_fbdev_framebuffer(struct intel_fbdev *fbdev)
            |                           ^~~~~~~~~~~~~~~~~~~~~~~
      ../drivers/gpu/drm/xe/display/intel_fbdev.h:54:41: note: previous definition of ‘intel_fbdev_framebuffer’ with type ‘struct intel_framebuffer *(struct intel_fbdev *)’
         54 | static inline struct intel_framebuffer *intel_fbdev_framebuffer(struct intel_fbdev *fbdev)
            |                                         ^~~~~~~~~~~~~~~~~~~~~~~
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
      Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
      Reviewed-by: default avatarMatthew Brost <matthew.brost@intel.com>
      Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      a4c75c0f
    • Mauro Carvalho Chehab's avatar
      drm/xe/Kconfig.debug: select DEBUG_FS for KUnit runs · 1598955d
      Mauro Carvalho Chehab authored
      KUnit reuquires debugfs, as otherwise, it won't build:
      
      $ make ARCH=x86_64 O=.kunit --jobs=8
      ERROR:root:../drivers/gpu/drm/xe/display/intel_display_debugfs.c:1612:6: error: redefinition of ‘intel_display_debugfs_register’
       1612 | void intel_display_debugfs_register(struct drm_i915_private *i915)
            |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In file included from ../drivers/gpu/drm/xe/display/intel_display_debugfs.c:18:
      ../drivers/gpu/drm/xe/display/intel_display_debugfs.h:18:20: note: previous definition of ‘intel_display_debugfs_register’ with type ‘void(struct xe_device *)’
         18 | static inline void intel_display_debugfs_register(struct drm_i915_private *i915) {}
            |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      ../drivers/gpu/drm/xe/display/intel_display_debugfs.c:1935:6: error: redefinition of ‘intel_connector_debugfs_add’
       1935 | void intel_connector_debugfs_add(struct intel_connector *intel_connector)
            |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      ../drivers/gpu/drm/xe/display/intel_display_debugfs.h:19:20: note: previous definition of ‘intel_connector_debugfs_add’ with type ‘void(struct intel_connector *)’
         19 | static inline void intel_connector_debugfs_add(struct intel_connector *connector) {}
            |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      ../drivers/gpu/drm/xe/display/intel_display_debugfs.c:1993:6: error: redefinition of ‘intel_crtc_debugfs_add’
       1993 | void intel_crtc_debugfs_add(struct drm_crtc *crtc)
            |      ^~~~~~~~~~~~~~~~~~~~~~
      ../drivers/gpu/drm/xe/display/intel_display_debugfs.h:20:20: note: previous definition of ‘intel_crtc_debugfs_add’ with type ‘void(struct drm_crtc *)’
         20 | static inline void intel_crtc_debugfs_add(struct drm_crtc *crtc) {}
            |                    ^~~~~~~~~~~~~~~~~~~~~~
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
      Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
      Reviewed-by: default avatarMatthew Brost <matthew.brost@intel.com>
      Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      1598955d
    • Lucas De Marchi's avatar
      drm/xe: Add min config for kunit integration ARCH=um · a02a0c6d
      Lucas De Marchi authored
      Some of the tests may benefit from running with ARCH=um, forgoing any
      additional setup on the CI build side. Add min config for that.
      
      Tested with:
      
      	./tools/testing/kunit/kunit.py build \
      		--kunitconfig drivers/gpu/drm/xe/.kunitconfig \
      		--jobs $(nproc) \
      		--build_dir build_kunit
      Signed-off-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
      Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
      Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      Reviewed-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
      a02a0c6d
    • Lucas De Marchi's avatar
      drm/xe: Add documentation for mem_type · 1ef151d7
      Lucas De Marchi authored
      mem_type field was added in commit d8b52a02 ("drm/xe: Implement
      stolen memory.") to designate the TTM memory type for that mgr. Add
      kernel-doc with its description.
      Signed-off-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
      Reviewed-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      1ef151d7
  2. 12 Dec, 2023 28 commits
  3. 08 Dec, 2023 2 commits
    • Dave Airlie's avatar
      Merge tag 'drm-misc-next-2023-12-07' of git://anongit.freedesktop.org/drm/drm-misc into drm-next · a60501d7
      Dave Airlie authored
      drm-misc-next for 6.8:
      
      UAPI Changes:
        - Remove Userspace Mode-Setting ioctls
        - v3d: New uapi to handle jobs involving the CPU
      
      Cross-subsystem Changes:
      
      Core Changes:
        - atomic: Add support for FB-less planes which got reverted a bit
          later for lack of IGT tests and userspace code, Dump private objects
          state in drm_state_dump.
        - dma-buf: Add fence deadline support
        - encoder: Create per-encoder debugfs directory, move the bridge chain
          file to that directory
      
      Driver Changes:
        - Include drm_auth.h in driver that use it but don't include it, Drop
          drm_plane_helper.h from drivers that include it but don't use it
        - imagination: Plenty of small fixes
        - panfrost: Improve interrupt handling at poweroff
        - qaic: Convert to persistent DRM devices
        - tidss: Support for the AM62A7, a few probe improvements, some cleanups
        - v3d: Support for jobs involving the CPU
      
        - bridge:
          - Create transparent aux-bridge for DP/USB-C
          - lt8912b: Add suspend/resume support and power regulator support
      
        - panel:
          - himax-hx8394: Drop prepare, unprepare and shutdown logic, Support
            panel rotation
          - New panels: BOE BP101WX1-100, Powkiddy X55, Ampire AM8001280G,
            Evervision VGG644804, SDC ATNA45AF01
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Maxime Ripard <mripard@redhat.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/yu5heqaufyeo4nlowzieu4s5unwqrqyx4jixbfjmzdon677rpk@t53vceua2dao
      a60501d7
    • Dave Airlie's avatar
      Merge tag 'drm-intel-next-2023-12-07' of git://anongit.freedesktop.org/drm/drm-intel into drm-next · 2f8d8548
      Dave Airlie authored
      - Improve display debug msgs and other general clean-ups (Ville, Rahuul)
      - PSR fixes and improvements around selective fetch (Jouni, Ville)
      - Remove FBC restrictions for Xe2LPD displays (Vinod)
      - Skip some timing checks on BXT/GLK DSI transcoders (Ville)
      - DP MST Fixes (Ville)
      - Correct the input parameter on _intel_dsb_commit (heminhong)
      - Fix IP version of the display WAs (Bala)
      - DGFX uses direct VBT pin mapping (Clint)
      - Proper handling of bool on PIPE_CONF_CHECK macros (Jani)
      - Skip state verification with TBT-ALT mod (Mika Kahona)
      - General organization of display code for reusage with Xe
        (Jouni, Luca, Jani, Maarten)
      - Squelch a sparse warning (Jani)
      - Don't use "proxy" headers (Andy Shevchenko)
      - Use devm_gpiod_get() for all GPIOs (Hans)
      - Fix ADL+ tiled plane stride (Ville)
      - Use octal permissions in display debugfs (Jani)
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/ZXIWG6bRYaUw0w6-@intel.com
      2f8d8548
  4. 07 Dec, 2023 1 commit