Commit Graph

69 Commits

Author SHA1 Message Date
bjh21 7fa10fa259 Rather than explicitly masking and sign-extending 16-bit integers, use
u_int16_t and int16_t for the X and Y count registers.  GCC produces better
code this way.
2002-06-20 19:33:36 +00:00
bjh21 c62bc841d0 Rather than explicitly masking and sign-extending 16-bit integers, use
u_int16_t and int16_t for the X and Y count registers.  GCC produces better
code this way.

Also, initialise the stored state in wsqms_enable(), so that the mouse doesn't
warp to a random position on open.
2002-06-20 19:33:20 +00:00
bjh21 4244560bbc More wsqms cleanups:
sc_flags was never read.  G/C it.
wsqms_attach() took two arguments that pointed to the same structure.  G/C one
  of them
Since wsqms controls the same device as qms, have it match the same attach
  args.
2002-06-19 23:49:14 +00:00
bjh21 cccb2d97a7 ANSIfy, un-__P, clean comments a little. 2002-06-19 23:12:14 +00:00
bjh21 26f6ad6038 Un-__P. Clean up comments. 2002-06-19 23:05:07 +00:00
bjh21 f793a16211 Substantial overhaul of the wsqms driver:
Use a callout rather than hanging off the VSYNC interrupt.
Don't emit WSMOUSE_INPUT_ABSOLUTE events, since this isn't an absolute device.
Handle counter wrap-around sensibly, rather than limiting counts.
Don't gratuitously copy sc->sc_dev onto itself at attach time.
2002-06-19 23:02:58 +00:00
bjh21 a7f527777e Move over to using a 6:5:5 R:G:B palette in 16-bit display modes, and abstract
the palette generation to work with arbitrary numbers of bits.
This allows X to work after a fashion, since it tries to put the VIDC into
a 6:5:5 mode itself (which we ignore).  Anything that actually tries to take
advantage of the DirectColor visual it offers will still be screwed, but I
hope such applications are rare.
2002-06-19 22:42:02 +00:00
bjh21 1dda0b462c Kill off vidcvideo_textpalette() again, but better.
This time, vidcvideo_stdpalette() uses vidcvideo_write(), as it should, and
correctly initialises the paletter in 16bpp and (I hope) 32 bpp modes.
This fixes the colours on the text console in 16bpp modes.  32bpp seems to be
generally broken anyway.
2002-06-17 21:00:13 +00:00
bjh21 f4de492459 Parenthesise arguments to VIDC_BLUE and VIDC_GREEN correctly. 2002-06-16 14:53:24 +00:00
bjh21 0501229019 Revert last. vidcvideo_textpalette() and vidcvideo_stdpalette set the palette
by different means.
2002-06-16 14:02:04 +00:00
bjh21 fe2313a380 vidcvideo_stdpalette() and vidcvideo_textpalette() do precisely the same thing.
G/C the latter and change its only caller to use the former.
2002-06-16 13:38:12 +00:00
bjh21 a246f35cb2 Un-__P, ANSIfy, clean up comments. 2002-06-16 13:25:02 +00:00
bjh21 00ae586c6d None of the children of vidc now use their aux pointer, so there's no need
to set it, and vidcprint isn't needed to print it.  G/C all that code, and
most of the rest of vidcsearch too.
This also means that the locators on vidc's children are unused, so G/C them
as well.
2002-06-16 13:20:14 +00:00
bjh21 fe5dfeb33a struct lmcaudio_softc.iobase was unused other than to initialise it. G/C it.
This also means that the "aux" parameter to lmcaudio_attach is unused.
2002-06-16 12:38:11 +00:00
bjh21 cb54bb1599 struct vidcaudio_softc.iobase was unused other than to initialise it. G/C it.
This also means that the "aux" parameter to vidcaudio_attach is unused.
2002-06-16 12:36:42 +00:00
bjh21 1ee77efc62 Un-__P, ANSIfy, KNF. 2002-06-16 12:33:41 +00:00
bjh21 feccadb213 Un-__P, ANSIfy and light KNF. 2002-06-16 12:30:13 +00:00
bjh21 c20d5eb645 sc_iobase wasn't used, except to initialiase it at attach time. Kill it.
Hence remove all uses of "aux".
2002-06-16 12:24:23 +00:00
bjh21 125a3becb6 Pull out config(8) input for arch/arm/iomd code into files.iomd, since that's
clearly where it belongs.  Normalise the whitespace in the moved text.
2002-06-16 12:11:23 +00:00
bjh21 452a764a15 Don't identify all VIDCs as "vidc20". Instead, print something appropriate
based on the type of IOMD in the system (which we use anyway to work out
the VCO reference clock frequency).
2002-06-06 21:03:28 +00:00
mycroft 47c99ba59e Fix off-by-one error in delay(). 2002-05-02 22:01:46 +00:00
wiz d79f4782b6 Complete renaming of opms to opms (was partly named pms, externally and
internally).  Move arm/iomd/pms* to arm/iomd/opms*. Mechanical change,
tested by cross-compiling a kernel from i386.

Approved by christos.

XXX: What are arm/arm32/conf.c and arm/include/conf.h good for?
2002-04-19 01:04:38 +00:00
thorpej 59c9e94b72 vm_offset_t -> vaddr_t,paddr_t 2002-04-10 19:35:22 +00:00
thorpej 991426d348 * Rewrite the 32-bit ARM pte.h based on the ARM architecture manual.
Significant cleanup, here, including better PTE bit names.
* Add XScale PTE extensions (ECC enable, write-allocate cache mode).
* Mechanical changes everywhere else to update for new pte.h.  While
  doing this, two bugs (as a result of typos) were fixed in

	arm/arm32/bus_dma.c
	evbarm/integrator/int_bus_dma.c
