]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/staging/sm750fb/sm750_accel.c
staging: comedi: das08: rename DAS08AO_AO_LSB() and DAS08AO_AO_MSB()
[karo-tx-linux.git] / drivers / staging / sm750fb / sm750_accel.c
index 6a04ef86eb133968034d4871b45fb2c086a0b090..001e980310562c51ea6dbb35e002301ced004edd 100644 (file)
 #include "sm750.h"
 #include "sm750_accel.h"
 #include "sm750_help.h"
-static inline void write_dpr(struct lynx_accel * accel,int offset,u32 regValue)
+static inline void write_dpr(struct lynx_accel * accel, int offset, u32 regValue)
 {
-       writel(regValue,accel->dprBase + offset);
+       writel(regValue, accel->dprBase + offset);
 }
 
-static inline u32 read_dpr(struct lynx_accel * accel,int offset)
+static inline u32 read_dpr(struct lynx_accel * accel, int offset)
 {
        return readl(accel->dprBase + offset);
 }
 
-static inline void write_dpPort(struct lynx_accel * accel,u32 data)
+static inline void write_dpPort(struct lynx_accel * accel, u32 data)
 {
-       writel(data,accel->dpPortBase);
+       writel(data, accel->dpPortBase);
 }
 
 void hw_de_init(struct lynx_accel * accel)
 {
        /* setup 2d engine registers */
-       u32 reg,clr;
+       u32 reg, clr;
        
-       write_dpr(accel,DE_MASKS,0xFFFFFFFF);
+       write_dpr(accel, DE_MASKS, 0xFFFFFFFF);
 
        /* dpr1c */
-       reg = FIELD_SET(0,DE_STRETCH_FORMAT,PATTERN_XY,NORMAL)|
-               FIELD_VALUE(0,DE_STRETCH_FORMAT,PATTERN_Y,0)|
-               FIELD_VALUE(0,DE_STRETCH_FORMAT,PATTERN_X,0)|
-               FIELD_SET(0,DE_STRETCH_FORMAT,ADDRESSING,XY)|
-               FIELD_VALUE(0,DE_STRETCH_FORMAT,SOURCE_HEIGHT,3);
-
-       clr = FIELD_CLEAR(DE_STRETCH_FORMAT,PATTERN_XY)&
-               FIELD_CLEAR(DE_STRETCH_FORMAT,PATTERN_Y)&
-               FIELD_CLEAR(DE_STRETCH_FORMAT,PATTERN_X)&
-               FIELD_CLEAR(DE_STRETCH_FORMAT,ADDRESSING)&
-               FIELD_CLEAR(DE_STRETCH_FORMAT,SOURCE_HEIGHT);
+       reg = FIELD_SET(0, DE_STRETCH_FORMAT, PATTERN_XY, NORMAL)|
+               FIELD_VALUE(0, DE_STRETCH_FORMAT, PATTERN_Y, 0)|
+               FIELD_VALUE(0, DE_STRETCH_FORMAT, PATTERN_X, 0)|
+               FIELD_SET(0, DE_STRETCH_FORMAT, ADDRESSING, XY)|
+               FIELD_VALUE(0, DE_STRETCH_FORMAT, SOURCE_HEIGHT, 3);
+
+       clr = FIELD_CLEAR(DE_STRETCH_FORMAT, PATTERN_XY)&
+               FIELD_CLEAR(DE_STRETCH_FORMAT, PATTERN_Y)&
+               FIELD_CLEAR(DE_STRETCH_FORMAT, PATTERN_X)&
+               FIELD_CLEAR(DE_STRETCH_FORMAT, ADDRESSING)&
+               FIELD_CLEAR(DE_STRETCH_FORMAT, SOURCE_HEIGHT);
 
        /* DE_STRETCH bpp format need be initilized in setMode routine */
-       write_dpr(accel,DE_STRETCH_FORMAT,(read_dpr(accel,DE_STRETCH_FORMAT) & clr) | reg);
+       write_dpr(accel, DE_STRETCH_FORMAT, (read_dpr(accel, DE_STRETCH_FORMAT) & clr) | reg);
 
        /* disable clipping and transparent */
-       write_dpr(accel,DE_CLIP_TL,0);//dpr2c
-       write_dpr(accel,DE_CLIP_BR,0);//dpr30
+       write_dpr(accel, DE_CLIP_TL, 0);//dpr2c
+       write_dpr(accel, DE_CLIP_BR, 0);//dpr30
 
-       write_dpr(accel,DE_COLOR_COMPARE_MASK,0);//dpr24
-       write_dpr(accel,DE_COLOR_COMPARE,0);
+       write_dpr(accel, DE_COLOR_COMPARE_MASK, 0);//dpr24
+       write_dpr(accel, DE_COLOR_COMPARE, 0);
 
-       reg = FIELD_SET(0,DE_CONTROL,TRANSPARENCY,DISABLE)|
-               FIELD_SET(0,DE_CONTROL,TRANSPARENCY_MATCH,OPAQUE)|
-               FIELD_SET(0,DE_CONTROL,TRANSPARENCY_SELECT,SOURCE);
+       reg = FIELD_SET(0, DE_CONTROL, TRANSPARENCY, DISABLE)|
+               FIELD_SET(0, DE_CONTROL, TRANSPARENCY_MATCH, OPAQUE)|
+               FIELD_SET(0, DE_CONTROL, TRANSPARENCY_SELECT, SOURCE);
 
-       clr = FIELD_CLEAR(DE_CONTROL,TRANSPARENCY)&
-               FIELD_CLEAR(DE_CONTROL,TRANSPARENCY_MATCH)&
-               FIELD_CLEAR(DE_CONTROL,TRANSPARENCY_SELECT);
+       clr = FIELD_CLEAR(DE_CONTROL, TRANSPARENCY)&
+               FIELD_CLEAR(DE_CONTROL, TRANSPARENCY_MATCH)&
+               FIELD_CLEAR(DE_CONTROL, TRANSPARENCY_SELECT);
 
        /* dpr0c */
-       write_dpr(accel,DE_CONTROL,(read_dpr(accel,DE_CONTROL)&clr)|reg);
+       write_dpr(accel, DE_CONTROL, (read_dpr(accel, DE_CONTROL)&clr)|reg);
 }
 
 /* set2dformat only be called from setmode functions
  * but if you need dual framebuffer driver,need call set2dformat
  * every time you use 2d function */
 
