summaryrefslogtreecommitdiff
path: root/src/gfx/disp_gu2.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gfx/disp_gu2.c')
-rw-r--r--src/gfx/disp_gu2.c2572
1 files changed, 1285 insertions, 1287 deletions
diff --git a/src/gfx/disp_gu2.c b/src/gfx/disp_gu2.c
index ba72e88..a713234 100644
--- a/src/gfx/disp_gu2.c
+++ b/src/gfx/disp_gu2.c
@@ -128,23 +128,23 @@
*
* END_NSC_LIC_GPL */
-void gu2_enable_compression(void); /* private routine definition */
-void gu2_disable_compression(void); /* private routine definition */
+void gu2_enable_compression(void); /* private routine definition */
+void gu2_disable_compression(void); /* private routine definition */
int gu2_set_display_bpp(unsigned short bpp);
int gu2_is_display_mode_supported(int xres, int yres, int bpp, int hz);
int gu2_set_display_mode(int xres, int yres, int bpp, int hz);
int gu2_set_display_timings(unsigned short bpp, unsigned short flags,
- unsigned short hactive,
- unsigned short hblank_start,
- unsigned short hsync_start,
- unsigned short hsync_end,
- unsigned short hblank_end, unsigned short htotal,
- unsigned short vactive,
- unsigned short vblank_start,
- unsigned short vsync_start,
- unsigned short vsync_end,
- unsigned short vblank_end, unsigned short vtotal,
- unsigned long frequency);
+ unsigned short hactive,
+ unsigned short hblank_start,
+ unsigned short hsync_start,
+ unsigned short hsync_end,
+ unsigned short hblank_end, unsigned short htotal,
+ unsigned short vactive,
+ unsigned short vblank_start,
+ unsigned short vsync_start,
+ unsigned short vsync_end,
+ unsigned short vblank_end, unsigned short vtotal,
+ unsigned long frequency);
int gu2_set_vtotal(unsigned short vtotal);
void gu2_set_display_pitch(unsigned short pitch);
void gu2_set_display_offset(unsigned long offset);
@@ -156,19 +156,18 @@ int gu2_set_crt_enable(int enable);
void gu2_set_cursor_enable(int enable);
void gu2_set_cursor_colors(unsigned long bkcolor, unsigned long fgcolor);
void gu2_set_cursor_position(unsigned long memoffset,
- unsigned short xpos, unsigned short ypos,
- unsigned short xhotspot,
- unsigned short yhotspot);
+ unsigned short xpos, unsigned short ypos,
+ unsigned short xhotspot, unsigned short yhotspot);
void gu2_set_cursor_shape32(unsigned long memoffset, unsigned long *andmask,
- unsigned long *xormask);
+ unsigned long *xormask);
void gu2_set_cursor_shape64(unsigned long memoffset, unsigned long *andmask,
- unsigned long *xormask);
+ unsigned long *xormask);
void gu2_set_icon_enable(int enable);
void gu2_set_icon_colors(unsigned long color0, unsigned long color1,
- unsigned long color2);
+ unsigned long color2);
void gu2_set_icon_position(unsigned long memoffset, unsigned short xpos);
void gu2_set_icon_shape64(unsigned long memoffset, unsigned long *andmask,
- unsigned long *xormask, unsigned int lines);
+ unsigned long *xormask, unsigned int lines);
int gu2_set_compression_enable(int enable);
int gu2_set_compression_offset(unsigned long offset);
@@ -182,9 +181,9 @@ void gu2_delay_milliseconds(unsigned long milliseconds);
void gu2_delay_microseconds(unsigned long microseconds);
void gu2_enable_panning(int x, int y);
int gu2_set_fixed_timings(int panelResX, int panelResY, unsigned short width,
- unsigned short height, unsigned short bpp);
+ unsigned short height, unsigned short bpp);
int gu2_set_panel_present(int panelResX, int panelResY, unsigned short width,
- unsigned short height, unsigned short bpp);
+ unsigned short height, unsigned short bpp);
void gu2_reset_timing_lock(void);
int gu2_get_display_details(unsigned int mode, int *xres, int *yres, int *hz);
@@ -194,13 +193,13 @@ int gu2_get_sync_polarities(void);
unsigned long gu2_get_clock_frequency(void);
unsigned long gu2_get_max_supported_pixel_clock(void);
int gu2_mode_frequency_supported(int xres, int yres, int bpp,
- unsigned long frequency);
+ unsigned long frequency);
int gu2_get_refreshrate_from_frequency(int xres, int yres, int bpp, int *hz,
- unsigned long frequency);
+ unsigned long frequency);
int gu2_get_refreshrate_from_mode(int xres, int yres, int bpp, int *hz,
- unsigned long frequency);
+ unsigned long frequency);
int gu2_get_frequency_from_refreshrate(int xres, int yres, int bpp, int hz,
- int *frequency);
+ int *frequency);
int gu2_get_display_mode_count(void);
int gu2_get_display_mode(int *xres, int *yres, int *bpp, int *hz);
unsigned long gu2_get_frame_buffer_line_size(void);
@@ -219,8 +218,7 @@ unsigned short gu2_get_vblank_end(void);
unsigned short gu2_get_vtotal(void);
unsigned short gu2_get_display_bpp(void);
unsigned long gu2_get_display_offset(void);
-int gu2_get_display_palette_entry(unsigned long index,
- unsigned long *palette);
+int gu2_get_display_palette_entry(unsigned long index, unsigned long *palette);
void gu2_get_display_palette(unsigned long *palette);
unsigned long gu2_get_cursor_enable(void);
unsigned long gu2_get_cursor_offset(void);
@@ -243,21 +241,20 @@ void gu2_set_display_video_offset(unsigned long offset);
unsigned long gu2_get_display_video_offset(void);
unsigned long gu2_get_display_video_size(void);
void gu2_get_display_video_yuv_pitch(unsigned long *ypitch,
- unsigned long *uvpitch);
+ unsigned long *uvpitch);
int gu2_get_display_video_downscale_enable(void);
void gu2_set_display_video_format(unsigned long format);
void gu2_set_display_video_enable(int enable);
void gu2_set_display_video_yuv_offsets(unsigned long yoffset,
- unsigned long uoffset,
- unsigned long voffset);
+ unsigned long uoffset,
+ unsigned long voffset);
void gu2_set_display_video_yuv_pitch(unsigned long ypitch,
- unsigned long uvpitch);
-void gu2_set_display_video_downscale(unsigned short srch,
- unsigned short dsth);
+ unsigned long uvpitch);
+void gu2_set_display_video_downscale(unsigned short srch, unsigned short dsth);
void gu2_set_display_video_vertical_downscale_enable(int enable);
void gu2_get_display_video_yuv_offsets(unsigned long *yoffset,
- unsigned long *uoffset,
- unsigned long *voffset);
+ unsigned long *uoffset,
+ unsigned long *voffset);
unsigned long gu2_get_display_video_downscale_delta(void);
/*-----------------------------------------------------------------------------
@@ -279,16 +276,16 @@ void
gfx_delay_milliseconds(unsigned long milliseconds)
#endif
{
- /* ASSUME 300 MHZ 20 CLOCKS PER READ */
+ /* ASSUME 300 MHZ 20 CLOCKS PER READ */
# define RC_READS_PER_MILLISECOND 15000L
- unsigned long loop;
+ unsigned long loop;
- loop = milliseconds * RC_READS_PER_MILLISECOND;
- while (loop-- > 0) {
- READ_REG32(MDC_UNLOCK);
- }
+ loop = milliseconds * RC_READS_PER_MILLISECOND;
+ while (loop-- > 0) {
+ READ_REG32(MDC_UNLOCK);
+ }
}
#if GFX_DISPLAY_DYNAMIC
@@ -299,13 +296,13 @@ void
gfx_delay_microseconds(unsigned long microseconds)
#endif
{
- /* ASSUME 400 MHz, 2 CLOCKS PER INCREMENT */
+ /* ASSUME 400 MHz, 2 CLOCKS PER INCREMENT */
- unsigned long loop_count = microseconds * 15;
+ unsigned long loop_count = microseconds * 15;
- while (loop_count-- > 0) {
- READ_REG32(MDC_UNLOCK);
- }
+ while (loop_count-- > 0) {
+ READ_REG32(MDC_UNLOCK);
+ }
}
/*-----------------------------------------------------------------------------
@@ -322,41 +319,41 @@ int
gfx_set_display_bpp(unsigned short bpp)
#endif
{
- unsigned long dcfg, lock;
+ unsigned long dcfg, lock;
- dcfg = READ_REG32(MDC_DISPLAY_CFG) & ~(MDC_DCFG_DISP_MODE_MASK |
- MDC_DCFG_16BPP_MODE_MASK);
- lock = READ_REG32(MDC_UNLOCK);
+ dcfg = READ_REG32(MDC_DISPLAY_CFG) & ~(MDC_DCFG_DISP_MODE_MASK |
+ MDC_DCFG_16BPP_MODE_MASK);
+ lock = READ_REG32(MDC_UNLOCK);
- switch (bpp) {
- case 12:
- dcfg |= (MDC_DCFG_DISP_MODE_16BPP | MDC_DCFG_12BPP);
- break;
- case 15:
- dcfg |= (MDC_DCFG_DISP_MODE_16BPP | MDC_DCFG_15BPP);
- break;
- case 16:
- dcfg |= (MDC_DCFG_DISP_MODE_16BPP | MDC_DCFG_16BPP);
- break;
- case 32:
- dcfg |= (MDC_DCFG_DISP_MODE_24BPP);
- break;
- case 8:
- dcfg |= (MDC_DCFG_DISP_MODE_8BPP);
- break;
- default:
- return GFX_STATUS_BAD_PARAMETER;
- }
+ switch (bpp) {
+ case 12:
+ dcfg |= (MDC_DCFG_DISP_MODE_16BPP | MDC_DCFG_12BPP);
+ break;
+ case 15:
+ dcfg |= (MDC_DCFG_DISP_MODE_16BPP | MDC_DCFG_15BPP);
+ break;
+ case 16:
+ dcfg |= (MDC_DCFG_DISP_MODE_16BPP | MDC_DCFG_16BPP);
+ break;
+ case 32:
+ dcfg |= (MDC_DCFG_DISP_MODE_24BPP);
+ break;
+ case 8:
+ dcfg |= (MDC_DCFG_DISP_MODE_8BPP);
+ break;
+ default:
+ return GFX_STATUS_BAD_PARAMETER;
+ }
- WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
- WRITE_REG32(MDC_DISPLAY_CFG, dcfg);
- WRITE_REG32(MDC_UNLOCK, lock);
+ WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
+ WRITE_REG32(MDC_DISPLAY_CFG, dcfg);
+ WRITE_REG32(MDC_UNLOCK, lock);
- /* SET BPP IN GRAPHICS PIPELINE */
+ /* SET BPP IN GRAPHICS PIPELINE */
- gfx_set_bpp(bpp);
+ gfx_set_bpp(bpp);
- return 0;
+ return 0;
}
/*-----------------------------------------------------------------------------
@@ -368,251 +365,251 @@ gfx_set_display_bpp(unsigned short bpp)
int
gu2_set_specified_mode(DISPLAYMODE * pMode, int bpp)
{
- unsigned long unlock, value;
- unsigned long gcfg, dcfg;
- unsigned long size, pitch;
- unsigned long vid_buf_size;
- unsigned long bpp_mask, temp, dv_size;
+ unsigned long unlock, value;
+ unsigned long gcfg, dcfg;
+ unsigned long size, pitch;
+ unsigned long vid_buf_size;
+ unsigned long bpp_mask, temp, dv_size;
- /* CHECK WHETHER TIMING CHANGE IS ALLOWED */
- /* Flag used for locking also overrides timing change restriction */
+ /* CHECK WHETHER TIMING CHANGE IS ALLOWED */
+ /* Flag used for locking also overrides timing change restriction */
- if (gfx_timing_lock && !(pMode->flags & GFX_MODE_LOCK_TIMING))
- return GFX_STATUS_ERROR;
+ if (gfx_timing_lock && !(pMode->flags & GFX_MODE_LOCK_TIMING))
+ return GFX_STATUS_ERROR;
- /* CLEAR PANNING OFFSETS */
+ /* CLEAR PANNING OFFSETS */
- DeltaX = 0;
- DeltaY = 0;
- panelLeft = 0;
- panelTop = 0;
+ DeltaX = 0;
+ DeltaY = 0;
+ panelLeft = 0;
+ panelTop = 0;
- /* SET GLOBAL FLAG */
+ /* SET GLOBAL FLAG */
- if (pMode->flags & GFX_MODE_LOCK_TIMING)
- gfx_timing_lock = 1;
+ if (pMode->flags & GFX_MODE_LOCK_TIMING)
+ gfx_timing_lock = 1;
- /* CHECK FOR VALID BPP */
- /* As this function can be called directly from */
- /* gfx_set_display_timings, we must correct any */
- /* invalid bpp settings. */
+ /* CHECK FOR VALID BPP */
+ /* As this function can be called directly from */
+ /* gfx_set_display_timings, we must correct any */
+ /* invalid bpp settings. */
- switch (bpp) {
- case 12:
- bpp_mask = 0x00000900;
- break;
- case 15:
- bpp_mask = 0x00000500;
- break;
- case 16:
- bpp_mask = 0x00000100;
- break;
- case 32:
- bpp_mask = 0x00000200;
- break;
- default:
- bpp_mask = 0x00000000;
- bpp = 8;
- break;
- }
+ switch (bpp) {
+ case 12:
+ bpp_mask = 0x00000900;
+ break;
+ case 15:
+ bpp_mask = 0x00000500;
+ break;
+ case 16:
+ bpp_mask = 0x00000100;
+ break;
+ case 32:
+ bpp_mask = 0x00000200;
+ break;
+ default:
+ bpp_mask = 0x00000000;
+ bpp = 8;
+ break;
+ }
- gbpp = bpp;
+ gbpp = bpp;
- /* DISABLE COMPRESSION */
+ /* DISABLE COMPRESSION */
- gu2_disable_compression();
+ gu2_disable_compression();
- /* ALSO DISABLE VIDEO */
- /* Use private "reset video" routine to do all that is needed. */
- /* SC1200, for example, also disables the alpha blending regions. */
+ /* ALSO DISABLE VIDEO */
+ /* Use private "reset video" routine to do all that is needed. */
+ /* SC1200, for example, also disables the alpha blending regions. */
- gfx_reset_video();
+ gfx_reset_video();
- /* UNLOCK THE DISPLAY CONTROLLER REGISTERS */
+ /* UNLOCK THE DISPLAY CONTROLLER REGISTERS */
- unlock = READ_REG32(MDC_UNLOCK);
- WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
+ unlock = READ_REG32(MDC_UNLOCK);
+ WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
- /* READ THE CURRENT REGISTER VALUES */
+ /* READ THE CURRENT REGISTER VALUES */
- gcfg = READ_REG32(MDC_GENERAL_CFG);
- dcfg = READ_REG32(MDC_DISPLAY_CFG);
+ gcfg = READ_REG32(MDC_GENERAL_CFG);
+ dcfg = READ_REG32(MDC_DISPLAY_CFG);
- /* BLANK THE DISPLAY IN THE DISPLAY FILTER */
+ /* BLANK THE DISPLAY IN THE DISPLAY FILTER */
- gfx_set_crt_enable(0);
+ gfx_set_crt_enable(0);
- /* DISABLE THE TIMING GENERATOR */
+ /* DISABLE THE TIMING GENERATOR */
- dcfg &= ~(unsigned long)MDC_DCFG_TGEN;
- WRITE_REG32(MDC_DISPLAY_CFG, dcfg);
+ dcfg &= ~(unsigned long) MDC_DCFG_TGEN;
+ WRITE_REG32(MDC_DISPLAY_CFG, dcfg);
- /* DELAY: WAIT FOR PENDING MEMORY REQUESTS */
- /* This delay is used to make sure that all pending requests to the */
- /* memory controller have completed before disabling the FIFO load. */
+ /* DELAY: WAIT FOR PENDING MEMORY REQUESTS */
+ /* This delay is used to make sure that all pending requests to the */
+ /* memory controller have completed before disabling the FIFO load. */
- gfx_delay_milliseconds(5);
+ gfx_delay_milliseconds(5);
- /* DISABLE DISPLAY FIFO LOAD */
+ /* DISABLE DISPLAY FIFO LOAD */
- gcfg &= ~(unsigned long)MDC_GCFG_DFLE;
- WRITE_REG32(MDC_GENERAL_CFG, gcfg);
+ gcfg &= ~(unsigned long) MDC_GCFG_DFLE;
+ WRITE_REG32(MDC_GENERAL_CFG, gcfg);
- /* PRESERVE VIDEO INFORMATION */
+ /* PRESERVE VIDEO INFORMATION */
- gcfg &= (unsigned long)(MDC_GCFG_YUVM | MDC_GCFG_VDSE);
- dcfg = 0;
+ gcfg &= (unsigned long) (MDC_GCFG_YUVM | MDC_GCFG_VDSE);
+ dcfg = 0;
- /* SET THE DOT CLOCK FREQUENCY */
- /* Mask off the divide by two bit (bit 31) */
+ /* SET THE DOT CLOCK FREQUENCY */
+ /* Mask off the divide by two bit (bit 31) */
- gfx_set_clock_frequency(pMode->frequency & 0x7FFFFFFF);
+ gfx_set_clock_frequency(pMode->frequency & 0x7FFFFFFF);
- /* DELAY: WAIT FOR THE PLL TO SETTLE */
- /* This allows the dot clock frequency that was just set to settle. */
+ /* DELAY: WAIT FOR THE PLL TO SETTLE */
+ /* This allows the dot clock frequency that was just set to settle. */
- gfx_delay_milliseconds(10);
+ gfx_delay_milliseconds(10);
- /* SET THE GX DISPLAY CONTROLLER PARAMETERS */
+ /* SET THE GX DISPLAY CONTROLLER PARAMETERS */
- WRITE_REG32(MDC_FB_ST_OFFSET, 0);
- WRITE_REG32(MDC_CB_ST_OFFSET, 0);
- WRITE_REG32(MDC_CURS_ST_OFFSET, 0);
- WRITE_REG32(MDC_ICON_ST_OFFSET, 0);
+ WRITE_REG32(MDC_FB_ST_OFFSET, 0);
+ WRITE_REG32(MDC_CB_ST_OFFSET, 0);
+ WRITE_REG32(MDC_CURS_ST_OFFSET, 0);
+ WRITE_REG32(MDC_ICON_ST_OFFSET, 0);
- /* SET LINE SIZE AND PITCH */
- /* 1. Flat Panels must use the mode width and not */
- /* the timing width to set the pitch. */
- /* 2. Mode sets will use a pitch that is aligned */
- /* on a 1K boundary to preserve legacy. The */
- /* pitch can be overridden by a subsequent call */
- /* to gfx_set_display_pitch. */
+ /* SET LINE SIZE AND PITCH */
+ /* 1. Flat Panels must use the mode width and not */
+ /* the timing width to set the pitch. */
+ /* 2. Mode sets will use a pitch that is aligned */
+ /* on a 1K boundary to preserve legacy. The */
+ /* pitch can be overridden by a subsequent call */
+ /* to gfx_set_display_pitch. */
- if (PanelEnable)
- size = ModeWidth;
- else
- size = pMode->hactive;
+ if (PanelEnable)
+ size = ModeWidth;
+ else
+ size = pMode->hactive;
- if (bpp > 8)
- size <<= 1;
- if (bpp > 16)
- size <<= 1;
+ if (bpp > 8)
+ size <<= 1;
+ if (bpp > 16)
+ size <<= 1;
- pitch = 1024;
- dv_size = MDC_DV_LINE_SIZE_1024;
+ pitch = 1024;
+ dv_size = MDC_DV_LINE_SIZE_1024;
- if (size > 1024) {
- pitch = 2048;
- dv_size = MDC_DV_LINE_SIZE_2048;
- }
- if (size > 2048) {
- pitch = 4096;
- dv_size = MDC_DV_LINE_SIZE_4096;
- }
- if (size > 4096) {
- pitch = 8192;
- dv_size = MDC_DV_LINE_SIZE_8192;
- }
- WRITE_REG32(MDC_GFX_PITCH, pitch >> 3);
+ if (size > 1024) {
+ pitch = 2048;
+ dv_size = MDC_DV_LINE_SIZE_2048;
+ }
+ if (size > 2048) {
+ pitch = 4096;
+ dv_size = MDC_DV_LINE_SIZE_4096;
+ }
+ if (size > 4096) {
+ pitch = 8192;
+ dv_size = MDC_DV_LINE_SIZE_8192;
+ }
+ WRITE_REG32(MDC_GFX_PITCH, pitch >> 3);
- /* WRITE DIRTY/VALID CONTROL WITH LINE LENGTH */
+ /* WRITE DIRTY/VALID CONTROL WITH LINE LENGTH */
- temp = READ_REG32(MDC_DV_CTL);
- WRITE_REG32(MDC_DV_CTL, (temp & ~MDC_DV_LINE_SIZE_MASK) | dv_size);
+ temp = READ_REG32(MDC_DV_CTL);
+ WRITE_REG32(MDC_DV_CTL, (temp & ~MDC_DV_LINE_SIZE_MASK) | dv_size);
- if (PanelEnable) {
- size = pMode->hactive;
- if (bpp > 8)
- size <<= 1;
- if (bpp > 16)
- size <<= 1;
- }
+ if (PanelEnable) {
+ size = pMode->hactive;
+ if (bpp > 8)
+ size <<= 1;
+ if (bpp > 16)
+ size <<= 1;
+ }
- /* SAVE PREVIOUSLY STORED VIDEO LINE SIZE */
+ /* SAVE PREVIOUSLY STORED VIDEO LINE SIZE */
- vid_buf_size = READ_REG32(MDC_LINE_SIZE) & 0xFF000000;
+ vid_buf_size = READ_REG32(MDC_LINE_SIZE) & 0xFF000000;
- /* ADD 2 TO SIZE FOR POSSIBLE START ADDRESS ALIGNMENTS */
+ /* ADD 2 TO SIZE FOR POSSIBLE START ADDRESS ALIGNMENTS */
- WRITE_REG32(MDC_LINE_SIZE, ((size >> 3) + 2) | vid_buf_size);
+ WRITE_REG32(MDC_LINE_SIZE, ((size >> 3) + 2) | vid_buf_size);
- /* ALWAYS ENABLE VIDEO AND GRAPHICS DATA */
- /* These bits are relics from a previous design and */
- /* should always be enabled. */
+ /* ALWAYS ENABLE VIDEO AND GRAPHICS DATA */
+ /* These bits are relics from a previous design and */
+ /* should always be enabled. */
- dcfg |= (unsigned long)(MDC_DCFG_VDEN | MDC_DCFG_GDEN);
+ dcfg |= (unsigned long) (MDC_DCFG_VDEN | MDC_DCFG_GDEN);
- /* SET PIXEL FORMAT */
+ /* SET PIXEL FORMAT */
- dcfg |= bpp_mask;
+ dcfg |= bpp_mask;
- /* ENABLE TIMING GENERATOR, TIM. REG. UPDATES, PALETTE BYPASS */
- /* AND VERT. INT. SELECT */
+ /* ENABLE TIMING GENERATOR, TIM. REG. UPDATES, PALETTE BYPASS */
+ /* AND VERT. INT. SELECT */
- dcfg |=
- (unsigned long)(MDC_DCFG_TGEN | MDC_DCFG_TRUP | MDC_DCFG_PALB |
- MDC_DCFG_VISL);
+ dcfg |=
+ (unsigned long) (MDC_DCFG_TGEN | MDC_DCFG_TRUP | MDC_DCFG_PALB |
+ MDC_DCFG_VISL);
- /* DISABLE ADDRESS MASKS */
+ /* DISABLE ADDRESS MASKS */
- dcfg |= MDC_DCFG_A20M;
- dcfg |= MDC_DCFG_A18M;
+ dcfg |= MDC_DCFG_A20M;
+ dcfg |= MDC_DCFG_A18M;
- /* SET FIFO PRIORITIES AND DISPLAY FIFO LOAD ENABLE */
- /* Set the priorities higher for high resolution modes. */
+ /* SET FIFO PRIORITIES AND DISPLAY FIFO LOAD ENABLE */
+ /* Set the priorities higher for high resolution modes. */
- if (pMode->hactive > 1024 || bpp == 32)
- gcfg |= 0x000A901;
- else
- gcfg |= 0x0006501;
+ if (pMode->hactive > 1024 || bpp == 32)
+ gcfg |= 0x000A901;
+ else
+ gcfg |= 0x0006501;
- /* ENABLE FLAT PANEL CENTERING */
- /* For panel modes having a resolution smaller than the */
- /* panel resolution, turn on data centering. */
+ /* ENABLE FLAT PANEL CENTERING */
+ /* For panel modes having a resolution smaller than the */
+ /* panel resolution, turn on data centering. */
- if (PanelEnable && ModeWidth < PanelWidth)
- dcfg |= MDC_DCFG_DCEN;
+ if (PanelEnable && ModeWidth < PanelWidth)
+ dcfg |= MDC_DCFG_DCEN;
- /* COMBINE AND SET TIMING VALUES */
+ /* COMBINE AND SET TIMING VALUES */
- value = (unsigned long)(pMode->hactive - 1) |
- (((unsigned long)(pMode->htotal - 1)) << 16);
- WRITE_REG32(MDC_H_ACTIVE_TIMING, value);
- value = (unsigned long)(pMode->hblankstart - 1) |
- (((unsigned long)(pMode->hblankend - 1)) << 16);
- WRITE_REG32(MDC_H_BLANK_TIMING, value);
- value = (unsigned long)(pMode->hsyncstart - 1) |
- (((unsigned long)(pMode->hsyncend - 1)) << 16);
- WRITE_REG32(MDC_H_SYNC_TIMING, value);
- value = (unsigned long)(pMode->vactive - 1) |
- (((unsigned long)(pMode->vtotal - 1)) << 16);
- WRITE_REG32(MDC_V_ACTIVE_TIMING, value);
- value = (unsigned long)(pMode->vblankstart - 1) |
- (((unsigned long)(pMode->vblankend - 1)) << 16);
- WRITE_REG32(MDC_V_BLANK_TIMING, value);
- value = (unsigned long)(pMode->vsyncstart - 1) |
- (((unsigned long)(pMode->vsyncend - 1)) << 16);
- WRITE_REG32(MDC_V_SYNC_TIMING, value);
+ value = (unsigned long) (pMode->hactive - 1) |
+ (((unsigned long) (pMode->htotal - 1)) << 16);
+ WRITE_REG32(MDC_H_ACTIVE_TIMING, value);
+ value = (unsigned long) (pMode->hblankstart - 1) |
+ (((unsigned long) (pMode->hblankend - 1)) << 16);
+ WRITE_REG32(MDC_H_BLANK_TIMING, value);
+ value = (unsigned long) (pMode->hsyncstart - 1) |
+ (((unsigned long) (pMode->hsyncend - 1)) << 16);
+ WRITE_REG32(MDC_H_SYNC_TIMING, value);
+ value = (unsigned long) (pMode->vactive - 1) |
+ (((unsigned long) (pMode->vtotal - 1)) << 16);
+ WRITE_REG32(MDC_V_ACTIVE_TIMING, value);
+ value = (unsigned long) (pMode->vblankstart - 1) |
+ (((unsigned long) (pMode->vblankend - 1)) << 16);
+ WRITE_REG32(MDC_V_BLANK_TIMING, value);
+ value = (unsigned long) (pMode->vsyncstart - 1) |
+ (((unsigned long) (pMode->vsyncend - 1)) << 16);
+ WRITE_REG32(MDC_V_SYNC_TIMING, value);
- WRITE_REG32(MDC_DISPLAY_CFG, dcfg);
- WRITE_REG32(MDC_GENERAL_CFG, gcfg);
+ WRITE_REG32(MDC_DISPLAY_CFG, dcfg);
+ WRITE_REG32(MDC_GENERAL_CFG, gcfg);
- /* CONFIGURE DISPLAY OUTPUT FROM VIDEO PROCESSOR */
+ /* CONFIGURE DISPLAY OUTPUT FROM VIDEO PROCESSOR */
- gfx_set_display_control(((pMode->flags & GFX_MODE_NEG_HSYNC) ? 1 : 0) |
- ((pMode->flags & GFX_MODE_NEG_VSYNC) ? 2 : 0));
+ gfx_set_display_control(((pMode->flags & GFX_MODE_NEG_HSYNC) ? 1 : 0) |
+ ((pMode->flags & GFX_MODE_NEG_VSYNC) ? 2 : 0));
- /* RESTORE VALUE OF MDC_UNLOCK */
+ /* RESTORE VALUE OF MDC_UNLOCK */
- WRITE_REG32(MDC_UNLOCK, unlock);
+ WRITE_REG32(MDC_UNLOCK, unlock);
- /* RESET THE PITCH VALUES IN THE GP */
+ /* RESET THE PITCH VALUES IN THE GP */
- gfx_reset_pitch((unsigned short)pitch);
+ gfx_reset_pitch((unsigned short) pitch);
- gfx_set_bpp((unsigned short)bpp);
+ gfx_set_bpp((unsigned short) bpp);
- return GFX_STATUS_OK;
+ return GFX_STATUS_OK;
}
/*----------------------------------------------------------------------------
@@ -631,66 +628,66 @@ int
gfx_is_display_mode_supported(int xres, int yres, int bpp, int hz)
#endif
{
- unsigned int mode;
- unsigned long hz_flag = 0, bpp_flag = 0;
-
- /* SET FLAGS TO MATCH REFRESH RATE */
-
- if (hz == 56)
- hz_flag = GFX_MODE_56HZ;
- if (hz == 60)
- hz_flag = GFX_MODE_60HZ;
- if (hz == 70)
- hz_flag = GFX_MODE_70HZ;
- if (hz == 72)
- hz_flag = GFX_MODE_72HZ;
- if (hz == 75)
- hz_flag = GFX_MODE_75HZ;
- if (hz == 85)
- hz_flag = GFX_MODE_85HZ;
-
- /* SET BPP FLAGS TO LIMIT MODE SELECTION */
-
- switch (bpp) {
- case 8:
- bpp_flag = GFX_MODE_8BPP;
- break;
- case 12:
- bpp_flag = GFX_MODE_12BPP;
- break;
- case 15:
- bpp_flag = GFX_MODE_15BPP;
- break;
- case 16:
- bpp_flag = GFX_MODE_16BPP;
- break;
- case 32:
- bpp_flag = GFX_MODE_24BPP;
- break;
- default:
- return (-1);
- }
-
- /* LOOP THROUGH THE AVAILABLE MODES TO FIND A MATCH */
-
- for (mode = 0; mode < NUM_RC_DISPLAY_MODES; mode++) {
- if ((DisplayParams[mode].hactive == (unsigned short)xres) &&
- (DisplayParams[mode].vactive == (unsigned short)yres) &&
- (DisplayParams[mode].flags & hz_flag) &&
- (DisplayParams[mode].flags & bpp_flag)) {
-
- /* REDCLOUD DOES NOT SUPPORT EMULATED VGA MODES */
-
- if ((DisplayParams[mode].flags & GFX_MODE_PIXEL_DOUBLE) ||
- (DisplayParams[mode].flags & GFX_MODE_LINE_DOUBLE))
- continue;
-
- /* SET THE DISPLAY CONTROLLER FOR THE SELECTED MODE */
-
- return (mode);
- }
- }
- return (-1);
+ unsigned int mode;
+ unsigned long hz_flag = 0, bpp_flag = 0;
+
+ /* SET FLAGS TO MATCH REFRESH RATE */
+
+ if (hz == 56)
+ hz_flag = GFX_MODE_56HZ;
+ if (hz == 60)
+ hz_flag = GFX_MODE_60HZ;
+ if (hz == 70)
+ hz_flag = GFX_MODE_70HZ;
+ if (hz == 72)
+ hz_flag = GFX_MODE_72HZ;
+ if (hz == 75)
+ hz_flag = GFX_MODE_75HZ;
+ if (hz == 85)
+ hz_flag = GFX_MODE_85HZ;
+
+ /* SET BPP FLAGS TO LIMIT MODE SELECTION */
+
+ switch (bpp) {
+ case 8:
+ bpp_flag = GFX_MODE_8BPP;
+ break;
+ case 12:
+ bpp_flag = GFX_MODE_12BPP;
+ break;
+ case 15:
+ bpp_flag = GFX_MODE_15BPP;
+ break;
+ case 16:
+ bpp_flag = GFX_MODE_16BPP;
+ break;
+ case 32:
+ bpp_flag = GFX_MODE_24BPP;
+ break;
+ default:
+ return (-1);
+ }
+
+ /* LOOP THROUGH THE AVAILABLE MODES TO FIND A MATCH */
+
+ for (mode = 0; mode < NUM_RC_DISPLAY_MODES; mode++) {
+ if ((DisplayParams[mode].hactive == (unsigned short) xres) &&
+ (DisplayParams[mode].vactive == (unsigned short) yres) &&
+ (DisplayParams[mode].flags & hz_flag) &&
+ (DisplayParams[mode].flags & bpp_flag)) {
+
+ /* REDCLOUD DOES NOT SUPPORT EMULATED VGA MODES */
+
+ if ((DisplayParams[mode].flags & GFX_MODE_PIXEL_DOUBLE) ||
+ (DisplayParams[mode].flags & GFX_MODE_LINE_DOUBLE))
+ continue;
+
+ /* SET THE DISPLAY CONTROLLER FOR THE SELECTED MODE */
+
+ return (mode);
+ }
+ }
+ return (-1);
}
/*----------------------------------------------------------------------------
@@ -709,20 +706,20 @@ int
gfx_set_display_mode(int xres, int yres, int bpp, int hz)
#endif
{
- int mode;
+ int mode;
- /* DISABLE FLAT PANEL */
- /* Flat Panel settings are enabled by the function gfx_set_fixed_timings */
- /* and disabled by gfx_set_display_mode. */
+ /* DISABLE FLAT PANEL */
+ /* Flat Panel settings are enabled by the function gfx_set_fixed_timings */
+ /* and disabled by gfx_set_display_mode. */
- PanelEnable = 0;
+ PanelEnable = 0;
- mode = gfx_is_display_mode_supported(xres, yres, bpp, hz);
- if (mode >= 0) {
- if (gu2_set_specified_mode(&DisplayParams[mode], bpp) == GFX_STATUS_OK)
- return (1);
- }
- return (0);
+ mode = gfx_is_display_mode_supported(xres, yres, bpp, hz);
+ if (mode >= 0) {
+ if (gu2_set_specified_mode(&DisplayParams[mode], bpp) == GFX_STATUS_OK)
+ return (1);
+ }
+ return (0);
}
/*----------------------------------------------------------------------------
@@ -737,51 +734,51 @@ gfx_set_display_mode(int xres, int yres, int bpp, int hz)
#if GFX_DISPLAY_DYNAMIC
int
gu2_set_display_timings(unsigned short bpp, unsigned short flags,
- unsigned short hactive, unsigned short hblankstart,
- unsigned short hsyncstart, unsigned short hsyncend,
- unsigned short hblankend, unsigned short htotal,
- unsigned short vactive, unsigned short vblankstart,
- unsigned short vsyncstart, unsigned short vsyncend,
- unsigned short vblankend, unsigned short vtotal,
- unsigned long frequency)
+ unsigned short hactive, unsigned short hblankstart,
+ unsigned short hsyncstart, unsigned short hsyncend,
+ unsigned short hblankend, unsigned short htotal,
+ unsigned short vactive, unsigned short vblankstart,
+ unsigned short vsyncstart, unsigned short vsyncend,
+ unsigned short vblankend, unsigned short vtotal,
+ unsigned long frequency)
#else
int
gfx_set_display_timings(unsigned short bpp, unsigned short flags,
- unsigned short hactive, unsigned short hblankstart,
- unsigned short hsyncstart, unsigned short hsyncend,
- unsigned short hblankend, unsigned short htotal,
- unsigned short vactive, unsigned short vblankstart,
- unsigned short vsyncstart, unsigned short vsyncend,
- unsigned short vblankend, unsigned short vtotal,
- unsigned long frequency)
-#endif
-{
- /* SET MODE STRUCTURE WITH SPECIFIED VALUES */
-
- gfx_display_mode.flags = 0;
- if (flags & 1)
- gfx_display_mode.flags |= GFX_MODE_NEG_HSYNC;
- if (flags & 2)
- gfx_display_mode.flags |= GFX_MODE_NEG_VSYNC;
- if (flags & 0x1000)
- gfx_display_mode.flags |= GFX_MODE_LOCK_TIMING;
- gfx_display_mode.hactive = hactive;
- gfx_display_mode.hblankstart = hblankstart;
- gfx_display_mode.hsyncstart = hsyncstart;
- gfx_display_mode.hsyncend = hsyncend;
- gfx_display_mode.hblankend = hblankend;
- gfx_display_mode.htotal = htotal;
- gfx_display_mode.vactive = vactive;
- gfx_display_mode.vblankstart = vblankstart;
- gfx_display_mode.vsyncstart = vsyncstart;
- gfx_display_mode.vsyncend = vsyncend;
- gfx_display_mode.vblankend = vblankend;
- gfx_display_mode.vtotal = vtotal;
- gfx_display_mode.frequency = frequency;
-
- /* CALL ROUTINE TO SET MODE */
-
- return (gu2_set_specified_mode(&gfx_display_mode, bpp));
+ unsigned short hactive, unsigned short hblankstart,
+ unsigned short hsyncstart, unsigned short hsyncend,
+ unsigned short hblankend, unsigned short htotal,
+ unsigned short vactive, unsigned short vblankstart,
+ unsigned short vsyncstart, unsigned short vsyncend,
+ unsigned short vblankend, unsigned short vtotal,
+ unsigned long frequency)
+#endif
+{
+ /* SET MODE STRUCTURE WITH SPECIFIED VALUES */
+
+ gfx_display_mode.flags = 0;
+ if (flags & 1)
+ gfx_display_mode.flags |= GFX_MODE_NEG_HSYNC;
+ if (flags & 2)
+ gfx_display_mode.flags |= GFX_MODE_NEG_VSYNC;
+ if (flags & 0x1000)
+ gfx_display_mode.flags |= GFX_MODE_LOCK_TIMING;
+ gfx_display_mode.hactive = hactive;
+ gfx_display_mode.hblankstart = hblankstart;
+ gfx_display_mode.hsyncstart = hsyncstart;
+ gfx_display_mode.hsyncend = hsyncend;
+ gfx_display_mode.hblankend = hblankend;
+ gfx_display_mode.htotal = htotal;
+ gfx_display_mode.vactive = vactive;
+ gfx_display_mode.vblankstart = vblankstart;
+ gfx_display_mode.vsyncstart = vsyncstart;
+ gfx_display_mode.vsyncend = vsyncend;
+ gfx_display_mode.vblankend = vblankend;
+ gfx_display_mode.vtotal = vtotal;
+ gfx_display_mode.frequency = frequency;
+
+ /* CALL ROUTINE TO SET MODE */
+
+ return (gu2_set_specified_mode(&gfx_display_mode, bpp));
}
/*----------------------------------------------------------------------------
@@ -807,38 +804,38 @@ int
gfx_set_vtotal(unsigned short vtotal)
#endif
{
- unsigned long unlock, dcfg, vactive, vblank;
+ unsigned long unlock, dcfg, vactive, vblank;
- /* UNLOCK THE DISPLAY CONTROLLER REGISTERS */
+ /* UNLOCK THE DISPLAY CONTROLLER REGISTERS */
- unlock = READ_REG32(MDC_UNLOCK);
- WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
+ unlock = READ_REG32(MDC_UNLOCK);
+ WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
- /* READ THE CURRENT RC VALUES */
+ /* READ THE CURRENT RC VALUES */
- dcfg = READ_REG32(MDC_DISPLAY_CFG);
- vactive = READ_REG32(MDC_V_ACTIVE_TIMING);
- vblank = READ_REG32(MDC_V_BLANK_TIMING);
+ dcfg = READ_REG32(MDC_DISPLAY_CFG);
+ vactive = READ_REG32(MDC_V_ACTIVE_TIMING);
+ vblank = READ_REG32(MDC_V_BLANK_TIMING);
- /* DISABLE TIMING REGISTER UPDATES */
+ /* DISABLE TIMING REGISTER UPDATES */
- WRITE_REG32(MDC_DISPLAY_CFG, dcfg & ~(unsigned long)MDC_DCFG_TRUP);
+ WRITE_REG32(MDC_DISPLAY_CFG, dcfg & ~(unsigned long) MDC_DCFG_TRUP);
- /* WRITE NEW TIMING VALUES */
+ /* WRITE NEW TIMING VALUES */
- WRITE_REG32(MDC_V_ACTIVE_TIMING,
- (vactive & MDC_VAT_VA_MASK) | (unsigned long)(vtotal -
- 1) << 16);
- WRITE_REG32(MDC_V_BLANK_TIMING,
- (vblank & MDC_VBT_VBS_MASK) | (unsigned long)(vtotal -
- 1) << 16);
+ WRITE_REG32(MDC_V_ACTIVE_TIMING,
+ (vactive & MDC_VAT_VA_MASK) | (unsigned long) (vtotal -
+ 1) << 16);
+ WRITE_REG32(MDC_V_BLANK_TIMING,
+ (vblank & MDC_VBT_VBS_MASK) | (unsigned long) (vtotal -
+ 1) << 16);
- /* RESTORE OLD RC VALUES */
+ /* RESTORE OLD RC VALUES */
- WRITE_REG32(MDC_DISPLAY_CFG, dcfg);
- WRITE_REG32(MDC_UNLOCK, unlock);
+ WRITE_REG32(MDC_DISPLAY_CFG, dcfg);
+ WRITE_REG32(MDC_UNLOCK, unlock);
- return (0);
+ return (0);
}
/*---------------------------------------------------------------------------
@@ -855,33 +852,33 @@ void
gfx_set_display_pitch(unsigned short pitch)
#endif
{
- unsigned long value = 0;
- unsigned long lock = READ_REG32(MDC_UNLOCK);
+ unsigned long value = 0;
+ unsigned long lock = READ_REG32(MDC_UNLOCK);
- value = READ_REG32(MDC_GFX_PITCH) & 0xFFFF0000;
- value |= (pitch >> 3);
- WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
- WRITE_REG32(MDC_GFX_PITCH, value);
+ value = READ_REG32(MDC_GFX_PITCH) & 0xFFFF0000;
+ value |= (pitch >> 3);
+ WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
+ WRITE_REG32(MDC_GFX_PITCH, value);
- /* SET RENDERING PITCHES TO MATCH */
+ /* SET RENDERING PITCHES TO MATCH */
- gfx_reset_pitch(pitch);
+ gfx_reset_pitch(pitch);
- /* SET THE FRAME DIRTY MODE */
- /* Non-standard pitches, i.e. pitches that */
- /* are not 1K, 2K or 4K must mark the entire */
- /* frame as dirty when writing to the frame */
- /* buffer. */
+ /* SET THE FRAME DIRTY MODE */
+ /* Non-standard pitches, i.e. pitches that */
+ /* are not 1K, 2K or 4K must mark the entire */
+ /* frame as dirty when writing to the frame */
+ /* buffer. */
- value = READ_REG32(MDC_GENERAL_CFG);
+ value = READ_REG32(MDC_GENERAL_CFG);
- if (pitch == 1024 || pitch == 2048 || pitch == 4096 || pitch == 8192)
- value &= ~(unsigned long)(MDC_GCFG_FDTY);
- else
- value |= (unsigned long)(MDC_GCFG_FDTY);
+ if (pitch == 1024 || pitch == 2048 || pitch == 4096 || pitch == 8192)
+ value &= ~(unsigned long) (MDC_GCFG_FDTY);
+ else
+ value |= (unsigned long) (MDC_GCFG_FDTY);
- WRITE_REG32(MDC_GENERAL_CFG, value);
- WRITE_REG32(MDC_UNLOCK, lock);
+ WRITE_REG32(MDC_GENERAL_CFG, value);
+ WRITE_REG32(MDC_UNLOCK, lock);
}
/*---------------------------------------------------------------------------
@@ -900,36 +897,37 @@ void
gfx_set_display_offset(unsigned long offset)
#endif
{
- /* UPDATE FRAME BUFFER OFFSET */
- unsigned long lock;
+ /* UPDATE FRAME BUFFER OFFSET */
+ unsigned long lock;
- lock = READ_REG32(MDC_UNLOCK);
- WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
+ lock = READ_REG32(MDC_UNLOCK);
+ WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
- /* START ADDRESS EFFECTS DISPLAY COMPRESSION */
- /* Disable compression for non-zero start addresss values. */
- /* Enable compression if offset is zero and comression is intended to */
- /* be enabled from a previous call to "gfx_set_compression_enable". */
- /* Compression should be disabled BEFORE the offset is changed */
- /* and enabled AFTER the offset is changed. */
+ /* START ADDRESS EFFECTS DISPLAY COMPRESSION */
+ /* Disable compression for non-zero start addresss values. */
+ /* Enable compression if offset is zero and comression is intended to */
+ /* be enabled from a previous call to "gfx_set_compression_enable". */
+ /* Compression should be disabled BEFORE the offset is changed */
+ /* and enabled AFTER the offset is changed. */
- if (offset == 0) {
- WRITE_REG32(MDC_FB_ST_OFFSET, offset);
- if (gfx_compression_enabled) {
- /* WAIT FOR THE OFFSET TO BE LATCHED */
- gfx_wait_vertical_blank();
- gu2_enable_compression();
- }
- } else {
- /* ONLY DISABLE COMPRESSION ONCE */
+ if (offset == 0) {
+ WRITE_REG32(MDC_FB_ST_OFFSET, offset);
+ if (gfx_compression_enabled) {
+ /* WAIT FOR THE OFFSET TO BE LATCHED */
+ gfx_wait_vertical_blank();
+ gu2_enable_compression();
+ }
+ }
+ else {
+ /* ONLY DISABLE COMPRESSION ONCE */
- if (gfx_compression_active)
- gu2_disable_compression();
+ if (gfx_compression_active)
+ gu2_disable_compression();
- WRITE_REG32(MDC_FB_ST_OFFSET, offset);
- }
+ WRITE_REG32(MDC_FB_ST_OFFSET, offset);
+ }
- WRITE_REG32(MDC_UNLOCK, lock);
+ WRITE_REG32(MDC_UNLOCK, lock);
}
/*---------------------------------------------------------------------------
@@ -947,13 +945,13 @@ int
gfx_set_display_palette_entry(unsigned long index, unsigned long palette)
#endif
{
- if (index > 0xFF)
- return GFX_STATUS_BAD_PARAMETER;
+ if (index > 0xFF)
+ return GFX_STATUS_BAD_PARAMETER;
- WRITE_REG32(MDC_PAL_ADDRESS, index);
- WRITE_REG32(MDC_PAL_DATA, palette);
+ WRITE_REG32(MDC_PAL_ADDRESS, index);
+ WRITE_REG32(MDC_PAL_DATA, palette);
- return (0);
+ return (0);
}
/*---------------------------------------------------------------------------
@@ -971,16 +969,16 @@ int
gfx_set_display_palette(unsigned long *palette)
#endif
{
- unsigned long i;
+ unsigned long i;
- WRITE_REG32(MDC_PAL_ADDRESS, 0);
+ WRITE_REG32(MDC_PAL_ADDRESS, 0);
- if (palette) {
- for (i = 0; i < 256; i++) {
- WRITE_REG32(MDC_PAL_DATA, palette[i]);
- }
- }
- return (0);
+ if (palette) {
+ for (i = 0; i < 256; i++) {
+ WRITE_REG32(MDC_PAL_DATA, palette[i]);
+ }
+ }
+ return (0);
}
/*---------------------------------------------------------------------------
@@ -1001,22 +999,22 @@ void
gfx_set_cursor_enable(int enable)
#endif
{
- unsigned long unlock, gcfg;
+ unsigned long unlock, gcfg;
- /* SET OR CLEAR CURSOR ENABLE BIT */
+ /* SET OR CLEAR CURSOR ENABLE BIT */
- unlock = READ_REG32(MDC_UNLOCK);
- gcfg = READ_REG32(MDC_GENERAL_CFG);
- if (enable)
- gcfg |= MDC_GCFG_CURE;
- else
- gcfg &= ~(MDC_GCFG_CURE);
+ unlock = READ_REG32(MDC_UNLOCK);
+ gcfg = READ_REG32(MDC_GENERAL_CFG);
+ if (enable)
+ gcfg |= MDC_GCFG_CURE;
+ else
+ gcfg &= ~(MDC_GCFG_CURE);
- /* WRITE NEW REGISTER VALUE */
+ /* WRITE NEW REGISTER VALUE */
- WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
- WRITE_REG32(MDC_GENERAL_CFG, gcfg);
- WRITE_REG32(MDC_UNLOCK, unlock);
+ WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
+ WRITE_REG32(MDC_GENERAL_CFG, gcfg);
+ WRITE_REG32(MDC_UNLOCK, unlock);
}
/*---------------------------------------------------------------------------
@@ -1033,11 +1031,11 @@ void
gfx_set_cursor_colors(unsigned long bkcolor, unsigned long fgcolor)
#endif
{
- /* SET CURSOR COLORS */
+ /* SET CURSOR COLORS */
- WRITE_REG32(MDC_PAL_ADDRESS, 0x100);
- WRITE_REG32(MDC_PAL_DATA, bkcolor);
- WRITE_REG32(MDC_PAL_DATA, fgcolor);
+ WRITE_REG32(MDC_PAL_ADDRESS, 0x100);
+ WRITE_REG32(MDC_PAL_DATA, bkcolor);
+ WRITE_REG32(MDC_PAL_DATA, fgcolor);
}
/*---------------------------------------------------------------------------
@@ -1051,61 +1049,61 @@ gfx_set_cursor_colors(unsigned long bkcolor, unsigned long fgcolor)
#if GFX_DISPLAY_DYNAMIC
void
gu2_set_cursor_position(unsigned long memoffset,
- unsigned short xpos, unsigned short ypos,
- unsigned short xhotspot, unsigned short yhotspot)
+ unsigned short xpos, unsigned short ypos,
+ unsigned short xhotspot, unsigned short yhotspot)
#else
void
gfx_set_cursor_position(unsigned long memoffset,
- unsigned short xpos, unsigned short ypos,
- unsigned short xhotspot, unsigned short yhotspot)
-#endif
-{
- unsigned long unlock;
-
- short x = (short)xpos - (short)xhotspot;
- short y = (short)ypos - (short)yhotspot;
- short xoffset = 0;
- short yoffset = 0;
-
- if (x < -63)
- return;
- if (y < -63)
- return;
-
- if (PanelEnable) {
- if ((ModeWidth > PanelWidth) || (ModeHeight > PanelHeight)) {
- gfx_enable_panning(xpos, ypos);
- x = x - (unsigned short)panelLeft;
- y = y - (unsigned short)panelTop;
- }
- }
-
- /* ADJUST OFFSETS */
- /* Cursor movement and panning work as follows: The cursor position */
- /* refers to where the hotspot of the cursor is located. However, for */
- /* non-zero hotspots, the cursor buffer actually begins before the */
- /* specified position. */
-
- if (x < 0) {
- xoffset = -x;
- x = 0;
- }
- if (y < 0) {
- yoffset = -y;
- y = 0;
- }
- memoffset += (unsigned long)yoffset << 4;
-
- /* SET CURSOR POSITION */
-
- unlock = READ_REG32(MDC_UNLOCK);
- WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
- WRITE_REG32(MDC_CURS_ST_OFFSET, memoffset);
- WRITE_REG32(MDC_CURSOR_X, (unsigned long)x |
- (((unsigned long)xoffset) << 11));
- WRITE_REG32(MDC_CURSOR_Y, (unsigned long)y |
- (((unsigned long)yoffset) << 11));
- WRITE_REG32(MDC_UNLOCK, unlock);
+ unsigned short xpos, unsigned short ypos,
+ unsigned short xhotspot, unsigned short yhotspot)
+#endif
+{
+ unsigned long unlock;
+
+ short x = (short) xpos - (short) xhotspot;
+ short y = (short) ypos - (short) yhotspot;
+ short xoffset = 0;
+ short yoffset = 0;
+
+ if (x < -63)
+ return;
+ if (y < -63)
+ return;
+
+ if (PanelEnable) {
+ if ((ModeWidth > PanelWidth) || (ModeHeight > PanelHeight)) {
+ gfx_enable_panning(xpos, ypos);
+ x = x - (unsigned short) panelLeft;
+ y = y - (unsigned short) panelTop;
+ }
+ }
+
+ /* ADJUST OFFSETS */
+ /* Cursor movement and panning work as follows: The cursor position */
+ /* refers to where the hotspot of the cursor is located. However, for */
+ /* non-zero hotspots, the cursor buffer actually begins before the */
+ /* specified position. */
+
+ if (x < 0) {
+ xoffset = -x;
+ x = 0;
+ }
+ if (y < 0) {
+ yoffset = -y;
+ y = 0;
+ }
+ memoffset += (unsigned long) yoffset << 4;
+
+ /* SET CURSOR POSITION */
+
+ unlock = READ_REG32(MDC_UNLOCK);
+ WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
+ WRITE_REG32(MDC_CURS_ST_OFFSET, memoffset);
+ WRITE_REG32(MDC_CURSOR_X, (unsigned long) x |
+ (((unsigned long) xoffset) << 11));
+ WRITE_REG32(MDC_CURSOR_Y, (unsigned long) y |
+ (((unsigned long) yoffset) << 11));
+ WRITE_REG32(MDC_UNLOCK, unlock);
}
/*---------------------------------------------------------------------------
@@ -1119,39 +1117,39 @@ gfx_set_cursor_position(unsigned long memoffset,
#if GFX_DISPLAY_DYNAMIC
void
gu2_set_cursor_shape32(unsigned long memoffset,
- unsigned long *andmask, unsigned long *xormask)
+ unsigned long *andmask, unsigned long *xormask)
#else
void
gfx_set_cursor_shape32(unsigned long memoffset,
- unsigned long *andmask, unsigned long *xormask)
+ unsigned long *andmask, unsigned long *xormask)
#endif
{
- int i;
+ int i;
- for (i = 0; i < 32; i++) {
- /* EVEN QWORDS CONTAIN THE AND MASK */
+ for (i = 0; i < 32; i++) {
+ /* EVEN QWORDS CONTAIN THE AND MASK */
- WRITE_FB32(memoffset, 0xFFFFFFFF);
- WRITE_FB32(memoffset + 4, andmask[i]);
+ WRITE_FB32(memoffset, 0xFFFFFFFF);
+ WRITE_FB32(memoffset + 4, andmask[i]);
- /* ODD QWORDS CONTAIN THE XOR MASK */
+ /* ODD QWORDS CONTAIN THE XOR MASK */
- WRITE_FB32(memoffset + 8, 0x00000000);
- WRITE_FB32(memoffset + 12, xormask[i]);
+ WRITE_FB32(memoffset + 8, 0x00000000);
+ WRITE_FB32(memoffset + 12, xormask[i]);
- memoffset += 16;
- }
+ memoffset += 16;
+ }
- /* FILL THE LOWER HALF OF THE BUFFER WITH TRANSPARENT PIXELS */
+ /* FILL THE LOWER HALF OF THE BUFFER WITH TRANSPARENT PIXELS */
- for (i = 0; i < 32; i++) {
- WRITE_FB32(memoffset, 0xFFFFFFFF);
- WRITE_FB32(memoffset + 4, 0xFFFFFFFF);
- WRITE_FB32(memoffset + 8, 0x00000000);
- WRITE_FB32(memoffset + 12, 0x00000000);
+ for (i = 0; i < 32; i++) {
+ WRITE_FB32(memoffset, 0xFFFFFFFF);
+ WRITE_FB32(memoffset + 4, 0xFFFFFFFF);
+ WRITE_FB32(memoffset + 8, 0x00000000);
+ WRITE_FB32(memoffset + 12, 0x00000000);
- memoffset += 16;
- }
+ memoffset += 16;
+ }
}
/*---------------------------------------------------------------------------
@@ -1163,32 +1161,32 @@ gfx_set_cursor_shape32(unsigned long memoffset,
#if GFX_DISPLAY_DYNAMIC
void
gu2_set_cursor_shape64(unsigned long memoffset,
- unsigned long *andmask, unsigned long *xormask)
+ unsigned long *andmask, unsigned long *xormask)
#else
void
gfx_set_cursor_shape64(unsigned long memoffset,
- unsigned long *andmask, unsigned long *xormask)
+ unsigned long *andmask, unsigned long *xormask)
#endif
{
- int i;
+ int i;
- for (i = 0; i < 128; i += 2) {
- /* EVEN QWORDS CONTAIN THE AND MASK */
- /* We invert the dwords to prevent the calling */
- /* application from having to think in terms of Qwords. */
- /* The hardware data order is actually 63:0, or 31:0 of */
- /* the second dword followed by 31:0 of the first dword. */
+ for (i = 0; i < 128; i += 2) {
+ /* EVEN QWORDS CONTAIN THE AND MASK */
+ /* We invert the dwords to prevent the calling */
+ /* application from having to think in terms of Qwords. */
+ /* The hardware data order is actually 63:0, or 31:0 of */
+ /* the second dword followed by 31:0 of the first dword. */
- WRITE_FB32(memoffset, andmask[i + 1]);
- WRITE_FB32(memoffset + 4, andmask[i]);
+ WRITE_FB32(memoffset, andmask[i + 1]);
+ WRITE_FB32(memoffset + 4, andmask[i]);
- /* ODD QWORDS CONTAIN THE XOR MASK */
+ /* ODD QWORDS CONTAIN THE XOR MASK */
- WRITE_FB32(memoffset + 8, xormask[i + 1]);
- WRITE_FB32(memoffset + 12, xormask[i]);
+ WRITE_FB32(memoffset + 8, xormask[i + 1]);
+ WRITE_FB32(memoffset + 12, xormask[i]);
- memoffset += 16;
- }
+ memoffset += 16;
+ }
}
/*---------------------------------------------------------------------------
@@ -1207,22 +1205,22 @@ void
gfx_set_icon_enable(int enable)
#endif
{
- unsigned long unlock, gcfg;
+ unsigned long unlock, gcfg;
- /* SET OR CLEAR ICON ENABLE BIT */
+ /* SET OR CLEAR ICON ENABLE BIT */
- unlock = READ_REG32(MDC_UNLOCK);
- gcfg = READ_REG32(MDC_GENERAL_CFG);
- if (enable)
- gcfg |= MDC_GCFG_ICNE;
- else
- gcfg &= ~(MDC_GCFG_ICNE);
+ unlock = READ_REG32(MDC_UNLOCK);
+ gcfg = READ_REG32(MDC_GENERAL_CFG);
+ if (enable)
+ gcfg |= MDC_GCFG_ICNE;
+ else
+ gcfg &= ~(MDC_GCFG_ICNE);
- /* WRITE NEW REGISTER VALUE */
+ /* WRITE NEW REGISTER VALUE */
- WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
- WRITE_REG32(MDC_GENERAL_CFG, gcfg);
- WRITE_REG32(MDC_UNLOCK, unlock);
+ WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
+ WRITE_REG32(MDC_GENERAL_CFG, gcfg);
+ WRITE_REG32(MDC_UNLOCK, unlock);
}
/*---------------------------------------------------------------------------
@@ -1234,20 +1232,20 @@ gfx_set_icon_enable(int enable)
#if GFX_DISPLAY_DYNAMIC
void
gu2_set_icon_colors(unsigned long color0, unsigned long color1,
- unsigned long color2)
+ unsigned long color2)
#else
void
gfx_set_icon_colors(unsigned long color0, unsigned long color1,
- unsigned long color2)
+ unsigned long color2)
#endif
{
- /* ICON COLORS LOCATED AT PALETTE INDEXES 102-104h */
+ /* ICON COLORS LOCATED AT PALETTE INDEXES 102-104h */
- WRITE_REG32(MDC_PAL_ADDRESS, 0x102);
+ WRITE_REG32(MDC_PAL_ADDRESS, 0x102);
- WRITE_REG32(MDC_PAL_DATA, color0);
- WRITE_REG32(MDC_PAL_DATA, color1);
- WRITE_REG32(MDC_PAL_DATA, color2);
+ WRITE_REG32(MDC_PAL_DATA, color0);
+ WRITE_REG32(MDC_PAL_DATA, color1);
+ WRITE_REG32(MDC_PAL_DATA, color2);
}
/*---------------------------------------------------------------------------
@@ -1265,19 +1263,19 @@ void
gfx_set_icon_position(unsigned long memoffset, unsigned short xpos)
#endif
{
- unsigned long lock = READ_REG32(MDC_UNLOCK);
+ unsigned long lock = READ_REG32(MDC_UNLOCK);
- WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
+ WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
- /* PROGRAM THE MEMORY OFFSET */
+ /* PROGRAM THE MEMORY OFFSET */
- WRITE_REG32(MDC_ICON_ST_OFFSET, memoffset & 0x0FFFFFFF);
+ WRITE_REG32(MDC_ICON_ST_OFFSET, memoffset & 0x0FFFFFFF);
- /* PROGRAM THE XCOORDINATE */
+ /* PROGRAM THE XCOORDINATE */
- WRITE_REG32(MDC_ICON_X, (unsigned long)(xpos & 0x07FF));
+ WRITE_REG32(MDC_ICON_X, (unsigned long) (xpos & 0x07FF));
- WRITE_REG32(MDC_UNLOCK, lock);
+ WRITE_REG32(MDC_UNLOCK, lock);
}
/*---------------------------------------------------------------------------
@@ -1289,31 +1287,31 @@ gfx_set_icon_position(unsigned long memoffset, unsigned short xpos)
#if GFX_DISPLAY_DYNAMIC
void
gu2_set_icon_shape64(unsigned long memoffset, unsigned long *andmask,
- unsigned long *xormask, unsigned int lines)
+ unsigned long *xormask, unsigned int lines)
#else
void
gfx_set_icon_shape64(unsigned long memoffset, unsigned long *andmask,
- unsigned long *xormask, unsigned int lines)
+ unsigned long *xormask, unsigned int lines)
#endif
{
- unsigned short i, height;
+ unsigned short i, height;
- height = lines << 1;
+ height = lines << 1;
- for (i = 0; i < height; i += 2) {
- /* EVEN QWORDS CONTAIN THE AND MASK */
- /* Swap dwords to hide qword constraint */
+ for (i = 0; i < height; i += 2) {
+ /* EVEN QWORDS CONTAIN THE AND MASK */
+ /* Swap dwords to hide qword constraint */
- WRITE_FB32(memoffset, andmask[i + 1]);
- WRITE_FB32(memoffset + 4, andmask[i]);
+ WRITE_FB32(memoffset, andmask[i + 1]);
+ WRITE_FB32(memoffset + 4, andmask[i]);
- /* ODD QWORDS CONTAIN THE XOR MASK */
+ /* ODD QWORDS CONTAIN THE XOR MASK */
- WRITE_FB32(memoffset + 8, xormask[i + 1]);
- WRITE_FB32(memoffset + 12, xormask[i]);
+ WRITE_FB32(memoffset + 8, xormask[i + 1]);
+ WRITE_FB32(memoffset + 12, xormask[i]);
- memoffset += 16;
- }
+ memoffset += 16;
+ }
}
/*---------------------------------------------------------------------------
@@ -1326,34 +1324,34 @@ gfx_set_icon_shape64(unsigned long memoffset, unsigned long *andmask,
void
gu2_enable_compression(void)
{
- unsigned long unlock, gcfg, temp;
+ unsigned long unlock, gcfg, temp;
- /* DO NOT ENABLE IF START ADDRESS IS NOT ZERO */
+ /* DO NOT ENABLE IF START ADDRESS IS NOT ZERO */
- if (READ_REG32(MDC_FB_ST_OFFSET) & 0x0FFFFFFF)
- return;
+ if (READ_REG32(MDC_FB_ST_OFFSET) & 0x0FFFFFFF)
+ return;
- /* SET GLOBAL INDICATOR */
+ /* SET GLOBAL INDICATOR */
- gfx_compression_active = 1;
+ gfx_compression_active = 1;
- /* CLEAR DIRTY/VALID BITS IN MEMORY CONTROLLER */
- /* Software is required to do this before enabling compression. */
- /* Don't want controller to think that old lines are still valid. */
- /* Writing a 1 to bit 0 of the DV Control register will force the */
- /* hardware to clear all the valid bits. */
+ /* CLEAR DIRTY/VALID BITS IN MEMORY CONTROLLER */
+ /* Software is required to do this before enabling compression. */
+ /* Don't want controller to think that old lines are still valid. */
+ /* Writing a 1 to bit 0 of the DV Control register will force the */
+ /* hardware to clear all the valid bits. */
- temp = READ_REG32(MDC_DV_CTL);
- WRITE_REG32(MDC_DV_CTL, temp | 0x00000001);
+ temp = READ_REG32(MDC_DV_CTL);
+ WRITE_REG32(MDC_DV_CTL, temp | 0x00000001);
- /* TURN ON COMPRESSION CONTROL BITS */
+ /* TURN ON COMPRESSION CONTROL BITS */
- unlock = READ_REG32(MDC_UNLOCK);
- gcfg = READ_REG32(MDC_GENERAL_CFG);
- gcfg |= MDC_GCFG_CMPE | MDC_GCFG_DECE;
- WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
- WRITE_REG32(MDC_GENERAL_CFG, gcfg);
- WRITE_REG32(MDC_UNLOCK, unlock);
+ unlock = READ_REG32(MDC_UNLOCK);
+ gcfg = READ_REG32(MDC_GENERAL_CFG);
+ gcfg |= MDC_GCFG_CMPE | MDC_GCFG_DECE;
+ WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
+ WRITE_REG32(MDC_GENERAL_CFG, gcfg);
+ WRITE_REG32(MDC_UNLOCK, unlock);
}
/*---------------------------------------------------------------------------
@@ -1366,20 +1364,20 @@ gu2_enable_compression(void)
void
gu2_disable_compression(void)
{
- unsigned long unlock, gcfg;
+ unsigned long unlock, gcfg;
- /* SET GLOBAL INDICATOR */
+ /* SET GLOBAL INDICATOR */
- gfx_compression_active = 0;
+ gfx_compression_active = 0;
- /* TURN OFF COMPRESSION CONTROL BITS */
+ /* TURN OFF COMPRESSION CONTROL BITS */
- unlock = READ_REG32(MDC_UNLOCK);
- gcfg = READ_REG32(MDC_GENERAL_CFG);
- gcfg &= ~(MDC_GCFG_CMPE | MDC_GCFG_DECE);
- WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
- WRITE_REG32(MDC_GENERAL_CFG, gcfg);
- WRITE_REG32(MDC_UNLOCK, unlock);
+ unlock = READ_REG32(MDC_UNLOCK);
+ gcfg = READ_REG32(MDC_GENERAL_CFG);
+ gcfg &= ~(MDC_GCFG_CMPE | MDC_GCFG_DECE);
+ WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
+ WRITE_REG32(MDC_GENERAL_CFG, gcfg);
+ WRITE_REG32(MDC_UNLOCK, unlock);
}
/*---------------------------------------------------------------------------
@@ -1396,16 +1394,16 @@ int
gfx_set_compression_enable(int enable)
#endif
{
- /* SET GLOBAL VARIABLE FOR INDENDED STATE */
- /* Compression can only be enabled for non-zero start address values. */
- /* Keep state to enable compression on start address changes. */
+ /* SET GLOBAL VARIABLE FOR INDENDED STATE */
+ /* Compression can only be enabled for non-zero start address values. */
+ /* Keep state to enable compression on start address changes. */
- gfx_compression_enabled = enable;
- if (enable)
- gu2_enable_compression();
- else
- gu2_disable_compression();
- return (0);
+ gfx_compression_enabled = enable;
+ if (enable)
+ gu2_enable_compression();
+ else
+ gu2_disable_compression();
+ return (0);
}
/*---------------------------------------------------------------------------
@@ -1422,21 +1420,21 @@ int
gfx_set_compression_offset(unsigned long offset)
#endif
{
- unsigned long lock;
+ unsigned long lock;
- /* MUST BE 16-BYTE ALIGNED FOR REDCLOUD */
+ /* MUST BE 16-BYTE ALIGNED FOR REDCLOUD */
- if (offset & 0x0F)
- return (1);
+ if (offset & 0x0F)
+ return (1);
- /* SET REGISTER VALUE */
+ /* SET REGISTER VALUE */
- lock = READ_REG32(MDC_UNLOCK);
- WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
- WRITE_REG32(MDC_CB_ST_OFFSET, offset & 0x0FFFFFFF);
- WRITE_REG32(MDC_UNLOCK, lock);
+ lock = READ_REG32(MDC_UNLOCK);
+ WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
+ WRITE_REG32(MDC_CB_ST_OFFSET, offset & 0x0FFFFFFF);
+ WRITE_REG32(MDC_UNLOCK, lock);
- return (0);
+ return (0);
}
/*---------------------------------------------------------------------------
@@ -1453,18 +1451,18 @@ int
gfx_set_compression_pitch(unsigned short pitch)
#endif
{
- unsigned long lock, line_delta;
+ unsigned long lock, line_delta;
- lock = READ_REG32(MDC_UNLOCK);
+ lock = READ_REG32(MDC_UNLOCK);
- /* SET REGISTER VALUE */
+ /* SET REGISTER VALUE */
- line_delta = READ_REG32(MDC_GFX_PITCH) & 0x0000FFFF;
- line_delta |= (((unsigned long)pitch << 13) & 0xFFFF0000);
- WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
- WRITE_REG32(MDC_GFX_PITCH, line_delta);
- WRITE_REG32(MDC_UNLOCK, lock);
- return (0);
+ line_delta = READ_REG32(MDC_GFX_PITCH) & 0x0000FFFF;
+ line_delta |= (((unsigned long) pitch << 13) & 0xFFFF0000);
+ WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
+ WRITE_REG32(MDC_GFX_PITCH, line_delta);
+ WRITE_REG32(MDC_UNLOCK, lock);
+ return (0);
}
/*---------------------------------------------------------------------------
@@ -1482,25 +1480,25 @@ int
gfx_set_compression_size(unsigned short size)
#endif
{
- unsigned long lock, buf_size;
+ unsigned long lock, buf_size;
- /* SUBTRACT 32 FROM SIZE */
- /* The display controller will actually write */
- /* 4 extra QWords. So, if we assume that "size" */
- /* refers to the allocated size, we must subtract */
- /* 32 bytes. */
+ /* SUBTRACT 32 FROM SIZE */
+ /* The display controller will actually write */
+ /* 4 extra QWords. So, if we assume that "size" */
+ /* refers to the allocated size, we must subtract */
+ /* 32 bytes. */
- size -= 32;
+ size -= 32;
- /* SET REGISTER VALUE */
+ /* SET REGISTER VALUE */
- lock = READ_REG32(MDC_UNLOCK);
- buf_size = READ_REG32(MDC_LINE_SIZE) & 0xFF80FFFF;
- buf_size |= ((((unsigned long)size >> 3) + 1) & 0x7F) << 16;
- WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
- WRITE_REG32(MDC_LINE_SIZE, buf_size);
- WRITE_REG32(MDC_UNLOCK, lock);
- return (0);
+ lock = READ_REG32(MDC_UNLOCK);
+ buf_size = READ_REG32(MDC_LINE_SIZE) & 0xFF80FFFF;
+ buf_size |= ((((unsigned long) size >> 3) + 1) & 0x7F) << 16;
+ WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
+ WRITE_REG32(MDC_LINE_SIZE, buf_size);
+ WRITE_REG32(MDC_UNLOCK, lock);
+ return (0);
}
/*---------------------------------------------------------------------------
@@ -1518,29 +1516,29 @@ void
gfx_set_display_video_format(unsigned long format)
#endif
{
- unsigned long gcfg, lock;
+ unsigned long gcfg, lock;
- lock = READ_REG32(MDC_UNLOCK);
- gcfg = READ_REG32(MDC_GENERAL_CFG);
+ lock = READ_REG32(MDC_UNLOCK);
+ gcfg = READ_REG32(MDC_GENERAL_CFG);
- switch (format) {
- case VIDEO_FORMAT_Y0Y1Y2Y3:
- case VIDEO_FORMAT_Y3Y2Y1Y0:
- case VIDEO_FORMAT_Y1Y0Y3Y2:
- case VIDEO_FORMAT_Y1Y2Y3Y0:
+ switch (format) {
+ case VIDEO_FORMAT_Y0Y1Y2Y3:
+ case VIDEO_FORMAT_Y3Y2Y1Y0:
+ case VIDEO_FORMAT_Y1Y0Y3Y2:
+ case VIDEO_FORMAT_Y1Y2Y3Y0:
- gcfg |= MDC_GCFG_YUVM;
- break;
+ gcfg |= MDC_GCFG_YUVM;
+ break;
- default:
+ default:
- gcfg &= ~MDC_GCFG_YUVM;
- break;
- }
+ gcfg &= ~MDC_GCFG_YUVM;
+ break;
+ }
- WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
- WRITE_REG32(MDC_GENERAL_CFG, gcfg);
- WRITE_REG32(MDC_UNLOCK, lock);
+ WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
+ WRITE_REG32(MDC_GENERAL_CFG, gcfg);
+ WRITE_REG32(MDC_UNLOCK, lock);
}
/*---------------------------------------------------------------------------
@@ -1558,26 +1556,26 @@ void
gfx_set_display_video_enable(int enable)
#endif
{
- unsigned long lock, gcfg, dcfg;
+ unsigned long lock, gcfg, dcfg;
- /* READ CURRENT VALUES */
+ /* READ CURRENT VALUES */
- lock = READ_REG32(MDC_UNLOCK);
- gcfg = READ_REG32(MDC_GENERAL_CFG);
- dcfg = READ_REG32(MDC_DISPLAY_CFG);
+ lock = READ_REG32(MDC_UNLOCK);
+ gcfg = READ_REG32(MDC_GENERAL_CFG);
+ dcfg = READ_REG32(MDC_DISPLAY_CFG);
- /* SET OR CLEAR VIDEO ENABLE IN GENERAL_CFG */
+ /* SET OR CLEAR VIDEO ENABLE IN GENERAL_CFG */
- if (enable)
- gcfg |= MDC_GCFG_VIDE;
- else
- gcfg &= ~MDC_GCFG_VIDE;
+ if (enable)
+ gcfg |= MDC_GCFG_VIDE;
+ else
+ gcfg &= ~MDC_GCFG_VIDE;
- /* WRITE REGISTER */
+ /* WRITE REGISTER */
- WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
- WRITE_REG32(MDC_GENERAL_CFG, gcfg);
- WRITE_REG32(MDC_UNLOCK, lock);
+ WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
+ WRITE_REG32(MDC_GENERAL_CFG, gcfg);
+ WRITE_REG32(MDC_UNLOCK, lock);
}
/*---------------------------------------------------------------------------
@@ -1595,34 +1593,35 @@ void
gfx_set_display_video_size(unsigned short width, unsigned short height)
#endif
{
- unsigned long lock, value, yuv_420;
+ unsigned long lock, value, yuv_420;
- /* READ CURRENT VALUES */
+ /* READ CURRENT VALUES */
- lock = READ_REG32(MDC_UNLOCK);
- value = READ_REG32(MDC_LINE_SIZE) & 0x00FFFFFF;
- yuv_420 = READ_REG32(MDC_GENERAL_CFG) & MDC_GCFG_YUVM;
+ lock = READ_REG32(MDC_UNLOCK);
+ value = READ_REG32(MDC_LINE_SIZE) & 0x00FFFFFF;
+ yuv_420 = READ_REG32(MDC_GENERAL_CFG) & MDC_GCFG_YUVM;
- /* LINE WIDTH IS 1/4 FOR 4:2:0 VIDEO */
- /* All data must be 32-byte aligned. */
+ /* LINE WIDTH IS 1/4 FOR 4:2:0 VIDEO */
+ /* All data must be 32-byte aligned. */
- if (yuv_420) {
- width >>= 1;
- width = (width + 7) & 0xFFF8;
- } else {
- width <<= 1;
- width = (width + 31) & 0xFFE0;
- }
+ if (yuv_420) {
+ width >>= 1;
+ width = (width + 7) & 0xFFF8;
+ }
+ else {
+ width <<= 1;
+ width = (width + 31) & 0xFFE0;
+ }
- /* ONLY THE LINE SIZE IS PROGRAMMED IN THE DISPLAY CONTROLLER */
+ /* ONLY THE LINE SIZE IS PROGRAMMED IN THE DISPLAY CONTROLLER */
- value |= ((unsigned long)width << 21);
+ value |= ((unsigned long) width << 21);
- /* WRITE THE REGISTER */
+ /* WRITE THE REGISTER */
- WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
- WRITE_REG32(MDC_LINE_SIZE, value);
- WRITE_REG32(MDC_UNLOCK, lock);
+ WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
+ WRITE_REG32(MDC_LINE_SIZE, value);
+ WRITE_REG32(MDC_UNLOCK, lock);
}
/*---------------------------------------------------------------------------
@@ -1640,13 +1639,13 @@ void
gfx_set_display_video_offset(unsigned long offset)
#endif
{
- unsigned long lock;
+ unsigned long lock;
- lock = READ_REG32(MDC_UNLOCK);
- WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
- offset &= 0x0FFFFFF0;
- WRITE_REG32(MDC_VID_Y_ST_OFFSET, offset);
- WRITE_REG32(MDC_UNLOCK, lock);
+ lock = READ_REG32(MDC_UNLOCK);
+ WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
+ offset &= 0x0FFFFFF0;
+ WRITE_REG32(MDC_VID_Y_ST_OFFSET, offset);
+ WRITE_REG32(MDC_UNLOCK, lock);
}
/*---------------------------------------------------------------------------
@@ -1659,28 +1658,26 @@ gfx_set_display_video_offset(unsigned long offset)
#if GFX_DISPLAY_DYNAMIC
void
gu2_set_display_video_yuv_offsets(unsigned long yoffset,
- unsigned long uoffset,
- unsigned long voffset)
+ unsigned long uoffset, unsigned long voffset)
#else
void
gfx_set_display_video_yuv_offsets(unsigned long yoffset,
- unsigned long uoffset,
- unsigned long voffset)
+ unsigned long uoffset, unsigned long voffset)
#endif
{
- unsigned long lock;
+ unsigned long lock;
- lock = READ_REG32(MDC_UNLOCK);
+ lock = READ_REG32(MDC_UNLOCK);
- yoffset &= 0x0FFFFFF0;
- uoffset &= 0x0FFFFFF8;
- voffset &= 0x0FFFFFF8;
+ yoffset &= 0x0FFFFFF0;
+ uoffset &= 0x0FFFFFF8;
+ voffset &= 0x0FFFFFF8;
- WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
- WRITE_REG32(MDC_VID_Y_ST_OFFSET, yoffset);
- WRITE_REG32(MDC_VID_U_ST_OFFSET, uoffset);
- WRITE_REG32(MDC_VID_V_ST_OFFSET, voffset);
- WRITE_REG32(MDC_UNLOCK, lock);
+ WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
+ WRITE_REG32(MDC_VID_Y_ST_OFFSET, yoffset);
+ WRITE_REG32(MDC_VID_U_ST_OFFSET, uoffset);
+ WRITE_REG32(MDC_VID_V_ST_OFFSET, voffset);
+ WRITE_REG32(MDC_UNLOCK, lock);
}
/*---------------------------------------------------------------------------
@@ -1698,15 +1695,15 @@ void
gfx_set_display_video_yuv_pitch(unsigned long ypitch, unsigned long uvpitch)
#endif
{
- unsigned long lock, pitch;
+ unsigned long lock, pitch;
- lock = READ_REG32(MDC_UNLOCK);
+ lock = READ_REG32(MDC_UNLOCK);
- pitch = ((uvpitch << 13) & 0xFFFF0000) | ((ypitch >> 3) & 0xFFFF);
+ pitch = ((uvpitch << 13) & 0xFFFF0000) | ((ypitch >> 3) & 0xFFFF);
- WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
- WRITE_REG32(MDC_VID_YUV_PITCH, pitch);
- WRITE_REG32(MDC_UNLOCK, lock);
+ WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
+ WRITE_REG32(MDC_VID_YUV_PITCH, pitch);
+ WRITE_REG32(MDC_UNLOCK, lock);
}
/*---------------------------------------------------------------------------
@@ -1724,22 +1721,22 @@ void
gfx_set_display_video_downscale(unsigned short srch, unsigned short dsth)
#endif
{
- unsigned long lock, delta;
+ unsigned long lock, delta;
- lock = READ_REG32(MDC_UNLOCK);
+ lock = READ_REG32(MDC_UNLOCK);
- /* CLIP SCALING LIMITS */
- /* Upscaling is performed in a separate function. */
- /* Maximum scale ratio is 1/2. */
+ /* CLIP SCALING LIMITS */
+ /* Upscaling is performed in a separate function. */
+ /* Maximum scale ratio is 1/2. */
- if (dsth > srch || dsth <= (srch >> 1))
- delta = 0;
- else
- delta = (((unsigned long)srch << 14) / (unsigned long)dsth) << 18;
+ if (dsth > srch || dsth <= (srch >> 1))
+ delta = 0;
+ else
+ delta = (((unsigned long) srch << 14) / (unsigned long) dsth) << 18;
- WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
- WRITE_REG32(MDC_VID_DS_DELTA, delta);
- WRITE_REG32(MDC_UNLOCK, lock);
+ WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
+ WRITE_REG32(MDC_VID_DS_DELTA, delta);
+ WRITE_REG32(MDC_UNLOCK, lock);
}
/*---------------------------------------------------------------------------
@@ -1757,19 +1754,19 @@ void
gfx_set_display_video_vertical_downscale_enable(int enable)
#endif
{
- unsigned long gcfg, unlock;
+ unsigned long gcfg, unlock;
- unlock = READ_REG32(MDC_UNLOCK);
- gcfg = READ_REG32(MDC_GENERAL_CFG);
+ unlock = READ_REG32(MDC_UNLOCK);
+ gcfg = READ_REG32(MDC_GENERAL_CFG);
- if (enable)
- gcfg |= MDC_GCFG_VDSE;
- else
- gcfg &= ~MDC_GCFG_VDSE;
+ if (enable)
+ gcfg |= MDC_GCFG_VDSE;
+ else
+ gcfg &= ~MDC_GCFG_VDSE;
- WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
- WRITE_REG32(MDC_GENERAL_CFG, gcfg);
- WRITE_REG32(MDC_UNLOCK, unlock);
+ WRITE_REG32(MDC_UNLOCK, MDC_UNLOCK_VALUE);
+ WRITE_REG32(MDC_GENERAL_CFG, gcfg);
+ WRITE_REG32(MDC_UNLOCK, unlock);
}
/*---------------------------------------------------------------------------
@@ -1784,10 +1781,10 @@ int
gfx_test_timing_active(void)
#endif
{
- if (READ_REG32(MDC_DISPLAY_CFG) & MDC_DCFG_TGEN)
- return (1);
- else
- return (0);
+ if (READ_REG32(MDC_DISPLAY_CFG) & MDC_DCFG_TGEN)
+ return (1);
+ else
+ return (0);
}
/*---------------------------------------------------------------------------
@@ -1802,10 +1799,10 @@ int
gfx_test_vertical_active(void)
#endif
{
- if (READ_REG32(MDC_LINE_CNT_STATUS) & MDC_LNCNT_VNA)
- return (0);
+ if (READ_REG32(MDC_LINE_CNT_STATUS) & MDC_LNCNT_VNA)
+ return (0);
- return (1);
+ return (1);
}
/*---------------------------------------------------------------------------
@@ -1820,11 +1817,11 @@ int
gfx_wait_vertical_blank(void)
#endif
{
- if (gfx_test_timing_active()) {
- while (!gfx_test_vertical_active()) ;
- while (gfx_test_vertical_active()) ;
- }
- return (0);
+ if (gfx_test_timing_active()) {
+ while (!gfx_test_vertical_active());
+ while (gfx_test_vertical_active());
+ }
+ return (0);
}
/*---------------------------------------------------------------------------
@@ -1843,52 +1840,52 @@ void
gfx_enable_panning(int x, int y)
#endif
{
- unsigned long modeBytesPerPixel;
- unsigned long modeBytesPerScanline = 0;
- unsigned long startAddress = 0;
+ unsigned long modeBytesPerPixel;
+ unsigned long modeBytesPerScanline = 0;
+ unsigned long startAddress = 0;
- modeBytesPerPixel = (gbpp + 7) / 8;
- modeBytesPerScanline = (READ_REG32(MDC_GFX_PITCH) & 0x0000FFFF) << 3;
+ modeBytesPerPixel = (gbpp + 7) / 8;
+ modeBytesPerScanline = (READ_REG32(MDC_GFX_PITCH) & 0x0000FFFF) << 3;
- /* TEST FOR NO-WORK */
+ /* TEST FOR NO-WORK */
- if (x >= DeltaX && x < ((int)PanelWidth + DeltaX) &&
- y >= DeltaY && y < ((int)PanelHeight + DeltaY))
- return;
+ if (x >= DeltaX && x < ((int) PanelWidth + DeltaX) &&
+ y >= DeltaY && y < ((int) PanelHeight + DeltaY))
+ return;
- /* ADJUST PANNING VARIABLES WHEN CURSOR EXCEEDS BOUNDARY */
- /* Test the boundary conditions for each coordinate and update */
- /* all variables and the starting offset accordingly. */
+ /* ADJUST PANNING VARIABLES WHEN CURSOR EXCEEDS BOUNDARY */
+ /* Test the boundary conditions for each coordinate and update */
+ /* all variables and the starting offset accordingly. */
- if (x < DeltaX)
- DeltaX = x;
+ if (x < DeltaX)
+ DeltaX = x;
- else if (x >= (DeltaX + (int)PanelWidth))
- DeltaX = x - (int)PanelWidth + 1;
+ else if (x >= (DeltaX + (int) PanelWidth))
+ DeltaX = x - (int) PanelWidth + 1;
- if (y < DeltaY)
- DeltaY = y;
+ if (y < DeltaY)
+ DeltaY = y;
- else if (y >= (DeltaY + (int)PanelHeight))
- DeltaY = y - (int)PanelHeight + 1;
+ else if (y >= (DeltaY + (int) PanelHeight))
+ DeltaY = y - (int) PanelHeight + 1;
- /* CALCULATE THE START OFFSET */
+ /* CALCULATE THE START OFFSET */
- startAddress =
- (DeltaX * modeBytesPerPixel) + (DeltaY * modeBytesPerScanline);
+ startAddress =
+ (DeltaX * modeBytesPerPixel) + (DeltaY * modeBytesPerScanline);
- gfx_set_display_offset(startAddress);
+ gfx_set_display_offset(startAddress);
- /* SET PANEL COORDINATES */
- /* Panel's x position must be DWORD aligned */
+ /* SET PANEL COORDINATES */
+ /* Panel's x position must be DWORD aligned */
- panelTop = DeltaY;
- panelLeft = DeltaX * modeBytesPerPixel;
+ panelTop = DeltaY;
+ panelLeft = DeltaX * modeBytesPerPixel;
- if (panelLeft & 3)
- panelLeft = (panelLeft & 0xFFFFFFFC) + 4;
+ if (panelLeft & 3)
+ panelLeft = (panelLeft & 0xFFFFFFFC) + 4;
- panelLeft /= modeBytesPerPixel;
+ panelLeft /= modeBytesPerPixel;
}
/*---------------------------------------------------------------------------
@@ -1899,44 +1896,44 @@ gfx_enable_panning(int x, int y)
#if GFX_DISPLAY_DYNAMIC
int
gu2_set_fixed_timings(int panelResX, int panelResY, unsigned short width,
- unsigned short height, unsigned short bpp)
+ unsigned short height, unsigned short bpp)
#else
int
gfx_set_fixed_timings(int panelResX, int panelResY, unsigned short width,
- unsigned short height, unsigned short bpp)
+ unsigned short height, unsigned short bpp)
#endif
{
- unsigned int mode;
+ unsigned int mode;
- ModeWidth = width;
- ModeHeight = height;
- PanelWidth = (unsigned short)panelResX;
- PanelHeight = (unsigned short)panelResY;
- PanelEnable = 1;
+ ModeWidth = width;
+ ModeHeight = height;
+ PanelWidth = (unsigned short) panelResX;
+ PanelHeight = (unsigned short) panelResY;
+ PanelEnable = 1;
- /* LOOP THROUGH THE AVAILABLE MODES TO FIND A MATCH */
- for (mode = 0; mode < NUM_FIXED_TIMINGS_MODES; mode++) {
- if ((FixedParams[mode].xres == width) &&
- (FixedParams[mode].yres == height) &&
- (FixedParams[mode].panelresx == panelResX) &&
- (FixedParams[mode].panelresy == panelResY)) {
+ /* LOOP THROUGH THE AVAILABLE MODES TO FIND A MATCH */
+ for (mode = 0; mode < NUM_FIXED_TIMINGS_MODES; mode++) {
+ if ((FixedParams[mode].xres == width) &&
+ (FixedParams[mode].yres == height) &&
+ (FixedParams[mode].panelresx == panelResX) &&
+ (FixedParams[mode].panelresy == panelResY)) {
- /* SET THE 92xx FOR THE SELECTED MODE */
- FIXEDTIMINGS *fmode = &FixedParams[mode];
+ /* SET THE 92xx FOR THE SELECTED MODE */
+ FIXEDTIMINGS *fmode = &FixedParams[mode];
- gfx_set_display_timings(bpp, 3, fmode->hactive, fmode->hblankstart,
- fmode->hsyncstart, fmode->hsyncend,
- fmode->hblankend, fmode->htotal,
- fmode->vactive, fmode->vblankstart,
- fmode->vsyncstart, fmode->vsyncend,
- fmode->vblankend, fmode->vtotal,
- fmode->frequency);
+ gfx_set_display_timings(bpp, 3, fmode->hactive, fmode->hblankstart,
+ fmode->hsyncstart, fmode->hsyncend,
+ fmode->hblankend, fmode->htotal,
+ fmode->vactive, fmode->vblankstart,
+ fmode->vsyncstart, fmode->vsyncend,
+ fmode->vblankend, fmode->vtotal,
+ fmode->frequency);
- return (1);
- } /* end if() */
- } /* end for() */
+ return (1);
+ } /* end if() */
+ } /* end for() */
- return (-1);
+ return (-1);
}
/*---------------------------------------------------------------------------
@@ -1946,37 +1943,37 @@ gfx_set_fixed_timings(int panelResX, int panelResY, unsigned short width,
#if GFX_DISPLAY_DYNAMIC
int
gu2_set_panel_present(int panelResX, int panelResY, unsigned short width,
- unsigned short height, unsigned short bpp)
+ unsigned short height, unsigned short bpp)
#else
int
gfx_set_panel_present(int panelResX, int panelResY, unsigned short width,
- unsigned short height, unsigned short bpp)
+ unsigned short height, unsigned short bpp)
#endif
{
- /* SET VALID BPP */
- /* 16BPP is the default. */
+ /* SET VALID BPP */
+ /* 16BPP is the default. */
- if (bpp != 8 && bpp != 12 && bpp != 15 && bpp != 16 && bpp != 32)
- bpp = 16;
+ if (bpp != 8 && bpp != 12 && bpp != 15 && bpp != 16 && bpp != 32)
+ bpp = 16;
- /* RECORD PANEL PARAMETERS */
- /* This routine does not touch any panel timings. It is used when custom panel */
- /* settings are set up in advance by the BIOS or an application, but the */
- /* application still requires access to other panel functionality provided by */
- /* Durango (i.e. panning). */
+ /* RECORD PANEL PARAMETERS */
+ /* This routine does not touch any panel timings. It is used when custom panel */
+ /* settings are set up in advance by the BIOS or an application, but the */
+ /* application still requires access to other panel functionality provided by */
+ /* Durango (i.e. panning). */
- ModeWidth = width;
- ModeHeight = height;
- PanelWidth = (unsigned short)panelResX;
- PanelHeight = (unsigned short)panelResY;
- PanelEnable = 1;
- gbpp = bpp;
+ ModeWidth = width;
+ ModeHeight = height;
+ PanelWidth = (unsigned short) panelResX;
+ PanelHeight = (unsigned short) panelResY;
+ PanelEnable = 1;
+ gbpp = bpp;
- /* PROGRAM THE BPP IN THE DISPLAY CONTROLLER */
+ /* PROGRAM THE BPP IN THE DISPLAY CONTROLLER */
- gfx_set_display_bpp(bpp);
+ gfx_set_display_bpp(bpp);
- return (GFX_STATUS_OK);
+ return (GFX_STATUS_OK);
}
/* THE FOLLOWING READ ROUTINES ARE ALWAYS INCLUDED: */
@@ -1995,7 +1992,7 @@ unsigned short
gfx_get_display_pitch(void)
#endif
{
- return ((unsigned short)(READ_REG32(MDC_GFX_PITCH) & 0x0000FFFF) << 3);
+ return ((unsigned short) (READ_REG32(MDC_GFX_PITCH) & 0x0000FFFF) << 3);
}
/*----------------------------------------------------------------------------
@@ -2009,62 +2006,62 @@ gfx_get_display_pitch(void)
#if GFX_DISPLAY_DYNAMIC
int
gu2_mode_frequency_supported(int xres, int yres, int bpp,
- unsigned long frequency)
+ unsigned long frequency)
#else
int
gfx_mode_frequency_supported(int xres, int yres, int bpp,
- unsigned long frequency)
-#endif
-{
- unsigned int index;
- unsigned long value;
- unsigned long bpp_flag = 0;
-
- switch (bpp) {
- case 8:
- bpp_flag = GFX_MODE_8BPP;
- break;
- case 12:
- bpp_flag = GFX_MODE_12BPP;
- break;
- case 15:
- bpp_flag = GFX_MODE_15BPP;
- break;
- case 16:
- bpp_flag = GFX_MODE_16BPP;
- break;
- case 32:
- bpp_flag = GFX_MODE_24BPP;
- break;
- default:
- bpp_flag = GFX_MODE_8BPP;
- break;
- }
-
- for (index = 0; index < NUM_RC_DISPLAY_MODES; index++) {
- if ((DisplayParams[index].hactive == (unsigned int)xres) &&
- (DisplayParams[index].vactive == (unsigned int)yres) &&
- (DisplayParams[index].flags & bpp_flag) &&
- (DisplayParams[index].frequency == frequency)) {
- int hz = 0;
-
- value = DisplayParams[index].flags;
-
- if (value & GFX_MODE_60HZ)
- hz = 60;
- else if (value & GFX_MODE_70HZ)
- hz = 70;
- else if (value & GFX_MODE_72HZ)
- hz = 72;
- else if (value & GFX_MODE_75HZ)
- hz = 75;
- else if (value & GFX_MODE_85HZ)
- hz = 85;
- return (hz);
- }
- }
-
- return (-1);
+ unsigned long frequency)
+#endif
+{
+ unsigned int index;
+ unsigned long value;
+ unsigned long bpp_flag = 0;
+
+ switch (bpp) {
+ case 8:
+ bpp_flag = GFX_MODE_8BPP;
+ break;
+ case 12:
+ bpp_flag = GFX_MODE_12BPP;
+ break;
+ case 15:
+ bpp_flag = GFX_MODE_15BPP;
+ break;
+ case 16:
+ bpp_flag = GFX_MODE_16BPP;
+ break;
+ case 32:
+ bpp_flag = GFX_MODE_24BPP;
+ break;
+ default:
+ bpp_flag = GFX_MODE_8BPP;
+ break;
+ }
+
+ for (index = 0; index < NUM_RC_DISPLAY_MODES; index++) {
+ if ((DisplayParams[index].hactive == (unsigned int) xres) &&
+ (DisplayParams[index].vactive == (unsigned int) yres) &&
+ (DisplayParams[index].flags & bpp_flag) &&
+ (DisplayParams[index].frequency == frequency)) {
+ int hz = 0;
+
+ value = DisplayParams[index].flags;
+
+ if (value & GFX_MODE_60HZ)
+ hz = 60;
+ else if (value & GFX_MODE_70HZ)
+ hz = 70;
+ else if (value & GFX_MODE_72HZ)
+ hz = 72;
+ else if (value & GFX_MODE_75HZ)
+ hz = 75;
+ else if (value & GFX_MODE_85HZ)
+ hz = 85;
+ return (hz);
+ }
+ }
+
+ return (-1);
}
/*----------------------------------------------------------------------------
@@ -2078,76 +2075,76 @@ gfx_mode_frequency_supported(int xres, int yres, int bpp,
#if GFX_DISPLAY_DYNAMIC
int
gu2_get_refreshrate_from_frequency(int xres, int yres, int bpp, int *hz,
- unsigned long frequency)
+ unsigned long frequency)
#else
int
gfx_get_refreshrate_from_frequency(int xres, int yres, int bpp, int *hz,
- unsigned long frequency)
-#endif
-{
- unsigned int index, closematch = 0;
- unsigned long value;
- unsigned long bpp_flag = 0;
- long min, diff;
-
- *hz = 60;
-
- switch (bpp) {
- case 8:
- bpp_flag = GFX_MODE_8BPP;
- break;
- case 12:
- bpp_flag = GFX_MODE_12BPP;
- break;
- case 15:
- bpp_flag = GFX_MODE_15BPP;
- break;
- case 16:
- bpp_flag = GFX_MODE_16BPP;
- break;
- case 32:
- bpp_flag = GFX_MODE_24BPP;
- break;
- default:
- bpp_flag = GFX_MODE_8BPP;
- break;
- }
-
- /* FIND THE REGISTER VALUES FOR THE DESIRED FREQUENCY */
- /* Search the table for the closest frequency (16.16 format). */
-
- min = 0x7fffffff;
- for (index = 0; index < NUM_RC_DISPLAY_MODES; index++) {
- if ((DisplayParams[index].htotal == (unsigned int)xres) &&
- (DisplayParams[index].vtotal == (unsigned int)yres) &&
- (DisplayParams[index].flags & bpp_flag)) {
- diff = (long)frequency - (long)DisplayParams[index].frequency;
- if (diff < 0)
- diff = -diff;
-
- if (diff < min) {
- min = diff;
- closematch = index;
- }
- }
- }
-
- value = DisplayParams[closematch].flags;
-
- if (value & GFX_MODE_56HZ)
- *hz = 56;
- else if (value & GFX_MODE_60HZ)
- *hz = 60;
- else if (value & GFX_MODE_70HZ)
- *hz = 70;
- else if (value & GFX_MODE_72HZ)
- *hz = 72;
- else if (value & GFX_MODE_75HZ)
- *hz = 75;
- else if (value & GFX_MODE_85HZ)
- *hz = 85;
-
- return (1);
+ unsigned long frequency)
+#endif
+{
+ unsigned int index, closematch = 0;
+ unsigned long value;
+ unsigned long bpp_flag = 0;
+ long min, diff;
+
+ *hz = 60;
+
+ switch (bpp) {
+ case 8:
+ bpp_flag = GFX_MODE_8BPP;
+ break;
+ case 12:
+ bpp_flag = GFX_MODE_12BPP;
+ break;
+ case 15:
+ bpp_flag = GFX_MODE_15BPP;
+ break;
+ case 16:
+ bpp_flag = GFX_MODE_16BPP;
+ break;
+ case 32:
+ bpp_flag = GFX_MODE_24BPP;
+ break;
+ default:
+ bpp_flag = GFX_MODE_8BPP;
+ break;
+ }
+
+ /* FIND THE REGISTER VALUES FOR THE DESIRED FREQUENCY */
+ /* Search the table for the closest frequency (16.16 format). */
+
+ min = 0x7fffffff;
+ for (index = 0; index < NUM_RC_DISPLAY_MODES; index++) {
+ if ((DisplayParams[index].htotal == (unsigned int) xres) &&
+ (DisplayParams[index].vtotal == (unsigned int) yres) &&
+ (DisplayParams[index].flags & bpp_flag)) {
+ diff = (long) frequency - (long) DisplayParams[index].frequency;
+ if (diff < 0)
+ diff = -diff;
+
+ if (diff < min) {
+ min = diff;
+ closematch = index;
+ }
+ }
+ }
+
+ value = DisplayParams[closematch].flags;
+
+ if (value & GFX_MODE_56HZ)
+ *hz = 56;
+ else if (value & GFX_MODE_60HZ)
+ *hz = 60;
+ else if (value & GFX_MODE_70HZ)
+ *hz = 70;
+ else if (value & GFX_MODE_72HZ)
+ *hz = 72;
+ else if (value & GFX_MODE_75HZ)
+ *hz = 75;
+ else if (value & GFX_MODE_85HZ)
+ *hz = 85;
+
+ return (1);
}
/*----------------------------------------------------------------------------
@@ -2163,76 +2160,76 @@ gfx_get_refreshrate_from_frequency(int xres, int yres, int bpp, int *hz,
#if GFX_DISPLAY_DYNAMIC
int
gu2_get_refreshrate_from_mode(int xres, int yres, int bpp, int *hz,
- unsigned long frequency)
+ unsigned long frequency)
#else
int
gfx_get_refreshrate_from_mode(int xres, int yres, int bpp, int *hz,
- unsigned long frequency)
-#endif
-{
- unsigned int index, closematch = 0;
- unsigned long value;
- unsigned long bpp_flag = 0;
- long min, diff;
-
- *hz = 60;
-
- switch (bpp) {
- case 8:
- bpp_flag = GFX_MODE_8BPP;
- break;
- case 12:
- bpp_flag = GFX_MODE_12BPP;
- break;
- case 15:
- bpp_flag = GFX_MODE_15BPP;
- break;
- case 16:
- bpp_flag = GFX_MODE_16BPP;
- break;
- case 32:
- bpp_flag = GFX_MODE_24BPP;
- break;
- default:
- bpp_flag = GFX_MODE_8BPP;
- break;
- }
-
- /* FIND THE REGISTER VALUES FOR THE DESIRED FREQUENCY */
- /* Search the table for the closest frequency (16.16 format). */
-
- min = 0x7fffffff;
- for (index = 0; index < NUM_RC_DISPLAY_MODES; index++) {
- if ((DisplayParams[index].hactive == (unsigned int)xres) &&
- (DisplayParams[index].vactive == (unsigned int)yres) &&
- (DisplayParams[index].flags & bpp_flag)) {
- diff = (long)frequency - (long)DisplayParams[index].frequency;
- if (diff < 0)
- diff = -diff;
-
- if (diff < min) {
- min = diff;
- closematch = index;
- }
- }
- }
-
- value = DisplayParams[closematch].flags;
-
- if (value & GFX_MODE_56HZ)
- *hz = 56;
- else if (value & GFX_MODE_60HZ)
- *hz = 60;
- else if (value & GFX_MODE_70HZ)
- *hz = 70;
- else if (value & GFX_MODE_72HZ)
- *hz = 72;
- else if (value & GFX_MODE_75HZ)
- *hz = 75;
- else if (value & GFX_MODE_85HZ)
- *hz = 85;
-
- return (1);
+ unsigned long frequency)
+#endif
+{
+ unsigned int index, closematch = 0;
+ unsigned long value;
+ unsigned long bpp_flag = 0;
+ long min, diff;
+
+ *hz = 60;
+
+ switch (bpp) {
+ case 8:
+ bpp_flag = GFX_MODE_8BPP;
+ break;
+ case 12:
+ bpp_flag = GFX_MODE_12BPP;
+ break;
+ case 15:
+ bpp_flag = GFX_MODE_15BPP;
+ break;
+ case 16:
+ bpp_flag = GFX_MODE_16BPP;
+ break;
+ case 32:
+ bpp_flag = GFX_MODE_24BPP;
+ break;
+ default:
+ bpp_flag = GFX_MODE_8BPP;
+ break;
+ }
+
+ /* FIND THE REGISTER VALUES FOR THE DESIRED FREQUENCY */
+ /* Search the table for the closest frequency (16.16 format). */
+
+ min = 0x7fffffff;
+ for (index = 0; index < NUM_RC_DISPLAY_MODES; index++) {
+ if ((DisplayParams[index].hactive == (unsigned int) xres) &&
+ (DisplayParams[index].vactive == (unsigned int) yres) &&
+ (DisplayParams[index].flags & bpp_flag)) {
+ diff = (long) frequency - (long) DisplayParams[index].frequency;
+ if (diff < 0)
+ diff = -diff;
+
+ if (diff < min) {
+ min = diff;
+ closematch = index;
+ }
+ }
+ }
+
+ value = DisplayParams[closematch].flags;
+
+ if (value & GFX_MODE_56HZ)
+ *hz = 56;
+ else if (value & GFX_MODE_60HZ)
+ *hz = 60;
+ else if (value & GFX_MODE_70HZ)
+ *hz = 70;
+ else if (value & GFX_MODE_72HZ)
+ *hz = 72;
+ else if (value & GFX_MODE_75HZ)
+ *hz = 75;
+ else if (value & GFX_MODE_85HZ)
+ *hz = 85;
+
+ return (1);
}
/*----------------------------------------------------------------------------
@@ -2244,64 +2241,64 @@ gfx_get_refreshrate_from_mode(int xres, int yres, int bpp, int *hz,
#if GFX_DISPLAY_DYNAMIC
int
gu2_get_frequency_from_refreshrate(int xres, int yres, int bpp, int hz,
- int *frequency)
+ int *frequency)
#else
int
gfx_get_frequency_from_refreshrate(int xres, int yres, int bpp, int hz,
- int *frequency)
-#endif
-{
- int retval = -1;
- unsigned long hz_flag = 0;
- unsigned long index, bpp_flag = 0;
-
- *frequency = 0;
-
- if (hz == 60)
- hz_flag = GFX_MODE_60HZ;
- else if (hz == 70)
- hz_flag = GFX_MODE_70HZ;
- else if (hz == 72)
- hz_flag = GFX_MODE_72HZ;
- else if (hz == 75)
- hz_flag = GFX_MODE_75HZ;
- else if (hz == 85)
- hz_flag = GFX_MODE_85HZ;
-
- switch (bpp) {
- case 8:
- bpp_flag = GFX_MODE_8BPP;
- break;
- case 12:
- bpp_flag = GFX_MODE_12BPP;
- break;
- case 15:
- bpp_flag = GFX_MODE_15BPP;
- break;
- case 16:
- bpp_flag = GFX_MODE_16BPP;
- break;
- case 32:
- bpp_flag = GFX_MODE_24BPP;
- break;
- default:
- bpp_flag = GFX_MODE_8BPP;
- break;
- }
-
- /* FIND THE REGISTER VALUES FOR THE DESIRED FREQUENCY */
- /* Search the table for the closest frequency (16.16 format). */
-
- for (index = 0; index < NUM_RC_DISPLAY_MODES; index++) {
- if ((DisplayParams[index].hactive == (unsigned short)xres) &&
- (DisplayParams[index].vactive == (unsigned short)yres) &&
- (DisplayParams[index].flags & bpp_flag) &&
- (DisplayParams[index].flags & hz_flag)) {
- *frequency = DisplayParams[index].frequency;
- retval = 1;
- }
- }
- return retval;
+ int *frequency)
+#endif
+{
+ int retval = -1;
+ unsigned long hz_flag = 0;
+ unsigned long index, bpp_flag = 0;
+
+ *frequency = 0;
+
+ if (hz == 60)
+ hz_flag = GFX_MODE_60HZ;
+ else if (hz == 70)
+ hz_flag = GFX_MODE_70HZ;
+ else if (hz == 72)
+ hz_flag = GFX_MODE_72HZ;
+ else if (hz == 75)
+ hz_flag = GFX_MODE_75HZ;
+ else if (hz == 85)
+ hz_flag = GFX_MODE_85HZ;
+
+ switch (bpp) {
+ case 8:
+ bpp_flag = GFX_MODE_8BPP;
+ break;
+ case 12:
+ bpp_flag = GFX_MODE_12BPP;
+ break;
+ case 15:
+ bpp_flag = GFX_MODE_15BPP;
+ break;
+ case 16:
+ bpp_flag = GFX_MODE_16BPP;
+ break;
+ case 32:
+ bpp_flag = GFX_MODE_24BPP;
+ break;
+ default:
+ bpp_flag = GFX_MODE_8BPP;
+ break;
+ }
+
+ /* FIND THE REGISTER VALUES FOR THE DESIRED FREQUENCY */
+ /* Search the table for the closest frequency (16.16 format). */
+
+ for (index = 0; index < NUM_RC_DISPLAY_MODES; index++) {
+ if ((DisplayParams[index].hactive == (unsigned short) xres) &&
+ (DisplayParams[index].vactive == (unsigned short) yres) &&
+ (DisplayParams[index].flags & bpp_flag) &&
+ (DisplayParams[index].flags & hz_flag)) {
+ *frequency = DisplayParams[index].frequency;
+ retval = 1;
+ }
+ }
+ return retval;
}
/*---------------------------------------------------------------------------
@@ -2320,7 +2317,7 @@ unsigned long
gfx_get_max_supported_pixel_clock(void)
#endif
{
- return 229500;
+ return 229500;
}
/*----------------------------------------------------------------------------
@@ -2339,62 +2336,62 @@ int
gfx_get_display_mode(int *xres, int *yres, int *bpp, int *hz)
#endif
{
- unsigned int mode = 0;
- unsigned long pll_freq = 0, bpp_flag = 0;
-
- *xres = gfx_get_hactive();
- *yres = gfx_get_vactive();
- *bpp = gfx_get_display_bpp();
- pll_freq = gfx_get_clock_frequency();
-
- /* SET BPP FLAGS TO LIMIT MODE SELECTION */
-
- switch (*bpp) {
- case 8:
- bpp_flag = GFX_MODE_8BPP;
- break;
- case 12:
- bpp_flag = GFX_MODE_12BPP;
- break;
- case 15:
- bpp_flag = GFX_MODE_15BPP;
- break;
- case 16:
- bpp_flag = GFX_MODE_16BPP;
- break;
- case 32:
- bpp_flag = GFX_MODE_24BPP;
- break;
- default:
- bpp_flag = GFX_MODE_8BPP;
- break;
- }
-
- for (mode = 0; mode < NUM_RC_DISPLAY_MODES; mode++) {
- if ((DisplayParams[mode].hactive == (unsigned int)*xres) &&
- (DisplayParams[mode].vactive == (unsigned int)*yres) &&
- (DisplayParams[mode].frequency == pll_freq) &&
- (DisplayParams[mode].flags & bpp_flag)) {
-
- pll_freq = DisplayParams[mode].flags;
-
- if (pll_freq & GFX_MODE_56HZ)
- *hz = 56;
- else if (pll_freq & GFX_MODE_60HZ)
- *hz = 60;
- else if (pll_freq & GFX_MODE_70HZ)
- *hz = 70;
- else if (pll_freq & GFX_MODE_72HZ)
- *hz = 72;
- else if (pll_freq & GFX_MODE_75HZ)
- *hz = 75;
- else if (pll_freq & GFX_MODE_85HZ)
- *hz = 85;
-
- return (1);
- }
- }
- return (-1);
+ unsigned int mode = 0;
+ unsigned long pll_freq = 0, bpp_flag = 0;
+
+ *xres = gfx_get_hactive();
+ *yres = gfx_get_vactive();
+ *bpp = gfx_get_display_bpp();
+ pll_freq = gfx_get_clock_frequency();
+
+ /* SET BPP FLAGS TO LIMIT MODE SELECTION */
+
+ switch (*bpp) {
+ case 8:
+ bpp_flag = GFX_MODE_8BPP;
+ break;
+ case 12:
+ bpp_flag = GFX_MODE_12BPP;
+ break;
+ case 15:
+ bpp_flag = GFX_MODE_15BPP;
+ break;
+ case 16:
+ bpp_flag = GFX_MODE_16BPP;
+ break;
+ case 32:
+ bpp_flag = GFX_MODE_24BPP;
+ break;
+ default:
+ bpp_flag = GFX_MODE_8BPP;
+ break;
+ }
+
+ for (mode = 0; mode < NUM_RC_DISPLAY_MODES; mode++) {
+ if ((DisplayParams[mode].hactive == (unsigned int) *xres) &&
+ (DisplayParams[mode].vactive == (unsigned int) *yres) &&
+ (DisplayParams[mode].frequency == pll_freq) &&
+ (DisplayParams[mode].flags & bpp_flag)) {
+
+ pll_freq = DisplayParams[mode].flags;
+
+ if (pll_freq & GFX_MODE_56HZ)
+ *hz = 56;
+ else if (pll_freq & GFX_MODE_60HZ)
+ *hz = 60;
+ else if (pll_freq & GFX_MODE_70HZ)
+ *hz = 70;
+ else if (pll_freq & GFX_MODE_72HZ)
+ *hz = 72;
+ else if (pll_freq & GFX_MODE_75HZ)
+ *hz = 75;
+ else if (pll_freq & GFX_MODE_85HZ)
+ *hz = 85;
+
+ return (1);
+ }
+ }
+ return (-1);
}
/*----------------------------------------------------------------------------
@@ -2413,31 +2410,31 @@ int
gfx_get_display_details(unsigned int mode, int *xres, int *yres, int *hz)
#endif
{
- if (mode < NUM_RC_DISPLAY_MODES) {
- if (DisplayParams[mode].flags & GFX_MODE_56HZ)
- *hz = 56;
- else if (DisplayParams[mode].flags & GFX_MODE_60HZ)
- *hz = 60;
- else if (DisplayParams[mode].flags & GFX_MODE_70HZ)
- *hz = 70;
- else if (DisplayParams[mode].flags & GFX_MODE_72HZ)
- *hz = 72;
- else if (DisplayParams[mode].flags & GFX_MODE_75HZ)
- *hz = 75;
- else if (DisplayParams[mode].flags & GFX_MODE_85HZ)
- *hz = 85;
+ if (mode < NUM_RC_DISPLAY_MODES) {
+ if (DisplayParams[mode].flags & GFX_MODE_56HZ)
+ *hz = 56;
+ else if (DisplayParams[mode].flags & GFX_MODE_60HZ)
+ *hz = 60;
+ else if (DisplayParams[mode].flags & GFX_MODE_70HZ)
+ *hz = 70;
+ else if (DisplayParams[mode].flags & GFX_MODE_72HZ)
+ *hz = 72;
+ else if (DisplayParams[mode].flags & GFX_MODE_75HZ)
+ *hz = 75;
+ else if (DisplayParams[mode].flags & GFX_MODE_85HZ)
+ *hz = 85;
- *xres = DisplayParams[mode].hactive;
- *yres = DisplayParams[mode].vactive;
+ *xres = DisplayParams[mode].hactive;
+ *yres = DisplayParams[mode].vactive;
- if (DisplayParams[mode].flags & GFX_MODE_PIXEL_DOUBLE)
- *xres >>= 1;
- if (DisplayParams[mode].flags & GFX_MODE_LINE_DOUBLE)
- *yres >>= 1;
+ if (DisplayParams[mode].flags & GFX_MODE_PIXEL_DOUBLE)
+ *xres >>= 1;
+ if (DisplayParams[mode].flags & GFX_MODE_LINE_DOUBLE)
+ *yres >>= 1;
- return (1);
- }
- return (0);
+ return (1);
+ }
+ return (0);
}
/*----------------------------------------------------------------------------
@@ -2454,7 +2451,7 @@ int
gfx_get_display_mode_count(void)
#endif
{
- return (NUM_RC_DISPLAY_MODES);
+ return (NUM_RC_DISPLAY_MODES);
}
/*----------------------------------------------------------------------------
@@ -2471,7 +2468,7 @@ unsigned long
gfx_get_frame_buffer_line_size(void)
#endif
{
- return ((READ_REG32(MDC_LINE_SIZE) & 0x7FF) << 3);
+ return ((READ_REG32(MDC_LINE_SIZE) & 0x7FF) << 3);
}
/*---------------------------------------------------------------------------
@@ -2486,7 +2483,7 @@ unsigned short
gfx_get_hactive(void)
#endif
{
- return ((unsigned short)((READ_REG32(MDC_H_ACTIVE_TIMING) & 0x0FF8) + 8));
+ return ((unsigned short) ((READ_REG32(MDC_H_ACTIVE_TIMING) & 0x0FF8) + 8));
}
/*---------------------------------------------------------------------------
@@ -2501,7 +2498,7 @@ unsigned short
gfx_get_hsync_start(void)
#endif
{
- return ((unsigned short)((READ_REG32(MDC_H_SYNC_TIMING) & 0x0FF8) + 8));
+ return ((unsigned short) ((READ_REG32(MDC_H_SYNC_TIMING) & 0x0FF8) + 8));
}
/*---------------------------------------------------------------------------
@@ -2516,8 +2513,8 @@ unsigned short
gfx_get_hsync_end(void)
#endif
{
- return ((unsigned short)(((READ_REG32(MDC_H_SYNC_TIMING) >> 16) & 0x0FF8) +
- 8));
+ return ((unsigned short) (((READ_REG32(MDC_H_SYNC_TIMING) >> 16) & 0x0FF8) +
+ 8));
}
/*---------------------------------------------------------------------------
@@ -2532,8 +2529,8 @@ unsigned short
gfx_get_htotal(void)
#endif
{
- return ((unsigned short)(((READ_REG32(MDC_H_ACTIVE_TIMING) >> 16) & 0x0FF8)
- + 8));
+ return ((unsigned short) (((READ_REG32(MDC_H_ACTIVE_TIMING) >> 16) & 0x0FF8)
+ + 8));
}
/*---------------------------------------------------------------------------
@@ -2548,7 +2545,7 @@ unsigned short
gfx_get_vactive(void)
#endif
{
- return ((unsigned short)((READ_REG32(MDC_V_ACTIVE_TIMING) & 0x07FF) + 1));
+ return ((unsigned short) ((READ_REG32(MDC_V_ACTIVE_TIMING) & 0x07FF) + 1));
}
/*---------------------------------------------------------------------------
@@ -2563,8 +2560,8 @@ unsigned short
gfx_get_vsync_end(void)
#endif
{
- return ((unsigned short)(((READ_REG32(MDC_V_SYNC_TIMING) >> 16) & 0x07FF) +
- 1));
+ return ((unsigned short) (((READ_REG32(MDC_V_SYNC_TIMING) >> 16) & 0x07FF) +
+ 1));
}
/*---------------------------------------------------------------------------
@@ -2579,8 +2576,8 @@ unsigned short
gfx_get_vtotal(void)
#endif
{
- return ((unsigned short)(((READ_REG32(MDC_V_ACTIVE_TIMING) >> 16) & 0x07FF)
- + 1));
+ return ((unsigned short) (((READ_REG32(MDC_V_ACTIVE_TIMING) >> 16) & 0x07FF)
+ + 1));
}
/*-----------------------------------------------------------------------------
@@ -2597,31 +2594,31 @@ unsigned short
gfx_get_display_bpp(void)
#endif
{
- unsigned long dcfg = READ_REG32(MDC_DISPLAY_CFG);
+ unsigned long dcfg = READ_REG32(MDC_DISPLAY_CFG);
- switch ((dcfg & MDC_DCFG_DISP_MODE_MASK) >> 8) {
- case 0:
- return (8);
- case 2:
- return (32);
+ switch ((dcfg & MDC_DCFG_DISP_MODE_MASK) >> 8) {
+ case 0:
+ return (8);
+ case 2:
+ return (32);
- case 1:
+ case 1:
- switch ((dcfg & MDC_DCFG_16BPP_MODE_MASK) >> 10) {
- case 0:
- return (16);
- case 1:
- return (15);
- case 2:
- return (12);
- default:
- return (0);
- }
- }
+ switch ((dcfg & MDC_DCFG_16BPP_MODE_MASK) >> 10) {
+ case 0:
+ return (16);
+ case 1:
+ return (15);
+ case 2:
+ return (12);
+ default:
+ return (0);
+ }
+ }
- /* INVALID SETTING */
+ /* INVALID SETTING */
- return (0);
+ return (0);
}
/*---------------------------------------------------------------------------
@@ -2636,19 +2633,19 @@ unsigned short
gfx_get_vline(void)
#endif
{
- unsigned short current_scan_line;
+ unsigned short current_scan_line;
- /* Read similar value twice to ensure that the value is not transitioning */
+ /* Read similar value twice to ensure that the value is not transitioning */
- do
- current_scan_line =
- (unsigned short)(READ_REG32(MDC_LINE_CNT_STATUS) &
- MDC_LNCNT_V_LINE_CNT);
- while (current_scan_line !=
- (unsigned short)(READ_REG32(MDC_LINE_CNT_STATUS) &
- MDC_LNCNT_V_LINE_CNT));
+ do
+ current_scan_line =
+ (unsigned short) (READ_REG32(MDC_LINE_CNT_STATUS) &
+ MDC_LNCNT_V_LINE_CNT);
+ while (current_scan_line !=
+ (unsigned short) (READ_REG32(MDC_LINE_CNT_STATUS) &
+ MDC_LNCNT_V_LINE_CNT));
- return (current_scan_line >> 16);
+ return (current_scan_line >> 16);
}
/*-----------------------------------------------------------------------------
@@ -2663,7 +2660,7 @@ unsigned long
gfx_get_display_offset(void)
#endif
{
- return (READ_REG32(MDC_FB_ST_OFFSET) & 0x0FFFFFFF);
+ return (READ_REG32(MDC_FB_ST_OFFSET) & 0x0FFFFFFF);
}
/*-----------------------------------------------------------------------------
@@ -2678,7 +2675,7 @@ unsigned long
gfx_get_cursor_offset(void)
#endif
{
- return (READ_REG32(MDC_CURS_ST_OFFSET) & 0x0FFFFFFF);
+ return (READ_REG32(MDC_CURS_ST_OFFSET) & 0x0FFFFFFF);
}
#if GFX_READ_ROUTINES
@@ -2699,7 +2696,7 @@ unsigned short
gfx_get_hblank_start(void)
#endif
{
- return ((unsigned short)((READ_REG32(MDC_H_BLANK_TIMING) & 0x0FF8) + 8));
+ return ((unsigned short) ((READ_REG32(MDC_H_BLANK_TIMING) & 0x0FF8) + 8));
}
/*---------------------------------------------------------------------------
@@ -2714,8 +2711,8 @@ unsigned short
gfx_get_hblank_end(void)
#endif
{
- return ((unsigned short)(((READ_REG32(MDC_H_BLANK_TIMING) >> 16) & 0x0FF8)
- + 8));
+ return ((unsigned short) (((READ_REG32(MDC_H_BLANK_TIMING) >> 16) & 0x0FF8)
+ + 8));
}
/*---------------------------------------------------------------------------
@@ -2730,7 +2727,7 @@ unsigned short
gfx_get_vblank_start(void)
#endif
{
- return ((unsigned short)((READ_REG32(MDC_V_BLANK_TIMING) & 0x07FF) + 1));
+ return ((unsigned short) ((READ_REG32(MDC_V_BLANK_TIMING) & 0x07FF) + 1));
}
/*---------------------------------------------------------------------------
@@ -2745,7 +2742,7 @@ unsigned short
gfx_get_vsync_start(void)
#endif
{
- return ((unsigned short)((READ_REG32(MDC_V_SYNC_TIMING) & 0x07FF) + 1));
+ return ((unsigned short) ((READ_REG32(MDC_V_SYNC_TIMING) & 0x07FF) + 1));
}
/*---------------------------------------------------------------------------
@@ -2760,8 +2757,8 @@ unsigned short
gfx_get_vblank_end(void)
#endif
{
- return ((unsigned short)(((READ_REG32(MDC_V_BLANK_TIMING) >> 16) & 0x07FF)
- + 1));
+ return ((unsigned short) (((READ_REG32(MDC_V_BLANK_TIMING) >> 16) & 0x07FF)
+ + 1));
}
/*-----------------------------------------------------------------------------
@@ -2776,13 +2773,13 @@ int
gfx_get_display_palette_entry(unsigned long index, unsigned long *palette)
#endif
{
- if (index > 0xFF)
- return GFX_STATUS_BAD_PARAMETER;
+ if (index > 0xFF)
+ return GFX_STATUS_BAD_PARAMETER;
- WRITE_REG32(MDC_PAL_ADDRESS, index);
- *palette = READ_REG32(MDC_PAL_DATA);
+ WRITE_REG32(MDC_PAL_ADDRESS, index);
+ *palette = READ_REG32(MDC_PAL_DATA);
- return 0;
+ return 0;
}
/*-----------------------------------------------------------------------------
@@ -2797,12 +2794,12 @@ void
gfx_get_display_palette(unsigned long *palette)
#endif
{
- unsigned long i;
+ unsigned long i;
- WRITE_REG32(MDC_PAL_ADDRESS, 0);
- for (i = 0; i < 256; i++) {
- palette[i] = READ_REG32(MDC_PAL_DATA);
- }
+ WRITE_REG32(MDC_PAL_ADDRESS, 0);
+ for (i = 0; i < 256; i++) {
+ palette[i] = READ_REG32(MDC_PAL_DATA);
+ }
}
/*-----------------------------------------------------------------------------
@@ -2817,7 +2814,7 @@ unsigned long
gfx_get_cursor_enable(void)
#endif
{
- return (READ_REG32(MDC_GENERAL_CFG) & MDC_GCFG_CURE);
+ return (READ_REG32(MDC_GENERAL_CFG) & MDC_GCFG_CURE);
}
/*-----------------------------------------------------------------------------
@@ -2832,8 +2829,8 @@ unsigned long
gfx_get_cursor_position(void)
#endif
{
- return ((READ_REG32(MDC_CURSOR_X) & 0x07FF) |
- ((READ_REG32(MDC_CURSOR_Y) << 16) & 0x03FF0000));
+ return ((READ_REG32(MDC_CURSOR_X) & 0x07FF) |
+ ((READ_REG32(MDC_CURSOR_Y) << 16) & 0x03FF0000));
}
/*-----------------------------------------------------------------------------
@@ -2848,8 +2845,8 @@ unsigned long
gfx_get_cursor_clip(void)
#endif
{
- return (((READ_REG32(MDC_CURSOR_X) >> 11) & 0x03F) |
- ((READ_REG32(MDC_CURSOR_Y) << 5) & 0x3F0000));
+ return (((READ_REG32(MDC_CURSOR_X) >> 11) & 0x03F) |
+ ((READ_REG32(MDC_CURSOR_Y) << 5) & 0x3F0000));
}
/*-----------------------------------------------------------------------------
@@ -2864,12 +2861,13 @@ unsigned long
gfx_get_cursor_color(int color)
#endif
{
- if (color) {
- WRITE_REG32(MDC_PAL_ADDRESS, 0x101);
- } else {
- WRITE_REG32(MDC_PAL_ADDRESS, 0x100);
- }
- return READ_REG32(MDC_PAL_DATA);
+ if (color) {
+ WRITE_REG32(MDC_PAL_ADDRESS, 0x101);
+ }
+ else {
+ WRITE_REG32(MDC_PAL_ADDRESS, 0x100);
+ }
+ return READ_REG32(MDC_PAL_DATA);
}
/*-----------------------------------------------------------------------------
@@ -2884,7 +2882,7 @@ unsigned long
gfx_get_icon_enable(void)
#endif
{
- return (READ_REG32(MDC_GENERAL_CFG) & MDC_GCFG_ICNE);
+ return (READ_REG32(MDC_GENERAL_CFG) & MDC_GCFG_ICNE);
}
/*-----------------------------------------------------------------------------
@@ -2899,7 +2897,7 @@ unsigned long
gfx_get_icon_offset(void)
#endif
{
- return (READ_REG32(MDC_ICON_ST_OFFSET) & 0x0FFFFFFF);
+ return (READ_REG32(MDC_ICON_ST_OFFSET) & 0x0FFFFFFF);
}
/*-----------------------------------------------------------------------------
@@ -2914,7 +2912,7 @@ unsigned long
gfx_get_icon_position(void)
#endif
{
- return (READ_REG32(MDC_ICON_X) & 0x07FF);
+ return (READ_REG32(MDC_ICON_X) & 0x07FF);
}
/*-----------------------------------------------------------------------------
@@ -2929,12 +2927,12 @@ unsigned long
gfx_get_icon_color(int color)
#endif
{
- if (color >= 3)
- return 0;
+ if (color >= 3)
+ return 0;
- WRITE_REG32(MDC_PAL_ADDRESS, 0x102 + color);
+ WRITE_REG32(MDC_PAL_ADDRESS, 0x102 + color);
- return READ_REG32(MDC_PAL_DATA);
+ return READ_REG32(MDC_PAL_DATA);
}
/*-----------------------------------------------------------------------------
@@ -2949,10 +2947,10 @@ int
gfx_get_compression_enable(void)
#endif
{
- if (READ_REG32(MDC_GENERAL_CFG) & MDC_GCFG_CMPE)
- return (1);
+ if (READ_REG32(MDC_GENERAL_CFG) & MDC_GCFG_CMPE)
+ return (1);
- return (0);
+ return (0);
}
/*-----------------------------------------------------------------------------
@@ -2967,7 +2965,7 @@ unsigned long
gfx_get_compression_offset(void)
#endif
{
- return (READ_REG32(MDC_CB_ST_OFFSET) & 0x007FFFFF);
+ return (READ_REG32(MDC_CB_ST_OFFSET) & 0x007FFFFF);
}
/*-----------------------------------------------------------------------------
@@ -2982,10 +2980,10 @@ unsigned short
gfx_get_compression_pitch(void)
#endif
{
- unsigned short pitch;
+ unsigned short pitch;
- pitch = (unsigned short)(READ_REG32(MDC_GFX_PITCH) >> 16);
- return (pitch << 3);
+ pitch = (unsigned short) (READ_REG32(MDC_GFX_PITCH) >> 16);
+ return (pitch << 3);
}
/*-----------------------------------------------------------------------------
@@ -3000,10 +2998,10 @@ unsigned short
gfx_get_compression_size(void)
#endif
{
- unsigned short size;
+ unsigned short size;
- size = (unsigned short)((READ_REG32(MDC_LINE_SIZE) >> 16) & 0x7F) - 1;
- return ((size << 3) + 32);
+ size = (unsigned short) ((READ_REG32(MDC_LINE_SIZE) >> 16) & 0x7F) - 1;
+ return ((size << 3) + 32);
}
/*-----------------------------------------------------------------------------
@@ -3018,18 +3016,18 @@ int
gfx_get_valid_bit(int line)
#endif
{
- unsigned long offset;
- int valid;
+ unsigned long offset;
+ int valid;
- offset = READ_REG32(MDC_PHY_MEM_OFFSET) & 0xFF000000;
- offset |= line;
+ offset = READ_REG32(MDC_PHY_MEM_OFFSET) & 0xFF000000;
+ offset |= line;
- WRITE_REG32(MDC_PHY_MEM_OFFSET, offset);
- valid = (int)READ_REG32(MDC_DV_ACC) & 2;
+ WRITE_REG32(MDC_PHY_MEM_OFFSET, offset);
+ valid = (int) READ_REG32(MDC_DV_ACC) & 2;
- if (valid)
- return 1;
- return 0;
+ if (valid)
+ return 1;
+ return 0;
}
/*---------------------------------------------------------------------------
@@ -3047,7 +3045,7 @@ unsigned long
gfx_get_display_video_offset(void)
#endif
{
- return (READ_REG32(MDC_VID_Y_ST_OFFSET) & 0x0FFFFFFF);
+ return (READ_REG32(MDC_VID_Y_ST_OFFSET) & 0x0FFFFFFF);
}
/*---------------------------------------------------------------------------
@@ -3060,18 +3058,18 @@ gfx_get_display_video_offset(void)
#if GFX_DISPLAY_DYNAMIC
void
gu2_get_display_video_yuv_offsets(unsigned long *yoffset,
- unsigned long *uoffset,
- unsigned long *voffset)
+ unsigned long *uoffset,
+ unsigned long *voffset)
#else
void
gfx_get_display_video_yuv_offsets(unsigned long *yoffset,
- unsigned long *uoffset,
- unsigned long *voffset)
+ unsigned long *uoffset,
+ unsigned long *voffset)
#endif
{
- *yoffset = (READ_REG32(MDC_VID_Y_ST_OFFSET) & 0x0FFFFFFF);
- *uoffset = (READ_REG32(MDC_VID_U_ST_OFFSET) & 0x0FFFFFFF);
- *voffset = (READ_REG32(MDC_VID_V_ST_OFFSET) & 0x0FFFFFFF);
+ *yoffset = (READ_REG32(MDC_VID_Y_ST_OFFSET) & 0x0FFFFFFF);
+ *uoffset = (READ_REG32(MDC_VID_U_ST_OFFSET) & 0x0FFFFFFF);
+ *voffset = (READ_REG32(MDC_VID_V_ST_OFFSET) & 0x0FFFFFFF);
}
/*---------------------------------------------------------------------------
@@ -3089,10 +3087,10 @@ void
gfx_get_display_video_yuv_pitch(unsigned long *ypitch, unsigned long *uvpitch)
#endif
{
- unsigned long pitch = READ_REG32(MDC_VID_YUV_PITCH);
+ unsigned long pitch = READ_REG32(MDC_VID_YUV_PITCH);
- *ypitch = ((pitch & 0xFFFF) << 3);
- *uvpitch = (pitch >> 13) & 0x7FFF8;
+ *ypitch = ((pitch & 0xFFFF) << 3);
+ *uvpitch = (pitch >> 13) & 0x7FFF8;
}
/*---------------------------------------------------------------------------
@@ -3110,7 +3108,7 @@ unsigned long
gfx_get_display_video_downscale_delta(void)
#endif
{
- return (READ_REG32(MDC_VID_DS_DELTA) >> 18);
+ return (READ_REG32(MDC_VID_DS_DELTA) >> 18);
}
/*---------------------------------------------------------------------------
@@ -3128,7 +3126,7 @@ int
gfx_get_display_video_downscale_enable(void)
#endif
{
- return ((int)((READ_REG32(MDC_GENERAL_CFG) >> 19) & 1));
+ return ((int) ((READ_REG32(MDC_GENERAL_CFG) >> 19) & 1));
}
/*---------------------------------------------------------------------------
@@ -3146,11 +3144,11 @@ unsigned long
gfx_get_display_video_size(void)
#endif
{
- /* RETURN THE LINE SIZE, AS THIS IS ALL THAT IS AVAILABLE */
+ /* RETURN THE LINE SIZE, AS THIS IS ALL THAT IS AVAILABLE */
- return ((READ_REG32(MDC_LINE_SIZE) >> 21) & 0x000007FF);
+ return ((READ_REG32(MDC_LINE_SIZE) >> 21) & 0x000007FF);
}
-#endif /* GFX_READ_ROUTINES */
+#endif /* GFX_READ_ROUTINES */
/* END OF FILE */