2002-04-05 16:58:01 +00:00
thorpej 22e72c8da2 Don't need to mask w/ PG_FRAME. 2002-04-04 16:56:36 +00:00
reinoud c85015ee71 Also provide differential coordinate updates... pitty it can't be choosen
or specified in wscons itself. The absolute coordinates are broadcasted
_after_ the relative so a program that takes both won't get confused.
2002-04-04 01:03:23 +00:00
thorpej d8ab0d1e84 Remove unused extern decls. 2002-04-03 21:06:21 +00:00
reinoud 9fc5cf5824 Fix the mmap'ing of the screen memory. The way it was implemented
completely sucked... I wonder how it was even working (....)

Thanks to Jason for pointing out the problem.
2002-04-03 16:03:50 +00:00
reinoud d1f811363a Only include the vidc_machdep.h file when we're compiling the kernel 2002-03-30 17:10:31 +00:00
thorpej aa1563948c * arm_byte_to_page() -> arm_btop()
* arm_page_to_byte() -> arm_ptob()
2002-03-24 03:37:18 +00:00
reinoud 2b488a7d9f Big rototil of the vidcvideo code to cleanup illogical structures and to
incorporate write back support for processors not having a write through
cache.

The current fb_devconfig structure now really holds the device's
configuration and the softc really only holds the attachment information.
This used to be mixed giving rise to weird stuctures and cross references.

The number of vertical syncs before the video memory writeback is triggered
is configurable ... default is to wait for 5 Vsync .. aprox minumum 10
times a second, but more likely in the order of 12,5 times a second. When
printing is in progress no write back is performed... only after the
waiting time. The reasoning behind this is that as long as the screen is
printed too the cache will be purged of dirty data anyway due to the
processing and new screen memory useage.
2002-03-23 21:27:41 +00:00
reinoud 2d2df858f7 Fix up typos. 2002-03-23 18:10:24 +00:00
reinoud fe2473fafd Fix typo. 2002-03-23 17:10:13 +00:00
reinoud 89400b4aab Allthough this patch doesn't look that much it adds a few things that were
on the port-acorn32's TODO list for quite some time :

- when the serial console is selected, don't exclude the screen
alltogether; currently the keyboard is still not attached but that might be
a configuration problem in the GENERIC console or a failure to explicitly
connect to a wsmux. This needs further investigation.

- create a framework for the display memory writeback on vsync for
StrongARM processors since they don't have a write-trough cache. This is to
solve the lazy screen update that is very evident in single user mode on
these processors; the cache isn't flushed/written back that often and parts
of the screen can thus be resident in the cache but not written out to
memory yet.

- clean up some loose ends in the code.
2002-03-23 02:00:26 +00:00
reinoud 12d0f60218 If the serial console is asked for then dont forget to define the function
prototype for connecting the serial console....
2002-03-22 13:32:51 +00:00
atatat 31144d9976 Convert ioctl code to use EPASSTHROUGH instead of -1 or ENOTTY for
indicating an unhandled "command".  ERESTART is -1, which can lead to
confusion.  ERESTART has been moved to -3 and EPASSTHROUGH has been
placed at -4.  No ioctl code should now return -1 anywhere.  The
ioctl() system call is now properly restartable.
2002-03-17 19:40:26 +00:00
reinoud 1a19ddabcd Some cosmetic changes.... 2002-03-15 13:33:19 +00:00
ad b89e39b91a Reorganise the wsfont stuff slightly so that multiple display adapters
with different bit/byte order requirements can co-exist happily.
2002-03-13 15:05:13 +00:00
bjh21 a42e17ae9a __RCSID -> __KERNEL_RCSID 2002-03-10 15:47:43 +00:00
bjh21 ff94cc2ad5 Add prototype for getkey_polled(). 2002-02-18 19:05:35 +00:00
bjh21 d4d3aa6468 Add internal prototype for cmd_mouse().
Also __RCSID() while I'm here.
2002-02-18 18:58:47 +00:00
bjh21 eb821c3860 Add a prototype for qms_console_freeze(). 2002-02-18 18:43:55 +00:00
bjh21 1e6835687e Rename prototype from sysbeep_vidc() to sysbeep() to match definition.
Pull in beepvar.h and vidcaudiovar.h for beep_generate() and
vidcaudio_beep_generate() prototypes.
__RCSID().
2002-02-18 16:23:54 +00:00
bjh21 2712a10c7c Add a prototype for vidcvideo_config_wscons(). 2002-02-18 14:30:20 +00:00
bjh21 761157905a Add prototypes to all declarations of function pointers.
Include <arch/arm/iomd/vidcaudiovar.h> for vidcaudio_beep_generate() prototype.
Add in-core RCSID.
2002-02-18 12:55:47 +00:00
bjh21 a06b71e864 Add a vidcaudiovar.h to contain a prototype for vidcaudio_beep_generate(). 2002-02-18 12:52:09 +00:00
bjh21 2aa99b4f12 Include <arch/arm/iomd/beepvar.h> for beep_generate() prototype.
Include <machine/conf.h> for cdevsw function prototypes.
Correct argument types of beepioctl().
Add in-core RCSID.
2002-02-18 12:36:27 +00:00
bjh21 668fc0d2b7 Add beepvar.h, to hold a prototype for beep_generate(). 2002-02-18 12:34:11 +00:00
bjh21 c1f8e3aa21 Comment out vidcvideo_setbase() (it's unused).
Remove vidcvideo_mmap() (it's redundant).
Add in-core RCSID.
2002-02-18 12:23:24 +00:00
bjh21 1a140d2090 Add prototypes for clockhandler() and statclockhandler(), and adjust their
argument types to match other interrupt handlers.
Also minor KNF (add in-core RCSID).
2002-02-18 12:18:26 +00:00