Message ID | 20250304134203.20534-1-tiwai@suse.de (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | drm/bochs: Fix DPMS regression | expand |
Am 04.03.25 um 14:41 schrieb Takashi Iwai: > The recent rewrite with the use of regular atomic helpers broke the > DPMS unblanking on X11. Fix it by moving the call of > bochs_hw_blank(false) from CRTC mode_set_nofb() to atomic_enable(). > > Fixes: 2037174993c8 ("drm/bochs: Use regular atomic helpers") > Link: https://bugzilla.suse.com/show_bug.cgi?id=1238209 > Signed-off-by: Takashi Iwai <tiwai@suse.de> Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de> Thanks for the patch. > --- > drivers/gpu/drm/tiny/bochs.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/tiny/bochs.c b/drivers/gpu/drm/tiny/bochs.c > index 76e29950a807..c1c7d6c9e85f 100644 > --- a/drivers/gpu/drm/tiny/bochs.c > +++ b/drivers/gpu/drm/tiny/bochs.c > @@ -323,8 +323,6 @@ static void bochs_hw_setmode(struct bochs_device *bochs, struct drm_display_mode > bochs->xres, bochs->yres, bochs->bpp, > bochs->yres_virtual); > > - bochs_hw_blank(bochs, false); > - > bochs_dispi_write(bochs, VBE_DISPI_INDEX_ENABLE, 0); > bochs_dispi_write(bochs, VBE_DISPI_INDEX_BPP, bochs->bpp); > bochs_dispi_write(bochs, VBE_DISPI_INDEX_XRES, bochs->xres); > @@ -494,6 +492,9 @@ static int bochs_crtc_helper_atomic_check(struct drm_crtc *crtc, > static void bochs_crtc_helper_atomic_enable(struct drm_crtc *crtc, > struct drm_atomic_state *state) > { > + struct bochs_device *bochs = to_bochs_device(crtc->dev); > + > + bochs_hw_blank(bochs, false); > } > > static void bochs_crtc_helper_atomic_disable(struct drm_crtc *crtc,
diff --git a/drivers/gpu/drm/tiny/bochs.c b/drivers/gpu/drm/tiny/bochs.c index 76e29950a807..c1c7d6c9e85f 100644 --- a/drivers/gpu/drm/tiny/bochs.c +++ b/drivers/gpu/drm/tiny/bochs.c @@ -323,8 +323,6 @@ static void bochs_hw_setmode(struct bochs_device *bochs, struct drm_display_mode bochs->xres, bochs->yres, bochs->bpp, bochs->yres_virtual); - bochs_hw_blank(bochs, false); - bochs_dispi_write(bochs, VBE_DISPI_INDEX_ENABLE, 0); bochs_dispi_write(bochs, VBE_DISPI_INDEX_BPP, bochs->bpp); bochs_dispi_write(bochs, VBE_DISPI_INDEX_XRES, bochs->xres); @@ -494,6 +492,9 @@ static int bochs_crtc_helper_atomic_check(struct drm_crtc *crtc, static void bochs_crtc_helper_atomic_enable(struct drm_crtc *crtc, struct drm_atomic_state *state) { + struct bochs_device *bochs = to_bochs_device(crtc->dev); + + bochs_hw_blank(bochs, false); } static void bochs_crtc_helper_atomic_disable(struct drm_crtc *crtc,
The recent rewrite with the use of regular atomic helpers broke the DPMS unblanking on X11. Fix it by moving the call of bochs_hw_blank(false) from CRTC mode_set_nofb() to atomic_enable(). Fixes: 2037174993c8 ("drm/bochs: Use regular atomic helpers") Link: https://bugzilla.suse.com/show_bug.cgi?id=1238209 Signed-off-by: Takashi Iwai <tiwai@suse.de> --- drivers/gpu/drm/tiny/bochs.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)