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 *);
119 /* Currently only used for MST */
125 union nv50_head_atom_mask {
142 static inline struct nv50_head_atom *
143 nv50_head_atom_get(struct drm_atomic_state *state, struct drm_crtc *crtc)
145 struct drm_crtc_state *statec = drm_atomic_get_crtc_state(state, crtc);
147 return (void *)statec;
148 return nv50_head_atom(statec);
151 #define nv50_wndw_atom(p) container_of((p), struct nv50_wndw_atom, state)
153 struct nv50_wndw_atom {
154 struct drm_plane_state state;
156 struct drm_property_blob *ilut;
182 void (*load)(struct drm_color_lut *, int size,
219 union nv50_wndw_atom_mask {