Commit Graph

29 Commits

Author SHA1 Message Date
christos
d43c4580f1 s/long/intptr_t/ 2009-02-21 17:24:47 +00:00
dogcow
f2437436f6 sparc complains "cast to pointer from integer of different size"; cast the
int to (void *)(long).
2009-02-20 08:04:15 +00:00
jmcneill
90c7459808 If the bus glue provides an ioctl handler, don't return before we have a
chance to perform generic handling in the WSDISPLAYIO_SMODE case.

ok macallan
2009-02-20 00:08:00 +00:00
jmcneill
3bc515352f Use kmem_alloc instead of malloc for shadowfb 2009-02-17 17:01:41 +00:00
jmcneill
28f60a7907 Print the physical address if available instead of a virtual address. 2009-02-17 02:41:11 +00:00
jmcneill
d994f000f0 Add clear-screen and cursor-row properties to allow genfb to persist
screen state from the MD console driver.
2009-02-17 02:19:33 +00:00
jmcneill
e04f5ff1b4 Provide callbacks so MD code can explicitly prevent genfb from matching;
works around vga/genfb deathmatches.
2009-02-16 22:24:40 +00:00
jmcneill
ec798a6e6c Introduce genfb_ops genfb_borrow callback to allow the bus frontend to
lend mappings to drm.
2009-02-15 18:41:49 +00:00
jmcneill
a71612a2f8 Provide a stub genfb_cnattach for md code to call to give a hint to the
bus driver's match function to return a higher confidence (so it can
beat out vga(4), for example). genfb needs-flag so md code can determine
if the genfb driver is present.
2009-02-14 20:33:58 +00:00
martin
3028e483e4 Convert to new 2 clause license 2008-04-29 06:53:00 +00:00
cegger
3069a1f144 use aprint_*_dev and device_xname 2008-04-05 15:50:49 +00:00
phx
aec8e8230f missing newline in message 2008-03-09 21:33:17 +00:00
phx
7bca1efe39 Do not attach genfb when the frame buffer is not flagged as being console
(e.g. when a serial console is used).
Approved by macallan.
2008-03-09 20:32:30 +00:00
macallan
852515ae5f deal with a bug in the Sun Raptor's firmware which reports
linebytes == width even in 32bit colour
2007-12-17 15:38:31 +00:00
macallan
7e95514fdc sprinkle \n 2007-11-19 04:00:39 +00:00
macallan
f59f835fa4 don't panic if we're not finding all the properties we need. Just complain
quietly and return.
2007-11-05 16:57:46 +00:00
ad
a2a3828545 machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h 2007-10-19 11:59:34 +00:00
jmmv
d2525db73d Clear the screen during initialization so that the first messages are not
printed over "unknown garbage" (e.g. the Mac OS desktop).  Agreed with
macallan@.
2007-08-30 15:40:41 +00:00
jmmv
088cadb7c3 Print some details of the framebuffer configuration during attach.
OK'ed by macallan@.
2007-08-30 13:36:27 +00:00
jmmv
90ad1537c2 Properly initialize the palette registers by calling the colormap callback
on all of them.  A typo made it only initialize half of them.  OK'ed by
macallan@.
2007-08-30 13:32:18 +00:00
macallan
a3b32b42df use bool with prop_dictionary_get_bool() 2007-08-24 19:12:21 +00:00
macallan
84b4b152a9 fix typo - fbsize is /height/ * stride. Doh. 2007-08-05 03:23:02 +00:00
macallan
42284ad7c0 add shadow fb support
now genfb is actually usable even on slow PCI framebuffers. Yay Jared :)
2007-08-04 23:51:37 +00:00
macallan
aa2949fa77 add a callback to change the colour map
so now X with wsfb on top of genfb should look right
2007-04-14 19:56:05 +00:00
macallan
70eab97a3a add WSDISPLAYIO_LINEBYTES support so we can run XFree86 with wsfb 2007-04-11 04:47:09 +00:00
macallan
32376f5c18 pull in rasops1 and rasops32 2007-04-11 04:46:33 +00:00
macallan
13daabb045 move genfb's PCI frontend to dev/pci 2007-04-10 02:16:47 +00:00
macallan
66d86be89a - move all memory mapping into the bus frontend
- get rid of macppc-isms like *_mmap() returning physical addresses
2007-04-10 00:14:42 +00:00
macallan
4cf8aa1d7f add genfb, a generic framebuffer console driver that's configured via
device properties - all it needs is width and height in pixels, stride in
bytes, depth in bits and the framebuffer address.
Features:
- unaccelerated fb console with colours and virtual consoles
- split into console handling and bus frontend
- so far there is only a PCI bus frontend which allows to mmap BARs belonging
  to the graphics controller, others should be easy to add.

TODO:
- find an opaque way to change the palette ( probably pass a function
  pointer as property ) since this would need to call some firmware interface
  which is pretty much always MD
- find a clean way to mmap the framebuffer, just returning the physical
  address works on macppc but not on other architectures. Problem is, that
  we cannot rely on the address being a bus address - on macppc it is,
  but for instance on sparc64 it's not.
2007-04-07 03:41:26 +00:00