sm501: Use defined constants instead of literal values where available
Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Tested-by: Aurelien Jarno <aurelien@aurel32.net> Message-id: 31205c2df623e7b133ef942ff4f5e95fff800a14.1492787889.git.balaton@eik.bme.hu Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
		
							parent
							
								
									64f1603b07
								
							
						
					
					
						commit
						e2ee84760e
					
				| 
						 | 
					@ -23,6 +23,7 @@
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "qemu/osdep.h"
 | 
					#include "qemu/osdep.h"
 | 
				
			||||||
 | 
					#include "qemu/cutils.h"
 | 
				
			||||||
#include "qapi/error.h"
 | 
					#include "qapi/error.h"
 | 
				
			||||||
#include "qemu-common.h"
 | 
					#include "qemu-common.h"
 | 
				
			||||||
#include "cpu.h"
 | 
					#include "cpu.h"
 | 
				
			||||||
| 
						 | 
					@ -446,12 +447,12 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* SM501 local memory size taken from "linux/drivers/mfd/sm501.c" */
 | 
					/* SM501 local memory size taken from "linux/drivers/mfd/sm501.c" */
 | 
				
			||||||
static const uint32_t sm501_mem_local_size[] = {
 | 
					static const uint32_t sm501_mem_local_size[] = {
 | 
				
			||||||
    [0] = 4 * 1024 * 1024,
 | 
					    [0] = 4 * M_BYTE,
 | 
				
			||||||
    [1] = 8 * 1024 * 1024,
 | 
					    [1] = 8 * M_BYTE,
 | 
				
			||||||
    [2] = 16 * 1024 * 1024,
 | 
					    [2] = 16 * M_BYTE,
 | 
				
			||||||
    [3] = 32 * 1024 * 1024,
 | 
					    [3] = 32 * M_BYTE,
 | 
				
			||||||
    [4] = 64 * 1024 * 1024,
 | 
					    [4] = 64 * M_BYTE,
 | 
				
			||||||
    [5] = 2 * 1024 * 1024,
 | 
					    [5] = 2 * M_BYTE,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
#define get_local_mem_size(s) sm501_mem_local_size[(s)->local_mem_size_index]
 | 
					#define get_local_mem_size(s) sm501_mem_local_size[(s)->local_mem_size_index]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -555,7 +556,7 @@ static uint32_t get_local_mem_size_index(uint32_t size)
 | 
				
			||||||
static inline int is_hwc_enabled(SM501State *state, int crt)
 | 
					static inline int is_hwc_enabled(SM501State *state, int crt)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    uint32_t addr = crt ? state->dc_crt_hwc_addr : state->dc_panel_hwc_addr;
 | 
					    uint32_t addr = crt ? state->dc_crt_hwc_addr : state->dc_panel_hwc_addr;
 | 
				
			||||||
    return addr & 0x80000000;
 | 
					    return addr & SM501_HWC_EN;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
| 
						 | 
					@ -1411,9 +1412,17 @@ void sm501_init(MemoryRegion *address_space_mem, uint32_t base,
 | 
				
			||||||
    s->local_mem_size_index = get_local_mem_size_index(local_mem_bytes);
 | 
					    s->local_mem_size_index = get_local_mem_size_index(local_mem_bytes);
 | 
				
			||||||
    SM501_DPRINTF("local mem size=%x. index=%d\n", get_local_mem_size(s),
 | 
					    SM501_DPRINTF("local mem size=%x. index=%d\n", get_local_mem_size(s),
 | 
				
			||||||
                  s->local_mem_size_index);
 | 
					                  s->local_mem_size_index);
 | 
				
			||||||
    s->system_control = 0x00100000;
 | 
					    s->system_control = 0x00100000; /* 2D engine FIFO empty */
 | 
				
			||||||
    s->misc_control = 0x00001000; /* assumes SH, active=low */
 | 
					    /* Bits 17 (SH), 7 (CDR), 6:5 (Test), 2:0 (Bus) are all supposed
 | 
				
			||||||
    s->dc_panel_control = 0x00010000;
 | 
					     * to be determined at reset by GPIO lines which set config bits.
 | 
				
			||||||
 | 
					     * We hardwire them:
 | 
				
			||||||
 | 
					     *  SH = 0 : Hitachi Ready Polarity == Active Low
 | 
				
			||||||
 | 
					     *  CDR = 0 : do not reset clock divider
 | 
				
			||||||
 | 
					     *  TEST = 0 : Normal mode (not testing the silicon)
 | 
				
			||||||
 | 
					     *  BUS = 0 : Hitachi SH3/SH4
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    s->misc_control = SM501_MISC_DAC_POWER;
 | 
				
			||||||
 | 
					    s->dc_panel_control = 0x00010000; /* FIFO level 3 */
 | 
				
			||||||
    s->dc_crt_control = 0x00010000;
 | 
					    s->dc_crt_control = 0x00010000;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /* allocate local memory */
 | 
					    /* allocate local memory */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -108,7 +108,7 @@ static void glue(draw_hwc_line_, PIXEL_NAME)(SM501State *s, int crt,
 | 
				
			||||||
    /* get hardware cursor pattern */
 | 
					    /* get hardware cursor pattern */
 | 
				
			||||||
    uint32_t cursor_addr = get_hwc_address(s, crt);
 | 
					    uint32_t cursor_addr = get_hwc_address(s, crt);
 | 
				
			||||||
    assert(0 <= c_y && c_y < SM501_HWC_HEIGHT);
 | 
					    assert(0 <= c_y && c_y < SM501_HWC_HEIGHT);
 | 
				
			||||||
    cursor_addr += 64 * c_y / 4;  /* 4 pixels per byte */
 | 
					    cursor_addr += SM501_HWC_WIDTH * c_y / 4;  /* 4 pixels per byte */
 | 
				
			||||||
    cursor_addr += s->base;
 | 
					    cursor_addr += s->base;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /* get cursor position */
 | 
					    /* get cursor position */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue