Fix userptr failures on kernels not having SVM support#440
Merged
Conversation
smuqthya
requested changes
Jun 22, 2026
smuqthya
reviewed
Jun 23, 2026
smuqthya
requested changes
Jul 2, 2026
| { | ||
| /* For kernels without madvise support, use the standard map ops */ | ||
| return drm_gpuvm_sm_map_ops_create(gpuvm, req); | ||
| return drm_gpuvm_sm_map_ops_create_req(gpuvm, req); |
Contributor
There was a problem hiding this comment.
Should have conditional control with macro
smuqthya
approved these changes
Jul 6, 2026
Keep module slot ordering stable by reserving index 12 for drm_gpusvm_helper and index 13 for drm_gpuvm. Update DKMS generator scripts so xe-vfio-pci remains at index 11 and module indices stay unique. This avoids ambiguous module array ordering across package generation paths. Signed-off-by: Varun Gupta <varun.gupta@intel.com> Reviewed-by: Syed Abdul Muqthyar Ahmed <syed.abdul.muqthyar.ahmed@intel.com>
Add a backport patch that guards drm_pagemap_put definition when BPM_DRM_PAGEMAP_PUT_NOT_PRESENT is set. Without this guard, kernels that rely on the header-side fallback can hit symbol redefinition or mismatch with the C implementation path. Keep header fallback active on kernels without drm_pagemap_put, and preserve the normal implementation/export path on kernels that provide the API. Signed-off-by: Varun Gupta <varun.gupta@intel.com> Reviewed-by: Syed Abdul Muqthyar Ahmed <syed.abdul.muqthyar.ahmed@intel.com>
Gate full-SVM Xe paths on migrate_device_pfns capability checks to avoid exposing full-SVM behavior on partial pagemap API targets. When BPM_MIGRATE_DEVICE_PFNS_NOT_PRESENT is set: - gate full-SVM enablement in xe_svm.h - avoid tile-local pagemap cache lookups that assume full pagemap API - expose CPU_ADDR_MIRROR capability only when the effective path is valid Signed-off-by: Varun Gupta <varun.gupta@intel.com> Reviewed-by: Syed Abdul Muqthyar Ahmed <syed.abdul.muqthyar.ahmed@intel.com>
Older kernels expose drm_gpuvm_sm_map_ops_create() with discrete
addr/range/obj/offset arguments, while newer kernels take
struct drm_gpuvm_map_req *.
Add AC_DRM_GPUVM_SM_MAP_OPS_CREATE_MAP_REQ_NOT_PRESENT and register
it in AC_XE_CONFIG. In backport drm_gpuvm.h, keep caller name
unchanged and adapt map_req call sites to legacy arguments via an
internal helper remap.
Reference:
000a45dce7ad
drm/gpuvm: Pass map arguments through a struct
Signed-off-by: Varun Gupta <varun.gupta@intel.com>
Reviewed-by: Syed Abdul Muqthyar Ahmed <syed.abdul.muqthyar.ahmed@intel.com>
Add two backport patches: - build xe_svm.o under CONFIG_DRM_GPUSVM in xe Makefile - align xe_vm userptr runtime map-op calls with drm_gpuvm compat wrapper This keeps generated out-dir behavior consistent across kernels where full Xe SVM is conditionally gated. Signed-off-by: Varun Gupta <varun.gupta@intel.com> Reviewed-by: Syed Abdul Muqthyar Ahmed <syed.abdul.muqthyar.ahmed@intel.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.