mbox series

[0/3] hw/display/sm501: Tidy up template header

Message ID 20210212180653.27588-1-peter.maydell@linaro.org (mailing list archive)
Headers show
Series hw/display/sm501: Tidy up template header | expand

Message

Peter Maydell Feb. 12, 2021, 6:06 p.m. UTC
For a long time now the UI layer has guaranteed that the console
surface is always 32 bits per pixel RGB, but some older display device
models still have the code to handle other formats. This patchset
cleans up that dead code for the sm501 device, which allows us
to remove the multiply-included sm501_template.h header entirely.

There have been a few attempts at doing this cleanup on this
device in the past by various people; rather than trying to
resurrect those old patchsets and get them to apply to the current
code in master, I just started from scratch.

Tested with AROS ISO image on sam460ex.

thanks
-- PMM

Peter Maydell (3):
  hw/display/sm501: Remove dead code for non-32-bit RGB surfaces
  hw/display/sm501: Expand out macros in template header
  hw/display/sm501: Inline template header into C file

 hw/display/sm501_template.h | 131 ----------------------------
 hw/display/sm501.c          | 166 ++++++++++++++++++------------------
 2 files changed, 83 insertions(+), 214 deletions(-)
 delete mode 100644 hw/display/sm501_template.h

Comments

BALATON Zoltan Feb. 12, 2021, 8:28 p.m. UTC | #1
On Fri, 12 Feb 2021, Peter Maydell wrote:
> For a long time now the UI layer has guaranteed that the console
> surface is always 32 bits per pixel RGB, but some older display device
> models still have the code to handle other formats. This patchset
> cleans up that dead code for the sm501 device, which allows us
> to remove the multiply-included sm501_template.h header entirely.
>
> There have been a few attempts at doing this cleanup on this
> device in the past by various people; rather than trying to
> resurrect those old patchsets and get them to apply to the current
> code in master, I just started from scratch.
>
> Tested with AROS ISO image on sam460ex.
>
> thanks
> -- PMM
>
> Peter Maydell (3):
>  hw/display/sm501: Remove dead code for non-32-bit RGB surfaces
>  hw/display/sm501: Expand out macros in template header
>  hw/display/sm501: Inline template header into C file

I've tried with AmigaOS and MorphOS and those also work. Unfortunately the 
drivers for sm501 on those are restricted to 16bit modes (maybe because 
real hardware is too slow otherwise or does not have enough memory) so 
every screen update in QEMU needs conversion which makes it quite slow. 
But this was like that before and unless we want to allow other than 32bit 
surfaces again we can't use the code removed here but that was the reason 
I've kept it and not removed so far in case we want to do this 
optimisation again.

Otherwise,

Acked-by: BALATON Zoltan <balaton@eik.bme.hu>

The sm501 is also used on the SH4 r2d machine I think. Aurelien probably 
knows more about that. I've found some images for it here:

https://people.debian.org/~aurel32/qemu/sh4/
https://lists.nongnu.org/archive/html/qemu-devel/2008-08/msg01308.html

in case you want to test that too.

Regards,
BALATON Zoltan

> hw/display/sm501_template.h | 131 ----------------------------
> hw/display/sm501.c          | 166 ++++++++++++++++++------------------
> 2 files changed, 83 insertions(+), 214 deletions(-)
> delete mode 100644 hw/display/sm501_template.h
>
>
David Gibson Feb. 15, 2021, 6:12 a.m. UTC | #2
On Fri, Feb 12, 2021 at 09:28:35PM +0100, BALATON Zoltan wrote:
> On Fri, 12 Feb 2021, Peter Maydell wrote:
> > For a long time now the UI layer has guaranteed that the console
> > surface is always 32 bits per pixel RGB, but some older display device
> > models still have the code to handle other formats. This patchset
> > cleans up that dead code for the sm501 device, which allows us
> > to remove the multiply-included sm501_template.h header entirely.
> > 
> > There have been a few attempts at doing this cleanup on this
> > device in the past by various people; rather than trying to
> > resurrect those old patchsets and get them to apply to the current
> > code in master, I just started from scratch.
> > 
> > Tested with AROS ISO image on sam460ex.
> > 
> > thanks
> > -- PMM
> > 
> > Peter Maydell (3):
> >  hw/display/sm501: Remove dead code for non-32-bit RGB surfaces
> >  hw/display/sm501: Expand out macros in template header
> >  hw/display/sm501: Inline template header into C file
> 
> I've tried with AmigaOS and MorphOS and those also work. Unfortunately the
> drivers for sm501 on those are restricted to 16bit modes (maybe because real
> hardware is too slow otherwise or does not have enough memory) so every
> screen update in QEMU needs conversion which makes it quite slow. But this
> was like that before and unless we want to allow other than 32bit surfaces
> again we can't use the code removed here but that was the reason I've kept
> it and not removed so far in case we want to do this optimisation again.
> 
> Otherwise,
> 
> Acked-by: BALATON Zoltan <balaton@eik.bme.hu>
> 
> The sm501 is also used on the SH4 r2d machine I think. Aurelien probably
> knows more about that. I've found some images for it here:
> 
> https://people.debian.org/~aurel32/qemu/sh4/
> https://lists.nongnu.org/archive/html/qemu-devel/2008-08/msg01308.html
> 
> in case you want to test that too.

I've queued these to ppc-for-6.0.