[PATCHES] drm/radeon issues

Christian Zigotzky chzigotzky at xenosoft.de
Thu Oct 10 13:57:08 UTC 2024


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 at xenosoft.de> 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 at gmail.com>:
>> 
>> 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 at gmail.com> 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 at amd.com>
>>> 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
>>> 



More information about the amd-gfx mailing list