Displaying 20 results from an estimated 129 matches for "nouveau_gem_object".
2020 Feb 06
5
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...framebuffer *fb)
> +nv50_wndw_ctxdma_new(struct nv50_wndw *wndw, struct drm_framebuffer *fb)
> {
> - struct nouveau_drm *drm = nouveau_drm(fb->base.dev);
> + struct nouveau_drm *drm = nouveau_drm(fb->dev);
> struct nv50_wndw_ctxdma *ctxdma;
> - struct nouveau_bo *nvbo = nouveau_gem_object(fb->base.obj[0]);
> + struct nouveau_bo *nvbo = nouveau_gem_object(fb->obj[0]);
> const u8 kind = nvbo->kind;
> const u32 handle = 0xfb000000 | kind;
> struct {
> @@ -236,16 +236,16 @@ nv50_wndw_atomic_check_acquire(struct nv50_wndw *wndw, bool modeset,
>...
2020 Feb 06
2
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...0_wndw *wndw, struct drm_framebuffer *fb)
>>> ? {
>>> -??? struct nouveau_drm *drm = nouveau_drm(fb->base.dev);
>>> +??? struct nouveau_drm *drm = nouveau_drm(fb->dev);
>>> ????? struct nv50_wndw_ctxdma *ctxdma;
>>> -??? struct nouveau_bo *nvbo = nouveau_gem_object(fb->base.obj[0]);
>>> +??? struct nouveau_bo *nvbo = nouveau_gem_object(fb->obj[0]);
>>> ????? const u8??? kind = nvbo->kind;
>>> ????? const u32 handle = 0xfb000000 | kind;
>>> ????? struct {
>>> @@ -236,16 +236,16 @@ nv50_wndw_atomic_check_...
2020 Feb 06
2
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
..., struct drm_framebuffer
>>> *fb)
>>> ? {
>>> -??? struct nouveau_drm *drm = nouveau_drm(fb->base.dev);
>>> +??? struct nouveau_drm *drm = nouveau_drm(fb->dev);
>>> ????? struct nv50_wndw_ctxdma *ctxdma;
>>> -??? struct nouveau_bo *nvbo = nouveau_gem_object(fb->base.obj[0]);
>>> +??? struct nouveau_bo *nvbo = nouveau_gem_object(fb->obj[0]);
>>> ????? const u8??? kind = nvbo->kind;
>>> ????? const u32 handle = 0xfb000000 | kind;
>>> ????? struct {
>>> @@ -236,16 +236,16 @@ nv50_wndw_atomic_check_acq...
2020 Feb 06
5
[PATCH 0/4] drm/nouveau: Remove struct nouveau_framebuffer
All fields in struct nouveau_framebuffer appear to be obsolete. The
data structure can be replaced by struct drm_framebuffer entirely.
Patch 1 removes several unused fields from struct nouveau_framebuffer.
Patch 2 moves the field vma to struct nouveau_fbdev. The information
in vma is only relevant for fbdev emulation, and as such he field is
only used there.
Patch 3 removes nvbo from struct
2020 Feb 10
2
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...; >>>> {
> >>>> - struct nouveau_drm *drm = nouveau_drm(fb->base.dev);
> >>>> + struct nouveau_drm *drm = nouveau_drm(fb->dev);
> >>>> struct nv50_wndw_ctxdma *ctxdma;
> >>>> - struct nouveau_bo *nvbo = nouveau_gem_object(fb->base.obj[0]);
> >>>> + struct nouveau_bo *nvbo = nouveau_gem_object(fb->obj[0]);
> >>>> const u8 kind = nvbo->kind;
> >>>> const u32 handle = 0xfb000000 | kind;
> >>>> struct {
> >>>>...
2020 Feb 10
2
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...gt;>>>>> - struct nouveau_drm *drm = nouveau_drm(fb->base.dev);
>>>>>>> + struct nouveau_drm *drm = nouveau_drm(fb->dev);
>>>>>>> struct nv50_wndw_ctxdma *ctxdma;
>>>>>>> - struct nouveau_bo *nvbo = nouveau_gem_object(fb->base.obj[0]);
>>>>>>> + struct nouveau_bo *nvbo = nouveau_gem_object(fb->obj[0]);
>>>>>>> const u8 kind = nvbo->kind;
>>>>>>> const u32 handle = 0xfb000000 | kind;
>>>>>>>...
2020 Feb 06
0
[PATCH 3/4] drm/nouveau: Remove field nvbo from struct nouveau_framebuffer
...nv_crtc_swap_fbs(struct drm_crtc *crtc, struct drm_framebuffer *old_fb)
{
struct nv04_display *disp = nv04_display(crtc->dev);
- struct nouveau_framebuffer *nvfb = nouveau_framebuffer(crtc->primary->fb);
+ struct drm_framebuffer *fb = crtc->primary->fb;
+ struct nouveau_bo *nvbo = nouveau_gem_object(fb->obj[0]);
struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc);
int ret;
- ret = nouveau_bo_pin(nvfb->nvbo, TTM_PL_FLAG_VRAM, false);
+ ret = nouveau_bo_pin(nvbo, TTM_PL_FLAG_VRAM, false);
if (ret == 0) {
if (disp->image[nv_crtc->index])
nouveau_bo_unpin(disp->image[nv...
2020 Feb 06
0
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...nv50_wndw *wndw, struct nouveau_framebuffer *fb)
+nv50_wndw_ctxdma_new(struct nv50_wndw *wndw, struct drm_framebuffer *fb)
{
- struct nouveau_drm *drm = nouveau_drm(fb->base.dev);
+ struct nouveau_drm *drm = nouveau_drm(fb->dev);
struct nv50_wndw_ctxdma *ctxdma;
- struct nouveau_bo *nvbo = nouveau_gem_object(fb->base.obj[0]);
+ struct nouveau_bo *nvbo = nouveau_gem_object(fb->obj[0]);
const u8 kind = nvbo->kind;
const u32 handle = 0xfb000000 | kind;
struct {
@@ -236,16 +236,16 @@ nv50_wndw_atomic_check_acquire(struct nv50_wndw *wndw, bool modeset,
struct nv50_wndw_atom *asy...
2020 Feb 06
0
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
..._ctxdma_new(struct nv50_wndw *wndw, struct drm_framebuffer *fb)
>> ? {
>> -??? struct nouveau_drm *drm = nouveau_drm(fb->base.dev);
>> +??? struct nouveau_drm *drm = nouveau_drm(fb->dev);
>> ????? struct nv50_wndw_ctxdma *ctxdma;
>> -??? struct nouveau_bo *nvbo = nouveau_gem_object(fb->base.obj[0]);
>> +??? struct nouveau_bo *nvbo = nouveau_gem_object(fb->obj[0]);
>> ????? const u8??? kind = nvbo->kind;
>> ????? const u32 handle = 0xfb000000 | kind;
>> ????? struct {
>> @@ -236,16 +236,16 @@ nv50_wndw_atomic_check_acquire(struct nv50_wnd...
2020 Feb 06
0
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
..._ctxdma_new(struct nv50_wndw *wndw, struct drm_framebuffer *fb)
>> ? {
>> -??? struct nouveau_drm *drm = nouveau_drm(fb->base.dev);
>> +??? struct nouveau_drm *drm = nouveau_drm(fb->dev);
>> ????? struct nv50_wndw_ctxdma *ctxdma;
>> -??? struct nouveau_bo *nvbo = nouveau_gem_object(fb->base.obj[0]);
>> +??? struct nouveau_bo *nvbo = nouveau_gem_object(fb->obj[0]);
>> ????? const u8??? kind = nvbo->kind;
>> ????? const u32 handle = 0xfb000000 | kind;
>> ????? struct {
>> @@ -236,16 +236,16 @@ nv50_wndw_atomic_check_acquire(struct nv50_wnd...
2020 Feb 07
0
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...>>>> *fb)
>>>> ?? {
>>>> -??? struct nouveau_drm *drm = nouveau_drm(fb->base.dev);
>>>> +??? struct nouveau_drm *drm = nouveau_drm(fb->dev);
>>>> ?????? struct nv50_wndw_ctxdma *ctxdma;
>>>> -??? struct nouveau_bo *nvbo = nouveau_gem_object(fb->base.obj[0]);
>>>> +??? struct nouveau_bo *nvbo = nouveau_gem_object(fb->obj[0]);
>>>> ?????? const u8??? kind = nvbo->kind;
>>>> ?????? const u32 handle = 0xfb000000 | kind;
>>>> ?????? struct {
>>>> @@ -236,16 +236,16 @@ nv5...
2020 Feb 06
0
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...>>> *fb)
> >>> {
> >>> - struct nouveau_drm *drm = nouveau_drm(fb->base.dev);
> >>> + struct nouveau_drm *drm = nouveau_drm(fb->dev);
> >>> struct nv50_wndw_ctxdma *ctxdma;
> >>> - struct nouveau_bo *nvbo = nouveau_gem_object(fb->base.obj[0]);
> >>> + struct nouveau_bo *nvbo = nouveau_gem_object(fb->obj[0]);
> >>> const u8 kind = nvbo->kind;
> >>> const u32 handle = 0xfb000000 | kind;
> >>> struct {
> >>> @@ -236,16 +236,16 @@ n...
2020 Feb 10
2
[PATCH] drm/nouveau: Fix NULL ptr access in nv50_wndw_prepare_fb()
...au/dispnv50/wndw.c
@@ -490,7 +490,7 @@ nv50_wndw_prepare_fb(struct drm_plane *plane, struct drm_plane_state *state)
struct nouveau_drm *drm = nouveau_drm(plane->dev);
struct nv50_wndw *wndw = nv50_wndw(plane);
struct nv50_wndw_atom *asyw = nv50_wndw_atom(state);
- struct nouveau_bo *nvbo = nouveau_gem_object(fb->obj[0]);
+ struct nouveau_bo *nvbo;
struct nv50_head_atom *asyh;
struct nv50_wndw_ctxdma *ctxdma;
int ret;
@@ -499,6 +499,7 @@ nv50_wndw_prepare_fb(struct drm_plane *plane, struct drm_plane_state *state)
if (!asyw->state.fb)
return 0;
+ nvbo = nouveau_gem_object(fb->obj[0]...
2020 Feb 10
0
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...t;> {
>>>>>> - struct nouveau_drm *drm = nouveau_drm(fb->base.dev);
>>>>>> + struct nouveau_drm *drm = nouveau_drm(fb->dev);
>>>>>> struct nv50_wndw_ctxdma *ctxdma;
>>>>>> - struct nouveau_bo *nvbo = nouveau_gem_object(fb->base.obj[0]);
>>>>>> + struct nouveau_bo *nvbo = nouveau_gem_object(fb->obj[0]);
>>>>>> const u8 kind = nvbo->kind;
>>>>>> const u32 handle = 0xfb000000 | kind;
>>>>>> struct {
>>&g...
2020 Feb 10
0
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...>> - struct nouveau_drm *drm = nouveau_drm(fb->base.dev);
> >>>>>>> + struct nouveau_drm *drm = nouveau_drm(fb->dev);
> >>>>>>> struct nv50_wndw_ctxdma *ctxdma;
> >>>>>>> - struct nouveau_bo *nvbo = nouveau_gem_object(fb->base.obj[0]);
> >>>>>>> + struct nouveau_bo *nvbo = nouveau_gem_object(fb->obj[0]);
> >>>>>>> const u8 kind = nvbo->kind;
> >>>>>>> const u32 handle = 0xfb000000 | kind;
> >>>>&...
2018 Jan 11
5
[PATCH 1/5] drm/prime: Remove duplicate forward declaration
From: Thierry Reding <treding at nvidia.com>
struct device is forward-declared twice. Remove the second instance.
Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
Signed-off-by: Thierry Reding <treding at nvidia.com>
---
include/drm/drm_prime.h | 2 --
1 file changed, 2 deletions(-)
diff --git a/include/drm/drm_prime.h b/include/drm/drm_prime.h
index
2018 Jun 18
0
[PATCH 3/4] drm/nouveau: Replace drm_gem_object_unreference_unlocked with put function
...reate(file_priv, &bo->gem, &args->handle);
- drm_gem_object_unreference_unlocked(&bo->gem);
+ drm_gem_object_put_unlocked(&bo->gem);
return ret;
}
@@ -954,7 +954,7 @@ nouveau_display_dumb_map_offset(struct drm_file *file_priv,
if (gem) {
struct nouveau_bo *bo = nouveau_gem_object(gem);
*poffset = drm_vma_node_offset_addr(&bo->bo.vma_node);
- drm_gem_object_unreference_unlocked(gem);
+ drm_gem_object_put_unlocked(gem);
return 0;
}
diff --git a/drivers/gpu/drm/nouveau/nouveau_gem.c b/drivers/gpu/drm/nouveau/nouveau_gem.c
index 300daee74209..df73bec354e8 100...
2017 Aug 03
0
[PATCH 17/29] drm/nouveau: switch to drm_*{get, put} helpers
...reate(file_priv, &bo->gem, &args->handle);
- drm_gem_object_unreference_unlocked(&bo->gem);
+ drm_gem_object_put_unlocked(&bo->gem);
return ret;
}
@@ -962,7 +962,7 @@ nouveau_display_dumb_map_offset(struct drm_file *file_priv,
if (gem) {
struct nouveau_bo *bo = nouveau_gem_object(gem);
*poffset = drm_vma_node_offset_addr(&bo->bo.vma_node);
- drm_gem_object_unreference_unlocked(gem);
+ drm_gem_object_put_unlocked(gem);
return 0;
}
diff --git a/drivers/gpu/drm/nouveau/nouveau_fbcon.c b/drivers/gpu/drm/nouveau/nouveau_fbcon.c
index 2665a07..6c9e1ec 100644
--...
2017 Aug 03
0
[PATCH 17/29] drm/nouveau: switch to drm_*{get, put} helpers
...rgs->handle);
> - drm_gem_object_unreference_unlocked(&bo->gem);
> + drm_gem_object_put_unlocked(&bo->gem);
> return ret;
> }
>
> @@ -962,7 +962,7 @@ nouveau_display_dumb_map_offset(struct drm_file *file_priv,
> if (gem) {
> struct nouveau_bo *bo = nouveau_gem_object(gem);
> *poffset = drm_vma_node_offset_addr(&bo->bo.vma_node);
> - drm_gem_object_unreference_unlocked(gem);
> + drm_gem_object_put_unlocked(gem);
> return 0;
> }
>
> diff --git a/drivers/gpu/drm/nouveau/nouveau_fbcon.c b/drivers/gpu/drm/nouveau/nouveau_fbcon...
2013 Aug 22
6
[PATCH] drm/nouveau: avoid null deref on bad arguments to nouveau_vma_getmap
The code expects non-VRAM mem nodes to have a pages list. If that's not
set, it will do a null deref down the line. Warn on that condition and
return an error.
See https://bugs.freedesktop.org/show_bug.cgi?id=64774
Reported-by: Pasi K?rkk?inen <pasik at iki.fi>
Tested-by: Pasi K?rkk?inen <pasik at iki.fi>
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Cc: <stable