2019-06-20 00:13:43 +00:00
|
|
|
/* SPDX-License-Identifier: MIT */
|
2013-10-18 04:44:23 +00:00
|
|
|
#ifndef __NVKM_FB_NV50_H__
|
|
|
|
#define __NVKM_FB_NV50_H__
|
2015-08-20 04:54:20 +00:00
|
|
|
#define nv50_fb(p) container_of((p), struct nv50_fb, base)
|
2013-10-18 04:44:23 +00:00
|
|
|
#include "priv.h"
|
|
|
|
|
2015-08-20 04:54:06 +00:00
|
|
|
struct nv50_fb {
|
2015-08-20 04:54:20 +00:00
|
|
|
const struct nv50_fb_func *func;
|
2015-01-14 04:52:58 +00:00
|
|
|
struct nvkm_fb base;
|
2013-10-18 04:44:23 +00:00
|
|
|
struct page *r100c08_page;
|
|
|
|
dma_addr_t r100c08;
|
|
|
|
};
|
|
|
|
|
2015-08-20 04:54:20 +00:00
|
|
|
struct nv50_fb_func {
|
|
|
|
int (*ram_new)(struct nvkm_fb *, struct nvkm_ram **);
|
2017-10-31 17:56:19 +00:00
|
|
|
u32 (*tags)(struct nvkm_fb *);
|
2013-10-18 04:44:23 +00:00
|
|
|
u32 trap;
|
|
|
|
};
|
|
|
|
|
2015-08-20 04:54:20 +00:00
|
|
|
int nv50_fb_new_(const struct nv50_fb_func *, struct nvkm_device *, int index,
|
|
|
|
struct nvkm_fb **pfb);
|
2013-10-18 04:44:23 +00:00
|
|
|
#endif
|