Commit 377b1f16 authored by Ben Skeggs's avatar Ben Skeggs

drm/nouveau/disp: nothing to see here

Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 37da5b87
...@@ -22,7 +22,20 @@ ...@@ -22,7 +22,20 @@
* Authors: Ben Skeggs * Authors: Ben Skeggs
*/ */
#include <engine/disp.h> #include "priv.h"
int
_nouveau_disp_fini(struct nouveau_object *object, bool suspend)
{
struct nouveau_disp *disp = (void *)object;
return nouveau_engine_fini(&disp->base, suspend);
}
int
_nouveau_disp_init(struct nouveau_object *object)
{
return 0;
}
void void
_nouveau_disp_dtor(struct nouveau_object *object) _nouveau_disp_dtor(struct nouveau_object *object)
...@@ -48,5 +61,9 @@ nouveau_disp_create_(struct nouveau_object *parent, ...@@ -48,5 +61,9 @@ nouveau_disp_create_(struct nouveau_object *parent,
if (ret) if (ret)
return ret; return ret;
return nouveau_event_create(1, heads, &disp->vblank); ret = nouveau_event_create(1, heads, &disp->vblank);
if (ret)
return ret;
return 0;
} }
...@@ -7,4 +7,27 @@ struct nouveau_disp_impl { ...@@ -7,4 +7,27 @@ struct nouveau_disp_impl {
struct nouveau_oclass base; struct nouveau_oclass base;
}; };
#define nouveau_disp_create(p,e,c,h,i,x,d) \
nouveau_disp_create_((p), (e), (c), (h), (i), (x), \
sizeof(**d), (void **)d)
#define nouveau_disp_destroy(d) ({ \
struct nouveau_disp *disp = (d); \
_nouveau_disp_dtor(nv_object(disp)); \
})
#define nouveau_disp_init(d) ({ \
struct nouveau_disp *disp = (d); \
_nouveau_disp_init(nv_object(disp)); \
})
#define nouveau_disp_fini(d,s) ({ \
struct nouveau_disp *disp = (d); \
_nouveau_disp_fini(nv_object(disp), (s)); \
})
int nouveau_disp_create_(struct nouveau_object *, struct nouveau_object *,
struct nouveau_oclass *, int heads,
const char *, const char *, int, void **);
void _nouveau_disp_dtor(struct nouveau_object *);
int _nouveau_disp_init(struct nouveau_object *);
int _nouveau_disp_fini(struct nouveau_object *, bool);
#endif #endif
...@@ -17,25 +17,6 @@ nouveau_disp(void *obj) ...@@ -17,25 +17,6 @@ nouveau_disp(void *obj)
return (void *)nv_device(obj)->subdev[NVDEV_ENGINE_DISP]; return (void *)nv_device(obj)->subdev[NVDEV_ENGINE_DISP];
} }
#define nouveau_disp_create(p,e,c,h,i,x,d) \
nouveau_disp_create_((p), (e), (c), (h), (i), (x), \
sizeof(**d), (void **)d)
#define nouveau_disp_destroy(d) ({ \
struct nouveau_disp *disp = (d); \
_nouveau_disp_dtor(nv_object(disp)); \
})
#define nouveau_disp_init(d) \
nouveau_engine_init(&(d)->base)
#define nouveau_disp_fini(d,s) \
nouveau_engine_fini(&(d)->base, (s))
int nouveau_disp_create_(struct nouveau_object *, struct nouveau_object *,
struct nouveau_oclass *, int heads,
const char *, const char *, int, void **);
void _nouveau_disp_dtor(struct nouveau_object *);
#define _nouveau_disp_init _nouveau_engine_init
#define _nouveau_disp_fini _nouveau_engine_fini
extern struct nouveau_oclass *nv04_disp_oclass; extern struct nouveau_oclass *nv04_disp_oclass;
extern struct nouveau_oclass *nv50_disp_oclass; extern struct nouveau_oclass *nv50_disp_oclass;
extern struct nouveau_oclass *nv84_disp_oclass; extern struct nouveau_oclass *nv84_disp_oclass;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment