diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2018-05-08 20:39:47 +1000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2018-05-18 15:01:29 +1000 |
commit | 119608a7f3f1ef899f1f98d05306340b92834836 (patch) | |
tree | ad0f9f6e4555a709431164d18425ba0250a51484 /drivers/gpu/drm/nouveau/dispnv50/head.h | |
parent | e349a05dc8faad6b27700383945a1783612cbae6 (diff) | |
download | linux-stable-119608a7f3f1ef899f1f98d05306340b92834836.tar.gz linux-stable-119608a7f3f1ef899f1f98d05306340b92834836.tar.bz2 linux-stable-119608a7f3f1ef899f1f98d05306340b92834836.zip |
drm/nouveau/kms/nv50-: handle degamma LUT from window channels
Required to eventually support DRM colour management APIs, and to
support Volta.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/dispnv50/head.h')
-rw-r--r-- | drivers/gpu/drm/nouveau/dispnv50/head.h | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/gpu/drm/nouveau/dispnv50/head.h b/drivers/gpu/drm/nouveau/dispnv50/head.h index d00cebdbd260..0802271bc90c 100644 --- a/drivers/gpu/drm/nouveau/dispnv50/head.h +++ b/drivers/gpu/drm/nouveau/dispnv50/head.h @@ -3,16 +3,14 @@ #define nv50_head(c) container_of((c), struct nv50_head, base.base) #include "disp.h" #include "atom.h" +#include "lut.h" #include "nouveau_crtc.h" struct nv50_head { const struct nv50_head_func *func; struct nouveau_crtc base; - struct { - struct nouveau_bo *nvbo[2]; - int next; - } ilut; + struct nv50_lut olut; }; int nv50_head_create(struct drm_device *, int index); @@ -22,8 +20,9 @@ void nv50_head_flush_clr(struct nv50_head *, struct nv50_head_atom *, bool y); struct nv50_head_func { void (*view)(struct nv50_head *, struct nv50_head_atom *); void (*mode)(struct nv50_head *, struct nv50_head_atom *); - void (*ilut_set)(struct nv50_head *, struct nv50_head_atom *); - void (*ilut_clr)(struct nv50_head *); + void (*olut)(struct nv50_head *, struct nv50_head_atom *); + void (*olut_set)(struct nv50_head *, struct nv50_head_atom *); + void (*olut_clr)(struct nv50_head *); void (*core_calc)(struct nv50_head *, struct nv50_head_atom *); void (*core_set)(struct nv50_head *, struct nv50_head_atom *); void (*core_clr)(struct nv50_head *); @@ -39,6 +38,7 @@ struct nv50_head_func { extern const struct nv50_head_func head507d; void head507d_view(struct nv50_head *, struct nv50_head_atom *); void head507d_mode(struct nv50_head *, struct nv50_head_atom *); +void head507d_olut(struct nv50_head *, struct nv50_head_atom *); void head507d_core_calc(struct nv50_head *, struct nv50_head_atom *); void head507d_core_clr(struct nv50_head *); void head507d_base(struct nv50_head *, struct nv50_head_atom *); @@ -51,13 +51,13 @@ extern const struct nv50_head_func head827d; extern const struct nv50_head_func head907d; void head907d_view(struct nv50_head *, struct nv50_head_atom *); void head907d_mode(struct nv50_head *, struct nv50_head_atom *); -void head907d_ilut_set(struct nv50_head *, struct nv50_head_atom *); -void head907d_ilut_clr(struct nv50_head *); +void head907d_olut(struct nv50_head *, struct nv50_head_atom *); +void head907d_olut_set(struct nv50_head *, struct nv50_head_atom *); +void head907d_olut_clr(struct nv50_head *); void head907d_core_set(struct nv50_head *, struct nv50_head_atom *); void head907d_core_clr(struct nv50_head *); void head907d_curs_set(struct nv50_head *, struct nv50_head_atom *); void head907d_curs_clr(struct nv50_head *); -void head907d_base(struct nv50_head *, struct nv50_head_atom *); void head907d_ovly(struct nv50_head *, struct nv50_head_atom *); void head907d_procamp(struct nv50_head *, struct nv50_head_atom *); void head907d_or(struct nv50_head *, struct nv50_head_atom *); |