struct mdp4_crtc {
struct drm_crtc base;
char name[8];
- struct drm_plane *plane;
struct drm_plane *planes[8];
int id;
int ovlp;
return;
drm_framebuffer_reference(fb);
- mdp4_plane_set_scanout(mdp4_crtc->plane, fb);
+ mdp4_plane_set_scanout(crtc->primary, fb);
update_scanout(crtc, fb);
}
/* grab extra ref for update_scanout() */
drm_framebuffer_reference(crtc->primary->fb);
- ret = mdp4_plane_mode_set(mdp4_crtc->plane, crtc, crtc->primary->fb,
+ ret = mdp4_plane_mode_set(crtc->primary, crtc, crtc->primary->fb,
0, 0, mode->hdisplay, mode->vdisplay,
x << 16, y << 16,
mode->hdisplay << 16, mode->vdisplay << 16);
static int mdp4_crtc_mode_set_base(struct drm_crtc *crtc, int x, int y,
struct drm_framebuffer *old_fb)
{
- struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc);
- struct drm_plane *plane = mdp4_crtc->plane;
+ struct drm_plane *plane = crtc->primary;
struct drm_display_mode *mode = &crtc->mode;
int ret;
mdp4_crtc->planes[pipe_id] = plane;
blend_setup(crtc);
- if (mdp4_crtc->enabled && (plane != mdp4_crtc->plane))
+ if (mdp4_crtc->enabled && (plane != crtc->primary))
crtc_flush(crtc);
}
void mdp4_crtc_detach(struct drm_crtc *crtc, struct drm_plane *plane)
{
/* don't actually detatch our primary plane: */
- if (to_mdp4_crtc(crtc)->plane == plane)
+ if (crtc->primary == plane)
return;
set_attach(crtc, mdp4_plane_pipe(plane), NULL);
}
crtc = &mdp4_crtc->base;
- mdp4_crtc->plane = plane;
mdp4_crtc->id = id;
mdp4_crtc->ovlp = ovlp_id;
drm_crtc_init_with_planes(dev, crtc, plane, NULL, &mdp4_crtc_funcs);
drm_crtc_helper_add(crtc, &mdp4_crtc_helper_funcs);
- mdp4_plane_install_properties(mdp4_crtc->plane, &crtc->base);
+ mdp4_plane_install_properties(plane, &crtc->base);
return crtc;
}