mirror of
https://github.com/opnsense/src.git
synced 2026-06-09 00:32:25 -04:00
- Change some softc members to be unsigned where more appropriate.
- Add some missing const. - Move the size of the window spun by the registers to the softc as neither using va_mem_size for this nor va_mem_base for the start of the bus addresses is appropriate. MFC after: 1 week
This commit is contained in:
parent
113eaf9bda
commit
db6bbcd2dc
1 changed files with 14 additions and 16 deletions
|
|
@ -66,12 +66,13 @@ struct creator_softc {
|
|||
struct resource *sc_reg[FFB_NREG];
|
||||
bus_space_tag_t sc_bt[FFB_NREG];
|
||||
bus_space_handle_t sc_bh[FFB_NREG];
|
||||
u_long sc_reg_size;
|
||||
|
||||
int sc_height;
|
||||
int sc_width;
|
||||
u_int sc_height;
|
||||
u_int sc_width;
|
||||
|
||||
int sc_xmargin;
|
||||
int sc_ymargin;
|
||||
u_int sc_xmargin;
|
||||
u_int sc_ymargin;
|
||||
|
||||
const u_char *sc_font;
|
||||
|
||||
|
|
@ -82,7 +83,7 @@ struct creator_softc {
|
|||
int sc_fontw_cache;
|
||||
int sc_pmask_cache;
|
||||
|
||||
int sc_flags;
|
||||
u_int sc_flags;
|
||||
#define CREATOR_AFB (1 << 0)
|
||||
#define CREATOR_CONSOLE (1 << 1)
|
||||
#define CREATOR_CUREN (1 << 2)
|
||||
|
|
@ -96,7 +97,7 @@ struct creator_softc {
|
|||
bus_space_write_4((sc)->sc_bt[(reg)], (sc)->sc_bh[(reg)], (off), (val))
|
||||
|
||||
#define C(r, g, b) ((b << 16) | (g << 8) | (r))
|
||||
static const uint32_t creator_cmap[] = {
|
||||
static const uint32_t const creator_cmap[] = {
|
||||
C(0x00, 0x00, 0x00), /* black */
|
||||
C(0x00, 0x00, 0xff), /* blue */
|
||||
C(0x00, 0xff, 0x00), /* green */
|
||||
|
|
@ -120,7 +121,7 @@ static const struct {
|
|||
vm_offset_t virt;
|
||||
vm_paddr_t phys;
|
||||
vm_size_t size;
|
||||
} creator_fb_map[] = {
|
||||
} const creator_fb_map[] = {
|
||||
{ FFB_VIRT_SFB8R, FFB_PHYS_SFB8R, FFB_SIZE_SFB8R },
|
||||
{ FFB_VIRT_SFB8G, FFB_PHYS_SFB8G, FFB_SIZE_SFB8G },
|
||||
{ FFB_VIRT_SFB8B, FFB_PHYS_SFB8B, FFB_SIZE_SFB8B },
|
||||
|
|
@ -252,8 +253,6 @@ static video_switch_t creatorvidsw = {
|
|||
.clear = creator_clear,
|
||||
.fill_rect = creator_fill_rect,
|
||||
.bitblt = creator_bitblt,
|
||||
NULL, /* XXX brain damage */
|
||||
NULL, /* XXX brain damage */
|
||||
.diag = creator_diag,
|
||||
.save_cursor_palette = creator_save_cursor_palette,
|
||||
.load_cursor_palette = creator_load_cursor_palette,
|
||||
|
|
@ -271,7 +270,7 @@ RENDERER(creator, 0, txtrndrsw, gfb_set);
|
|||
|
||||
RENDERER_MODULE(creator, gfb_set);
|
||||
|
||||
static const u_char creator_mouse_pointer[64][8] __aligned(8) = {
|
||||
static const u_char const creator_mouse_pointer[64][8] __aligned(8) = {
|
||||
{ 0x00, 0x00, }, /* ............ */
|
||||
{ 0x80, 0x00, }, /* *........... */
|
||||
{ 0xc0, 0x00, }, /* **.......... */
|
||||
|
|
@ -953,20 +952,19 @@ creator_bus_attach(device_t dev)
|
|||
sc->sc_bh[i] = rman_get_bushandle(sc->sc_reg[i]);
|
||||
}
|
||||
/*
|
||||
* The XFree86/Xorg sunffb(4) expects to be able to access the
|
||||
* The XFree86/X.Org sunffb(4) expects to be able to access the
|
||||
* memory spanned by the first and the last resource as one chunk
|
||||
* via creator_fb_mmap(), using offsets from the first resource,
|
||||
* even though the backing resources are actually non-continuous.
|
||||
* So make sure that the memory we provide is at least backed by
|
||||
* increasing resources.
|
||||
*/
|
||||
adp->va_mem_base = rman_get_start(sc->sc_reg[0]);
|
||||
for (i = 1; i < FFB_NREG && sc->sc_reg[i] != NULL &&
|
||||
rman_get_start(sc->sc_reg[i]) > rman_get_start(sc->sc_reg[i - 1]);
|
||||
i++)
|
||||
;
|
||||
adp->va_mem_size = rman_get_end(sc->sc_reg[i - 1]) -
|
||||
adp->va_mem_base + 1;
|
||||
sc->sc_reg_size = rman_get_end(sc->sc_reg[i - 1]) -
|
||||
rman_get_start(sc->sc_reg[0]) + 1;
|
||||
|
||||
if (!(sc->sc_flags & CREATOR_CONSOLE)) {
|
||||
if ((sw = vid_get_switch(CREATOR_DRIVER_NAME)) == NULL) {
|
||||
|
|
@ -1058,7 +1056,7 @@ creator_fb_mmap(struct cdev *dev, vm_offset_t offset, vm_paddr_t *paddr,
|
|||
|
||||
/*
|
||||
* NB: This is a special implementation based on the /dev/fb
|
||||
* requirements of the XFree86/Xorg sunffb(4).
|
||||
* requirements of the XFree86/X.Org sunffb(4).
|
||||
*/
|
||||
sc = dev->si_drv1;
|
||||
for (i = 0; i < CREATOR_FB_MAP_SIZE; i++) {
|
||||
|
|
@ -1066,7 +1064,7 @@ creator_fb_mmap(struct cdev *dev, vm_offset_t offset, vm_paddr_t *paddr,
|
|||
offset < creator_fb_map[i].virt + creator_fb_map[i].size) {
|
||||
offset += creator_fb_map[i].phys -
|
||||
creator_fb_map[i].virt;
|
||||
if (offset >= sc->sc_va.va_mem_size)
|
||||
if (offset >= sc->sc_reg_size)
|
||||
return (EINVAL);
|
||||
*paddr = sc->sc_bh[0] + offset;
|
||||
return (0);
|
||||
|
|
|
|||
Loading…
Reference in a new issue