Closed Bug 1960529 Opened 14 days ago Closed 9 hours ago

Update libdrm to new version 43e8a3f86a8d578eb3accbca29021483d46f8479 from 2025-04-10 10:03:07

Categories

(Core :: WebRTC, defect)

defect

Tracking

()

RESOLVED FIXED
140 Branch
Tracking Status
firefox-esr128 --- unaffected
firefox137 --- unaffected
firefox138 --- unaffected
firefox139 --- affected
firefox140 --- fixed

People

(Reporter: update-bot, Assigned: jgrulich, NeedInfo)

References

Details

(Whiteboard: [3pl-filed][task_id: RS2oNTOtTEON9iD918tUiQ])

Attachments

(3 files, 1 obsolete file)

This update covers 6 commits. Here are the overall diff statistics, and then the commit information.


third_party/drm/drm/xf86drm.h | 2 +-
third_party/drm/moz.yaml | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)


43e8a3f86a8d578eb3accbca29021483d46f8479 by Arvind Yadav <Arvind.Yadav@amd.com>

https://gitlab.freedesktop.org/mesa/drm/commit/43e8a3f86a8d578eb3accbca29021483d46f8479
Authored: 2024-08-13 19:40:33 +0530
Committed: 2025-04-10 10:03:07 -0400

amdgpu: Add amdgpu userqueue IOCTL functions

This patch adds new IOCTL functions to support
userqueue create, remove, signal and wait etc.

v2:(Marek)

  • Add csa support for SDMA queue.
  • Addressed's review comments.
  • Removed raw2/op2 ioctl.
  • Added syncobj_timeline_handles in amdgpu_userq_wait IOCTL.

v3:(Yogesh)

  • Rename timeline* objects as per UAPI review (Arvind).

v4: (Marek)

  • Drop AMDGPU_USERQ_BO_WRITE as this should not be a global option
    of the IOCTL, It should be option per buffer. Hence adding separate
    array for read and write BO handles. (Arun)

  • Modify num_fences to __u16, flags changed to __u16 and placed
    the num_fences next to flags for optimal padding and size. (Arun)

v5:(Marek/Pierre-Eric)

  • add more detail params description for signal and wait IOCTL calls.

  • Remove the unused structure fields in signal and wait structs.

  • Add separate array of read and write for BO handles. (Arun)

  • Removes the unused flags parameter from the
    amdgpu_create_userqueue IOCTL. (Arvind)

v6:(Pierre-Eric)

  • Remove unused headers. (Arvind)

  • Modify the function parameter names and struct
    field names as per the review comments. (Arun)

v7:(Marek)

  • Modify the structure field name and comments. (Arun)

  • Rename vm_timeline_syncobj and add comment for
    vm_timeline_point.

  • Remove GDS buffer support from MQD. (Arvind)

v8:(Pierre-Eric)

  • Modify the function parameter names.
  • Added new function in amdgpu-symbols.txt (Arvind)

v9:(Marek)

  • Use the drm signal/wait structure as the parameter. (Arun)

Cc: Deucher, Alexander <alexander.deucher@amd.com>
Cc: Koenig, Christian <christian.koenig@amd.com>
Cc: Sharma, Shashank <shashank.sharma@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Signed-off-by: Arvind Yadav <arvind.yadav@amd.com>
Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>

Files Added:

  • amdgpu/amdgpu_userq.c

Files Modified:

  • amdgpu/amdgpu-symbols.txt
  • amdgpu/amdgpu.h
  • amdgpu/amdgpu_bo.c
  • amdgpu/meson.build

72d314042864205c86f935e4bd881955ba7b8cd9 by Arvind Yadav <Arvind.Yadav@amd.com>

https://gitlab.freedesktop.org/mesa/drm/commit/72d314042864205c86f935e4bd881955ba7b8cd9
Authored: 2024-08-13 19:37:37 +0530
Committed: 2025-04-10 10:03:07 -0400

amdgpu: UAPI for AMDGPU usermode queues

This patch adds UAPI interface changes for AMDGPU usermode
queues, semaphore and new AMDGPU GEM domain for doorbells.
Usermode queues allow a userspace process to create
and submit its graphics/compute/sdma work directly to the GPU.

v2:(Marek)

  • Add csa support for SDMA queue.
  • Rename UAPI objects and struct as per UAPI review. (Shashank)

