{
struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc);
struct exynos_drm_manager *manager = exynos_crtc->manager;
+ struct exynos_drm_plane *exynos_plane = to_exynos_plane(crtc->primary);
exynos_drm_crtc_dpms(crtc, DRM_MODE_DPMS_ON);
- exynos_plane_commit(crtc->primary);
+ if (manager->ops->win_commit)
+ manager->ops->win_commit(manager, exynos_plane->zpos);
if (manager->ops->commit)
manager->ops->commit(manager);
return 0;
}
-void exynos_plane_commit(struct drm_plane *plane)
-{
- struct exynos_drm_plane *exynos_plane = to_exynos_plane(plane);
- struct exynos_drm_manager *manager = to_exynos_crtc(plane->crtc)->manager;
-
- if (manager->ops->win_commit)
- manager->ops->win_commit(manager, exynos_plane->zpos);
-}
-
void exynos_plane_dpms(struct drm_plane *plane, int mode)
{
struct exynos_drm_plane *exynos_plane = to_exynos_plane(plane);
uint32_t src_x, uint32_t src_y,
uint32_t src_w, uint32_t src_h)
{
+
+ struct exynos_drm_manager *manager = to_exynos_crtc(crtc)->manager;
+ struct exynos_drm_plane *exynos_plane = to_exynos_plane(plane);
int ret;
ret = exynos_plane_mode_set(plane, crtc, fb, crtc_x, crtc_y,
if (ret < 0)
return ret;
- exynos_plane_commit(plane);
+ if (manager->ops->win_commit)
+ manager->ops->win_commit(manager, exynos_plane->zpos);
return 0;
}
unsigned int crtc_w, unsigned int crtc_h,
uint32_t src_x, uint32_t src_y,
uint32_t src_w, uint32_t src_h);
-void exynos_plane_commit(struct drm_plane *plane);
void exynos_plane_dpms(struct drm_plane *plane, int mode);
struct drm_plane *exynos_plane_init(struct drm_device *dev,
unsigned long possible_crtcs,