diff options
author | Andres Salomon <dilinger@queued.net> | 2008-04-28 02:15:01 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-28 08:58:36 -0700 |
commit | d1b4cc3ec5f8ddbac57ada58cbab36f5a0be38eb (patch) | |
tree | 76f9fa67cf3f717f22f1a293a4ca2c23cadc975e /drivers/video/geode/gxfb.h | |
parent | 9f1277bd1497858a05a80222a6e98f9c43343491 (diff) | |
download | linux-rt-d1b4cc3ec5f8ddbac57ada58cbab36f5a0be38eb.tar.gz |
gxfb: stop sharing code with gx1fb
We want to stop sharing stuff with gx1fb; it makes little sense. There were
fields in geodefb_par that weren't being used, there was little point to the
DC/VP ops callbacks, etc. This implements the following:
- Create gxfb_par (based on geodefb_par), place it in gxfb.h
- Drop display_gx.h and video_gx.h. The last few patches moved most
stuff into gxfb.h anyways, so there was very little left.
- Drop the geode_{dc,vid}_ops stuff. Un-static functions, add
declarations to gxfb.h.
Signed-off-by: Andres Salomon <dilinger@debian.org>
Cc: Jordan Crouse <jordan.crouse@amd.com>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/video/geode/gxfb.h')
-rw-r--r-- | drivers/video/geode/gxfb.h | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/drivers/video/geode/gxfb.h b/drivers/video/geode/gxfb.h index c21f9dc5e0c1..b8db7f82646c 100644 --- a/drivers/video/geode/gxfb.h +++ b/drivers/video/geode/gxfb.h @@ -1,7 +1,7 @@ /* * Copyright (C) 2008 Andres Salomon <dilinger@debian.org> * - * Geode GX2 register tables + * Geode GX2 header information * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -13,6 +13,23 @@ #include <linux/io.h> +struct gxfb_par { + int enable_crt; + void __iomem *dc_regs; + void __iomem *vid_regs; +}; + +unsigned int gx_frame_buffer_size(void); +int gx_line_delta(int xres, int bpp); +void gx_set_mode(struct fb_info *info); +void gx_set_hw_palette_reg(struct fb_info *info, unsigned regno, + unsigned red, unsigned green, unsigned blue); + +void gx_set_dclk_frequency(struct fb_info *info); +void gx_configure_display(struct fb_info *info); +int gx_blank_display(struct fb_info *info, int blank_mode); + + /* Display Controller registers (table 6-38 from the data book) */ enum dc_registers { DC_UNLOCK = 0, @@ -221,33 +238,33 @@ enum fp_registers { /* register access functions */ -static inline uint32_t read_dc(struct geodefb_par *par, int reg) +static inline uint32_t read_dc(struct gxfb_par *par, int reg) { return readl(par->dc_regs + 4*reg); } -static inline void write_dc(struct geodefb_par *par, int reg, uint32_t val) +static inline void write_dc(struct gxfb_par *par, int reg, uint32_t val) { writel(val, par->dc_regs + 4*reg); } -static inline uint32_t read_vp(struct geodefb_par *par, int reg) +static inline uint32_t read_vp(struct gxfb_par *par, int reg) { return readl(par->vid_regs + 8*reg); } -static inline void write_vp(struct geodefb_par *par, int reg, uint32_t val) +static inline void write_vp(struct gxfb_par *par, int reg, uint32_t val) { writel(val, par->vid_regs + 8*reg); } -static inline uint32_t read_fp(struct geodefb_par *par, int reg) +static inline uint32_t read_fp(struct gxfb_par *par, int reg) { return readl(par->vid_regs + 8*reg + VP_FP_START); } -static inline void write_fp(struct geodefb_par *par, int reg, uint32_t val) +static inline void write_fp(struct gxfb_par *par, int reg, uint32_t val) { writel(val, par->vid_regs + 8*reg + VP_FP_START); } |