Module Name: src
Committed By: riastradh
Date: Tue Nov 19 15:49:44 UTC 2024
Modified Files:
src/sys/arch/hppa/dev: summitfb.c
Log Message:
hppa/summitfb(4): KNF
No functional change intended.
To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/hppa/dev/summitfb.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/hppa/dev/summitfb.c
diff -u src/sys/arch/hppa/dev/summitfb.c:1.1 src/sys/arch/hppa/dev/summitfb.c:1.2
--- src/sys/arch/hppa/dev/summitfb.c:1.1 Tue Nov 19 12:12:18 2024
+++ src/sys/arch/hppa/dev/summitfb.c Tue Nov 19 15:49:44 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: summitfb.c,v 1.1 2024/11/19 12:12:18 macallan Exp $ */
+/* $NetBSD: summitfb.c,v 1.2 2024/11/19 15:49:44 riastradh Exp $ */
/* $OpenBSD: sti_pci.c,v 1.7 2009/02/06 22:51:04 miod Exp $ */
@@ -25,6 +25,9 @@
* STI portions are from Miodrag Vallat's sti_pci.c
*/
+#include <sys/cdefs.h>
+__KERNEL_RCSID(0, "$NetBSD: summitfb.c,v 1.2 2024/11/19 15:49:44 riastradh Exp $");
+
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/kmem.h>
@@ -52,7 +55,7 @@
#ifdef SUMMITFB_DEBUG
#define DPRINTF(s) printf(s)
#else
-#define DPRINTF(s) /* */
+#define DPRINTF(s) __nothing
#endif
int summitfb_match(device_t, cfdata_t, void *);
@@ -95,7 +98,8 @@ struct summitfb_softc {
CFATTACH_DECL_NEW(summitfb, sizeof(struct summitfb_softc),
summitfb_match, summitfb_attach, NULL, NULL);
-int summitfb_readbar(struct sti_softc *, struct pci_attach_args *, u_int, int);
+int summitfb_readbar(struct sti_softc *, struct pci_attach_args *, u_int,
+ int);
int summitfb_check_rom(struct summitfb_softc *, struct pci_attach_args *);
void summitfb_enable_rom(struct sti_softc *);
void summitfb_disable_rom(struct sti_softc *);
@@ -111,27 +115,30 @@ int sti_rom_setup(struct sti_rom *, bus_
int sti_screen_setup(struct sti_screen *, int);
void sti_describe_screen(struct sti_softc *, struct sti_screen *);
-#define PCI_ROM_SIZE(mr) \
- (PCI_MAPREG_ROM_ADDR(mr) & -PCI_MAPREG_ROM_ADDR(mr))
+#define PCI_ROM_SIZE(mr) \
+ (PCI_MAPREG_ROM_ADDR(mr) & -PCI_MAPREG_ROM_ADDR(mr))
/* wsdisplay stuff */
static int summitfb_ioctl(void *, void *, u_long, void *, int,
- struct lwp *);
+ struct lwp *);
static paddr_t summitfb_mmap(void *, void *, off_t, int);
-static void summitfb_init_screen(void *, struct vcons_screen *, int, long *);
+static void summitfb_init_screen(void *, struct vcons_screen *, int,
+ long *);
-static int summitfb_putcmap(struct summitfb_softc *, struct wsdisplay_cmap *);
-static int summitfb_getcmap(struct summitfb_softc *, struct wsdisplay_cmap *);
+static int summitfb_putcmap(struct summitfb_softc *,
+ struct wsdisplay_cmap *);
+static int summitfb_getcmap(struct summitfb_softc *,
+ struct wsdisplay_cmap *);
static void summitfb_restore_palette(struct summitfb_softc *);
static int summitfb_putpalreg(struct summitfb_softc *, uint8_t, uint8_t,
- uint8_t, uint8_t);
+ uint8_t, uint8_t);
static inline void summitfb_setup_fb(struct summitfb_softc *);
static void summitfb_rectfill(struct summitfb_softc *, int, int, int, int,
- uint32_t);
+ uint32_t);
static void summitfb_bitblt(void *, int, int, int, int, int,
- int, int);
+ int, int);
static void summitfb_cursor(void *, int, int, int);
static void summitfb_putchar(void *, int, int, u_int, long);
@@ -142,19 +149,20 @@ static void summitfb_copyrows(void *, in
static void summitfb_eraserows(void *, int, int, long);
static void summitfb_move_cursor(struct summitfb_softc *, int, int);
-static int summitfb_do_cursor(struct summitfb_softc *, struct wsdisplay_cursor *);
+static int summitfb_do_cursor(struct summitfb_softc *,
+ struct wsdisplay_cursor *);
static void summitfb_set_video(struct summitfb_softc *, int);
struct wsdisplay_accessops summitfb_accessops = {
- summitfb_ioctl,
- summitfb_mmap,
- NULL, /* alloc_screen */
- NULL, /* free_screen */
- NULL, /* show_screen */
- NULL, /* load_font */
- NULL, /* pollc */
- NULL /* scroll */
+ .ioctl = summitfb_ioctl,
+ .mmap = summitfb_mmap,
+ .alloc_screen = NULL,
+ .free_screen = NULL,
+ .show_screen = NULL,
+ .load_font = NULL,
+ .pollc = NULL,
+ .scroll = NULL,
};
static inline void summitfb_wait_fifo(struct summitfb_softc *, uint32_t);
@@ -204,6 +212,7 @@ summitfb_read4(struct summitfb_softc *sc
struct sti_rom *rom = sc->sc_base.sc_rom;
bus_space_tag_t memt = rom->memt;
bus_space_handle_t memh = rom->regh[2];
+
return bus_space_read_stream_4(memt, memh, offset - 0x400000);
}
@@ -213,6 +222,7 @@ summitfb_write4(struct summitfb_softc *s
struct sti_rom *rom = sc->sc_base.sc_rom;
bus_space_tag_t memt = rom->memt;
bus_space_handle_t memh = rom->regh[2];
+
bus_space_write_stream_4(memt, memh, offset - 0x400000, val);
}
@@ -222,6 +232,7 @@ summitfb_read1(struct summitfb_softc *sc
struct sti_rom *rom = sc->sc_base.sc_rom;
bus_space_tag_t memt = rom->memt;
bus_space_handle_t memh = rom->regh[2];
+
return bus_space_read_1(memt, memh, offset);
}
@@ -231,6 +242,7 @@ summitfb_write1(struct summitfb_softc *s
struct sti_rom *rom = sc->sc_base.sc_rom;
bus_space_tag_t memt = rom->memt;
bus_space_handle_t memh = rom->regh[2];
+
bus_space_write_1(memt, memh, offset, val);
}
@@ -266,7 +278,7 @@ summitfb_attach(device_t parent, device_
sc->sc_base.sc_flags |= STI_CONSOLE;
is_console = 1;
}
- rom = (struct sti_rom *)kmem_zalloc(sizeof(*rom), KM_SLEEP);
+ rom = kmem_zalloc(sizeof(*rom), KM_SLEEP);
rom->rom_softc = &sc->sc_base;
ret = sti_rom_setup(rom, paa->pa_iot, paa->pa_memt, sc->sc_romh,
sc->sc_base.bases, STI_CODEBASE_MAIN);
@@ -292,13 +304,13 @@ summitfb_attach(device_t parent, device_
#endif
sc->sc_defaultscreen_descr = (struct wsscreen_descr){
- "default",
- 0, 0,
- NULL,
- 8, 16,
- WSSCREEN_WSCOLORS | WSSCREEN_HILIT | WSSCREEN_UNDERLINE |
- WSSCREEN_RESIZE,
- NULL
+ .name = "default",
+ .ncols = 0, .nrows = 0,
+ .textops = NULL,
+ .fontwidth = 8, .fontheight = 16,
+ .capabilities = WSSCREEN_WSCOLORS | WSSCREEN_HILIT |
+ WSSCREEN_UNDERLINE | WSSCREEN_RESIZE,
+ .modecookie = NULL,
};
sc->sc_screens[0] = &sc->sc_defaultscreen_descr;
@@ -327,11 +339,11 @@ summitfb_attach(device_t parent, device_
sc->sc_defaultscreen_descr.ncols = ri->ri_cols;
glyphcache_init(&sc->sc_gc, sc->sc_height + 5,
- sc->sc_scr.fbheight - sc->sc_height - 5,
- sc->sc_scr.fbwidth,
- ri->ri_font->fontwidth,
- ri->ri_font->fontheight,
- defattr);
+ sc->sc_scr.fbheight - sc->sc_height - 5,
+ sc->sc_scr.fbwidth,
+ ri->ri_font->fontwidth,
+ ri->ri_font->fontheight,
+ defattr);
summitfb_restore_palette(sc);
summitfb_rectfill(sc, 0, 0, sc->sc_width, sc->sc_height,
@@ -346,9 +358,7 @@ summitfb_attach(device_t parent, device_
}
/* no suspend/resume support yet */
- if (!pmf_device_register(sc->sc_dev, NULL, NULL))
- aprint_error_dev(sc->sc_dev,
- "couldn't establish power handler\n");
+ pmf_device_register(sc->sc_dev, NULL, NULL);
aa.console = is_console;
aa.scrdata = &sc->sc_screenlist;
@@ -391,10 +401,10 @@ summitfb_check_rom(struct summitfb_softc
address |= PCI_MAPREG_ROM_ENABLE;
pci_conf_write(pa->pa_pc, pa->pa_tag, PCI_MAPREG_ROM, address);
sc->sc_flags |= STI_ROM_ENABLED;
+
/*
* Map the complete ROM for now.
*/
-
romsize = PCI_ROM_SIZE(mask);
DPRINTF(("%s: mapping rom @ %lx for %lx\n", __func__,
(long)PCI_MAPREG_ROM_ADDR(address), (long)romsize));
@@ -423,8 +433,8 @@ summitfb_check_rom(struct summitfb_softc
summitfb_disable_rom_internal(spc);
if (offs == 0) {
aprint_error_dev(sc->sc_dev,
- "invalid PCI ROM header signature (%08x)\n",
- tmp);
+ "invalid PCI ROM header signature"
+ " (%08x)\n", tmp);
rc = EINVAL;
}
break;
@@ -569,8 +579,8 @@ fail2:
* Decode a BAR register.
*/
int
-summitfb_readbar(struct sti_softc *sc, struct pci_attach_args *pa, u_int region,
- int bar)
+summitfb_readbar(struct sti_softc *sc, struct pci_attach_args *pa,
+ u_int region, int bar)
{
bus_addr_t addr;
bus_size_t size;
@@ -579,7 +589,7 @@ summitfb_readbar(struct sti_softc *sc, s
if (bar == 0) {
sc->bases[region] = 0;
- return (0);
+ return 0;
}
#ifdef DIAGNOSTIC
@@ -598,14 +608,15 @@ summitfb_readbar(struct sti_softc *sc, s
if (rc != 0) {
summitfb_disable_rom(sc);
- aprint_error_dev(sc->sc_dev, "invalid bar %02x for region %d\n",
+ aprint_error_dev(sc->sc_dev, "invalid bar %02x"
+ " for region %d\n",
bar, region);
summitfb_enable_rom(sc);
- return (rc);
+ return rc;
}
sc->bases[region] = addr;
- return (0);
+ return 0;
}
/*
@@ -664,12 +675,14 @@ static inline void
summitfb_wait(struct summitfb_softc *sc)
{
- do {} while (summitfb_read4(sc, VISFX_STATUS) != 0);
+ while (summitfb_read4(sc, VISFX_STATUS) != 0)
+ continue;
}
static inline void
summitfb_setup_fb(struct summitfb_softc *sc)
{
+
sc->sc_hwmode = HW_FB;
summitfb_wait(sc);
summitfb_write4(sc, VISFX_VRAM_WRITE_MODE, VISFX_WRITE_MODE_PLAIN);
@@ -690,7 +703,7 @@ summitfb_setup(struct summitfb_softc *sc
* one of these puts us into 8bit FB access mode
*/
#if 1
- summitfb_write4(sc, 0xb08044, 0x1b);
+ summitfb_write4(sc, 0xb08044, 0x1b);
summitfb_write4(sc, 0xb08048, 0x1b);
summitfb_write4(sc, 0x920860, 0xe4);
summitfb_write4(sc, 0xa00818, 0);
@@ -711,7 +724,7 @@ summitfb_setup(struct summitfb_softc *sc
static int
summitfb_ioctl(void *v, void *vs, u_long cmd, void *data, int flag,
- struct lwp *l)
+ struct lwp *l)
{
struct vcons_data *vd = v;
struct summitfb_softc *sc = vd->cookie;
@@ -740,7 +753,7 @@ summitfb_ioctl(void *v, void *vs, u_long
case WSDISPLAYIO_GINFO:
if (ms == NULL)
return ENODEV;
- wdf = (void *)data;
+ wdf = data;
wdf->height = ms->scr_ri.ri_height;
wdf->width = ms->scr_ri.ri_width;
wdf->depth = ms->scr_ri.ri_depth;
@@ -760,7 +773,8 @@ summitfb_ioctl(void *v, void *vs, u_long
return 0;
case WSDISPLAYIO_SMODE: {
- int new_mode = *(int*)data;
+ int new_mode = *(int *)data;
+
if (new_mode != sc->sc_mode) {
sc->sc_mode = new_mode;
if(new_mode == WSDISPLAYIO_MODE_EMUL) {
@@ -774,51 +788,46 @@ summitfb_ioctl(void *v, void *vs, u_long
summitfb_set_video(sc, 1);
}
}
- }
return 0;
+ }
- case WSDISPLAYIO_GET_FBINFO:
- {
- struct wsdisplayio_fbinfo *fbi = data;
- int ret;
-
- ret = wsdisplayio_get_fbinfo(&ms->scr_ri, fbi);
- fbi->fbi_fbsize = sc->sc_scr.fbheight * 2048;
- return ret;
- }
+ case WSDISPLAYIO_GET_FBINFO: {
+ struct wsdisplayio_fbinfo *fbi = data;
+ int ret;
+
+ ret = wsdisplayio_get_fbinfo(&ms->scr_ri, fbi);
+ fbi->fbi_fbsize = sc->sc_scr.fbheight * 2048;
+ return ret;
+ }
- case WSDISPLAYIO_GCURPOS:
- {
- struct wsdisplay_curpos *cp = (void *)data;
+ case WSDISPLAYIO_GCURPOS: {
+ struct wsdisplay_curpos *cp = data;
- cp->x = sc->sc_cursor_x;
- cp->y = sc->sc_cursor_y;
- }
+ cp->x = sc->sc_cursor_x;
+ cp->y = sc->sc_cursor_y;
return 0;
+ }
- case WSDISPLAYIO_SCURPOS:
- {
- struct wsdisplay_curpos *cp = (void *)data;
+ case WSDISPLAYIO_SCURPOS: {
+ struct wsdisplay_curpos *cp = data;
- summitfb_move_cursor(sc, cp->x, cp->y);
- }
+ summitfb_move_cursor(sc, cp->x, cp->y);
return 0;
+ }
- case WSDISPLAYIO_GCURMAX:
- {
- struct wsdisplay_curpos *cp = (void *)data;
+ case WSDISPLAYIO_GCURMAX: {
+ struct wsdisplay_curpos *cp = data;
- cp->x = 64;
- cp->y = 64;
- }
+ cp->x = 64;
+ cp->y = 64;
return 0;
+ }
- case WSDISPLAYIO_SCURSOR:
- {
- struct wsdisplay_cursor *cursor = (void *)data;
+ case WSDISPLAYIO_SCURSOR: {
+ struct wsdisplay_cursor *cursor = data;
- return summitfb_do_cursor(sc, cursor);
- }
+ return summitfb_do_cursor(sc, cursor);
+ }
case WSDISPLAYIO_SVIDEO:
summitfb_set_video(sc, *(int *)data);
@@ -872,11 +881,11 @@ summitfb_init_screen(void *cookie, struc
ri->ri_bits = (void *)sc->sc_scr.fbaddr;
rasops_init(ri, 0, 0);
ri->ri_caps = WSSCREEN_WSCOLORS | WSSCREEN_HILIT | WSSCREEN_UNDERLINE |
- WSSCREEN_RESIZE;
+ WSSCREEN_RESIZE;
scr->scr_flags |= VCONS_LOADFONT | VCONS_DONT_READ;
rasops_reconfig(ri, sc->sc_height / ri->ri_font->fontheight,
- sc->sc_width / ri->ri_font->fontwidth);
+ sc->sc_width / ri->ri_font->fontwidth);
ri->ri_hw = scr;
if (0) {
@@ -972,9 +981,10 @@ summitfb_restore_palette(struct summitfb
}
static int
-summitfb_putpalreg(struct summitfb_softc *sc, uint8_t idx, uint8_t r, uint8_t g,
- uint8_t b)
+summitfb_putpalreg(struct summitfb_softc *sc, uint8_t idx,
+ uint8_t r, uint8_t g, uint8_t b)
{
+
mutex_enter(&sc->sc_hwlock);
summitfb_write4(sc, VISFX_COLOR_INDEX, 0xc0005100 + idx);
summitfb_write4(sc, VISFX_COLOR_VALUE, (r << 16) | ( g << 8) | b);
@@ -990,6 +1000,7 @@ summitfb_wait_fifo(struct summitfb_softc
{
#if 0
uint32_t reg;
+
do {
reg = summitfb_read4(sc, NGLE_REG_34);
} while (reg < slots);
@@ -998,8 +1009,9 @@ summitfb_wait_fifo(struct summitfb_softc
static void
summitfb_rectfill(struct summitfb_softc *sc, int x, int y, int wi, int he,
- uint32_t bg)
+ uint32_t bg)
{
+
summitfb_wait(sc);
summitfb_write4(sc, VISFX_VRAM_WRITE_MODE, VISFX_WRITE_MODE_FILL);
summitfb_write4(sc, VISFX_FG_COLOUR, bg);
@@ -1010,7 +1022,7 @@ summitfb_rectfill(struct summitfb_softc
static void
summitfb_bitblt(void *cookie, int xs, int ys, int xd, int yd, int wi,
- int he, int rop)
+ int he, int rop)
{
#if 0
struct summitfb_softc *sc = cookie;
@@ -1057,8 +1069,7 @@ summitfb_cursor(void *cookie, int on, in
}
ri->ri_crow = row;
ri->ri_ccol = col;
- } else
- {
+ } else {
ri->ri_crow = row;
ri->ri_ccol = col;
ri->ri_flg &= ~RI_CURSOR;
@@ -1172,8 +1183,8 @@ summitfb_copycols(void *cookie, int row,
if ((sc->sc_locked == 0) && (sc->sc_mode == WSDISPLAYIO_MODE_EMUL)) {
if (ri->ri_crow == row &&
- (ri->ri_ccol >= srccol && ri->ri_ccol < (srccol + ncols)) &&
- (ri->ri_flg & RI_CURSOR)) {
+ ri->ri_ccol >= srccol && ri->ri_ccol < (srccol + ncols) &&
+ (ri->ri_flg & RI_CURSOR)) {
summitfb_nuke_cursor(ri);
}
@@ -1184,13 +1195,14 @@ summitfb_copycols(void *cookie, int row,
height = ri->ri_font->fontheight;
summitfb_bitblt(sc, xs, y, xd, y, width, height, RopSrc);
if (ri->ri_crow == row &&
- (ri->ri_ccol >= dstcol && ri->ri_ccol < (dstcol + ncols)))
+ ri->ri_ccol >= dstcol && ri->ri_ccol < (dstcol + ncols))
ri->ri_flg &= ~RI_CURSOR;
}
}
static void
-summitfb_erasecols(void *cookie, int row, int startcol, int ncols, long fillattr)
+summitfb_erasecols(void *cookie, int row, int startcol, int ncols,
+ long fillattr)
{
struct rasops_info *ri = cookie;
struct vcons_screen *scr = ri->ri_hw;
@@ -1206,7 +1218,8 @@ summitfb_erasecols(void *cookie, int row
summitfb_rectfill(sc, x, y, width, height, ri->ri_devcmap[bg]);
if (ri->ri_crow == row &&
- (ri->ri_ccol >= startcol && ri->ri_ccol < (startcol + ncols)))
+ ri->ri_ccol >= startcol &&
+ ri->ri_ccol < (startcol + ncols))
ri->ri_flg &= ~RI_CURSOR;
}
}
@@ -1220,8 +1233,8 @@ summitfb_copyrows(void *cookie, int srcr
int32_t x, ys, yd, width, height;
if ((sc->sc_locked == 0) && (sc->sc_mode == WSDISPLAYIO_MODE_EMUL)) {
- if ((ri->ri_crow >= srcrow && ri->ri_crow < (srcrow + nrows)) &&
- (ri->ri_flg & RI_CURSOR)) {
+ if (ri->ri_crow >= srcrow && ri->ri_crow < (srcrow + nrows) &&
+ (ri->ri_flg & RI_CURSOR)) {
summitfb_nuke_cursor(ri);
}
x = ri->ri_xorigin;
@@ -1291,19 +1304,17 @@ summitfb_move_cursor(struct summitfb_sof
static int
summitfb_do_cursor(struct summitfb_softc *sc, struct wsdisplay_cursor *cur)
{
- if (cur->which & WSDISPLAY_CURSOR_DOCUR) {
+ if (cur->which & WSDISPLAY_CURSOR_DOCUR) {
sc->sc_enabled = cur->enable;
cur->which |= WSDISPLAY_CURSOR_DOPOS;
}
if (cur->which & WSDISPLAY_CURSOR_DOHOT) {
-
sc->sc_hot_x = cur->hot.x;
sc->sc_hot_y = cur->hot.y;
cur->which |= WSDISPLAY_CURSOR_DOPOS;
}
if (cur->which & WSDISPLAY_CURSOR_DOPOS) {
-
summitfb_move_cursor(sc, cur->pos.x, cur->pos.y);
}
if (cur->which & WSDISPLAY_CURSOR_DOCMAP) {
@@ -1424,6 +1435,7 @@ summitfb_do_cursor(struct summitfb_softc
static void
summitfb_set_video(struct summitfb_softc *sc, int on)
{
+
if (sc->sc_video_on == on)
return;