1 #ifndef __NV50_KMS_ATOM_H__
2 #define __NV50_KMS_ATOM_H__
3 #define nv50_atom(p) container_of((p), struct nv50_atom, state)
4 #include <drm/drm_atomic.h>
7 struct drm_atomic_state state;
14 #define nv50_head_atom(p) container_of((p), struct nv50_head_atom, state)
16 struct nv50_head_atom {
17 struct drm_crtc_state state;
31 struct nv50_head_mode {
60 void (*load)(struct drm_color_lut *, int size, void __iomem *);
120 /* Currently only used for MST */
126 union nv50_head_atom_mask {
143 static inline struct nv50_head_atom *
144 nv50_head_atom_get(struct drm_atomic_state *state, struct drm_crtc *crtc)
146 struct drm_crtc_state *statec = drm_atomic_get_crtc_state(state, crtc);
148 return (void *)statec;
149 return nv50_head_atom(statec);
152 #define nv50_wndw_atom(p) container_of((p), struct nv50_wndw_atom, state)
154 struct nv50_wndw_atom {
155 struct drm_plane_state state;
157 struct drm_property_blob *ilut;
183 void (*load)(struct drm_color_lut *, int size,
232 union nv50_wndw_atom_mask {