Lines Matching refs:dplane
76 struct armada_plane *dplane = data; in armada_plane_vbl() local
79 armada_drm_crtc_update_regs(dcrtc, dplane->vbl.regs); in armada_plane_vbl()
81 spin_lock(&dplane->lock); in armada_plane_vbl()
82 fb = dplane->old_fb; in armada_plane_vbl()
83 dplane->old_fb = NULL; in armada_plane_vbl()
84 spin_unlock(&dplane->lock); in armada_plane_vbl()
106 struct armada_plane *dplane = drm_to_armada_plane(plane); in armada_plane_update() local
131 armada_ovl_update_attr(&dplane->prop, dcrtc); in armada_plane_update()
136 if (plane->fb == fb && dplane->ctrl0 == ctrl0) { in armada_plane_update()
138 dplane->src_hw = val; in armada_plane_update()
141 dplane->dst_hw = val; in armada_plane_update()
144 dplane->dst_yx = val; in armada_plane_update()
147 } else if (~dplane->ctrl0 & ctrl0 & CFG_DMA_ENA) { in armada_plane_update()
153 ret = wait_event_timeout(dplane->vbl.wait, in armada_plane_update()
154 list_empty(&dplane->vbl.update.node), in armada_plane_update()
172 spin_lock_irq(&dplane->lock); in armada_plane_update()
173 older_fb = dplane->old_fb; in armada_plane_update()
174 dplane->old_fb = plane->fb; in armada_plane_update()
175 spin_unlock_irq(&dplane->lock); in armada_plane_update()
190 armada_reg_queue_set(dplane->vbl.regs, idx, sy, in armada_plane_update()
192 armada_reg_queue_set(dplane->vbl.regs, idx, su, in armada_plane_update()
194 armada_reg_queue_set(dplane->vbl.regs, idx, sv, in armada_plane_update()
196 armada_reg_queue_set(dplane->vbl.regs, idx, sy, in armada_plane_update()
198 armada_reg_queue_set(dplane->vbl.regs, idx, su, in armada_plane_update()
200 armada_reg_queue_set(dplane->vbl.regs, idx, sv, in armada_plane_update()
204 armada_reg_queue_set(dplane->vbl.regs, idx, val, in armada_plane_update()
207 armada_reg_queue_set(dplane->vbl.regs, idx, val, in armada_plane_update()
212 if (dplane->src_hw != val) { in armada_plane_update()
213 dplane->src_hw = val; in armada_plane_update()
214 armada_reg_queue_set(dplane->vbl.regs, idx, val, in armada_plane_update()
218 if (dplane->dst_hw != val) { in armada_plane_update()
219 dplane->dst_hw = val; in armada_plane_update()
220 armada_reg_queue_set(dplane->vbl.regs, idx, val, in armada_plane_update()
224 if (dplane->dst_yx != val) { in armada_plane_update()
225 dplane->dst_yx = val; in armada_plane_update()
226 armada_reg_queue_set(dplane->vbl.regs, idx, val, in armada_plane_update()
229 if (dplane->ctrl0 != ctrl0) { in armada_plane_update()
230 dplane->ctrl0 = ctrl0; in armada_plane_update()
231 armada_reg_queue_mod(dplane->vbl.regs, idx, ctrl0, in armada_plane_update()
239 armada_reg_queue_end(dplane->vbl.regs, idx); in armada_plane_update()
240 armada_drm_vbl_event_add(dcrtc, &dplane->vbl.update); in armada_plane_update()
247 struct armada_plane *dplane = drm_to_armada_plane(plane); in armada_plane_disable() local
251 if (!dplane->base.crtc) in armada_plane_disable()
254 dcrtc = drm_to_armada_crtc(dplane->base.crtc); in armada_plane_disable()
258 armada_drm_vbl_event_remove(dcrtc, &dplane->vbl.update); in armada_plane_disable()
260 dplane->ctrl0 = 0; in armada_plane_disable()
270 spin_lock_irq(&dplane->lock); in armada_plane_disable()
271 fb = dplane->old_fb; in armada_plane_disable()
272 dplane->old_fb = NULL; in armada_plane_disable()
273 spin_unlock_irq(&dplane->lock); in armada_plane_disable()
289 struct armada_plane *dplane = drm_to_armada_plane(plane); in armada_plane_set_property() local
294 dplane->prop.colorkey_yr = CCC(K2R(val)); in armada_plane_set_property()
295 dplane->prop.colorkey_ug = CCC(K2G(val)); in armada_plane_set_property()
296 dplane->prop.colorkey_vb = CCC(K2B(val)); in armada_plane_set_property()
300 dplane->prop.colorkey_yr &= ~0x00ff0000; in armada_plane_set_property()
301 dplane->prop.colorkey_yr |= K2R(val) << 16; in armada_plane_set_property()
302 dplane->prop.colorkey_ug &= ~0x00ff0000; in armada_plane_set_property()
303 dplane->prop.colorkey_ug |= K2G(val) << 16; in armada_plane_set_property()
304 dplane->prop.colorkey_vb &= ~0x00ff0000; in armada_plane_set_property()
305 dplane->prop.colorkey_vb |= K2B(val) << 16; in armada_plane_set_property()
308 dplane->prop.colorkey_yr &= ~0xff000000; in armada_plane_set_property()
309 dplane->prop.colorkey_yr |= K2R(val) << 24; in armada_plane_set_property()
310 dplane->prop.colorkey_ug &= ~0xff000000; in armada_plane_set_property()
311 dplane->prop.colorkey_ug |= K2G(val) << 24; in armada_plane_set_property()
312 dplane->prop.colorkey_vb &= ~0xff000000; in armada_plane_set_property()
313 dplane->prop.colorkey_vb |= K2B(val) << 24; in armada_plane_set_property()
316 dplane->prop.colorkey_yr &= ~0x0000ff00; in armada_plane_set_property()
317 dplane->prop.colorkey_yr |= K2R(val) << 8; in armada_plane_set_property()
318 dplane->prop.colorkey_ug &= ~0x0000ff00; in armada_plane_set_property()
319 dplane->prop.colorkey_ug |= K2G(val) << 8; in armada_plane_set_property()
320 dplane->prop.colorkey_vb &= ~0x0000ff00; in armada_plane_set_property()
321 dplane->prop.colorkey_vb |= K2B(val) << 8; in armada_plane_set_property()
324 dplane->prop.colorkey_yr &= ~0x000000ff; in armada_plane_set_property()
325 dplane->prop.colorkey_yr |= K2R(val); in armada_plane_set_property()
326 dplane->prop.colorkey_ug &= ~0x000000ff; in armada_plane_set_property()
327 dplane->prop.colorkey_ug |= K2G(val); in armada_plane_set_property()
328 dplane->prop.colorkey_vb &= ~0x000000ff; in armada_plane_set_property()
329 dplane->prop.colorkey_vb |= K2B(val); in armada_plane_set_property()
332 dplane->prop.colorkey_mode &= ~CFG_CKMODE_MASK; in armada_plane_set_property()
333 dplane->prop.colorkey_mode |= CFG_CKMODE(val); in armada_plane_set_property()
336 dplane->prop.brightness = val - 256; in armada_plane_set_property()
339 dplane->prop.contrast = val; in armada_plane_set_property()
342 dplane->prop.saturation = val; in armada_plane_set_property()
346 if (update_attr && dplane->base.crtc) in armada_plane_set_property()
347 armada_ovl_update_attr(&dplane->prop, in armada_plane_set_property()
348 drm_to_armada_crtc(dplane->base.crtc)); in armada_plane_set_property()
430 struct armada_plane *dplane; in armada_overlay_plane_create() local
437 dplane = kzalloc(sizeof(*dplane), GFP_KERNEL); in armada_overlay_plane_create()
438 if (!dplane) in armada_overlay_plane_create()
441 spin_lock_init(&dplane->lock); in armada_overlay_plane_create()
442 init_waitqueue_head(&dplane->vbl.wait); in armada_overlay_plane_create()
443 armada_drm_vbl_event_init(&dplane->vbl.update, armada_plane_vbl, in armada_overlay_plane_create()
444 dplane); in armada_overlay_plane_create()
446 drm_plane_init(dev, &dplane->base, crtcs, &armada_plane_funcs, in armada_overlay_plane_create()
449 dplane->prop.colorkey_yr = 0xfefefe00; in armada_overlay_plane_create()
450 dplane->prop.colorkey_ug = 0x01010100; in armada_overlay_plane_create()
451 dplane->prop.colorkey_vb = 0x01010100; in armada_overlay_plane_create()
452 dplane->prop.colorkey_mode = CFG_CKMODE(CKMODE_RGB); in armada_overlay_plane_create()
453 dplane->prop.brightness = 0; in armada_overlay_plane_create()
454 dplane->prop.contrast = 0x4000; in armada_overlay_plane_create()
455 dplane->prop.saturation = 0x4000; in armada_overlay_plane_create()
457 mobj = &dplane->base.base; in armada_overlay_plane_create()
472 dplane->prop.contrast); in armada_overlay_plane_create()
474 dplane->prop.saturation); in armada_overlay_plane_create()