NetBSD/sys/dev
tsutsui 47f87355eb Add a driver for DisplayLink DL-1x0/1x5 based USB LCDs and USB-VGA adaptors.
Ported by FUKAUMI Naoki from OpenBSD with many modification.
No particular comments (except from me) on tech-kern@.

There are still many TODO even in MI wscons(4) API to handle this device:

 * No detach function for wsdisplay(9).
   Unpluging a device causes a panic. (should be trivial?)

 * ioctl() for X server support is currently commented out. ("notyet")
   OpenBSD allows device depedent ioctl()s and they introduced
   UDLIO_DAMAGE ioctl for the damage extension ops of X servers for udl(4).
   Before blindly pulling such ioctl(), probably we should discuss
   how such specific operations should be handled in MI wscons(4) API.

 * Screen text of wsemul tty could be mangled during large scroll ops.
   All tty output operations are invoked via ttstart() with the giant
   tty_lock mutex held, so we can't call cv_wait(9) to wait resources
   for data xfers via usbdi(9).h, then text output is silently discarded
   on resource shortage. To handle this without tty_lock reorganization,
   we have to change wsdisplay(9) APIs (especially wsdisplaystart()) to
   return a number of actually handled characters as OpenBSD does, but
   it may require whole API changes around child rasops(9) etc.

 * No MI API definition to convert mmap(9) cookie to physical address.
   The conversion is required to create a cookie which will be passed to
   pmap_phys_address(9) in uvm/uvm_device.c:udv_fault(). Most other
   drivers use bus_dmamem_mmap(9) or bus_space_mmap(9), but udl(4) uses
   kmem_alloc(9)'ed memory for bitmap data.
   Furthermore, pmap(9) man page says about pmap_phys_address(9):

     "This function is provided to accommodate systems which have
      physical address spaces larger than can be directly addressed
      by the platform's paddr_t type. The existence of this function is
      highly dubious, and it is expected that this function will be
      removed from the pmap API in a future release of NetBSD."

   As the man page says we have already had split paddr_t and vaddr_t,
   so it's time to remove such old ugly cookie and change all mmap(4)
   functions (mostly in MD bus_dma(9) and bus_space(9) APIs) to return
   simple physical address in paddr_t?

 * We need proper device names for wsdisplay1 (and more devices).
   Currently wsdisplay0 uses ttyE0 through ttyE253 (minor 0 to 253)
   for screens, ttyEstat (254) for status, and ttyEcfg (255) for config.
   The next wsdisplay1 will use 256 through 509 for screens, 510 for stat,
   and 511 for config but what names should we use for them? ttyFxxx?

 * How to handle multiple sets of wskbd/wsdisplay on a single machine.
   rc.d/wscons doesn't provide method to specify wscons control devices.
   There is no proper interface to specify which keyboard should be connected
   to which wsdisplay, etc.

 * And maybe more...