-void hw_set2dformat(struct lynx_accel * accel,int fmt)
+void hw_set2dformat(struct lynx_accel * accel, int fmt)
 {
        u32 reg;
        
        /* fmt=0,1,2 for 8,16,32,bpp on sm718/750/502 */
-       reg = read_dpr(accel,DE_STRETCH_FORMAT);
-       reg = FIELD_VALUE(reg,DE_STRETCH_FORMAT,PIXEL_FORMAT,fmt);
-       write_dpr(accel,DE_STRETCH_FORMAT,reg);
+       reg = read_dpr(accel, DE_STRETCH_FORMAT);
+       reg = FIELD_VALUE(reg, DE_STRETCH_FORMAT, PIXEL_FORMAT, fmt);
+       write_dpr(accel, DE_STRETCH_FORMAT, reg);
 }
 
 int hw_fillrect(struct lynx_accel * accel,
-                               u32 base,u32 pitch,u32 Bpp,
-                               u32 x,u32 y,u32 width,u32 height,
-                               u32 color,u32 rop)
+                               u32 base, u32 pitch, u32 Bpp,
+                               u32 x, u32 y, u32 width, u32 height,
+                               u32 color, u32 rop)
 {
        u32 deCtrl;
 
@@ -100,39 +100,39 @@ int hw_fillrect(struct lynx_accel * accel,
        {
                /* int time wait and always busy,seems hardware
                 * got something error */
-               pr_debug("%s:De engine always bussy\n",__func__);
+               pr_debug("%s:De engine always bussy\n", __func__);
                return -1;
        }
 
-       write_dpr(accel,DE_WINDOW_DESTINATION_BASE,base);//dpr40
-       write_dpr(accel,DE_PITCH,
-                       FIELD_VALUE(0,DE_PITCH,DESTINATION,pitch/Bpp)|
-                       FIELD_VALUE(0,DE_PITCH,SOURCE,pitch/Bpp));//dpr10
+       write_dpr(accel, DE_WINDOW_DESTINATION_BASE, base);//dpr40
+       write_dpr(accel, DE_PITCH,
+                       FIELD_VALUE(0, DE_PITCH, DESTINATION, pitch/Bpp)|
+                       FIELD_VALUE(0, DE_PITCH, SOURCE, pitch/Bpp));//dpr10
 
-       write_dpr(accel,DE_WINDOW_WIDTH,
-                       FIELD_VALUE(0,DE_WINDOW_WIDTH,DESTINATION,pitch/Bpp)|
-                       FIELD_VALUE(0,DE_WINDOW_WIDTH,SOURCE,pitch/Bpp));//dpr44
+       write_dpr(accel, DE_WINDOW_WIDTH,
+                       FIELD_VALUE(0, DE_WINDOW_WIDTH, DESTINATION, pitch/Bpp)|
+                       FIELD_VALUE(0, DE_WINDOW_WIDTH, SOURCE, pitch/Bpp));//dpr44
 
-       write_dpr(accel,DE_FOREGROUND,color);//DPR14
+       write_dpr(accel, DE_FOREGROUND, color);//DPR14
 
-       write_dpr(accel,DE_DESTINATION,
-                       FIELD_SET(0,DE_DESTINATION,WRAP,DISABLE)|
-                       FIELD_VALUE(0,DE_DESTINATION,X,x)|
-                       FIELD_VALUE(0,DE_DESTINATION,Y,y));//dpr4
+       write_dpr(accel, DE_DESTINATION,
+                       FIELD_SET(0, DE_DESTINATION, WRAP, DISABLE)|
+                       FIELD_VALUE(0, DE_DESTINATION, X, x)|
+                       FIELD_VALUE(0, DE_DESTINATION, Y, y));//dpr4
 
-       write_dpr(accel,DE_DIMENSION,
-                       FIELD_VALUE(0,DE_DIMENSION,X,width)|
-                       FIELD_VALUE(0,DE_DIMENSION,Y_ET,height));//dpr8
+       write_dpr(accel, DE_DIMENSION,
+                       FIELD_VALUE(0, DE_DIMENSION, X, width)|
+                       FIELD_VALUE(0, DE_DIMENSION, Y_ET, height));//dpr8
 
        deCtrl =
-               FIELD_SET(0,DE_CONTROL,STATUS,START)|
-               FIELD_SET(0,DE_CONTROL,DIRECTION,LEFT_TO_RIGHT)|
-               FIELD_SET(0,DE_CONTROL,LAST_PIXEL,ON)|
-               FIELD_SET(0,DE_CONTROL,COMMAND,RECTANGLE_FILL)|
-               FIELD_SET(0,DE_CONTROL,ROP_SELECT,ROP2)|
-               FIELD_VALUE(0,DE_CONTROL,ROP,rop);//dpr0xc
-
-       write_dpr(accel,DE_CONTROL,deCtrl);
+               FIELD_SET(0, DE_CONTROL, STATUS, START)|
+               FIELD_SET(0, DE_CONTROL, DIRECTION, LEFT_TO_RIGHT)|
+               FIELD_SET(0, DE_CONTROL, LAST_PIXEL, ON)|
+               FIELD_SET(0, DE_CONTROL, COMMAND, RECTANGLE_FILL)|
+               FIELD_SET(0, DE_CONTROL, ROP_SELECT, ROP2)|
+               FIELD_VALUE(0, DE_CONTROL, ROP, rop);//dpr0xc
+
+       write_dpr(accel, DE_CONTROL, deCtrl);
        return 0;
 }
 
@@ -236,12 +236,12 @@ unsigned int rop2)   /* ROP value */
     /* 2D Source Base.
        It is an address offset (128 bit aligned) from the beginning of frame buffer.
     */
