Lines Matching refs:state
47 struct rcar_du_plane_state *state = in rcar_du_plane_setup_fb() local
48 to_rcar_du_plane_state(plane->plane.state); in rcar_du_plane_setup_fb()
49 struct drm_framebuffer *fb = plane->plane.state->fb; in rcar_du_plane_setup_fb()
51 unsigned int src_x = state->state.src_x >> 16; in rcar_du_plane_setup_fb()
52 unsigned int src_y = state->state.src_y >> 16; in rcar_du_plane_setup_fb()
53 unsigned int index = state->hwindex; in rcar_du_plane_setup_fb()
58 interlaced = state->state.crtc->state->adjusted_mode.flags in rcar_du_plane_setup_fb()
64 if (state->format->planes == 2) in rcar_du_plane_setup_fb()
67 mwr = fb->pitches[0] * 8 / state->format->bpp; in rcar_du_plane_setup_fb()
69 if (interlaced && state->format->bpp == 32) in rcar_du_plane_setup_fb()
88 (!interlaced && state->format->bpp == 32 ? 2 : 1)); in rcar_du_plane_setup_fb()
93 if (state->format->planes == 2) { in rcar_du_plane_setup_fb()
100 (state->format->bpp == 16 ? 2 : 1) / 2); in rcar_du_plane_setup_fb()
111 struct rcar_du_plane_state *state = in rcar_du_plane_setup_mode() local
112 to_rcar_du_plane_state(plane->plane.state); in rcar_du_plane_setup_mode()
126 if (state->format->fourcc != DRM_FORMAT_XRGB1555) in rcar_du_plane_setup_mode()
130 PnALPHAR_ABIT_X | state->alpha); in rcar_du_plane_setup_mode()
132 pnmr = PnMR_BM_MD | state->format->pnmr; in rcar_du_plane_setup_mode()
138 if ((state->colorkey & RCAR_DU_COLORKEY_MASK) == RCAR_DU_COLORKEY_NONE) in rcar_du_plane_setup_mode()
142 if (state->format->fourcc == DRM_FORMAT_YUYV) in rcar_du_plane_setup_mode()
147 switch (state->format->fourcc) { in rcar_du_plane_setup_mode()
149 colorkey = ((state->colorkey & 0xf80000) >> 8) in rcar_du_plane_setup_mode()
150 | ((state->colorkey & 0x00fc00) >> 5) in rcar_du_plane_setup_mode()
151 | ((state->colorkey & 0x0000f8) >> 3); in rcar_du_plane_setup_mode()
157 colorkey = ((state->colorkey & 0xf80000) >> 9) in rcar_du_plane_setup_mode()
158 | ((state->colorkey & 0x00f800) >> 6) in rcar_du_plane_setup_mode()
159 | ((state->colorkey & 0x0000f8) >> 3); in rcar_du_plane_setup_mode()
166 PnTC3R_CODE | (state->colorkey & 0xffffff)); in rcar_du_plane_setup_mode()
174 struct rcar_du_plane_state *state = in __rcar_du_plane_setup() local
175 to_rcar_du_plane_state(plane->plane.state); in __rcar_du_plane_setup()
187 ddcr4 |= state->format->edf | PnDDCR4_CODE; in __rcar_du_plane_setup()
191 if (state->format->planes == 2) { in __rcar_du_plane_setup()
192 if (state->hwindex != index) { in __rcar_du_plane_setup()
193 if (state->format->fourcc == DRM_FORMAT_NV12 || in __rcar_du_plane_setup()
194 state->format->fourcc == DRM_FORMAT_NV21) in __rcar_du_plane_setup()
197 if (state->format->fourcc == DRM_FORMAT_NV21) in __rcar_du_plane_setup()
210 rcar_du_plane_write(rgrp, index, PnDSXR, plane->plane.state->crtc_w); in __rcar_du_plane_setup()
211 rcar_du_plane_write(rgrp, index, PnDSYR, plane->plane.state->crtc_h); in __rcar_du_plane_setup()
212 rcar_du_plane_write(rgrp, index, PnDPXR, plane->plane.state->crtc_x); in __rcar_du_plane_setup()
213 rcar_du_plane_write(rgrp, index, PnDPYR, plane->plane.state->crtc_y); in __rcar_du_plane_setup()
224 struct rcar_du_plane_state *state = in rcar_du_plane_setup() local
225 to_rcar_du_plane_state(plane->plane.state); in rcar_du_plane_setup()
227 __rcar_du_plane_setup(plane, state->hwindex); in rcar_du_plane_setup()
228 if (state->format->planes == 2) in rcar_du_plane_setup()
229 __rcar_du_plane_setup(plane, (state->hwindex + 1) % 8); in rcar_du_plane_setup()
235 struct drm_plane_state *state) in rcar_du_plane_atomic_check() argument
237 struct rcar_du_plane_state *rstate = to_rcar_du_plane_state(state); in rcar_du_plane_atomic_check()
241 if (!state->fb || !state->crtc) { in rcar_du_plane_atomic_check()
246 if (state->src_w >> 16 != state->crtc_w || in rcar_du_plane_atomic_check()
247 state->src_h >> 16 != state->crtc_h) { in rcar_du_plane_atomic_check()
252 rstate->format = rcar_du_format_info(state->fb->pixel_format); in rcar_du_plane_atomic_check()
255 state->fb->pixel_format); in rcar_du_plane_atomic_check()
267 if (plane->state->crtc) in rcar_du_plane_atomic_update()
278 struct rcar_du_plane_state *state; in rcar_du_plane_reset() local
280 if (plane->state && plane->state->fb) in rcar_du_plane_reset()
281 drm_framebuffer_unreference(plane->state->fb); in rcar_du_plane_reset()
283 kfree(plane->state); in rcar_du_plane_reset()
284 plane->state = NULL; in rcar_du_plane_reset()
286 state = kzalloc(sizeof(*state), GFP_KERNEL); in rcar_du_plane_reset()
287 if (state == NULL) in rcar_du_plane_reset()
290 state->hwindex = -1; in rcar_du_plane_reset()
291 state->alpha = 255; in rcar_du_plane_reset()
292 state->colorkey = RCAR_DU_COLORKEY_NONE; in rcar_du_plane_reset()
293 state->zpos = plane->type == DRM_PLANE_TYPE_PRIMARY ? 0 : 1; in rcar_du_plane_reset()
295 plane->state = &state->state; in rcar_du_plane_reset()
296 plane->state->plane = plane; in rcar_du_plane_reset()
302 struct rcar_du_plane_state *state; in rcar_du_plane_atomic_duplicate_state() local
305 state = to_rcar_du_plane_state(plane->state); in rcar_du_plane_atomic_duplicate_state()
306 copy = kmemdup(state, sizeof(*state), GFP_KERNEL); in rcar_du_plane_atomic_duplicate_state()
310 if (copy->state.fb) in rcar_du_plane_atomic_duplicate_state()
311 drm_framebuffer_reference(copy->state.fb); in rcar_du_plane_atomic_duplicate_state()
313 return ©->state; in rcar_du_plane_atomic_duplicate_state()
317 struct drm_plane_state *state) in rcar_du_plane_atomic_destroy_state() argument
319 if (state->fb) in rcar_du_plane_atomic_destroy_state()
320 drm_framebuffer_unreference(state->fb); in rcar_du_plane_atomic_destroy_state()
322 kfree(to_rcar_du_plane_state(state)); in rcar_du_plane_atomic_destroy_state()
326 struct drm_plane_state *state, in rcar_du_plane_atomic_set_property() argument
330 struct rcar_du_plane_state *rstate = to_rcar_du_plane_state(state); in rcar_du_plane_atomic_set_property()
347 const struct drm_plane_state *state, struct drm_property *property, in rcar_du_plane_atomic_get_property() argument
351 container_of(state, const struct rcar_du_plane_state, state); in rcar_du_plane_atomic_get_property()