Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
savagefb.h File Reference
#include <linux/i2c.h>
#include <linux/i2c-algo-bit.h>
#include <linux/mutex.h>
#include <video/vga.h>
#include "../edid.h"

Go to the source code of this file.

Data Structures

struct  xtimings
 
struct  savage_reg
 
struct  savagefb_i2c_chan
 
struct  savagefb_par
 

Macros

#define DBG(x)
 
#define SavagePrintRegs(...)
 
#define PCI_CHIP_SAVAGE4   0x8a22
 
#define PCI_CHIP_SAVAGE3D   0x8a20
 
#define PCI_CHIP_SAVAGE3D_MV   0x8a21
 
#define PCI_CHIP_SAVAGE2000   0x9102
 
#define PCI_CHIP_SAVAGE_MX_MV   0x8c10
 
#define PCI_CHIP_SAVAGE_MX   0x8c11
 
#define PCI_CHIP_SAVAGE_IX_MV   0x8c12
 
#define PCI_CHIP_SAVAGE_IX   0x8c13
 
#define PCI_CHIP_PROSAVAGE_PM   0x8a25
 
#define PCI_CHIP_PROSAVAGE_KM   0x8a26
 
#define PCI_CHIP_S3TWISTER_P   0x8d01
 
#define PCI_CHIP_S3TWISTER_K   0x8d02
 
#define PCI_CHIP_PROSAVAGE_DDR   0x8d03
 
#define PCI_CHIP_PROSAVAGE_DDRK   0x8d04
 
#define PCI_CHIP_SUPSAV_MX128   0x8c22
 
#define PCI_CHIP_SUPSAV_MX64   0x8c24
 
#define PCI_CHIP_SUPSAV_MX64C   0x8c26
 
#define PCI_CHIP_SUPSAV_IX128SDR   0x8c2a
 
#define PCI_CHIP_SUPSAV_IX128DDR   0x8c2b
 
#define PCI_CHIP_SUPSAV_IX64SDR   0x8c2c
 
#define PCI_CHIP_SUPSAV_IX64DDR   0x8c2d
 
#define PCI_CHIP_SUPSAV_IXCSDR   0x8c2e
 
#define PCI_CHIP_SUPSAV_IXCDDR   0x8c2f
 
#define S3_SAVAGE_SERIES(chip)   ((chip>=S3_SAVAGE3D) && (chip<=S3_SAVAGE2000))
 
#define S3_SAVAGE3D_SERIES(chip)   ((chip>=S3_SAVAGE3D) && (chip<=S3_SAVAGE_MX))
 
#define S3_SAVAGE4_SERIES(chip)   ((chip>=S3_SAVAGE4) && (chip<=S3_PROSAVAGEDDR))
 
#define S3_SAVAGE_MOBILE_SERIES(chip)   ((chip==S3_SAVAGE_MX) || (chip==S3_SUPERSAVAGE))
 
#define S3_MOBILE_TWISTER_SERIES(chip)   ((chip==S3_TWISTER) || (chip==S3_PROSAVAGEDDR))
 
#define BIOS_BSIZE   1024
 
#define BIOS_BASE   0xc0000
 
#define SAVAGE_NEWMMIO_REGBASE_S3   0x1000000 /* 16MB */
 
#define SAVAGE_NEWMMIO_REGBASE_S4   0x0000000
 
#define SAVAGE_NEWMMIO_REGSIZE   0x0080000 /* 512kb */
 
#define SAVAGE_NEWMMIO_VGABASE   0x8000
 
#define BASE_FREQ   14318
 
#define HALF_BASE_FREQ   7159
 
#define FIFO_CONTROL_REG   0x8200
 
#define MIU_CONTROL_REG   0x8204
 
#define STREAMS_TIMEOUT_REG   0x8208
 
#define MISC_TIMEOUT_REG   0x820c
 
#define MONO_PAT_0   0xa4e8
 
#define MONO_PAT_1   0xa4ec
 
#define MAXFIFO   0x7f00
 
#define BCI_CMD_NOP   0x40000000
 
#define BCI_CMD_SETREG   0x96000000
 
#define BCI_CMD_RECT   0x48000000
 
#define BCI_CMD_RECT_XP   0x01000000
 
#define BCI_CMD_RECT_YP   0x02000000
 
#define BCI_CMD_SEND_COLOR   0x00008000
 
#define BCI_CMD_DEST_GBD   0x00000000
 
#define BCI_CMD_SRC_GBD   0x00000020
 
