From d758525180e0efff8a59cfea11f5f8348014ff6a Mon Sep 17 00:00:00 2001 From: pbrook Date: Fri, 10 Apr 2009 03:36:49 +0000 Subject: More phys_ram_base elimination. Signed-off-by: Paul Brook git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7064 c046a42c-6fe2-441c-8c8c-71466251a162 --- hw/pxa2xx_lcd.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'hw/pxa2xx_lcd.c') diff --git a/hw/pxa2xx_lcd.c b/hw/pxa2xx_lcd.c index 49eafa722..4fb7d4f72 100644 --- a/hw/pxa2xx_lcd.c +++ b/hw/pxa2xx_lcd.c @@ -283,12 +283,11 @@ static inline void pxa2xx_dma_rdst_set(struct pxa2xx_lcdc_s *s) /* Load new Frame Descriptors from DMA */ static void pxa2xx_descriptor_load(struct pxa2xx_lcdc_s *s) { - struct pxa_frame_descriptor_s *desc[PXA_LCDDMA_CHANS]; + struct pxa_frame_descriptor_s desc; target_phys_addr_t descptr; int i; for (i = 0; i < PXA_LCDDMA_CHANS; i ++) { - desc[i] = 0; s->dma_ch[i].source = 0; if (!s->dma_ch[i].up) @@ -303,15 +302,14 @@ static void pxa2xx_descriptor_load(struct pxa2xx_lcdc_s *s) descptr = s->dma_ch[i].descriptor; if (!(descptr >= PXA2XX_SDRAM_BASE && descptr + - sizeof(*desc[i]) <= PXA2XX_SDRAM_BASE + phys_ram_size)) + sizeof(desc) <= PXA2XX_SDRAM_BASE + phys_ram_size)) continue; - descptr -= PXA2XX_SDRAM_BASE; - desc[i] = (struct pxa_frame_descriptor_s *) (phys_ram_base + descptr); - s->dma_ch[i].descriptor = desc[i]->fdaddr; - s->dma_ch[i].source = desc[i]->fsaddr; - s->dma_ch[i].id = desc[i]->fidr; - s->dma_ch[i].command = desc[i]->ldcmd; + cpu_physical_memory_read(descptr, (void *)&desc, sizeof(desc)); + s->dma_ch[i].descriptor = tswap32(desc.fdaddr); + s->dma_ch[i].source = tswap32(desc.fsaddr); + s->dma_ch[i].id = tswap32(desc.fidr); + s->dma_ch[i].command = tswap32(desc.ldcmd); } } -- cgit v1.2.3