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/atom.h | |
parent | e349a05dc8faad6b27700383945a1783612cbae6 (diff) |
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/atom.h')
-rw-r--r-- | drivers/gpu/drm/nouveau/dispnv50/atom.h | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/drivers/gpu/drm/nouveau/dispnv50/atom.h b/drivers/gpu/drm/nouveau/dispnv50/atom.h index fefb9caaf7b8..3e9e8832d0dd 100644 --- a/drivers/gpu/drm/nouveau/dispnv50/atom.h +++ b/drivers/gpu/drm/nouveau/dispnv50/atom.h @@ -17,6 +17,11 @@ struct nv50_head_atom { struct drm_crtc_state state; struct { + u32 mask; + u32 olut; + } wndw; + + struct { u16 iW; u16 iH; u16 oW; @@ -47,8 +52,9 @@ struct nv50_head_atom { bool visible; u32 handle; u64 offset:40; - u8 mode:4; - } ilut; + u8 buffer:1; + u8 mode:4; + } olut; struct { bool visible; @@ -107,7 +113,7 @@ struct nv50_head_atom { union nv50_head_atom_mask { struct { - bool ilut:1; + bool olut:1; bool core:1; bool curs:1; bool view:1; @@ -136,6 +142,7 @@ nv50_head_atom_get(struct drm_atomic_state *state, struct drm_crtc *crtc) struct nv50_wndw_atom { struct drm_plane_state state; + struct drm_property_blob *ilut; bool visible; struct { @@ -152,8 +159,14 @@ struct nv50_wndw_atom { } sema; struct { - u8 enable:2; - } lut; + u32 handle; + struct { + u64 offset:40; + u8 buffer:1; + u8 enable:2; + u8 mode:4; + } i; + } xlut; struct { u8 mode:2; @@ -180,8 +193,8 @@ struct nv50_wndw_atom { struct { bool ntfy:1; bool sema:1; + bool xlut:1; bool image:1; - bool lut:1; bool point:1; }; u8 mask; |