#define BCI_CMD_SRC_SOLID   0x00000000
 
#define BCI_CMD_SRC_MONO   0x00000060
 
#define BCI_CMD_CLIP_NEW   0x00006000
 
#define BCI_CMD_CLIP_LR   0x00004000
 
#define BCI_CLIP_LR(l, r)   ((((r) << 16) | (l)) & 0x0FFF0FFF)
 
#define BCI_CLIP_TL(t, l)   ((((t) << 16) | (l)) & 0x0FFF0FFF)
 
#define BCI_CLIP_BR(b, r)   ((((b) << 16) | (r)) & 0x0FFF0FFF)
 
#define BCI_W_H(w, h)   (((h) << 16) | ((w) & 0xFFF))
 
#define BCI_X_Y(x, y)   (((y) << 16) | ((x) & 0xFFF))
 
#define BCI_GBD1   0xE0
 
#define BCI_GBD2   0xE1
 
#define BCI_BUFFER_OFFSET   0x10000
 
#define BCI_SIZE   0x4000
 
#define BCI_SEND(dw)   writel(dw, par->bci_base + par->bci_ptr++)
 
#define BCI_CMD_GET_ROP(cmd)   (((cmd) >> 16) & 0xFF)
 
#define BCI_CMD_SET_ROP(cmd, rop)   ((cmd) |= ((rop & 0xFF) << 16))
 
#define BCI_CMD_SEND_COLOR   0x00008000
 
#define DISP_CRT   1
 
#define DISP_LCD   2
 
#define DISP_DFP   3
 
#define NR_PALETTE   256
 
#define BCI_BD_BW_DISABLE   0x10000000
 
#define BCI_BD_SET_BPP(bd, bpp)   ((bd) |= (((bpp) & 0xFF) << 16))
 
#define BCI_BD_SET_STRIDE(bd, st)   ((bd) |= ((st) & 0xFFFF))
 
#define savagefb_set_clip(x)
 

Enumerations

enum  savage_chipset {
  S3_UNKNOWN = 0, S3_SAVAGE3D, S3_SAVAGE_MX, S3_SAVAGE4,
  S3_PROSAVAGE, S3_TWISTER, S3_PROSAVAGEDDR, S3_SUPERSAVAGE,
  S3_SAVAGE2000, S3_LAST
}
 

Functions

int savagefb_probe_i2c_connector (struct fb_info *info, u8 **out_edid)
 
void savagefb_create_i2c_busses (struct fb_info *info)
 
void savagefb_delete_i2c_busses (struct fb_info *info)
 
int savagefb_sync (struct fb_info *info)
 
void savagefb_copyarea (struct fb_info *info, const struct fb_copyarea *region)
 
void savagefb_fillrect (struct fb_info *info, const struct fb_fillrect *rect)
 
void savagefb_imageblit (struct fb_info *info, const struct fb_image *image)
 

Macro Definition Documentation

#define BASE_FREQ   14318

Definition at line 89 of file savagefb.h.

#define BCI_BD_BW_DISABLE   0x10000000

Definition at line 250 of file savagefb.h.

#define BCI_BD_SET_BPP (   bd,
  bpp 
)    ((bd) |= (((bpp) & 0xFF) << 16))

Definition at line 251 of file savagefb.h.

#define BCI_BD_SET_STRIDE (   bd,
  st 
)    ((bd) |= ((st) & 0xFFFF))

Definition at line 252 of file savagefb.h.

#define BCI_BUFFER_OFFSET   0x10000

Definition at line 124 of file savagefb.h.

#define BCI_CLIP_BR (   b,
  r 
)    ((((b) << 16) | (r)) & 0x0FFF0FFF)

Definition at line 117 of file savagefb.h.

#define BCI_CLIP_LR (   l,
  r 
)    ((((r) << 16) | (l)) & 0x0FFF0FFF)

Definition at line 115 of file savagefb.h.

#define BCI_CLIP_TL (   t,
  l 
)    ((((t) << 16) | (l)) & 0x0FFF0FFF)

Definition at line 116 of file savagefb.h.

#define BCI_CMD_CLIP_LR   0x00004000

Definition at line 113 of file savagefb.h.

#define BCI_CMD_CLIP_NEW   0x00006000

Definition at line 112 of file savagefb.h.

#define BCI_CMD_DEST_GBD   0x00000000

Definition at line 108 of file savagefb.h.

#define BCI_CMD_GET_ROP (   cmd)    (((cmd) >> 16) & 0xFF)

Definition at line 129 of file savagefb.h.

