1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-22 11:17:19 +00:00
freebsd/sys/dev
Marius Strobl 0a710885bd Add machfb(4), a driver for ATI Mach64 graphics chips intended for
use with syscons(4) on sparc64. It's based on the respective NetBSD
driver with some additional info (initialisation/hardware cursor)
obtained from the Xorg 'ati' driver and some ideas taken from
creator(4). ATI Mach64 chips ("ATI Rage") are quite common as low-
end graphics chips in PCI-based sun4u machines and are used on-board
in e.g. Blade 100 and a couple of OEM products. Most if not all of
the Sun PGX add-on cards family (descriptions of the PGX32 are
conflicting but most say it's a Rage Pro) are also based on these
chips. Depending on the version of the OBP Mach64 cards destined for
use in i386 machines also work in sun4u machines.
The driver uses pixel mode with hardware acceleration as far as
syscons(4) currently permits on sparc64 so text mode is already
quite fast. The hardware cursor is used for the mouse pointer;
for one because this is a "restriction" induced in syscons(4) on
sparc64 by creator(4) and also because of issues with mapping
the aperture when used as a low-level early during boot. Due to
insufficiencies in the available documentation I didn't manage to
get mode switch work properly (sync problems), yet. So for now
this driver relies on the OBP having initialised a mode (as does
creator(4)). On all of the tested machines is even true when using
a serial console (and also not only when the OBP switched to a
serial console because no keyboard is present). In general however
the states the Mach64 chips are left in by the OBP vary a lot
depending on the version of the OBP. This e.g. includes the aperture
not being mapped in even when used as the console and the OBP just
barfing when asked to map it. The latter is also the reason for the
existence of this native driver in FreeBSD rather than taking an
OFW frambuffer approach.
Xorg is also happy to talk to these chips by mmap'ing them through
this driver. For some hardware configs like on the Blade 100 a fix
for the Xorg sparc64 MD bus code is however needed (added in version
6.8.2_2 of the xorg-server port).
The video driver font loading and saving methods are not implemented,
yet, as syscons(4) needs more work in that area to work viable on
sparc64.
With minor modifications machfb(4) would most likely also work on
powerpc, when #ifdef'ing the OFW and possibly implementing mode
setting probably also on the other archs. The latter is however
not very practible at the moment as it would conflict with vga(4).

Tested/developed with:	Rage II+ add-on card on AX1105 and AXi board,
			AXe board (on-board Rage Pro)
Additional testing by:	marcel (Ultra 5 w/ on-board Rage Pro),
			scottl (Naturetech GENIALstation 777S w/ on-board
			Rage Mobility M1),
			Michiel Boland and Ilmar S. Habibulin (Blade 100
			w/ on-board Rage XL)
2005-05-21 20:47:38 +00:00
..
aac Fix some busdma API violations in the dumpsys handler. 2005-05-02 22:56:52 +00:00
acpi_support Fix my copyright. 2005-05-14 10:51:16 +00:00
acpica If devclass_get_devices() returns success but a count of 0, free the 2005-05-20 05:00:43 +00:00
adlink Instead of a rather useless generation number, use a sample number to 2005-03-19 12:55:46 +00:00
advansys Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 19:24:22 +00:00
agp Add nForce3-250. 2005-04-08 18:04:39 +00:00
aha
ahb
aic Remove ifdef PC98. 2005-04-13 13:02:58 +00:00
aic7xxx remove useless ptr check; cur_column can never be null 2005-03-31 05:00:31 +00:00
amd Use BUS_PROBE_DEFAULT 2005-03-06 06:55:11 +00:00
amr handle potential null ptr 2005-03-31 04:58:10 +00:00
an check copyin/copyout return values 2005-03-28 17:52:12 +00:00
ar Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 19:06:12 +00:00
arcmsr Properly mask off the status bits when checking to see if the ccb is still 2005-05-03 07:11:19 +00:00
arl
asr Only create the rdpti alias if the asr device creation succeeds. 2005-04-29 04:47:11 +00:00
ata Make certain the the 48bit flag is reset if we dont translate LBA. 2005-05-17 12:31:54 +00:00
ath honor new IEEE80211_KEY_GROUP key flag 2005-04-12 17:56:43 +00:00
atkbdc Backout previous diffs - this functionality is already provided by the 2005-04-07 23:59:37 +00:00
auxio
awi reclaim mbuf chain when ieee80211_crypto_encap fails 2005-03-08 17:01:03 +00:00
bfe Releasing TX/RX descriptor dmamaps during device detachment instead of 2005-03-17 13:59:30 +00:00
bge Support the 5714C 2005-05-19 21:08:59 +00:00
bktr Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 19:06:12 +00:00
buslogic
cardbus Use STAILQ in preference to SLIST for the resources. Insert new resources 2005-03-18 05:19:50 +00:00
ciss Support passthru ioctl commands from 32bit binaries. 2005-05-18 05:31:34 +00:00
cm
cnw
cp Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:30:12 +00:00
cpufreq Only activate ICH speedstep if we're going to use it. No bugs were observed 2005-03-20 01:25:21 +00:00
cs
ct Change a directory layout for pc98. 2005-05-10 12:02:18 +00:00
ctau Use dynamic major number allocation. 2005-02-27 22:16:58 +00:00
cx netchild's mega-patch to isolate compiler dependencies into a central 2005-03-02 21:33:29 +00:00
cy Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:30:12 +00:00
dc Fix newer Xircom CBE2-100 cards that were reporting 2005-04-18 03:31:29 +00:00
dcons
de Return BUS_PROBE_DEFAULT instead of 0. 2005-02-24 21:32:56 +00:00
dec
digi Staticize some symbols that are each only used in one corresponding .c file. 2005-05-06 20:53:34 +00:00
dpt Remove unnecessary dpt_free(). 2005-04-13 05:03:14 +00:00
drm Fix a panic on X startup for drivers that don't init maps themselves by storing 2005-04-24 19:03:32 +00:00
ed Remove ifdef PC98. 2005-04-13 13:02:58 +00:00
eisa Now that the Adaptec 2842 has its own probe routine, no need to have 2005-03-17 17:36:07 +00:00
em Run em_local_timer() once per second instead of running it once per 2 seconds. 2005-04-05 07:06:47 +00:00
en Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:30:12 +00:00
ep Make it clear that the statement following the conditional is a NOP. 2005-04-13 06:42:43 +00:00
esp - Try to not leak resources in the attach functions of the esp(4) SBus 2005-05-19 14:51:10 +00:00
ex
exca
fatm Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:30:12 +00:00
fb Add machfb(4), a driver for ATI Mach64 graphics chips intended for 2005-05-21 20:47:38 +00:00
fdc If we fail a sanity check for the resources just allocated, make sure 2005-03-15 08:02:47 +00:00
fe Perliminary support for Fujitsu SCSI LAN combo card. At least for the 2005-02-20 19:40:29 +00:00
firewire Recognize the integrated (though not necessarily enabled) FireWire 2005-05-20 12:37:16 +00:00
fxp Be more conservative when enabling extended features. There are fxp(4) 2005-04-22 13:05:53 +00:00
gem Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:30:12 +00:00
gfb
harp
hatm Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:30:12 +00:00
hfa Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:30:12 +00:00
hifn Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:30:12 +00:00
hme Release the IRQ resource on detach. This fixes repeatedly loading and 2005-04-05 17:51:56 +00:00
hptmv check copyin return value (and while we're at it copyout too) 2005-03-31 05:15:27 +00:00
hwpmc Add convenience APIs pmc_width() and pmc_capabilities() to -lpmc. 2005-05-01 14:11:49 +00:00
ic cosmetic change. 2005-05-14 10:26:31 +00:00
ichsmb Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:17:35 +00:00
ichwd
ida Test for NULL before use. 2005-04-13 17:39:43 +00:00
idt Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:17:35 +00:00
ie
ieee488 Don't leak mutex on open failure. 2005-04-04 17:37:35 +00:00
if_ndis Deal with a few bootstrap issues: 2005-05-20 04:00:50 +00:00
iicbus
iir Correct improper permissions on /dev/iir. The earlier permissions 2005-05-06 02:33:46 +00:00
io
ips Remove an extra mutex unlock in the morpheus interrupt handler. 2005-04-26 13:38:29 +00:00
ipw Initial import of ipw, iwi, ral and ural drivers: 2005-04-18 18:47:38 +00:00
isp Fix some incorrectly swapped fields in an ICB. 2005-05-11 03:00:50 +00:00
ispfw
iwi Print a warning once when trying to bring up interface before firmware load. 2005-05-15 21:02:51 +00:00
ixgb Convert to the faster bus_dmamap_load_mbuf_sg() interface. 2005-05-18 07:45:08 +00:00
joy
kbd Move the pc98 keymap define into pckbdtables.h because it should be used 2005-05-12 13:39:31 +00:00
led Add placeholder mutex argument to new_unrhdr(). 2005-03-07 11:05:47 +00:00
lge Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:17:35 +00:00
lnc Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:17:35 +00:00
mc146818 o mc146818(4): 2005-05-19 21:20:42 +00:00
mca
mcd netchild's mega-patch to isolate compiler dependencies into a central 2005-03-02 21:33:29 +00:00
md Request a CPU private mapping from sf_buf_alloc(). If the swap-backed 2005-02-13 21:51:50 +00:00
mem
mii Support the 5714C 2005-05-19 21:08:59 +00:00
mk48txx - Add locking. 2005-05-19 21:16:50 +00:00
mlx plug resource leak 2005-03-31 21:58:53 +00:00
mly Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:10:49 +00:00
mpt Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:10:49 +00:00
mse Minor style(9) changes 2005-04-08 05:22:58 +00:00
my Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:10:49 +00:00
ncv
nge fix null ptr deref when nge_newbuf is called with an existing mbuf 2005-03-28 17:49:03 +00:00
nmdm Explicitly hold a reference to the cdev we have just cloned. This 2005-03-31 12:19:44 +00:00
nsp
null Use dynamic major number allocation. 2005-02-27 22:01:09 +00:00
nve Fix typo in a comment. 2005-05-08 08:54:23 +00:00
ofw Sync with openfirm(4) and check the return value of malloc() although 2005-05-19 15:23:17 +00:00
owi
patm Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:10:49 +00:00
pbio Skip PNP probes. If there are isapnp or pnpbios instances of this driver, 2005-02-11 03:56:13 +00:00
pccard Initial import of ipw, iwi, ral and ural drivers: 2005-04-18 18:47:38 +00:00
pccbb Since cbb implements the pcib_ interface, it must also implement the 2005-04-13 16:35:15 +00:00
pcf
pci Add a detach for pci bridge and pci bus drivers. This allows one to 2005-04-29 06:22:41 +00:00
pdq Offer unhandled IOCTLS to fddi_ioctl(). 2005-03-24 01:58:20 +00:00
ppbus In ppsintr, we needed ppsdev to get to the softc and nothing else. 2005-04-14 15:56:10 +00:00
ppc don't use C keyword register as CPP macro argument name 2005-04-12 23:32:26 +00:00
pst Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:10:49 +00:00
puc Sort Oxford Semi entires. Add entry for OXCB950, a PCI/CardBus 2005-04-22 07:49:35 +00:00
ral Initial import of ipw, iwi, ral and ural drivers: 2005-04-18 18:47:38 +00:00
random Revert to the more correct array size, and correct a KASSERT to 2005-03-29 11:08:45 +00:00
ray Make a bunch of malloc types static. 2005-02-10 12:02:37 +00:00
rc
re Unbreak build with POLLING. I should really listen and test with NOTES 2005-03-13 01:54:41 +00:00
rndtest
rp - Use pci_get_device() and pci_get_vendor() when we only want one part 2005-03-25 03:10:51 +00:00
sab
safe Use BUS_PROBE_DEFAULT in preference to 0 and BUS_PROBE_LOW_PRIORITY in 2005-03-01 08:58:06 +00:00
sbni
sbsh Use BUS_PROBE_DEFAULT in preference to 0 and BUS_PROBE_LOW_PRIORITY in 2005-03-01 08:58:06 +00:00
scd netchild's mega-patch to isolate compiler dependencies into a central 2005-03-02 21:33:29 +00:00
sf Fix style(9) issues with __P removal. 2005-02-24 22:33:05 +00:00
si Use BUS_PROBE_DEFAULT in preference to 0 and BUS_PROBE_LOW_PRIORITY in 2005-03-01 08:58:06 +00:00
sio Oops, revert a commit that snuck in with the earlier critical section 2005-04-05 18:06:28 +00:00
sk Deal with failed malloc calls[1]. 2005-04-25 10:18:24 +00:00
smbus
sn
snc Only send packet to bpf if we are committed to send it. Previously it was 2005-02-21 17:30:10 +00:00
snp Explicitly hold a reference to the cdev we have just cloned. This 2005-03-31 12:19:44 +00:00
sound Take advantage of ebus(4) having switched to SYS_RES_MEMORY for the 2005-05-19 18:13:49 +00:00
speaker - Move timerreg.h to <arch>/include and split i8253 specific defines into 2005-05-14 09:10:02 +00:00
sr Use BUS_PROBE_DEFAULT in preference to 0 and BUS_PROBE_LOW_PRIORITY in 2005-03-01 08:58:06 +00:00
stg Use BUS_PROBE_DEFAULT in preference to 0 and BUS_PROBE_LOW_PRIORITY in 2005-03-01 08:58:06 +00:00
streams
sx Use BUS_PROBE_DEFAULT in preference to 0 and BUS_PROBE_LOW_PRIORITY in 2005-03-01 08:58:06 +00:00
sym eliminate double free when sym_cam_attach fails 2005-03-26 18:17:58 +00:00
syscons - Not every architecture defaults to a black background (e.g. sparc64 2005-05-21 20:32:27 +00:00
tdfx Use BUS_PROBE_DEFAULT in preference to 0. Also for vx, return 2005-03-01 07:50:12 +00:00
tga Use BUS_PROBE_DEFAULT in preference to 0. Also for vx, return 2005-03-01 07:50:12 +00:00
ti If resource allocation fails, we could wind up freeing the cdev without it 2005-03-31 17:16:40 +00:00
trm Use BUS_PROBE_DEFAULT in preference to 0. Also for vx, return 2005-03-01 07:50:12 +00:00
twa Make call to tw_cl_deferred_interrupt in twa_poll, not dependent on the 2005-04-29 20:03:20 +00:00
twe Use correct flags for bus_dma_tag_create(). 2005-03-06 20:57:54 +00:00
tx Use BUS_PROBE_DEFAULT in preference to 0. Also for vx, return 2005-03-01 07:50:12 +00:00
txp Use BUS_PROBE_DEFAULT in preference to 0. Also for vx, return 2005-03-01 07:50:12 +00:00
uart - Sprinkle some KBD_IS_* and KBD_*_DONE macros in sunkbd_configure() as 2005-05-21 20:26:30 +00:00
ubsec Use BUS_PROBE_DEFAULT in preference to 0. Also for vx, return 2005-03-01 07:50:12 +00:00
usb Recognize the integrated USB controllers of Sun PCIO-2 chips which 2005-05-19 23:00:46 +00:00
utopia Split the chip-specific code from the generic Utopia code. This simplifies 2005-02-24 16:56:36 +00:00
vge Remove the extra EEPROM reload step I added before. vge_reset() 2005-04-25 23:26:20 +00:00
vkbd Fix yet another cut-and-paste bug. 2005-05-20 23:29:55 +00:00
vr Fix style(9) issues with __P removal. 2005-02-24 22:33:05 +00:00
vx Use BUS_PROBE_DEFAULT in preference to 0. Also for vx, return 2005-03-01 07:50:12 +00:00
watchdog
wds
wi Invert conditional and use continue to reduce nesting. 2005-04-13 03:36:24 +00:00
wl Move if_wl_i82586.h into sys/dev/wl. 2005-05-09 04:47:58 +00:00
xe
zs The zs(4) driver is superseded by uart(4) and broken in -CURRENT. Remove 2005-02-27 15:23:58 +00:00