drivers/gpu/drm/via/via_crtc.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+)
New commits: commit fe1cf74897f740ab3e31733649a435d1a9353e09 Author: James Simmons <jsimm...@infradead.org> Date: Sat Mar 30 18:13:29 2013 -0400 Another IRQ issue. This time it is with vblank irq happening when nothing is mapped to the crtc. To handle this a crtc disable function is introduce that turns off the vbl, cursor, and power downs the crtc not in use. diff --git a/drivers/gpu/drm/via/via_crtc.c b/drivers/gpu/drm/via/via_crtc.c index 3933e00..c923936 100644 --- a/drivers/gpu/drm/via/via_crtc.c +++ b/drivers/gpu/drm/via/via_crtc.c @@ -901,6 +901,19 @@ via_crtc_dpms(struct drm_crtc *crtc, int mode) } static void +via_crtc_disable(struct drm_crtc *crtc) +{ + struct via_crtc *iga = container_of(crtc, struct via_crtc, base); + + drm_vblank_off(crtc->dev, iga->index); + + /* Turn off the cursor */ + via_hide_cursor(crtc); + + via_crtc_dpms(crtc, DRM_MODE_DPMS_OFF); +} + +static void via_crtc_prepare(struct drm_crtc *crtc) { /* Turn off the cursor */ @@ -1258,6 +1271,7 @@ via_iga2_mode_set_base_atomic(struct drm_crtc *crtc, struct drm_framebuffer *fb, static const struct drm_crtc_helper_funcs via_iga1_helper_funcs = { .dpms = via_crtc_dpms, + .disable = via_crtc_disable, .prepare = via_crtc_prepare, .commit = via_crtc_commit, .mode_fixup = via_crtc_mode_fixup, @@ -1269,6 +1283,7 @@ static const struct drm_crtc_helper_funcs via_iga1_helper_funcs = { static const struct drm_crtc_helper_funcs via_iga2_helper_funcs = { .dpms = via_crtc_dpms, + .disable = via_crtc_disable, .prepare = via_crtc_prepare, .commit = via_crtc_commit, .mode_fixup = via_crtc_mode_fixup, _______________________________________________ Openchrome-devel mailing list Openchrome-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/openchrome-devel