2009-11-30 16:18:34 +00:00
..
acpi Introduce acpi_eval_set_integer(). 2009-11-29 21:32:50 +00:00
adb
altmem
apm Remove some unecessary includes sys/user.h header. 2009-11-23 02:13:44 +00:00
arcbios Remove some unecessary includes sys/user.h header. 2009-11-23 02:13:44 +00:00
ata Remove superfluous activation hook. 2009-11-12 19:20:08 +00:00
bi Remove some unecessary includes sys/user.h header. 2009-11-23 02:13:44 +00:00
bluetooth I had a complaint that it was difficult to reconnect a device after 2009-08-21 10:01:25 +00:00
cardbus Don't use com_activate(), it's going away. 2009-11-12 20:30:10 +00:00
dec
dkwedge dkwedge_list() is currently called only from ioctl routines where 2009-09-08 21:14:33 +00:00
dm Reduce a noise from a debug printf to debug level 2009-10-23 20:41:11 +00:00
dmover
ebus
eisa Remove some unecessary includes sys/user.h header. 2009-11-23 02:13:44 +00:00
gpib - fix warnings of printf(9) format and void pointer arithmetic 2009-09-12 18:46:42 +00:00
gpio Simplify activation hook. 2009-11-12 19:22:08 +00:00
hpc Remove some unecessary includes sys/user.h header. 2009-11-23 02:13:44 +00:00
i2c don't pull a 1.5K softc on the stack to do a chip ident. Idea from mrg. 2009-11-02 21:37:44 +00:00
i2o Remove uarea swap-out functionality: 2009-10-21 21:11:57 +00:00
ic Fix "+ 0x100" instead of "| 0x100" in the case ID 0x11[5678]A. 2009-11-29 10:17:01 +00:00
ieee1394 unifdef -U__FreeBSD__ -D__NetBSD__, et cetera. 2009-08-07 00:10:53 +00:00
if_ndis make this compile again. 2009-10-20 19:04:59 +00:00
ir
isa Add patch from PR/11805 2009-11-27 20:56:28 +00:00
isapnp use aprint_* in attach routines 2009-09-29 11:01:39 +00:00
marvell
mca Remove some unecessary includes sys/user.h header. 2009-11-23 02:13:44 +00:00
microcode Sync with OpenBSD: if_bnx.c,v 1.85. Major changes: 2009-11-18 23:11:16 +00:00
mii Support BCM5709CAX and BCM5709C PHYs. 2009-11-18 23:02:12 +00:00
mscp Make this compile on ports with __HAVE_OLD_DISKLABEL 2009-09-12 18:01:50 +00:00
mvme Remove some unecessary includes sys/user.h header. 2009-11-23 02:13:44 +00:00
news
ofisa Make local functions static. 2009-09-22 16:44:08 +00:00
ofw add another convenience function - of_get_mode_string() to extract a Sun-like 2009-11-11 16:56:52 +00:00
onewire
pad PR# kern/39899: audio attach with pad(4) segfaults 2009-09-08 09:47:42 +00:00
pci Add support for Intel 3400 SATA 2009-11-30 09:33:48 +00:00
pckbport Add hungarian qwertz keyboard layout. 2009-07-28 18:48:27 +00:00
pcmcia Remove some unecessary includes sys/user.h header. 2009-11-23 02:13:44 +00:00
podulebus Move Matthias Pfaller's files to 2-clause license. OK matthias@. 2009-10-18 18:13:59 +00:00
ppbus Make this actually build, as part of the sgimips GENERIC32_IP2x kernel. 2009-11-11 15:34:37 +00:00
pud
putter
qbus Remove some unecessary includes sys/user.h header. 2009-11-23 02:13:44 +00:00
raidframe include sys/param.h first, as is the convention 2009-11-26 07:35:39 +00:00
rasops
rcons
sbus Remove some more unnecessary casts. 2009-09-22 13:13:46 +00:00
scsipi Remove some unecessary includes sys/user.h header. 2009-11-23 02:13:44 +00:00
sdmmc Always sector size is treated as 512 bytes. 2009-11-28 10:00:24 +00:00
smbus
spi
splash
std
sun make this compile on sparc64 2009-11-25 21:10:56 +00:00
sysmon Fix POWER_IOC_GET_TYPE. 2009-11-06 18:28:10 +00:00
tc u_intNN_t -> uintNN_t 2009-08-22 17:38:06 +00:00
tprof comment 2009-11-18 12:24:05 +00:00
usb Add a driver for DisplayLink DL-1x0/1x5 based USB LCDs and USB-VGA adaptors. 2009-11-30 16:18:34 +00:00
videomode Fix a wrong index value for edid_products[] inside #ifdef EDIDVERBOSE in 2009-11-14 09:19:41 +00:00
vme
wscons Reserve WSDISPLAY_TYPE for DisplayLink DL-1x0/DL-1x5 USB LCDs and 2009-11-15 17:42:24 +00:00
wsfb Expose genfb_restore_palette and allow MD code to specify PMF callbacks. 2009-08-24 11:03:44 +00:00
wsfont
xmi
auconv.c
auconv.h
audio_if.h Add support for playback- or capture-only devices by adding 2009-09-29 15:58:54 +00:00
audio.c Add support for playback- or capture-only devices by adding 2009-09-29 15:58:54 +00:00
audiobell.c
audiobellvar.h
audiovar.h
aurateconv.c
bio.c
biovar.h
ccd.c
ccdvar.h
cgd_crypto.c
cgd_crypto.h
cgd.c avoid doing extra work by just zeroing/printing real blocksize. 2009-11-10 20:39:36 +00:00
cgdvar.h avoid variable array stack allocation by enforcing and allocating always the 2009-11-10 20:05:50 +00:00
clock_subr.c
clock_subr.h
clockctl.c Move clockctl policy exception back to the subsystem. 2009-10-03 02:01:12 +00:00
cninit.c Remove some unecessary includes sys/user.h header. 2009-11-23 02:13:44 +00:00
cons.c Remove some unecessary includes sys/user.h header. 2009-11-23 02:13:44 +00:00
cons.h
DEVNAMES Add lom(4) for sparc64. 2009-10-02 15:15:21 +00:00
dksubr.c
dkvar.h Put the entire expression that DK_BUSY() evaluates to in parentheses 2009-08-07 00:07:39 +00:00
firmload.c
firmload.h
fss.c Remove unneeded vinvalbuf() on backing store as we don't use 2009-10-17 10:29:29 +00:00
fssvar.h
keylock.c Move the keylock.h header from sys/sys to sys/dev where it really belongs. 2009-08-15 09:43:58 +00:00
keylock.h Move the keylock.h header from sys/sys to sys/dev where it really belongs. 2009-08-15 09:43:58 +00:00
kloader.c
kloader.h
kttcp.c
kttcpio.h
ld.c Extract ldlastclose() and use it in ldclose(). At the top of 2009-07-23 21:38:33 +00:00
ldvar.h
lockstat.c
lockstat.h
Makefile Add keylock.h to INCS so that it's actually installed (hi, marc!) 2009-08-15 14:22:54 +00:00
md_root.c
md.c Drop 3rd and 4th clauses. OK gwr@ leo@ (copyright holders). 2009-10-22 20:15:45 +00:00
md.h Drop 3rd and 4th clauses. Approved by gwr@ (copyright holder). 2009-10-21 23:12:09 +00:00
midi_if.h
midi.c I'm not so sure this is actually CPU-intensive in 2009, so don't print it. 2009-08-23 15:56:07 +00:00
midictl.c
midictl.h
midisyn.c
midisynvar.h
midivar.h
mm.c
mulaw.c
mulaw.h
nullcons_subr.c Remove some unecessary includes sys/user.h header. 2009-11-23 02:13:44 +00:00
radio_if.h
radio.c
rnd.c rnd_sample_allocate_isr: pass correct flag to pool_get(). 2009-11-01 21:08:32 +00:00
rndpool.c
sequencer.c
sequencervar.h
verified_exec.c Convert 67 namei call sites to use namei_simple, in these functions: 2009-06-29 05:08:15 +00:00
video_if.h
video.c 1. some of the video24linux structs are not as machine independent as their 2009-08-18 02:17:09 +00:00
vnd.c Re-use DK_BUSY(). 2009-08-07 00:08:07 +00:00
vndvar.h