diff options
author | Lars-Peter Clausen <lars@metafoo.de> | 2009-01-25 17:25:00 +0100 |
---|---|---|
committer | Lars-Peter Clausen <lars@metafoo.de> | 2009-01-25 17:25:00 +0100 |
commit | 642c90b3feb6e117bcd0b6c6be9bfe9f3b2c0eb9 (patch) | |
tree | ba7282b893939c2206d4bf17a6fff3642e01dd92 /src | |
parent | b628ee50e55ef8f75d678765a248969724ef2fa6 (diff) |
Remove redundant MMIO code.
Diffstat (limited to 'src')
-rw-r--r-- | src/glamo-funcs.c | 85 |
1 files changed, 25 insertions, 60 deletions
diff --git a/src/glamo-funcs.c b/src/glamo-funcs.c index f7dbb18..423a2dc 100644 --- a/src/glamo-funcs.c +++ b/src/glamo-funcs.c @@ -31,45 +31,10 @@ #include "glamo-regs.h" #include "glamo-cmdq.h" -#define GLAMO_OUT_REG(glamo_mmio, reg, val) \ - (*((volatile unsigned short *) ((glamo_mmio) + (reg))) = (val)) - -#define GLAMO_IN_REG(glamo_mmio, reg) \ - (*((volatile unsigned short *) ((glamo_mmio) + (reg)))) - -void -GLAMOOutReg(GlamoPtr pGlamo, unsigned short reg, unsigned short val) -{ - GLAMO_LOG("mark: pScreen:%#x, reg:%#x, val:%#x, reg_base:%#x\n", - pGlamo, reg, val, pGlamo->reg_base); - if (!pGlamo->reg_base) { - GLAMO_LOG_ERROR("got null glamoc->reg_base\n"); - return; - } - GLAMO_OUT_REG(pGlamo->reg_base, reg, val); -} - -unsigned short -GLAMOInReg(GlamoPtr pGlamo, unsigned short reg) -{ - GLAMO_LOG("mark: pScreen:%#x, reg:%#x, reg_base:%#x\n", - pGlamo, reg, pGlamo->reg_base); - if (!pGlamo->reg_base) { - GLAMO_LOG_ERROR("got null glamoc->reg_base\n"); - return 0; - } - return GLAMO_IN_REG(pGlamo->reg_base, reg); -} - void GLAMOSetBitMask(GlamoPtr pGlamo, int reg, int mask, int val) { - int old; - old = GLAMOInReg(pGlamo, reg); - old &= ~mask; - old |= val & mask; - GLAMO_LOG("mark\n"); - GLAMOOutReg(pGlamo, reg, old); + MMIOSetBitMask(pGlamo->reg_base, reg, mask, val); } void @@ -78,18 +43,18 @@ setCmdMode (GlamoPtr pGlamo, Bool on) if (on) { GLAMO_LOG("mark\n"); /*TODO: busy waiting is bad*/ - while (!GLAMOInReg(pGlamo, GLAMO_REG_LCD_STATUS1) + while (!MMIO_IN16(pGlamo->reg_base, GLAMO_REG_LCD_STATUS1) & (1 << 15)) { GLAMO_LOG("mark\n"); usleep(1 * 1000); } GLAMO_LOG("mark\n"); - GLAMOOutReg(pGlamo, + MMIO_OUT16(pGlamo->reg_base, GLAMO_REG_LCD_COMMAND1, GLAMO_LCD_CMD_TYPE_DISP | GLAMO_LCD_CMD_DATA_FIRE_VSYNC); GLAMO_LOG("mark\n"); - while (!GLAMOInReg(pGlamo, GLAMO_REG_LCD_STATUS2) + while (!MMIO_IN16(pGlamo->reg_base, GLAMO_REG_LCD_STATUS2) & (1 << 12)) { GLAMO_LOG("mark\n"); usleep(1 * 1000); @@ -99,12 +64,12 @@ setCmdMode (GlamoPtr pGlamo, Bool on) usleep(100 * 1000); } else { GLAMO_LOG("mark\n"); - GLAMOOutReg(pGlamo, + MMIO_OUT16(pGlamo->reg_base, GLAMO_REG_LCD_COMMAND1, GLAMO_LCD_CMD_TYPE_DISP | GLAMO_LCD_CMD_DATA_DISP_SYNC); GLAMO_LOG("mark\n"); - GLAMOOutReg(pGlamo, + MMIO_OUT16(pGlamo->reg_base, GLAMO_REG_LCD_COMMAND1, GLAMO_LCD_CMD_TYPE_DISP | GLAMO_LCD_CMD_DATA_DISP_FIRE); @@ -145,9 +110,9 @@ GLAMOResetEngine(GlamoPtr pGlamo, enum GLAMOEngine engine) return; } - GLAMOSetBitMask(pGlamo, reg, mask, 0xffff); + MMIOSetBitMask(pGlamo->reg_base, reg, mask, 0xffff); usleep(1000); - GLAMOSetBitMask(pGlamo, reg, mask, 0); + MMIOSetBitMask(pGlamo->reg_base, reg, mask, 0); usleep(1000); GLAMO_LOG("leave\n"); @@ -160,14 +125,14 @@ GLAMOEnableEngine(GlamoPtr pGlamo, enum GLAMOEngine engine) if (engine_status[engine] & STATUS_ENABLED) return; - GLAMOSetBitMask(pGlamo, + MMIOSetBitMask(pGlamo->reg_base, GLAMO_REG_CLOCK_GEN5_1, GLAMO_CLOCK_GEN51_EN_DIV_MCLK, 0xffff); switch (engine) { case GLAMO_ENGINE_MPEG: - GLAMOSetBitMask(pGlamo, + MMIOSetBitMask(pGlamo->reg_base, GLAMO_REG_CLOCK_MPEG, GLAMO_CLOCK_MPEG_EN_X6CLK | GLAMO_CLOCK_MPEG_DG_X6CLK | @@ -178,66 +143,66 @@ GLAMOEnableEngine(GlamoPtr pGlamo, enum GLAMOEngine engine) GLAMO_CLOCK_MPEG_EN_X0CLK | GLAMO_CLOCK_MPEG_DG_X0CLK, 0xffff & ~GLAMO_CLOCK_MPEG_DG_X0CLK); - GLAMOSetBitMask(pGlamo, + MMIOSetBitMask(pGlamo->reg_base, GLAMO_REG_CLOCK_MPROC, GLAMO_CLOCK_MPROC_EN_M4CLK, 0xffff); - GLAMOSetBitMask(pGlamo, + MMIOSetBitMask(pGlamo->reg_base, GLAMO_REG_CLOCK_GEN5_1, GLAMO_CLOCK_GEN51_EN_DIV_JCLK, 0xffff); - GLAMOSetBitMask(pGlamo, + MMIOSetBitMask(pGlamo->reg_base, GLAMO_REG_HOSTBUS(2), GLAMO_HOSTBUS2_MMIO_EN_MPEG | GLAMO_HOSTBUS2_MMIO_EN_MICROP1, 0xffff); - GLAMOSetBitMask(pGlamo, + MMIOSetBitMask(pGlamo->reg_base, GLAMO_REG_CLOCK_MPROC, GLAMO_CLOCK_MPROC_EN_KCLK, 0xffff); break; case GLAMO_ENGINE_ISP: - GLAMOSetBitMask(pGlamo, + MMIOSetBitMask(pGlamo->reg_base, GLAMO_REG_CLOCK_ISP, GLAMO_CLOCK_ISP_EN_M2CLK | GLAMO_CLOCK_ISP_EN_I1CLK, 0xffff); - GLAMOSetBitMask(pGlamo, + MMIOSetBitMask(pGlamo->reg_base, GLAMO_REG_CLOCK_GEN5_2, GLAMO_CLOCK_GEN52_EN_DIV_ICLK, 0xffff); - GLAMOSetBitMask(pGlamo, + MMIOSetBitMask(pGlamo->reg_base, GLAMO_REG_CLOCK_GEN5_1, GLAMO_CLOCK_GEN51_EN_DIV_JCLK, 0xffff); - GLAMOSetBitMask(pGlamo, + MMIOSetBitMask(pGlamo->reg_base, GLAMO_REG_HOSTBUS(2), GLAMO_HOSTBUS2_MMIO_EN_ISP, 0xffff); break; case GLAMO_ENGINE_CMDQ: - GLAMOSetBitMask(pGlamo, + MMIOSetBitMask(pGlamo->reg_base, GLAMO_REG_CLOCK_2D, GLAMO_CLOCK_2D_EN_M6CLK, 0xffff); - GLAMOSetBitMask(pGlamo, + MMIOSetBitMask(pGlamo->reg_base, GLAMO_REG_HOSTBUS(2), GLAMO_HOSTBUS2_MMIO_EN_CMDQ, 0xffff); break; case GLAMO_ENGINE_2D: - GLAMOSetBitMask(pGlamo, + MMIOSetBitMask(pGlamo->reg_base, GLAMO_REG_CLOCK_2D, GLAMO_CLOCK_2D_EN_M7CLK | GLAMO_CLOCK_2D_EN_GCLK | GLAMO_CLOCK_2D_DG_M7CLK | GLAMO_CLOCK_2D_DG_GCLK, 0xffff); - GLAMOSetBitMask(pGlamo, + MMIOSetBitMask(pGlamo->reg_base, GLAMO_REG_HOSTBUS(2), GLAMO_HOSTBUS2_MMIO_EN_2D, 0xffff); - GLAMOSetBitMask(pGlamo, + MMIOSetBitMask(pGlamo->reg_base, GLAMO_REG_CLOCK_GEN5_1, GLAMO_CLOCK_GEN51_EN_DIV_GCLK, 0xffff); @@ -257,7 +222,7 @@ GLAMOISPWaitEngineIdle (GlamoPtr pGlamo) { GLAMO_LOG("enter\n"); while (1) { - int val = GLAMOInReg(pGlamo, GLAMO_REG_ISP_STATUS); + int val = MMIO_IN16(pGlamo->reg_base, GLAMO_REG_ISP_STATUS); if (val & 0x1) { usleep(1 * 1000); GLAMO_LOG("isp busy\n"); @@ -415,7 +380,7 @@ GLAMOISPColorKeyOverlayInit(GlamoPtr pGlamo) GLAMO_REG_ISP_EN2, GLAMO_ISP_EN2_OVERLAY, 0x0001);*/ - GLAMOSetBitMask(pGlamo, + MMIOSetBitMask(pGlamo->reg_base, GLAMO_REG_ISP_EN4, GLAMO_ISP_EN4_OVERLAY|GLAMO_ISP_EN4_LCD_OVERLAY, 0x0003); |