-    write_dpr(accel,DE_WINDOW_SOURCE_BASE, sBase);//dpr40
+    write_dpr(accel, DE_WINDOW_SOURCE_BASE, sBase);//dpr40
 
     /* 2D Destination Base.
        It is an address offset (128 bit aligned) from the beginning of frame buffer.
     */
-    write_dpr(accel,DE_WINDOW_DESTINATION_BASE, dBase);//dpr44
+    write_dpr(accel, DE_WINDOW_DESTINATION_BASE, dBase);//dpr44
 
 #if 0
     /* Program pitch (distance between the 1st points of two adjacent lines).
@@ -252,14 +252,14 @@ unsigned int rop2)   /* ROP value */
                        sx *= 3;
                        dx *= 3;
                        width *= 3;
-               write_dpr(accel,DE_PITCH,
+               write_dpr(accel, DE_PITCH,
                                FIELD_VALUE(0, DE_PITCH, DESTINATION, dPitch) |
                                FIELD_VALUE(0, DE_PITCH, SOURCE,      sPitch));//dpr10
        }
        else
 #endif
        {
-               write_dpr(accel,DE_PITCH,
+               write_dpr(accel, DE_PITCH,
                                FIELD_VALUE(0, DE_PITCH, DESTINATION, (dPitch/Bpp)) |
                                FIELD_VALUE(0, DE_PITCH, SOURCE,      (sPitch/Bpp)));//dpr10
        }
@@ -267,7 +267,7 @@ unsigned int rop2)   /* ROP value */
     /* Screen Window width in Pixels.
        2D engine uses this value to calculate the linear address in frame buffer for a given point.
     */