v3:(Yogesh)

  • Rename UAPI timeline* objects as per UAPI review. (Arvind)

v4: (Marek)

  • Drop AMDGPU_USERQ_BO_WRITE as this should not be a global option
    of the IOCTL, It should be option per buffer. Hence adding separate
    array for read and write BO handles. (Arun)

  • Modify num_fences to __u16, flags changed to __u16 and placed
    the num_fences next to flags for optimal padding and size. (Arun)

  • Fix 32-bit holes issue in sturct drm_amdgpu_gem_va as per
    UAPI review (Arvind).

v5:(Marek/Pierre-Eric)

  • add more detail params description for signal and wait IOCTL calls.

  • Remove the unused structure fields in signal and wait structs.

  • Add separate array of read and write for BO handles. (Arun)

  • Removes the unused flags parameter from the usermode queue UAPI structure

  • Clarify comments on top of drm_amdgpu_userq_in

  • Clarify comment for queue_id (in)

  • Clarify comment for mqd

  • Clarify comment for compute MQD size

  • Clarify comment for queue_id (out)

  • Adds padding variables in userqueue in/out structures. (Shashank)

v6:(Pierre-Eric)

  • Modify the function parameter names and struct
    field names as per the review comments. (Arun)

v7:(Marek)

  • Modify the structure field name and comments. (Arun)

  • Rename vm_timeline_syncobj and add comment for
    vm_timeline_point.

  • Remove GDS buffer support from MQD. (Arvind)

v8:(Pierre-Eric)

  • Modify the function parameter names.

Cc: Koenig, Christian <christian.koenig@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Signed-off-by: Shashank Sharma <shashank.sharma@amd.com>
Signed-off-by: Arvind Yadav <arvind.yadav@amd.com>
Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>

Files Modified:

  • include/drm/amdgpu_drm.h

5d7d7c43188f9420f4a5ca6b0e4177d5dda3bae9 by Shashank Sharma <shashank.sharma@amd.com>

https://gitlab.freedesktop.org/mesa/drm/commit/5d7d7c43188f9420f4a5ca6b0e4177d5dda3bae9
Authored: 2024-11-05 12:08:44 +0100
Committed: 2025-04-10 13:20:00 +0000

drm/amdgpu: add new AMDGPU_INFO subquery for userqueue metadata

This patch:

  • adds a new subquery (AMDGPU_INFO_UQ_FW_AREAS) in AMDGPU_INFO_IOCTL
    to get the size and alignment of shadow and csa objects from the
    kernel. This information is required for a userqueue consumer (like
    MESA/libdrm) to create the userqueue metadata objects properly.
  • also adds supporting metadata structures and a high level wrapper
    function (amdgpu_query_uq_metadata_info) to the query, to make it
    easy to use.

The corresponding kernel changes for this UAPI extension can be found
in amd-gfx mailing list, link:
https://patchwork.freedesktop.org/patch/621390/?series=139715&rev=2

This patch adds support only for the GFX IP, and the other engines may
be supported in subsequent development.

V2: fix the build error due to exporting of helper function
V3: make an entry for amdgpu_query_uq_metadata_info in
amdgpu-symbols.txt
V4: Rename the subquery to AMDGPU_INFO_UQ_FW_AREAS (Marek, Pierre-Eric)
V5: Addressed review comments (Pierre-Eric):
- Fix the API comment to match the new IOCTL name
- remove the unused uq_metadata parameter

Cc: Marek Olsak <marek.olsak@amd.com>
Cc: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: Christian Koenig <christian.koenig@amd.com>
Cc: Arvind Yadav <arvind.yadav@amd.com>
Reviewed-by: Marek Olsak <marek.olsak@amd.com>
Signed-off-by: Shashank Sharma <shashank.sharma@amd.com>

Files Modified:

  • amdgpu/amdgpu-symbols.txt
  • amdgpu/amdgpu.h
  • amdgpu/amdgpu_gpu_info.c
  • include/drm/amdgpu_drm.h

d387ec976f1f86faa1fea5455ac86e84b55ce53f by Daniel van Vugt <daniel.van.vugt@canonical.com>

https://gitlab.freedesktop.org/mesa/drm/commit/d387ec976f1f86faa1fea5455ac86e84b55ce53f
Authored: 2025-03-27 17:41:37 +0800
Committed: 2025-03-27 17:43:05 +0800

