Hi All, There is another issue with the Radeon DRM driver but there is already a patch available for this issue. Link: https://lists.freedesktop.org/archives/dri-devel/2024-October/473314.html I compiled a new RC2 of kernel 6.12 with this patch for the X1000 and X5000 today. Download: https://github.com/chzigotzky/kernels/releases/tag/v6.12.0-rc2-2 We need 3 patches for the Radeon DRM driver currently. Please test it. Thanks, Christian > On 08 October 2024 at 11:00am, Christian Zigotzky <chzigotzky@xxxxxxxxxxx> wrote: > > Hi All, > > I have released the RC2 of kernel 6.12 with Christian Koenig’s patch for the X1000 and X5000. > > Download and further information: https://github.com/chzigotzky/kernels/releases/tag/v6.12.0-rc2 > > Please test the kernels because of the second Radeon DRM driver issue. > > Thanks, > Christian > >> Am 07.10.2024 um 20:36 schrieb Alex Deucher <alexdeucher@xxxxxxxxx>: >> >> Add a few people. >> >> This should fix the radeon ttm gem conversion. >> >> Alex >> >> >> >>> On Mon, Oct 7, 2024 at 2:33 PM Christian König >>> <ckoenig.leichtzumerken@xxxxxxxxx> wrote: >>> >>> Make sure to always set the GEM function pointer even for in kernel >>> allocations. This fixes a NULL pointer deref caused by switching to GEM >>> references. >>> >>> Signed-off-by: Christian König <christian.koenig@xxxxxxx> >>> Fixes: fd69ef05029f ("drm/radeon: use GEM references instead of TTMs") >>> --- >>> drivers/gpu/drm/radeon/radeon_gem.c | 3 --- >>> drivers/gpu/drm/radeon/radeon_object.c | 1 + >>> 2 files changed, 1 insertion(+), 3 deletions(-) >>> >>> diff --git a/drivers/gpu/drm/radeon/radeon_gem.c b/drivers/gpu/drm/radeon/radeon_gem.c >>> index 9735f4968b86..bf2d4b16dc2a 100644 >>> --- a/drivers/gpu/drm/radeon/radeon_gem.c >>> +++ b/drivers/gpu/drm/radeon/radeon_gem.c >>> @@ -44,8 +44,6 @@ struct sg_table *radeon_gem_prime_get_sg_table(struct drm_gem_object *obj); >>> int radeon_gem_prime_pin(struct drm_gem_object *obj); >>> void radeon_gem_prime_unpin(struct drm_gem_object *obj); >>> >>> -const struct drm_gem_object_funcs radeon_gem_object_funcs; >>> - >>> static vm_fault_t radeon_gem_fault(struct vm_fault *vmf) >>> { >>> struct ttm_buffer_object *bo = vmf->vma->vm_private_data; >>> @@ -132,7 +130,6 @@ int radeon_gem_object_create(struct radeon_device *rdev, unsigned long size, >>> return r; >>> } >>> *obj = &robj->tbo.base; >>> - (*obj)->funcs = &radeon_gem_object_funcs; >>> robj->pid = task_pid_nr(current); >>> >>> mutex_lock(&rdev->gem.mutex); >>> diff --git a/drivers/gpu/drm/radeon/radeon_object.c b/drivers/gpu/drm/radeon/radeon_object.c >>> index d0e4b43d155c..7672404fdb29 100644 >>> --- a/drivers/gpu/drm/radeon/radeon_object.c >>> +++ b/drivers/gpu/drm/radeon/radeon_object.c >>> @@ -151,6 +151,7 @@ int radeon_bo_create(struct radeon_device *rdev, >>> if (bo == NULL) >>> return -ENOMEM; >>> drm_gem_private_object_init(rdev_to_drm(rdev), &bo->tbo.base, size); >>> + bo->tbo.base.funcs = &radeon_gem_object_funcs; >>> bo->rdev = rdev; >>> bo->surface_reg = -1; >>> INIT_LIST_HEAD(&bo->list); >>> -- >>> 2.34.1 >>>