-    write_dpr(accel,DE_WINDOW_WIDTH,
+    write_dpr(accel, DE_WINDOW_WIDTH,
         FIELD_VALUE(0, DE_WINDOW_WIDTH, DESTINATION, (dPitch/Bpp)) |
         FIELD_VALUE(0, DE_WINDOW_WIDTH, SOURCE,      (sPitch/Bpp)));//dpr3c
 
@@ -277,15 +277,15 @@ unsigned int rop2)   /* ROP value */
 
     {
 
-        write_dpr(accel,DE_SOURCE,
+        write_dpr(accel, DE_SOURCE,
             FIELD_SET  (0, DE_SOURCE, WRAP, DISABLE) |
             FIELD_VALUE(0, DE_SOURCE, X_K1, sx)   |
             FIELD_VALUE(0, DE_SOURCE, Y_K2, sy));//dpr0
-        write_dpr(accel,DE_DESTINATION,
+        write_dpr(accel, DE_DESTINATION,
             FIELD_SET  (0, DE_DESTINATION, WRAP, DISABLE) |
             FIELD_VALUE(0, DE_DESTINATION, X,    dx)  |
             FIELD_VALUE(0, DE_DESTINATION, Y,    dy));//dpr04
-        write_dpr(accel,DE_DIMENSION,
+        write_dpr(accel, DE_DIMENSION,
             FIELD_VALUE(0, DE_DIMENSION, X,    width) |
             FIELD_VALUE(0, DE_DIMENSION, Y_ET, height));//dpr08
 
@@ -297,7 +297,7 @@ unsigned int rop2)   /* ROP value */
             FIELD_SET(0, DE_CONTROL, DIRECTION, RIGHT_TO_LEFT)
             : FIELD_SET(0, DE_CONTROL, DIRECTION, LEFT_TO_RIGHT)) |
             FIELD_SET(0, DE_CONTROL, STATUS, START);
-               write_dpr(accel,DE_CONTROL,de_ctrl);//dpr0c
+               write_dpr(accel, DE_CONTROL, de_ctrl);//dpr0c
     }
 
     return 0;
@@ -307,7 +307,7 @@ static unsigned int deGetTransparency(struct lynx_accel * accel)
 {
     unsigned int de_ctrl;
 
-    de_ctrl = read_dpr(accel,DE_CONTROL);
+    de_ctrl = read_dpr(accel, DE_CONTROL);
 
     de_ctrl &=
         FIELD_MASK(DE_CONTROL_TRANSPARENCY_MATCH) |
@@ -353,12 +353,12 @@ int hw_imageblit(struct lynx_accel *accel,
     /* 2D Source Base.
        Use 0 for HOST Blt.
     */
-    write_dpr(accel,DE_WINDOW_SOURCE_BASE, 0);
+    write_dpr(accel, DE_WINDOW_SOURCE_BASE, 0);
 
     /* 2D Destination Base.
        It is an address offset (128 bit aligned) from the beginning of frame buffer.
     */
-    write_dpr(accel,DE_WINDOW_DESTINATION_BASE, dBase);
+    write_dpr(accel, DE_WINDOW_DESTINATION_BASE, dBase);
 #if 0
     /* Program pitch (distance between the 1st points of two adjacent lines).
        Note that input pitch is BYTE value, but the 2D Pitch register uses
@@ -368,7 +368,7 @@ int hw_imageblit(struct lynx_accel *accel,
                dx *= 3;
                width *= 3;
                startBit *= 3;
-               write_dpr(accel,DE_PITCH,
+               write_dpr(accel, DE_PITCH,
                                FIELD_VALUE(0, DE_PITCH, DESTINATION, dPitch) |
                                FIELD_VALUE(0, DE_PITCH, SOURCE,      dPitch));//dpr10
 
@@ -376,7 +376,7 @@ int hw_imageblit(struct lynx_accel *accel,
        else
 #endif
        {
-               write_dpr(accel,DE_PITCH,
+               write_dpr(accel, DE_PITCH,
                                FIELD_VALUE(0, DE_PITCH, DESTINATION, dPitch/bytePerPixel) |
                                FIELD_VALUE(0, DE_PITCH, SOURCE,      dPitch/bytePerPixel));//dpr10
        }
@@ -384,27 +384,27 @@ int hw_imageblit(struct lynx_accel *accel,
     /* Screen Window width in Pixels.
        2D engine uses this value to calculate the linear address in frame buffer for a given point.
     */
-    write_dpr(accel,DE_WINDOW_WIDTH,
+    write_dpr(accel, DE_WINDOW_WIDTH,
         FIELD_VALUE(0, DE_WINDOW_WIDTH, DESTINATION, (dPitch/bytePerPixel)) |
         FIELD_VALUE(0, DE_WINDOW_WIDTH, SOURCE,      (dPitch/bytePerPixel)));
 
     /* Note: For 2D Source in Host Write, only X_K1_MONO field is needed, and Y_K2 field is not used.
              For mono bitmap, use startBit for X_K1. */
-    write_dpr(accel,DE_SOURCE,
+    write_dpr(accel, DE_SOURCE,
         FIELD_SET  (0, DE_SOURCE, WRAP, DISABLE)       |
         FIELD_VALUE(0, DE_SOURCE, X_K1_MONO, startBit));//dpr00
 
-    write_dpr(accel,DE_DESTINATION,
+    write_dpr(accel, DE_DESTINATION,
         FIELD_SET  (0, DE_DESTINATION, WRAP, DISABLE) |
         FIELD_VALUE(0, DE_DESTINATION, X,    dx)    |
         FIELD_VALUE(0, DE_DESTINATION, Y,    dy));//dpr04
 
-    write_dpr(accel,DE_DIMENSION,
+    write_dpr(accel, DE_DIMENSION,
         FIELD_VALUE(0, DE_DIMENSION, X,    width) |
         FIELD_VALUE(0, DE_DIMENSION, Y_ET, height));//dpr08
 
-    write_dpr(accel,DE_FOREGROUND, fColor);
-    write_dpr(accel,DE_BACKGROUND, bColor);
+    write_dpr(accel, DE_FOREGROUND, fColor);
+    write_dpr(accel, DE_BACKGROUND, bColor);
 
        de_ctrl = FIELD_VALUE(0, DE_CONTROL, ROP, rop2)         |
                FIELD_SET(0, DE_CONTROL, ROP_SELECT, ROP2)    |
@@ -412,7 +412,7 @@ int hw_imageblit(struct lynx_accel *accel,
                FIELD_SET(0, DE_CONTROL, HOST, MONO)          |
                FIELD_SET(0, DE_CONTROL, STATUS, START);
 
-       write_dpr(accel,DE_CONTROL, de_ctrl | deGetTransparency(accel));
+       write_dpr(accel, DE_CONTROL, de_ctrl | deGetTransparency(accel));
 
     /* Write MONO data (line by line) to 2D Engine data port */
     for (i=0; i<height; i++)