Skip to content

Commit

Permalink
drm/nouveau/disp/nv04: implement a base display object class
Browse files Browse the repository at this point in the history
Will be used for upcoming vblank event interfaces.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
  • Loading branch information
Ben Skeggs committed Feb 20, 2013
1 parent 51fa025 commit 21a5ace
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 0 deletions.
2 changes: 2 additions & 0 deletions drivers/gpu/drm/nouveau/core/engine/disp/nv04.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,15 @@
*/

#include <engine/disp.h>
#include <core/class.h>

struct nv04_disp_priv {
struct nouveau_disp base;
};

static struct nouveau_oclass
nv04_disp_sclass[] = {
{ NV04_DISP_CLASS, &nouveau_object_ofuncs },
{},
};

Expand Down
8 changes: 8 additions & 0 deletions drivers/gpu/drm/nouveau/core/include/core/class.h
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,14 @@ struct nve0_channel_ind_class {
u32 engine;
};

/* 0046: NV04_DISP
*/

#define NV04_DISP_CLASS 0x00000046

struct nv04_display_class {
};

/* 5070: NV50_DISP
* 8270: NV84_DISP
* 8370: NVA0_DISP
Expand Down
8 changes: 8 additions & 0 deletions drivers/gpu/drm/nouveau/nv04_display.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@
* Author: Ben Skeggs
*/

#include <core/object.h>
#include <core/class.h>

#include <drm/drmP.h>
#include <drm/drm_crtc_helper.h>

Expand Down Expand Up @@ -71,6 +74,11 @@ nv04_display_create(struct drm_device *dev)

nouveau_hw_save_vga_fonts(dev, 1);

ret = nouveau_object_new(nv_object(drm), NVDRM_DEVICE, 0xd1500000,
NV04_DISP_CLASS, NULL, 0, &disp->core);
if (ret)
return ret;

nv04_crtc_create(dev, 0);
if (nv_two_heads(dev))
nv04_crtc_create(dev, 1);
Expand Down
1 change: 1 addition & 0 deletions drivers/gpu/drm/nouveau/nv04_display.h
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ struct nv04_display {
struct nv04_mode_state saved_reg;
uint32_t saved_vga_font[4][16384];
uint32_t dac_users[4];
struct nouveau_object *core;
};

static inline struct nv04_display *
Expand Down

0 comments on commit 21a5ace

Please sign in to comment.