#define BCI_CMD_NOP   0x40000000

Definition at line 102 of file savagefb.h.

#define BCI_CMD_RECT   0x48000000

Definition at line 104 of file savagefb.h.

#define BCI_CMD_RECT_XP   0x01000000

Definition at line 105 of file savagefb.h.

#define BCI_CMD_RECT_YP   0x02000000

Definition at line 106 of file savagefb.h.

#define BCI_CMD_SEND_COLOR   0x00008000

Definition at line 131 of file savagefb.h.

#define BCI_CMD_SEND_COLOR   0x00008000

Definition at line 131 of file savagefb.h.

#define BCI_CMD_SET_ROP (   cmd,
  rop 
)    ((cmd) |= ((rop & 0xFF) << 16))

Definition at line 130 of file savagefb.h.

#define BCI_CMD_SETREG   0x96000000

Definition at line 103 of file savagefb.h.

#define BCI_CMD_SRC_GBD   0x00000020

Definition at line 109 of file savagefb.h.

#define BCI_CMD_SRC_MONO   0x00000060

Definition at line 111 of file savagefb.h.

#define BCI_CMD_SRC_SOLID   0x00000000

Definition at line 110 of file savagefb.h.

#define BCI_GBD1   0xE0

Definition at line 121 of file savagefb.h.

#define BCI_GBD2   0xE1

Definition at line 122 of file savagefb.h.

#define BCI_SEND (   dw)    writel(dw, par->bci_base + par->bci_ptr++)

Definition at line 127 of file savagefb.h.

#define BCI_SIZE   0x4000

Definition at line 125 of file savagefb.h.

#define BCI_W_H (   w,
  h 
)    (((h) << 16) | ((w) & 0xFFF))

Definition at line 118 of file savagefb.h.

#define BCI_X_Y (   x,
  y 
)    (((y) << 16) | ((x) & 0xFFF))

Definition at line 119 of file savagefb.h.

#define BIOS_BASE   0xc0000

Definition at line 82 of file savagefb.h.

#define BIOS_BSIZE   1024

Definition at line 81 of file savagefb.h.

#define DBG (   x)

Definition at line 24 of file savagefb.h.

#define DISP_CRT   1

Definition at line 133 of file savagefb.h.

#define DISP_DFP   3

Definition at line 135 of file savagefb.h.

#define DISP_LCD   2

Definition at line 134 of file savagefb.h.

#define FIFO_CONTROL_REG   0x8200

Definition at line 92 of file savagefb.h.

#define HALF_BASE_FREQ   7159

Definition at line 90 of file savagefb.h.

#define MAXFIFO   0x7f00

Definition at line 100 of file savagefb.h.

#define MISC_TIMEOUT_REG   0x820c

Definition at line 95 of file savagefb.h.

#define MIU_CONTROL_REG   0x8204

Definition at line 93 of file savagefb.h.

#define MONO_PAT_0   0xa4e8

Definition at line 97 of file savagefb.h.

#define MONO_PAT_1   0xa4ec

Definition at line 98 of file savagefb.h.

#define NR_PALETTE   256

Definition at line 176 of file savagefb.h.

#define PCI_CHIP_PROSAVAGE_DDR   0x8d03

Definition at line 41 of file savagefb.h.

#define PCI_CHIP_PROSAVAGE_DDRK   0x8d04

Definition at line 42 of file savagefb.h.

#define PCI_CHIP_PROSAVAGE_KM   0x8a26

Definition at line 38 of file savagefb.h.

#define PCI_CHIP_PROSAVAGE_PM   0x8a25

Definition at line 37 of file savagefb.h.

#define PCI_CHIP_S3TWISTER_K   0x8d02

Definition at line 40 of file savagefb.h.

#define PCI_CHIP_S3TWISTER_P   0x8d01

Definition at line 39 of file savagefb.h.

#define PCI_CHIP_SAVAGE2000   0x9102

Definition at line 32 of file savagefb.h.

#define PCI_CHIP_SAVAGE3D   0x8a20

Definition at line 30 of file savagefb.h.

#define PCI_CHIP_SAVAGE3D_MV   0x8a21

Definition at line 31 of file savagefb.h.

#define PCI_CHIP_SAVAGE4   0x8a22

Definition at line 29 of file savagefb.h.

#define PCI_CHIP_SAVAGE_IX   0x8c13

Definition at line 36 of file savagefb.h.

#define PCI_CHIP_SAVAGE_IX_MV   0x8c12

Definition at line 35 of file savagefb.h.

#define PCI_CHIP_SAVAGE_MX   0x8c11

Definition at line 34 of file savagefb.h.

#define PCI_CHIP_SAVAGE_MX_MV   0x8c10

Definition at line 33 of file savagefb.h.

#define PCI_CHIP_SUPSAV_IX128DDR   0x8c2b

Definition at line 47 of file savagefb.h.

#define PCI_CHIP_SUPSAV_IX128SDR   0x8c2a

Definition at line 46 of file savagefb.h.

#define PCI_CHIP_SUPSAV_IX64DDR   0x8c2d

Definition at line 49 of file savagefb.h.

#define PCI_CHIP_SUPSAV_IX64SDR   0x8c2c

Definition at line 48 of file savagefb.h.

#define PCI_CHIP_SUPSAV_IXCDDR   0x8c2f

Definition at line 51 of file savagefb.h.

#define PCI_CHIP_SUPSAV_IXCSDR   0x8c2e

Definition at line 50 of file savagefb.h.

#define PCI_CHIP_SUPSAV_MX128   0x8c22

Definition at line 43 of file savagefb.h.

#define PCI_CHIP_SUPSAV_MX64   0x8c24

Definition at line 44 of file savagefb.h.

#define PCI_CHIP_SUPSAV_MX64C   0x8c26

Definition at line 45 of file savagefb.h.

#define S3_MOBILE_TWISTER_SERIES (   chip)    ((chip==S3_TWISTER) || (chip==S3_PROSAVAGEDDR))

Definition at line 62 of file savagefb.h.

#define S3_SAVAGE3D_SERIES (   chip)    ((chip>=S3_SAVAGE3D) && (chip<=S3_SAVAGE_MX))

Definition at line 56 of file savagefb.h.

#define S3_SAVAGE4_SERIES (   chip)    ((chip>=S3_SAVAGE4) && (chip<=S3_PROSAVAGEDDR))

Definition at line 58 of file savagefb.h.

#define S3_SAVAGE_MOBILE_SERIES (   chip)    ((chip==S3_SAVAGE_MX) || (chip==S3_SUPERSAVAGE))

Definition at line 60 of file savagefb.h.

#define S3_SAVAGE_SERIES (   chip)    ((chip>=S3_SAVAGE3D) && (chip<=S3_SAVAGE2000))

Definition at line 54 of file savagefb.h.

#define SAVAGE_NEWMMIO_REGBASE_S3   0x1000000 /* 16MB */

Definition at line 84 of file savagefb.h.

#define SAVAGE_NEWMMIO_REGBASE_S4   0x0000000

Definition at line 85 of file savagefb.h.

#define SAVAGE_NEWMMIO_REGSIZE   0x0080000 /* 512kb */

Definition at line 86 of file savagefb.h.

#define SAVAGE_NEWMMIO_VGABASE   0x8000

Definition at line 87 of file savagefb.h.

#define savagefb_set_clip (   x)

Definition at line 390 of file savagefb.h.

#define SavagePrintRegs (   ...)

Definition at line 25 of file savagefb.h.

#define STREAMS_TIMEOUT_REG   0x8208

Definition at line 94 of file savagefb.h.

Enumeration Type Documentation

Enumerator:
S3_UNKNOWN 
S3_SAVAGE3D 
S3_SAVAGE_MX 
S3_SAVAGE4 
S3_PROSAVAGE 
S3_TWISTER 
S3_PROSAVAGEDDR 
S3_SUPERSAVAGE 
S3_SAVAGE2000 
S3_LAST 

Definition at line 68 of file savagefb.h.

Function Documentation

void savagefb_copyarea ( struct fb_info info,
const struct fb_copyarea region 
)

Definition at line 31 of file savagefb_accel.c.

void savagefb_create_i2c_busses ( struct fb_info info)

Definition at line 167 of file savagefb-i2c.c.

void savagefb_delete_i2c_busses ( struct fb_info info)

Definition at line 208 of file savagefb-i2c.c.

void savagefb_fillrect ( struct fb_info info,
const struct fb_fillrect rect 
)

Definition at line 65 of file savagefb_accel.c.

void savagefb_imageblit ( struct fb_info info,
const struct fb_image image 
)

Definition at line 92 of file savagefb_accel.c.

int savagefb_probe_i2c_connector ( struct fb_info info,
u8 **  out_edid 
)

Definition at line 218 of file savagefb-i2c.c.

int savagefb_sync ( struct fb_info info)

Definition at line 23 of file savagefb_accel.c.