All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] sm501: Update screen on frame buffer address change
@ 2018-07-09 17:02 BALATON Zoltan
  2018-07-10  1:32 ` David Gibson
  0 siblings, 1 reply; 2+ messages in thread
From: BALATON Zoltan @ 2018-07-09 17:02 UTC (permalink / raw)
  To: qemu-devel
  Cc: Magnus Damm, Aurelien Jarno, Peter Maydell, David Gibson,
	Sebastian Bauer

When the guest changes the address of the frame buffer we need to
refresh the screen to correctly display the new content. This fixes
display update problems when changing between screens on AmigaOS.

Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
---
This fixes an annoying refresh problem in AmigaOS when changing or
moving screens. The user could work around it by moving the mouse to
repaint the screen but if it's possible to get this in before or
during the freeze that could avoid this problem in the release.

 hw/display/sm501.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/hw/display/sm501.c b/hw/display/sm501.c
index 3661a89..9ab29d3 100644
--- a/hw/display/sm501.c
+++ b/hw/display/sm501.c
@@ -1235,6 +1235,7 @@ static void sm501_disp_ctrl_write(void *opaque, hwaddr addr,
         if (value & 0x8000000) {
             qemu_log_mask(LOG_UNIMP, "Panel external memory not supported\n");
         }
+        s->do_full_update = true;
         break;
     case SM501_DC_PANEL_FB_OFFSET:
         s->dc_panel_fb_offset = value & 0x3FF03FF0;
@@ -1298,6 +1299,7 @@ static void sm501_disp_ctrl_write(void *opaque, hwaddr addr,
         if (value & 0x8000000) {
             qemu_log_mask(LOG_UNIMP, "CRT external memory not supported\n");
         }
+        s->do_full_update = true;
         break;
     case SM501_DC_CRT_FB_OFFSET:
         s->dc_crt_fb_offset = value & 0x3FF03FF0;
-- 
2.7.6

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [Qemu-devel] [PATCH] sm501: Update screen on frame buffer address change
  2018-07-09 17:02 [Qemu-devel] [PATCH] sm501: Update screen on frame buffer address change BALATON Zoltan
@ 2018-07-10  1:32 ` David Gibson
  0 siblings, 0 replies; 2+ messages in thread
From: David Gibson @ 2018-07-10  1:32 UTC (permalink / raw)
  To: BALATON Zoltan
  Cc: qemu-devel, Magnus Damm, Aurelien Jarno, Peter Maydell, Sebastian Bauer

[-- Attachment #1: Type: text/plain, Size: 1833 bytes --]

On Mon, Jul 09, 2018 at 07:02:36PM +0200, BALATON Zoltan wrote:
> When the guest changes the address of the frame buffer we need to
> refresh the screen to correctly display the new content. This fixes
> display update problems when changing between screens on AmigaOS.
> 
> Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
> ---
> This fixes an annoying refresh problem in AmigaOS when changing or
> moving screens. The user could work around it by moving the mouse to
> repaint the screen but if it's possible to get this in before or
> during the freeze that could avoid this problem in the release.
> 
>  hw/display/sm501.c | 2 ++
>  1 file changed, 2 insertions(+)

Looks like a clear bugfix, so I've applied to ppc-for-3.0.

> 
> diff --git a/hw/display/sm501.c b/hw/display/sm501.c
> index 3661a89..9ab29d3 100644
> --- a/hw/display/sm501.c
> +++ b/hw/display/sm501.c
> @@ -1235,6 +1235,7 @@ static void sm501_disp_ctrl_write(void *opaque, hwaddr addr,
>          if (value & 0x8000000) {
>              qemu_log_mask(LOG_UNIMP, "Panel external memory not supported\n");
>          }
> +        s->do_full_update = true;
>          break;
>      case SM501_DC_PANEL_FB_OFFSET:
>          s->dc_panel_fb_offset = value & 0x3FF03FF0;
> @@ -1298,6 +1299,7 @@ static void sm501_disp_ctrl_write(void *opaque, hwaddr addr,
>          if (value & 0x8000000) {
>              qemu_log_mask(LOG_UNIMP, "CRT external memory not supported\n");
>          }
> +        s->do_full_update = true;
>          break;
>      case SM501_DC_CRT_FB_OFFSET:
>          s->dc_crt_fb_offset = value & 0x3FF03FF0;

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-07-10  1:42 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-09 17:02 [Qemu-devel] [PATCH] sm501: Update screen on frame buffer address change BALATON Zoltan
2018-07-10  1:32 ` David Gibson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.