[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 12/14] sm501: Implement reading 2D engine registe
From: |
BALATON Zoltan |
Subject: |
[Qemu-devel] [PATCH v2 12/14] sm501: Implement reading 2D engine registers |
Date: |
Sat, 25 Feb 2017 22:47:26 +0100 |
Clients normally only write to these registers, nothing is known to
ever read them but they are documented as read/write so allow clients
to also read the values.
Signed-off-by: BALATON Zoltan <address@hidden>
---
hw/display/sm501.c | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 57 insertions(+)
diff --git a/hw/display/sm501.c b/hw/display/sm501.c
index af5e4db..32223f6 100644
--- a/hw/display/sm501.c
+++ b/hw/display/sm501.c
@@ -1149,9 +1149,66 @@ static uint64_t sm501_2d_engine_read(void *opaque,
hwaddr addr,
SM501_DPRINTF("sm501 2d engine regs : read addr=%x\n", (int)addr);
switch (addr) {
+ case SM501_2D_SOURCE:
+ ret = s->twoD_source;
+ break;
+ case SM501_2D_DESTINATION:
+ ret = s->twoD_destination;
+ break;
+ case SM501_2D_DIMENSION:
+ ret = s->twoD_dimension;
+ break;
+ case SM501_2D_CONTROL:
+ ret = s->twoD_control;
+ break;
+ case SM501_2D_PITCH:
+ ret = s->twoD_pitch;
+ break;
+ case SM501_2D_FOREGROUND:
+ ret = s->twoD_foreground;
+ break;
+ case SM501_2D_BACKGROUND:
+ ret = s->twoD_background;
+ break;
+ case SM501_2D_STRETCH:
+ ret = s->twoD_stretch;
+ break;
+ case SM501_2D_COLOR_COMPARE:
+ ret = s->twoD_color_compare;
+ break;
+ case SM501_2D_COLOR_COMPARE_MASK:
+ ret = s->twoD_color_compare_mask;
+ break;
+ case SM501_2D_MASK:
+ ret = s->twoD_mask;
+ break;
+ case SM501_2D_CLIP_TL:
+ ret = s->twoD_clip_tl;
+ break;
+ case SM501_2D_CLIP_BR:
+ ret = s->twoD_clip_br;
+ break;
+ case SM501_2D_MONO_PATTERN_LOW:
+ ret = s->twoD_mono_pattern_low;
+ break;
+ case SM501_2D_MONO_PATTERN_HIGH:
+ ret = s->twoD_mono_pattern_high;
+ break;
+ case SM501_2D_WINDOW_WIDTH:
+ ret = s->twoD_window_width;
+ break;
case SM501_2D_SOURCE_BASE:
ret = s->twoD_source_base;
break;
+ case SM501_2D_DESTINATION_BASE:
+ ret = s->twoD_destination_base;
+ break;
+ case SM501_2D_ALPHA:
+ ret = s->twoD_alpha;
+ break;
+ case SM501_2D_WRAP:
+ ret = s->twoD_wrap;
+ break;
case SM501_2D_STATUS:
ret = 0; /* Should return interrupt status */
break;
--
2.7.4
- [Qemu-devel] [PATCH v2 00/14] Improvements for SM501 display controller emulation, BALATON Zoltan, 2017/02/25
- [Qemu-devel] [PATCH v2 12/14] sm501: Implement reading 2D engine registers,
BALATON Zoltan <=
- [Qemu-devel] [PATCH v2 06/14] sm501: Add missing arbitration control register, BALATON Zoltan, 2017/02/25
- [Qemu-devel] [PATCH v2 13/14] sm501: Add reset function and vmstate descriptor, BALATON Zoltan, 2017/02/25
- [Qemu-devel] [PATCH v2 10/14] sm501: Add support for panel layer, BALATON Zoltan, 2017/02/25
- [Qemu-devel] [PATCH v2 07/14] sm501: Fix device endianness, BALATON Zoltan, 2017/02/25
- [Qemu-devel] [PATCH v2 14/14] ppc: Add SM501 device in config for ppc and ppcemb targets, BALATON Zoltan, 2017/02/25
- [Qemu-devel] [PATCH v2 08/14] sm501: Fix hardware cursor, BALATON Zoltan, 2017/02/25
- [Qemu-devel] [PATCH v2 02/14] sm501: Use defines instead of constants where available, BALATON Zoltan, 2017/02/25
- [Qemu-devel] [PATCH v2 09/14] sm501: Misc clean ups, BALATON Zoltan, 2017/02/25
- [Qemu-devel] [PATCH v2 11/14] sm501: Add some more missing registers, BALATON Zoltan, 2017/02/25
- [Qemu-devel] [PATCH v2 04/14] sm501: Get rid of base address in draw_hwc_line, BALATON Zoltan, 2017/02/25