xf86drm: Handle NULL in drmCopyVersion

Just as it is already handled in the caller, drmGetVersion.

I'm not sure what the offending driver is, but the Ubuntu incidents
seem to be coming from a dual Intel/Nvidia machine. And they show
it is card1 so I'm guessing nvidia-drm is the offender.

Related: https://bugs.launchpad.net/bugs/2104352

Files Modified:

  • xf86drm.c

a7eb2cfd53a70fcd9ba9dcfad80a3994642f362f by Alex Deucher <alexander.deucher@amd.com>

https://gitlab.freedesktop.org/mesa/drm/commit/a7eb2cfd53a70fcd9ba9dcfad80a3994642f362f
Authored: 2025-01-17 17:06:06 -0500
Committed: 2025-01-17 17:26:15 -0500

amdgpu: add new marketing names

Updated client names.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

Files Modified:

  • data/amdgpu.ids

c7684a957aa7dc98fbf8e595256b81d7de17cef8 by Simon Ser <contact@emersion.fr>

https://gitlab.freedesktop.org/mesa/drm/commit/c7684a957aa7dc98fbf8e595256b81d7de17cef8
Authored: 2024-12-17 02:02:26 +0100
Committed: 2025-01-09 14:08:03 +0000

xf86drm: deprecate drmAvailable()

Signed-off-by: Simon Ser <contact@emersion.fr>
References: https://gitlab.freedesktop.org/mesa/drm/-/issues/113

Files Modified:

  • xf86drm.c

It looks like we experienced one or more build failures when trying to apply this
update. You will need to apply this update manually; you can replicate the patch
locally with ./mach vendor third_party/drm/moz.yaml. I'm going to abandon the Phabricator patch and
let you submit a new one.

If the build failure wasn't caused by a library change, and was instead caused by
something structural in the build system please let my maintainers know in
Slack:#secinf.

I do my best to automatically add new files to the build, but some moz.build files
are complicated and you may need to fix them manually.

Flags: needinfo?(ngrunbaum)
Attachment #9479048 - Attachment is obsolete: true

Jan, this breaks because of your manual xf86drm.h change. It needs to be applied through vendoring so updatebot can re-apply it after updating to a new rev. Could you take a look?

Type: enhancement → defect
Flags: needinfo?(ngrunbaum) → needinfo?(jgrulich)
Keywords: regression
Regressed by: 1954903

Set release status flags based on info from the regressing bug 1954903

Assignee: nobody → jgrulich
Flags: needinfo?(jgrulich)

(In reply to Andreas Pehrson [:pehrsons] from comment #4)

Jan, this breaks because of your manual xf86drm.h change. It needs to be applied through vendoring so updatebot can re-apply it after updating to a new rev. Could you take a look?

Sure thing. I'm working on it now.

Do not change "#include <drm.h>" to include a "libdrm" path prefix in
xf86drm.h header since we can just modify include path instead. Fixes
issues we hit when vendoring newer libdrm version.

Regenerate moz.build files for the special handling in gn_processor.py
for drm library.

Generation command:

./mach python build/gn_processor.py
dom/media/webrtc/third_party_build/gn-configs/webrtc.json

Pushed by jgrulich@redhat.com: https://hg.mozilla.org/integration/autoland/rev/ab349b4197fb Do not modify vendored drm headers r=pehrsons,media-playback-reviewers,stransky https://hg.mozilla.org/integration/autoland/rev/ebb32a5ff907 Regenerate moz.build files r=pehrsons,webrtc-reviewers https://hg.mozilla.org/integration/autoland/rev/d4c22a75fd6b Update libdrm to 15e174c1ed2426be3228eb595f942481cfcf5a90 r=pehrsons
Keywords: regression
No longer regressed by: 1954903
See Also: → 1954903
Pushed by jgrulich@redhat.com: https://hg.mozilla.org/integration/autoland/rev/c1636ff69141 Do not modify vendored drm headers r=pehrsons,media-playback-reviewers,stransky https://hg.mozilla.org/integration/autoland/rev/a28e1eb69510 Regenerate moz.build files r=pehrsons,webrtc-reviewers https://hg.mozilla.org/integration/autoland/rev/71615102de01 Update libdrm to 15e174c1ed2426be3228eb595f942481cfcf5a90 r=pehrsons
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: