#include <linux/io.h>
#include <linux/spinlock.h>
#include <linux/wait.h>
struct crtc { … };
struct aty_interrupt { … };
struct pll_info { … };
PLL_BLOCK_MACH64;
struct pll_514 { … };
struct pll_18818 { … };
struct pll_ct { … };
#define DONT_USE_SPLL …
#define DONT_USE_XDLL …
#define USE_CPUCLK …
#define POWERDOWN_PLL …
aty_pll;
struct atyfb_par { … };
#define M64_HAS(feature) …
#define M64F_RESET_3D …
#define M64F_MAGIC_FIFO …
#define M64F_GTB_DSP …
#define M64F_FIFO_32 …
#define M64F_SDRAM_MAGIC_PLL …
#define M64F_MAGIC_POSTDIV …
#define M64F_INTEGRATED …
#define M64F_CT_BUS …
#define M64F_VT_BUS …
#define M64F_MOBIL_BUS …
#define M64F_GX …
#define M64F_CT …
#define M64F_VT …
#define M64F_GT …
#define M64F_MAGIC_VRAM_SIZE …
#define M64F_G3_PB_1_1 …
#define M64F_G3_PB_1024x768 …
#define M64F_EXTRA_BRIGHT …
#define M64F_LT_LCD_REGS …
#define M64F_XL_DLL …
#define M64F_MFB_FORCE_4 …
#define M64F_HW_TRIPLE …
#define M64F_XL_MEM …
static inline u32 aty_ld_le32(int regindex, const struct atyfb_par *par)
{ … }
static inline void aty_st_le32(int regindex, u32 val, const struct atyfb_par *par)
{ … }
static inline void aty_st_le16(int regindex, u16 val,
const struct atyfb_par *par)
{ … }
static inline u8 aty_ld_8(int regindex, const struct atyfb_par *par)
{ … }
static inline void aty_st_8(int regindex, u8 val, const struct atyfb_par *par)
{ … }
extern void aty_st_lcd(int index, u32 val, const struct atyfb_par *par);
extern u32 aty_ld_lcd(int index, const struct atyfb_par *par);
struct aty_dac_ops { … };
extern const struct aty_dac_ops aty_dac_ibm514;
extern const struct aty_dac_ops aty_dac_ati68860b;
extern const struct aty_dac_ops aty_dac_att21c498;
extern const struct aty_dac_ops aty_dac_unsupported;
extern const struct aty_dac_ops aty_dac_ct;
struct aty_pll_ops { … };
extern const struct aty_pll_ops aty_pll_ati18818_1;
extern const struct aty_pll_ops aty_pll_stg1703;
extern const struct aty_pll_ops aty_pll_ch8398;
extern const struct aty_pll_ops aty_pll_att20c408;
extern const struct aty_pll_ops aty_pll_ibm514;
extern const struct aty_pll_ops aty_pll_unsupported;
extern const struct aty_pll_ops aty_pll_ct;
extern void aty_set_pll_ct(const struct fb_info *info, const union aty_pll *pll);
extern u8 aty_ld_pll_ct(int offset, const struct atyfb_par *par);
extern const u8 aty_postdividers[8];
extern int aty_init_cursor(struct fb_info *info, struct fb_ops *atyfb_ops);
static inline void wait_for_fifo(u16 entries, struct atyfb_par *par)
{ … }
static inline void wait_for_idle(struct atyfb_par *par)
{ … }
extern void aty_reset_engine(struct atyfb_par *par);
extern void aty_init_engine(struct atyfb_par *par, struct fb_info *info);
void atyfb_copyarea(struct fb_info *info, const struct fb_copyarea *area);
void atyfb_fillrect(struct fb_info *info, const struct fb_fillrect *rect);
void atyfb_imageblit(struct fb_info *info, const struct fb_image *image);