Loading drivers/staging/omapdrm/omap_crtc.c +1 −1 Original line number Diff line number Diff line Loading @@ -81,7 +81,7 @@ static int omap_crtc_mode_set(struct drm_crtc *crtc, struct omap_crtc *omap_crtc = to_omap_crtc(crtc); struct drm_plane *plane = omap_crtc->plane; return plane->funcs->update_plane(plane, crtc, crtc->fb, return omap_plane_mode_set(plane, crtc, crtc->fb, 0, 0, mode->hdisplay, mode->vdisplay, x << 16, y << 16, mode->hdisplay << 16, mode->vdisplay << 16); Loading drivers/staging/omapdrm/omap_drv.h +6 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,12 @@ struct drm_plane *omap_plane_init(struct drm_device *dev, struct omap_overlay *ovl, unsigned int possible_crtcs, bool priv); int omap_plane_dpms(struct drm_plane *plane, int mode); int omap_plane_mode_set(struct drm_plane *plane, struct drm_crtc *crtc, struct drm_framebuffer *fb, int crtc_x, int crtc_y, unsigned int crtc_w, unsigned int crtc_h, uint32_t src_x, uint32_t src_y, uint32_t src_w, uint32_t src_h); struct drm_encoder *omap_encoder_init(struct drm_device *dev, struct omap_overlay_manager *mgr); Loading drivers/staging/omapdrm/omap_plane.c +24 −9 Original line number Diff line number Diff line Loading @@ -85,7 +85,7 @@ static int commit(struct drm_plane *plane) } } if (info->enabled) { if (ovl->is_enabled(ovl)) { omap_framebuffer_flush(plane->fb, info->pos_x, info->pos_y, info->out_width, info->out_height); } Loading Loading @@ -115,7 +115,7 @@ static void update_manager(struct drm_plane *plane) } if (ovl->manager != mgr) { bool enabled = omap_plane->info.enabled; bool enabled = ovl->is_enabled(ovl); /* don't switch things around with enabled overlays: */ if (enabled) Loading Loading @@ -168,7 +168,8 @@ static void update_scanout(struct drm_plane *plane) if (ret) { dev_err(plane->dev->dev, "could not pin fb: %d\n", ret); omap_plane->info.enabled = false; omap_plane_dpms(plane, DRM_MODE_DPMS_OFF); return; } omap_framebuffer_update_scanout(plane->fb, Loading @@ -180,7 +181,7 @@ static void update_scanout(struct drm_plane *plane) info->screen_width); } static int omap_plane_update(struct drm_plane *plane, int omap_plane_mode_set(struct drm_plane *plane, struct drm_crtc *crtc, struct drm_framebuffer *fb, int crtc_x, int crtc_y, unsigned int crtc_w, unsigned int crtc_h, Loading @@ -195,7 +196,6 @@ static int omap_plane_update(struct drm_plane *plane, src_w = src_w >> 16; src_h = src_h >> 16; omap_plane->info.enabled = true; omap_plane->info.pos_x = crtc_x; omap_plane->info.pos_y = crtc_y; omap_plane->info.out_width = crtc_w; Loading @@ -214,11 +214,22 @@ static int omap_plane_update(struct drm_plane *plane, update_scanout(plane); update_manager(plane); commit(plane); return 0; } static int omap_plane_update(struct drm_plane *plane, struct drm_crtc *crtc, struct drm_framebuffer *fb, int crtc_x, int crtc_y, unsigned int crtc_w, unsigned int crtc_h, uint32_t src_x, uint32_t src_y, uint32_t src_w, uint32_t src_h) { omap_plane_mode_set(plane, crtc, fb, crtc_x, crtc_y, crtc_w, crtc_h, src_x, src_y, src_w, src_h); return omap_plane_dpms(plane, DRM_MODE_DPMS_ON); } static int omap_plane_disable(struct drm_plane *plane) { return omap_plane_dpms(plane, DRM_MODE_DPMS_OFF); Loading @@ -236,18 +247,22 @@ static void omap_plane_destroy(struct drm_plane *plane) int omap_plane_dpms(struct drm_plane *plane, int mode) { struct omap_plane *omap_plane = to_omap_plane(plane); struct omap_overlay *ovl = omap_plane->ovl; int r; DBG("%s: %d", omap_plane->ovl->name, mode); if (mode == DRM_MODE_DPMS_ON) { update_scanout(plane); omap_plane->info.enabled = true; r = commit(plane); if (!r) r = ovl->enable(ovl); } else { omap_plane->info.enabled = false; r = ovl->disable(ovl); update_pin(plane, NULL); } return commit(plane); return r; } static const struct drm_plane_funcs omap_plane_funcs = { Loading Loading
drivers/staging/omapdrm/omap_crtc.c +1 −1 Original line number Diff line number Diff line Loading @@ -81,7 +81,7 @@ static int omap_crtc_mode_set(struct drm_crtc *crtc, struct omap_crtc *omap_crtc = to_omap_crtc(crtc); struct drm_plane *plane = omap_crtc->plane; return plane->funcs->update_plane(plane, crtc, crtc->fb, return omap_plane_mode_set(plane, crtc, crtc->fb, 0, 0, mode->hdisplay, mode->vdisplay, x << 16, y << 16, mode->hdisplay << 16, mode->vdisplay << 16); Loading
drivers/staging/omapdrm/omap_drv.h +6 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,12 @@ struct drm_plane *omap_plane_init(struct drm_device *dev, struct omap_overlay *ovl, unsigned int possible_crtcs, bool priv); int omap_plane_dpms(struct drm_plane *plane, int mode); int omap_plane_mode_set(struct drm_plane *plane, struct drm_crtc *crtc, struct drm_framebuffer *fb, int crtc_x, int crtc_y, unsigned int crtc_w, unsigned int crtc_h, uint32_t src_x, uint32_t src_y, uint32_t src_w, uint32_t src_h); struct drm_encoder *omap_encoder_init(struct drm_device *dev, struct omap_overlay_manager *mgr); Loading
drivers/staging/omapdrm/omap_plane.c +24 −9 Original line number Diff line number Diff line Loading @@ -85,7 +85,7 @@ static int commit(struct drm_plane *plane) } } if (info->enabled) { if (ovl->is_enabled(ovl)) { omap_framebuffer_flush(plane->fb, info->pos_x, info->pos_y, info->out_width, info->out_height); } Loading Loading @@ -115,7 +115,7 @@ static void update_manager(struct drm_plane *plane) } if (ovl->manager != mgr) { bool enabled = omap_plane->info.enabled; bool enabled = ovl->is_enabled(ovl); /* don't switch things around with enabled overlays: */ if (enabled) Loading Loading @@ -168,7 +168,8 @@ static void update_scanout(struct drm_plane *plane) if (ret) { dev_err(plane->dev->dev, "could not pin fb: %d\n", ret); omap_plane->info.enabled = false; omap_plane_dpms(plane, DRM_MODE_DPMS_OFF); return; } omap_framebuffer_update_scanout(plane->fb, Loading @@ -180,7 +181,7 @@ static void update_scanout(struct drm_plane *plane) info->screen_width); } static int omap_plane_update(struct drm_plane *plane, int omap_plane_mode_set(struct drm_plane *plane, struct drm_crtc *crtc, struct drm_framebuffer *fb, int crtc_x, int crtc_y, unsigned int crtc_w, unsigned int crtc_h, Loading @@ -195,7 +196,6 @@ static int omap_plane_update(struct drm_plane *plane, src_w = src_w >> 16; src_h = src_h >> 16; omap_plane->info.enabled = true; omap_plane->info.pos_x = crtc_x; omap_plane->info.pos_y = crtc_y; omap_plane->info.out_width = crtc_w; Loading @@ -214,11 +214,22 @@ static int omap_plane_update(struct drm_plane *plane, update_scanout(plane); update_manager(plane); commit(plane); return 0; } static int omap_plane_update(struct drm_plane *plane, struct drm_crtc *crtc, struct drm_framebuffer *fb, int crtc_x, int crtc_y, unsigned int crtc_w, unsigned int crtc_h, uint32_t src_x, uint32_t src_y, uint32_t src_w, uint32_t src_h) { omap_plane_mode_set(plane, crtc, fb, crtc_x, crtc_y, crtc_w, crtc_h, src_x, src_y, src_w, src_h); return omap_plane_dpms(plane, DRM_MODE_DPMS_ON); } static int omap_plane_disable(struct drm_plane *plane) { return omap_plane_dpms(plane, DRM_MODE_DPMS_OFF); Loading @@ -236,18 +247,22 @@ static void omap_plane_destroy(struct drm_plane *plane) int omap_plane_dpms(struct drm_plane *plane, int mode) { struct omap_plane *omap_plane = to_omap_plane(plane); struct omap_overlay *ovl = omap_plane->ovl; int r; DBG("%s: %d", omap_plane->ovl->name, mode); if (mode == DRM_MODE_DPMS_ON) { update_scanout(plane); omap_plane->info.enabled = true; r = commit(plane); if (!r) r = ovl->enable(ovl); } else { omap_plane->info.enabled = false; r = ovl->disable(ovl); update_pin(plane, NULL); } return commit(plane); return r; } static const struct drm_plane_funcs omap_plane_funcs = { Loading