1. 13 Sep, 2022 17 commits
  2. 12 Sep, 2022 2 commits
    • Dave Airlie's avatar
      Merge tag 'drm-intel-gt-next-2022-09-09' of... · 213cb76d
      Dave Airlie authored
      Merge tag 'drm-intel-gt-next-2022-09-09' of git://anongit.freedesktop.org/drm/drm-intel into drm-next
      
      UAPI Changes:
      
      - Revert "drm/i915/dg2: Add preemption changes for Wa_14015141709"
      
        The intent of Wa_14015141709 was to inform us that userspace can no
        longer control object-level preemption as it has on past platforms
        (i.e., by twiddling register bit CS_CHICKEN1[0]).  The description of
        the workaround in the spec wasn't terribly well-written, and when we
        requested clarification from the hardware teams we were told that on the
        kernel side we should also probably stop setting
        FF_SLICE_CS_CHICKEN1[14], which is the register bit that directs the
        hardware to honor the settings in per-context register CS_CHICKEN1.  It
        turns out that this guidance about FF_SLICE_CS_CHICKEN1[14] was a
        mistake; even though CS_CHICKEN1[0] is non-operational and useless to
        userspace, there are other bits in the register that do still work and
        might need to be adjusted by userspace in the future (e.g., to implement
        other workarounds that show up).  If we don't set
        FF_SLICE_CS_CHICKEN1[14] in i915, then those future workarounds would
        not take effect.
      
        Even more details at:
      
        https://lists.freedesktop.org/archives/intel-gfx/2022-September/305478.html
      
      Driver Changes:
      
      - Align GuC/HuC firmware versioning scheme to kernel practices (John)
      - Fix #6639: h264 hardware video decoding broken in 5.19 on Intel(R)
        Celeron(R) N3060 (Nirmoy)
      - Meteorlake (MTL) enabling (Matt R)
      - GuC SLPC improvements (Vinay, Rodrigo)
      - Add thread execution tuning setting for ATS-M (Matt R)
      - Don't start PXP without mei_pxp bind (Juston)
      - Remove leftover verbose debug logging from GuC error capture (John)
      - Abort suspend on low system memory conditions (Nirmoy, Matt A, Chris)
      - Add DG2 Wa_16014892111 (Matt R)
      
      - Rename ggtt_view as gtt_view (Niranjana)
      - Consider HAS_FLAT_CCS() in needs_ccs_pages (Matt A)
      - Don't try to disable host RPS when this was never enabled. (Rodrigo)
      - Clear stalled GuC CT request after a reset (Daniele)
      - Remove runtime info printing from GuC time stamp logging (Jani)
      - Skip Bit12 fw domain reset for gen12+ (Sushma, Radhakrishna)
      
      - Make GuC log sizes runtime configurable (John)
      - Selftest improvements (Daniele, Matt B, Andrzej)
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/YxshfqUN+vDe92Zn@jlahtine-mobl.ger.corp.intel.com
      213cb76d
    • Dave Airlie's avatar
      Merge tag 'amd-drm-next-6.1-2022-09-08' of https://gitlab.freedesktop.org/agd5f/linux into drm-next · 47519d82
      Dave Airlie authored
      amd-drm-next-6.1-2022-09-08:
      
      amdgpu:
      - Mode2 reset for RDNA2
      - Lots of new DC documentation
      - Add documentation about different asic families
      - DSC improvements
      - Aldebaran fixes
      - Misc spelling and grammar fixes
      - GFXOFF stats support for vangogh
      - DC frame size fixes
      - NBIO 7.7 updates
      - DCN 3.2 updates
      - DCN 3.1.4 Updates
      - SMU 13.x updates
      - Misc bug fixes
      - Rework DC register offset handling
      - GC 11.x updates
      - PSP 13.x updates
      - SDMA 6.x updates
      - GMC 11.x updates
      - SR-IOV updates
      - PSP fixes for TA unloading
      - DSC passthrough support
      - Misc code cleanups
      
      amdkfd:
      - ISA fixes for some GC 10.3 IPs
      - Misc code cleanups
      
      radeon:
      - Delayed work flush fix
      - Use time_after for some jiffies calculations
      
      drm:
      - DSC passthrough aux support
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Alex Deucher <alexander.deucher@amd.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220908155202.57862-1-alexander.deucher@amd.com
      47519d82
  3. 11 Sep, 2022 2 commits
    • Melissa Wen's avatar
      drm/vkms: fix 32bit compilation error by replacing macros · 89b03aea
      Melissa Wen authored
      Replace vkms_formats macro for fixed-point operations with functions
      from drm/drm_fixed.h to do the same job and fix 32-bit compilation
      errors.
      
      v2:
      - don't cast results to s32 (Igor)
      - add missing drm_fixp2int conversion (Igor)
      
      Fixes: a19c2ac9858 ("drm: vkms: Add support to the RGB565 format")
      Tested-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com> (v1)
      Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (v1)
      Reported-by: default avatarSudip Mukherjee <sudipm.mukherjee@gmail.com>
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Signed-off-by: default avatarMelissa Wen <mwen@igalia.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220910190303.682897-1-mwen@igalia.com
      89b03aea
    • Dave Airlie's avatar
      Merge tag 'drm-misc-next-2022-09-09' of git://anongit.freedesktop.org/drm/drm-misc into drm-next · fb34d8a0
      Dave Airlie authored
      drm-misc-next for v6.1-rc1:
      
      [airlied - fix sun4i_tv build]
      
      UAPI Changes:
      - Hide unregistered connectors from GETCONNECTOR ioctl.
      - drm/virtio no longer advertises LINEAR modifier, as it doesn't work.
      -
      
      Cross-subsystem Changes:
      - Fix GPF in udmabuf failure path.
      
      Core Changes:
      - Rework TTM placement to use intersect/compatible functions.
      - Drop legacy DP-MST support.
      - More DP-MST related fixes, and move all state into atomic.
      - Make DRM_MIPI_DBI select DRM_KMS_HELPER.
      - Add audio_infoframe packing for DP.
      - Add logging when some atomic check functions fail.
      - Assorted documentation updates and fixes.
      
      Driver Changes:
      - Assorted cleanups and fixes in msm, lcdif, nouveau, virtio,
        panel/ilitek, bridge/icn6211, tve200, gma500, bridge/*, panfrost, via,
        bochs, qxl, sun4i.
      - Add add AUO B133UAN02.1, IVO M133NW4J-R3, Innolux N120ACA-EA1 eDP panels.
      - Improve DP-MST modeset state handling in amdgpu, nouveau, i915.
      - Drop DP-MST from radeon driver, it was broken and only user of legacy
        DP-MST.
      - Handle unplugging better in vc4.
      - Simplify drm cmdparser tests.
      - Add DP support to ti-sn65dsi86.
      - Add MT8195 DP support to mediatek.
      - Support RGB565, XRGB64, and ARGB64 formats in vkms.
      - Convert sun4i tv support to atomic.
      - Refactor vc4/vec TV Modesetting, and fix timings.
      - Use atomic helpers instead of simple display helpers in ssd130x.
      
      Maintainer changes:
      - Add Douglas Anderson as reviewer for panel-edp.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/a489485b-3ebc-c734-0f80-aed963d89efe@linux.intel.com
      fb34d8a0
  4. 08 Sep, 2022 15 commits
  5. 07 Sep, 2022 4 commits
    • John Harrison's avatar
      drm/i915/uc: Add patch level version number support · 65332a5b
      John Harrison authored
      With the move to un-versioned filenames, it becomes more difficult to
      know exactly what version of a given firmware is being used. So add
      the patch level version number to the debugfs output.
      
      Also, support matching by patch level when selecting code paths for
      firmware compatibility. While a patch level change cannot be backwards
      breaking, it is potentially possible that a new feature only works
      from a given patch level onwards (even though it was theoretically
      added in an earlier version that bumped the major or minor version).
      Signed-off-by: default avatarJohn Harrison <John.C.Harrison@Intel.com>
      Reviewed-by: default avatarDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
      Signed-off-by: default avatarDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220906230147.479945-2-daniele.ceraolospurio@intel.com
      65332a5b
    • John Harrison's avatar
      drm/i915/uc: Support for version reduced and multiple firmware files · 665ae9c9
      John Harrison authored
      There was a misunderstanding in how firmware file compatibility should
      be managed within i915. This has been clarified as:
        i915 must support all existing firmware releases forever
        new minor firmware releases should replace prior versions
        only backwards compatibility breaking releases should be a new file
      
      This patch cleans up the single fallback file support that was added
      as a quick fix emergency effort. That is now removed in preference to
      supporting arbitrary numbers of firmware files per platform.
      
      The patch also adds support for having GuC firmware files that are
      named by major version only (because the major version indicates
      backwards breaking changes that affect the KMD) and for having HuC
      firmware files with no version number at all (because the KMD has no
      interface requirements with the HuC).
      
      For GuC, the driver will report via dmesg if the found file is older than
      expected. For HuC, the KMD will no longer require updating for any new
      HuC release so will not be able to report what the latest expected
      version is.
      Signed-off-by: default avatarJohn Harrison <John.C.Harrison@Intel.com>
      Reviewed-by: default avatarDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
      Signed-off-by: default avatarDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220906230147.479945-1-daniele.ceraolospurio@intel.com
      665ae9c9
    • Jilin Yuan's avatar
    • Zongmin Zhou's avatar
      drm/qxl: fix the suspend/resume issue on qxl device · 4da7aad4
      Zongmin Zhou authored
      Details:
      Currently, when trying to suspend and resume with qxl device,
      there are some error messages after resuming,
      eventually caused to black screen and can't be recovered.
      
      The first error message:
      	[   64.668577][    C3] [drm] driver is in bug mode
      
      This error is due to guest qxl driver
      will call qxl_reinit_memslots(qdev) during system resume,
      but didn't call qxl_io_reset(qdev) before this,
      Then will cause the QXL_IO_MEMSLOT_ADD operation to fail on QEMU,
      qxl->guest_bug flag will be set,As a result,
      the QXL device can't communicate with guest qxl driver through the IO port.
      
      after fix the first error,can success to resume and login to desktop,
      but shortly after that will observe the second error message :
      	[  353.095343][  T863] qxl 0000:00:02.0: object_init failed for (262144, 0x00000001)
      	[  353.096660][  T863] [drm:qxl_gem_object_create [qxl]] *ERROR* Failed to allocate GEM object (260852, 1, 4096, -12)
      	[  353.097277][  T863] [drm:qxl_alloc_ioctl [qxl]] *ERROR* qxl_alloc_ioctl: failed to create gem ret=-12
      	[  368.197538][  T863] qxl 0000:00:02.0: object_init failed for (3149824, 0x00000001)
      	[  368.197541][  T863] [drm:qxl_alloc_bo_reserved [qxl]] *ERROR* failed to allocate VRAM BO
      
      The problem is caused by calling qxl_ring_init_hdr(qdev->release_ring)
      in qxl_drm_resume() function.
      When do QXL_IO_RESET,QEMU will call init_qxl_ram(),
      so params like prod,cons,notify_on_cons and notify_on_prod
      will be set to default value.
      Ring push/pop actions for release_ring can be performed normally.
      But call qxl_ring_init_hdr(qdev->release_ring)
      will eventually set notify_on_prod to number of QXL_RELEASE_RING_SIZE,
      affect the value of notify in qxl_push_free_res() function always be false,
      QEMU will no longer send events of QXL_INTERRUPT_DISPLAY to the
      guest qxl driver,so qxl_ring_pop() will never been called anymore,
      and can't do dma_fence_signal(),result to ttm_bo_wait_ctx(bo, ctx)
      always return EBUSY,fail to call qxl_bo_create().
      
      Test scenario:
      1) start virtual machine with qemu command "-device qxl-vga"
      2) click suspend botton to enter suspend mode
      3) resume and observe the error message in kernel logs,screen will be black
      
      Let's fix this by reset io and remove the qxl_ring_init_hdr calling.
      
      Signed-off-by: Zongmin Zhou<zhouzongmin@kylinos.cn>
      Suggested-by: Ming Xie<xieming@kylinos.cn>
      Link: http://patchwork.freedesktop.org/patch/msgid/20220907094423.93581-1-min_halo@163.comSigned-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      4da7aad4