From 7feaceba0acc8407901ec46ba2f7f845d48e00cd Mon Sep 17 00:00:00 2001 From: Son Hyunjun Date: Fri, 9 Mar 2012 04:25:28 +0900 Subject: [PATCH] modify overlay reg size --- tizen/distrib/temp/dev/emul-skin.properties | 6 +-- tizen/src/hw/maru_brightness.c | 74 ++++++++++------------------- tizen/src/hw/maru_overlay.c | 2 +- 3 files changed, 30 insertions(+), 52 deletions(-) diff --git a/tizen/distrib/temp/dev/emul-skin.properties b/tizen/distrib/temp/dev/emul-skin.properties index 96e8da9..fb8e782 100644 --- a/tizen/distrib/temp/dev/emul-skin.properties +++ b/tizen/distrib/temp/dev/emul-skin.properties @@ -1,6 +1,6 @@ #Generated automatically by emulator. -#Thu Mar 08 17:39:01 KST 2012 -window.y=61 -window.x=969 +#Fri Mar 09 04:18:23 KST 2012 +window.y=65 +window.x=1026 window.scale=1 window.rotate=1 diff --git a/tizen/src/hw/maru_brightness.c b/tizen/src/hw/maru_brightness.c index 3b3fc18..9d9ffef 100644 --- a/tizen/src/hw/maru_brightness.c +++ b/tizen/src/hw/maru_brightness.c @@ -1,5 +1,5 @@ /* - * Maru brightenss device for VGA + * Maru brightness device for VGA * * Copyright (C) 2011 - 2012 Samsung Electronics Co., Ltd. All rights reserved. * @@ -41,23 +41,24 @@ #include "pci.h" #include "maru_pci_ids.h" #include "maru_brightness.h" +#include "../debug_ch.h" -#define QEMU_DEV_NAME "brightness" +MULTI_DEBUG_CHANNEL(qemu, maru_brightness); -#define BRIGHTNESS_MEM_SIZE (4 * 1024) /* 4KB */ -#define BRIGHTNESS_REG_SIZE 256 +#define QEMU_DEV_NAME "brightness" -#define BRIGHTNESS_MIN (0) -#define BRIGHTNESS_MAX (24) +#define BRIGHTNESS_MEM_SIZE (4 * 1024) /* 4KB */ +#define BRIGHTNESS_REG_SIZE 256 -typedef struct BrightnessState { - PCIDevice dev; - - ram_addr_t offset; - int brightness_mmio_io_addr; +#define BRIGHTNESS_MIN (0) +#define BRIGHTNESS_MAX (24) - MemoryRegion ioport_addr; // guest addr - MemoryRegion mmio_addr; // guest addr +typedef struct BrightnessState { + PCIDevice dev; + ram_addr_t vram_offset; + uint8_t* vram_ptr; + MemoryRegion mem_addr; + MemoryRegion mmio_addr; } BrightnessState; enum { @@ -65,27 +66,19 @@ enum { BRIGHTNESS_OFF = 0x04, }; -//uint8_t* brightness_ptr; // pointer in qemu space uint32_t brightness_level = 24; uint32_t brightness_off = 0; -//#define DEBUG_BRIGHTNESS - -#if defined (DEBUG_BRIGHTNESS) -# define DEBUG_PRINT(x) do { printf x ; } while (0) -#else -# define DEBUG_PRINT(x) -#endif - static uint64_t brightness_reg_read(void *opaque, target_phys_addr_t addr, unsigned size) { switch (addr & 0xFF) { case BRIGHTNESS_LEVEL: - DEBUG_PRINT(("brightness_reg_read: brightness_level = %d\n", brightness_level)); + INFO("brightness_reg_read: brightness_level = %d\n", brightness_level); return brightness_level; default: - fprintf(stderr, "wrong brightness register read - addr : %d\n", (int)addr); + ERR("wrong brightness register read - addr : %d\n", (int)addr); + break; } return 0; @@ -93,14 +86,14 @@ static uint64_t brightness_reg_read(void *opaque, target_phys_addr_t addr, unsig static void brightness_reg_write(void *opaque, target_phys_addr_t addr, uint64_t val, unsigned size) { - DEBUG_PRINT(("brightness_reg_write: addr = %d, val = %d\n", addr, val)); + INFO("brightness_reg_write: addr = %d, val = %d\n", (int)addr, val); #if BRIGHTNESS_MIN > 0 if (val < BRIGHTNESS_MIN || val > BRIGHTNESS_MAX) { #else if (val > BRIGHTNESS_MAX) { #endif - fprintf(stderr, "brightness_reg_write: Invalide brightness level.\n"); + ERR("brightness_reg_write: Invalide brightness level.\n"); } switch (addr & 0xFF) { @@ -108,27 +101,15 @@ static void brightness_reg_write(void *opaque, target_phys_addr_t addr, uint64_t brightness_level = val; return; case BRIGHTNESS_OFF: - DEBUG_PRINT(("Brightness off : %d\n", val)); + INFO("Brightness off : %d\n", val); brightness_off = val; return; default: - fprintf(stderr, "wrong brightness register write - addr : %d\n", (int)addr); + ERR("wrong brightness register write - addr : %d\n", (int)addr); + break; } } -#if 0 -static void brightness_ioport_map(PCIDevice *dev, int region_num, - pcibus_t addr, pcibus_t size, int type) -{ - //BrightnessState *s = DO_UPCAST(BrightnessState, dev, dev); - - //cpu_register_physical_memory(addr, BRIGHTNESS_MEM_SIZE, - // s->offset); - - //s->ioport_addr = addr; -} -#endif - static const MemoryRegionOps brightness_mmio_ops = { .read = brightness_reg_read, .write = brightness_reg_write, @@ -144,17 +125,14 @@ static int brightness_initfn(PCIDevice *dev) pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_VIRTUAL_BRIGHTNESS); pci_config_set_class(pci_conf, PCI_CLASS_DISPLAY_OTHER); - //s->offset = qemu_ram_alloc(NULL, "brightness", BRIGHTNESS_MEM_SIZE); - //brightness_ptr = qemu_get_ram_ptr(s->offset); + memory_region_init_ram(&s->mem_addr, NULL, "brightness.ram", BRIGHTNESS_MEM_SIZE); + memory_region_init_io (&s->mmio_addr, &brightness_mmio_ops, s, "brightness-mmio", BRIGHTNESS_REG_SIZE); + s->vram_ptr = memory_region_get_ram_ptr(&s->mem_addr); - memory_region_init_io (&s->mmio_addr, &brightness_mmio_ops, s, "brightness-mmio", BRIGHTNESS_MEM_SIZE); - /* setup memory space */ /* memory #0 device memory (overlay surface) */ /* memory #1 memory-mapped I/O */ - //pci_register_bar(&s->dev, 0, BRIGHTNESS_MEM_SIZE, - // PCI_BASE_ADDRESS_SPACE_IO, brightness_ioport_map); - + pci_register_bar(&s->dev, 0, PCI_BASE_ADDRESS_MEM_PREFETCH, &s->mem_addr); pci_register_bar(&s->dev, 1, PCI_BASE_ADDRESS_SPACE_MEMORY, &s->mmio_addr); return 0; diff --git a/tizen/src/hw/maru_overlay.c b/tizen/src/hw/maru_overlay.c index 7d3b688..dd4d92c 100644 --- a/tizen/src/hw/maru_overlay.c +++ b/tizen/src/hw/maru_overlay.c @@ -161,7 +161,7 @@ static int overlay_initfn(PCIDevice *dev) memory_region_init_ram(&s->mem_addr, NULL, "overlay.ram", OVERLAY_MEM_SIZE); overlay_ptr = memory_region_get_ram_ptr(&s->mem_addr); - memory_region_init_io (&s->mmio_addr, &overlay_mmio_ops, s, "overlay-mmio", OVERLAY_MEM_SIZE); + memory_region_init_io (&s->mmio_addr, &overlay_mmio_ops, s, "overlay-mmio", OVERLAY_REG_SIZE); /* setup memory space */ /* memory #0 device memory (overlay surface) */ -- 2.7.4