aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/core/subdev/fb/nvc0.h
blob: 705a06d755ad2310fe10230ee1e160cceb2a9e11 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#ifndef __NVKM_RAM_NVC0_H__
#define __NVKM_RAM_NVC0_H__

#include "priv.h"
#include "nv50.h"

struct nvc0_fb_priv {
	struct nouveau_fb base;
	struct page *r100c10_page;
	dma_addr_t r100c10;
};

int  nvc0_fb_ctor(struct nouveau_object *, struct nouveau_object *,
		  struct nouveau_oclass *, void *, u32,
		  struct nouveau_object **);
void nvc0_fb_dtor(struct nouveau_object *);
int  nvc0_fb_init(struct nouveau_object *);
bool nvc0_fb_memtype_valid(struct nouveau_fb *, u32);


#define nvc0_ram_create(p,e,o,m,d)                                             \
	nvc0_ram_create_((p), (e), (o), (m), sizeof(**d), (void **)d)
int  nvc0_ram_create_(struct nouveau_object *, struct nouveau_object *,
		      struct nouveau_oclass *, u32, int, void **);
int  nvc0_ram_get(struct nouveau_fb *, u64, u32, u32, u32,
		  struct nouveau_mem **);
void nvc0_ram_put(struct nouveau_fb *, struct nouveau_mem **);

int  nve0_ram_init(struct nouveau_object*);

#endif