FreeBSD kernel usb device Code
udl.c File Reference
#include <sys/param.h>
#include <sys/bus.h>
#include <sys/callout.h>
#include <sys/conf.h>
#include <sys/kernel.h>
#include <sys/lock.h>
#include <sys/module.h>
#include <sys/mutex.h>
#include <sys/condvar.h>
#include <sys/sysctl.h>
#include <sys/systm.h>
#include <sys/consio.h>
#include <sys/fbio.h>
#include <dev/fb/fbreg.h>
#include <dev/syscons/syscons.h>
#include <dev/videomode/videomode.h>
#include <dev/videomode/edidvar.h>
#include <dev/usb/usb.h>
#include <dev/usb/usbdi.h>
#include <dev/usb/usbdi_util.h>
#include "usbdevs.h"
#include <dev/usb/video/udl.h>
#include "fb_if.h"
#include <dev/usb/usb_debug.h>
Include dependency graph for udl.c:

Go to the source code of this file.

Macros

#define USB_DEBUG_VAR   udl_debug
 
#define UDL_FPS_MAX   60
 
#define UDL_FPS_MIN   1
 

Functions

static SYSCTL_NODE (_hw_usb, OID_AUTO, udl, CTLFLAG_RW|CTLFLAG_MPSAFE, 0, "USB UDL")
 
 SYSCTL_INT (_hw_usb_udl, OID_AUTO, fps, CTLFLAG_RWTUN, &udl_fps, 0, "Frames Per Second, 1-60")
 
 MALLOC_DEFINE (M_USB_DL, "USB", "USB DisplayLink")
 
static void udl_select_chip (struct udl_softc *, struct usb_attach_arg *)
 
static int udl_init_chip (struct udl_softc *)
 
static void udl_select_mode (struct udl_softc *)
 
static int udl_init_resolution (struct udl_softc *)
 
static void udl_fbmem_alloc (struct udl_softc *)
 
static int udl_cmd_write_buf_le16 (struct udl_softc *, const uint8_t *, uint32_t, uint8_t, int)
 
static int udl_cmd_buf_copy_le16 (struct udl_softc *, uint32_t, uint32_t, uint8_t, int)
 
static void udl_cmd_insert_int_1 (struct udl_cmd_buf *, uint8_t)
 
static void udl_cmd_insert_int_3 (struct udl_cmd_buf *, uint32_t)
 
static void udl_cmd_insert_buf_le16 (struct udl_cmd_buf *, const uint8_t *, uint32_t)
 
static void udl_cmd_write_reg_1 (struct udl_cmd_buf *, uint8_t, uint8_t)
 
static void udl_cmd_write_reg_3 (struct udl_cmd_buf *, uint8_t, uint32_t)
 
static int udl_power_save (struct udl_softc *, int, int)
 
 DRIVER_MODULE (udl, uhub, udl_driver, udl_devclass, NULL, NULL)
 
 MODULE_DEPEND (udl, usb, 1, 1, 1)
 
 MODULE_DEPEND (udl, fbd, 1, 1, 1)
 
 MODULE_DEPEND (udl, videomode, 1, 1, 1)
 
 MODULE_VERSION (udl, 1)
 
static void udl_buffer_init (void *arg)
 
 SYSINIT (udl_buffer_init, SI_SUB_LOCK, SI_ORDER_FIRST, udl_buffer_init, NULL)
 
 CTASSERT (sizeof(struct udl_buffer)< PAGE_SIZE)
 
static void * udl_buffer_alloc (uint32_t size)
 
static void udl_buffer_free (void *_buf, uint32_t size)
 
static uint32_t udl_get_fb_size (struct udl_softc *sc)
 
static uint32_t udl_get_fb_width (struct udl_softc *sc)
 
static uint32_t udl_get_fb_height (struct udl_softc *sc)
 
static uint32_t udl_get_fb_hz (struct udl_softc *sc)
 
static void udl_callout (void *arg)
 
static int udl_probe (device_t dev)
 
static int udl_attach (device_t dev)
 
static int udl_detach (device_t dev)
 
static struct fb_info * udl_fb_getinfo (device_t dev)
 
static int udl_fb_setblankmode (void *arg, int mode)
 
static struct udl_cmd_bufudl_cmd_buf_alloc_locked (struct udl_softc *sc, int flags)
 
static struct udl_cmd_bufudl_cmd_buf_alloc (struct udl_softc *sc, int flags)
 
static void udl_cmd_buf_send (struct udl_softc *sc, struct udl_cmd_buf *cb)
 
static struct udl_cmd_bufudl_fb_synchronize_locked (struct udl_softc *sc)
 
static void udl_bulk_write_callback (struct usb_xfer *xfer, usb_error_t error)
 
static int udl_ctrl_msg (struct udl_softc *sc, uint8_t rt, uint8_t r, uint16_t index, uint16_t value, uint8_t *buf, size_t len)
 
static int udl_poll (struct udl_softc *sc, uint32_t *buf)
 
static int udl_read_1 (struct udl_softc *sc, uint16_t addr, uint8_t *buf)
 
static int udl_write_1 (struct udl_softc *sc, uint16_t addr, uint8_t buf)
 
static int udl_read_edid (struct udl_softc *sc, uint8_t *buf)
 
static uint8_t udl_lookup_mode (uint16_t hdisplay, uint16_t vdisplay, uint8_t hz, uint16_t chip, uint32_t clock)
 
static int udl_set_enc_key (struct udl_softc *sc, uint8_t *buf, uint8_t len)
 
static void udl_init_fb_offsets (struct udl_cmd_buf *cb, uint32_t start16, uint32_t stride16, uint32_t start8, uint32_t stride8)
 

Variables

static int udl_fps = 25
 
static struct mtx udl_buffer_mtx
 
static struct udl_buffer_head udl_buffer_head
 
static usb_callback_t udl_bulk_write_callback
 
static device_probe_t udl_probe
 
static device_attach_t udl_attach
 
static device_detach_t udl_detach
 
static fb_getinfo_t udl_fb_getinfo
 
static fb_setblankmode_t udl_fb_setblankmode
 
static const struct usb_config udl_config [UDL_N_TRANSFER]
 
static devclass_t udl_devclass
 
static device_method_t udl_methods []
 
static driver_t udl_driver
 
static const STRUCT_USB_HOST_ID udl_devs []
 

Macro Definition Documentation

◆ UDL_FPS_MAX

#define UDL_FPS_MAX   60

Definition at line 73 of file udl.c.

◆ UDL_FPS_MIN

#define UDL_FPS_MIN   1

Definition at line 74 of file udl.c.

◆ USB_DEBUG_VAR

#define USB_DEBUG_VAR   udl_debug

Definition at line 60 of file udl.c.

Function Documentation

◆ CTASSERT()

CTASSERT ( )

◆ DRIVER_MODULE()

DRIVER_MODULE ( udl  ,
uhub  ,
udl_driver  ,
udl_devclass  ,
NULL  ,
NULL   
)

◆ MALLOC_DEFINE()

MALLOC_DEFINE ( M_USB_DL  ,
"USB"  ,
"USB DisplayLink"   
)

◆ MODULE_DEPEND() [1/3]

MODULE_DEPEND ( udl  ,
fbd  ,
,
,
 
)

◆ MODULE_DEPEND() [2/3]

MODULE_DEPEND ( udl  ,
usb  ,
,
,
 
)

◆ MODULE_DEPEND() [3/3]

MODULE_DEPEND ( udl  ,
videomode  ,
,
,
 
)

◆ MODULE_VERSION()

MODULE_VERSION ( udl  ,
 
)

◆ SYSCTL_INT()

SYSCTL_INT ( _hw_usb_udl  ,
OID_AUTO  ,
fps  ,
CTLFLAG_RWTUN  ,
udl_fps,
,
"Frames Per  Second,
1-60"   
)

◆ SYSCTL_NODE()

static SYSCTL_NODE ( _hw_usb  ,
OID_AUTO  ,
udl  ,
CTLFLAG_RW|  CTLFLAG_MPSAFE,
,
"USB UDL"   
)
static

◆ SYSINIT()

SYSINIT ( udl_buffer_init  ,
SI_SUB_LOCK  ,
SI_ORDER_FIRST  ,
udl_buffer_init  ,
NULL   
)

◆ udl_attach()

◆ udl_buffer_alloc()

static void * udl_buffer_alloc ( uint32_t  size)
static

Definition at line 197 of file udl.c.

References size, udl_buffer::size, udl_buffer_head, and udl_buffer_mtx.

Referenced by udl_fbmem_alloc().

Here is the caller graph for this function:

◆ udl_buffer_free()

static void udl_buffer_free ( void *  _buf,
uint32_t  size 
)
static

Definition at line 220 of file udl.c.

References size, udl_buffer::size, udl_buffer_head, and udl_buffer_mtx.

Referenced by udl_detach().

Here is the caller graph for this function:

◆ udl_buffer_init()

static void udl_buffer_init ( void *  arg)
static

Definition at line 187 of file udl.c.

References udl_buffer_head, and udl_buffer_mtx.

◆ udl_bulk_write_callback()

◆ udl_callout()

static void udl_callout ( void *  arg)
static

Definition at line 274 of file udl.c.

References udl_softc::sc_callout, udl_softc::sc_power_save, udl_softc::sc_sync_off, udl_softc::sc_xfer, UDL_BULK_WRITE_0, UDL_BULK_WRITE_1, udl_callout(), udl_fps, UDL_FPS_MAX, UDL_FPS_MIN, udl_get_fb_size(), and usbd_transfer_start().

Referenced by udl_attach(), and udl_callout().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ udl_cmd_buf_alloc()

static struct udl_cmd_buf * udl_cmd_buf_alloc ( struct udl_softc sc,
int  flags 
)
static

Definition at line 523 of file udl.c.

References udl_cmd_buf_alloc_locked(), UDL_LOCK, and UDL_UNLOCK.

Referenced by udl_cmd_buf_copy_le16(), udl_cmd_write_buf_le16(), udl_init_resolution(), and udl_power_save().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ udl_cmd_buf_alloc_locked()

static struct udl_cmd_buf * udl_cmd_buf_alloc_locked ( struct udl_softc sc,
int  flags 
)
static

Definition at line 506 of file udl.c.

References udl_cmd_buf::off, udl_softc::sc_cmd_buf_free, udl_softc::sc_cv, and udl_softc::sc_mtx.

Referenced by udl_cmd_buf_alloc(), and udl_fb_synchronize_locked().

Here is the caller graph for this function:

◆ udl_cmd_buf_copy_le16()

static int udl_cmd_buf_copy_le16 ( struct udl_softc sc,
uint32_t  src,
uint32_t  dst,
uint8_t  pixels,
int  flags 
)
static

Definition at line 1136 of file udl.c.

References UDL_BULK_CMD_FB_COPY, UDL_BULK_CMD_FB_WORD, UDL_BULK_SOC, udl_cmd_buf_alloc(), udl_cmd_buf_send(), udl_cmd_insert_int_1(), and udl_cmd_insert_int_3().

Referenced by udl_init_resolution().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ udl_cmd_buf_send()

static void udl_cmd_buf_send ( struct udl_softc sc,
struct udl_cmd_buf cb 
)
static

◆ udl_cmd_insert_buf_le16()

static void udl_cmd_insert_buf_le16 ( struct udl_cmd_buf cb,
const uint8_t *  buf,
uint32_t  len 
)
static

Definition at line 904 of file udl.c.

References len, and udl_cmd_buf::off.

Referenced by udl_cmd_write_buf_le16(), and udl_fb_synchronize_locked().

Here is the caller graph for this function:

◆ udl_cmd_insert_int_1()

static void udl_cmd_insert_int_1 ( struct udl_cmd_buf cb,
uint8_t  value 
)
static

Definition at line 853 of file udl.c.

References udl_cmd_buf::off, and value.

Referenced by udl_cmd_buf_copy_le16(), udl_cmd_buf_send(), udl_cmd_write_buf_le16(), udl_cmd_write_reg_1(), and udl_fb_synchronize_locked().

Here is the caller graph for this function:

◆ udl_cmd_insert_int_3()

static void udl_cmd_insert_int_3 ( struct udl_cmd_buf cb,
uint32_t  value 
)
static

Definition at line 875 of file udl.c.

References udl_cmd_buf::off, and value.

Referenced by udl_cmd_buf_copy_le16(), udl_cmd_write_buf_le16(), and udl_fb_synchronize_locked().

Here is the caller graph for this function:

◆ udl_cmd_write_buf_le16()

static int udl_cmd_write_buf_le16 ( struct udl_softc sc,
const uint8_t *  buf,
uint32_t  off,
uint8_t  pixels,
int  flags 
)
static

Definition at line 1116 of file udl.c.

References udl_cmd_buf::off, UDL_BULK_CMD_FB_WORD, UDL_BULK_CMD_FB_WRITE, UDL_BULK_SOC, udl_cmd_buf_alloc(), udl_cmd_buf_send(), udl_cmd_insert_buf_le16(), udl_cmd_insert_int_1(), and udl_cmd_insert_int_3().

Referenced by udl_init_resolution().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ udl_cmd_write_reg_1()

static void udl_cmd_write_reg_1 ( struct udl_cmd_buf cb,
uint8_t  reg,
uint8_t  val 
)
static

Definition at line 917 of file udl.c.

References reg, UDL_BULK_CMD_REG_WRITE_1, UDL_BULK_SOC, udl_cmd_insert_int_1(), and val.

Referenced by udl_cmd_write_reg_3(), udl_init_fb_offsets(), udl_init_resolution(), and udl_power_save().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ udl_cmd_write_reg_3()

static void udl_cmd_write_reg_3 ( struct udl_cmd_buf cb,
uint8_t  reg,
uint32_t  val 
)
static

Definition at line 927 of file udl.c.

References reg, udl_cmd_write_reg_1(), and val.

Referenced by udl_init_fb_offsets().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ udl_ctrl_msg()

static int udl_ctrl_msg ( struct udl_softc sc,
uint8_t  rt,
uint8_t  r,
uint16_t  index,
uint16_t  value,
uint8_t *  buf,
size_t  len 
)
static

Definition at line 657 of file udl.c.

References DPRINTF, error, index, len, r, req, udl_softc::sc_udev, USB_DEFAULT_TIMEOUT, usbd_do_request_flags(), usbd_errstr(), USETW, and value.

Referenced by udl_poll(), udl_read_1(), udl_read_edid(), udl_set_enc_key(), and udl_write_1().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ udl_detach()

static int udl_detach ( device_t  dev)
static

◆ udl_fb_getinfo()

static struct fb_info * udl_fb_getinfo ( device_t  dev)
static

Definition at line 473 of file udl.c.

References dev, and udl_softc::sc_fb_info.

◆ udl_fb_setblankmode()

static int udl_fb_setblankmode ( void *  arg,
int  mode 
)
static

Definition at line 481 of file udl.c.

References udl_softc::sc_fb_addr, udl_get_fb_size(), and udl_power_save().

Here is the call graph for this function:

◆ udl_fb_synchronize_locked()

static struct udl_cmd_buf * udl_fb_synchronize_locked ( struct udl_softc sc)
static

◆ udl_fbmem_alloc()

static void udl_fbmem_alloc ( struct udl_softc sc)
static

Definition at line 834 of file udl.c.

References udl_softc::sc_fb_addr, udl_softc::sc_fb_copy, udl_softc::sc_fb_size, size, udl_buffer_alloc(), and udl_get_fb_size().

Referenced by udl_attach().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ udl_get_fb_height()

static uint32_t udl_get_fb_height ( struct udl_softc sc)
static

Definition at line 258 of file udl.c.

References udl_softc::sc_cur_mode, and udl_modes.

Referenced by udl_attach().

Here is the caller graph for this function:

◆ udl_get_fb_hz()

static uint32_t udl_get_fb_hz ( struct udl_softc sc)
static

Definition at line 266 of file udl.c.

References udl_softc::sc_cur_mode, and udl_modes.

Referenced by udl_attach().

Here is the caller graph for this function:

◆ udl_get_fb_size()

static uint32_t udl_get_fb_size ( struct udl_softc sc)
static

Definition at line 241 of file udl.c.

References udl_softc::sc_cur_mode, and udl_modes.

Referenced by udl_callout(), udl_fb_setblankmode(), udl_fb_synchronize_locked(), udl_fbmem_alloc(), and udl_init_resolution().

Here is the caller graph for this function:

◆ udl_get_fb_width()

static uint32_t udl_get_fb_width ( struct udl_softc sc)
static

Definition at line 250 of file udl.c.

References udl_softc::sc_cur_mode, and udl_modes.

Referenced by udl_attach().

Here is the caller graph for this function:

◆ udl_init_chip()

static int udl_init_chip ( struct udl_softc sc)
static

Definition at line 936 of file udl.c.

References DL120, DL125, DL160, DL165, DPRINTF, error, udl_softc::sc_chip, udl_softc::sc_edid, udl_null_key_1, udl_poll(), udl_read_1(), udl_read_edid(), udl_set_enc_key(), udl_write_1(), and USB_ERR_NORMAL_COMPLETION.

Referenced by udl_attach().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ udl_init_fb_offsets()

static void udl_init_fb_offsets ( struct udl_cmd_buf cb,
uint32_t  start16,
uint32_t  stride16,
uint32_t  start8,
uint32_t  stride8 
)
static

Definition at line 992 of file udl.c.

References udl_cmd_write_reg_1(), udl_cmd_write_reg_3(), UDL_REG_ADDR_START16, UDL_REG_ADDR_START8, UDL_REG_ADDR_STRIDE16, UDL_REG_ADDR_STRIDE8, and UDL_REG_SYNC.

Referenced by udl_init_resolution().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ udl_init_resolution()

static int udl_init_resolution ( struct udl_softc sc)
static

◆ udl_lookup_mode()

static uint8_t udl_lookup_mode ( uint16_t  hdisplay,
uint16_t  vdisplay,
uint8_t  hz,
uint16_t  chip,
uint32_t  clock 
)
static

Definition at line 746 of file udl.c.

References UDL_MAX_MODES, and udl_modes.

Referenced by udl_select_mode().

Here is the caller graph for this function:

◆ udl_poll()

static int udl_poll ( struct udl_softc sc,
uint32_t *  buf 
)
static

Definition at line 678 of file udl.c.

References error, UDL_CTRL_CMD_POLL, udl_ctrl_msg(), USB_ERR_NORMAL_COMPLETION, and UT_READ_VENDOR_DEVICE.

Referenced by udl_init_chip().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ udl_power_save()

static int udl_power_save ( struct udl_softc sc,
int  on,
int  flags 
)
static

Definition at line 633 of file udl.c.

References DPRINTF, udl_softc::sc_power_save, udl_cmd_buf_alloc(), udl_cmd_buf_send(), udl_cmd_write_reg_1(), UDL_REG_SCREEN, UDL_REG_SCREEN_OFF, UDL_REG_SCREEN_ON, and UDL_REG_SYNC.

Referenced by udl_fb_setblankmode().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ udl_probe()

static int udl_probe ( device_t  dev)
static

◆ udl_read_1()

static int udl_read_1 ( struct udl_softc sc,
uint16_t  addr,
uint8_t *  buf 
)
static

Definition at line 691 of file udl.c.

References addr, error, UDL_CTRL_CMD_READ_1, udl_ctrl_msg(), USB_ERR_NORMAL_COMPLETION, and UT_READ_VENDOR_DEVICE.

Referenced by udl_init_chip().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ udl_read_edid()

static int udl_read_edid ( struct udl_softc sc,
uint8_t *  buf 
)
static

Definition at line 714 of file udl.c.

References error, fail, offset, UDL_CTRL_CMD_READ_EDID, udl_ctrl_msg(), USB_ERR_NORMAL_COMPLETION, and UT_READ_VENDOR_DEVICE.

Referenced by udl_init_chip().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ udl_select_chip()

static void udl_select_chip ( struct udl_softc sc,
struct usb_attach_arg uaa 
)
static

Definition at line 778 of file udl.c.

References usbd_lookup_info::bcdDevice, usb_attach_arg::device, DL120, DL125, DL160, DL165, DL195, DPRINTF, usbd_lookup_info::idProduct, usbd_lookup_info::idVendor, usb_attach_arg::info, udl_softc::sc_chip, and usb_get_serial().

Referenced by udl_attach().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ udl_select_mode()

static void udl_select_mode ( struct udl_softc sc)
static

Definition at line 1055 of file udl.c.

References DPRINTF, index, udl_mode::mode, udl_softc::sc_chip, udl_softc::sc_cur_mode, udl_softc::sc_edid, udl_softc::sc_edid_info, udl_lookup_mode(), and UDL_MAX_MODES.

Referenced by udl_attach().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ udl_set_enc_key()

static int udl_set_enc_key ( struct udl_softc sc,
uint8_t *  buf,
uint8_t  len 
)
static

Definition at line 824 of file udl.c.

References error, len, UDL_CTRL_CMD_SET_KEY, udl_ctrl_msg(), and UT_WRITE_VENDOR_DEVICE.

Referenced by udl_init_chip().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ udl_write_1()

static int udl_write_1 ( struct udl_softc sc,
uint16_t  addr,
uint8_t  buf 
)
static

Definition at line 704 of file udl.c.

References addr, error, UDL_CTRL_CMD_WRITE_1, udl_ctrl_msg(), and UT_WRITE_VENDOR_DEVICE.

Referenced by udl_init_chip().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ udl_attach

device_attach_t udl_attach
static

Definition at line 91 of file udl.c.

◆ udl_buffer_head

struct udl_buffer_head udl_buffer_head
static

Definition at line 81 of file udl.c.

Referenced by udl_buffer_alloc(), udl_buffer_free(), and udl_buffer_init().

◆ udl_buffer_mtx

struct mtx udl_buffer_mtx
static

Definition at line 80 of file udl.c.

Referenced by udl_buffer_alloc(), udl_buffer_free(), and udl_buffer_init().

◆ udl_bulk_write_callback

usb_callback_t udl_bulk_write_callback
static

Definition at line 88 of file udl.c.

◆ udl_config

const struct usb_config udl_config[UDL_N_TRANSFER]
static
Initial value:
= {
.type = UE_BULK,
.endpoint = UE_ADDR_ANY,
.direction = UE_DIR_TX,
.flags = {.pipe_bof = 1,.force_short_xfer = 1,.ext_buffer = 1,},
.frames = UDL_CMD_MAX_FRAMES,
.timeout = 5000,
},
.type = UE_BULK,
.endpoint = UE_ADDR_ANY,
.direction = UE_DIR_TX,
.flags = {.pipe_bof = 1,.force_short_xfer = 1,.ext_buffer = 1,},
.frames = UDL_CMD_MAX_FRAMES,
.timeout = 5000,
},
}
static usb_callback_t udl_bulk_write_callback
Definition: udl.c:88
#define UDL_CMD_MAX_FRAMES
Definition: udl.h:29
@ UDL_BULK_WRITE_1
Definition: udl.h:56
@ UDL_BULK_WRITE_0
Definition: udl.h:55
#define UDL_CMD_MAX_DATA_SIZE
Definition: udl.h:30
#define UE_ADDR_ANY
Definition: usb.h:537
#define UE_BULK
Definition: usb.h:543
#define UE_DIR_TX
Definition: usb.h:534

Definition at line 110 of file udl.c.

Referenced by udl_attach().

◆ udl_detach

device_detach_t udl_detach
static

Definition at line 92 of file udl.c.

Referenced by udl_attach().

◆ udl_devclass

devclass_t udl_devclass
static

Definition at line 136 of file udl.c.

◆ udl_devs

const STRUCT_USB_HOST_ID udl_devs[]
static
Initial value:
= {
{USB_VPI(USB_VENDOR_DISPLAYLINK, USB_PRODUCT_DISPLAYLINK_LCD4300U, DL120)},
{USB_VPI(USB_VENDOR_DISPLAYLINK, USB_PRODUCT_DISPLAYLINK_LCD8000U, DL120)},
{USB_VPI(USB_VENDOR_DISPLAYLINK, USB_PRODUCT_DISPLAYLINK_GUC2020, DL160)},
{USB_VPI(USB_VENDOR_DISPLAYLINK, USB_PRODUCT_DISPLAYLINK_LD220, DL165)},
{USB_VPI(USB_VENDOR_DISPLAYLINK, USB_PRODUCT_DISPLAYLINK_VCUD60, DL160)},
{USB_VPI(USB_VENDOR_DISPLAYLINK, USB_PRODUCT_DISPLAYLINK_DLDVI, DL160)},
{USB_VPI(USB_VENDOR_DISPLAYLINK, USB_PRODUCT_DISPLAYLINK_VGA10, DL120)},
{USB_VPI(USB_VENDOR_DISPLAYLINK, USB_PRODUCT_DISPLAYLINK_WSDVI, DLUNK)},
{USB_VPI(USB_VENDOR_DISPLAYLINK, USB_PRODUCT_DISPLAYLINK_EC008, DL160)},
{USB_VPI(USB_VENDOR_DISPLAYLINK, USB_PRODUCT_DISPLAYLINK_HPDOCK, DL160)},
{USB_VPI(USB_VENDOR_DISPLAYLINK, USB_PRODUCT_DISPLAYLINK_NL571, DL160)},
{USB_VPI(USB_VENDOR_DISPLAYLINK, USB_PRODUCT_DISPLAYLINK_M01061, DL195)},
{USB_VPI(USB_VENDOR_DISPLAYLINK, USB_PRODUCT_DISPLAYLINK_NBDOCK, DL165)},
{USB_VPI(USB_VENDOR_DISPLAYLINK, USB_PRODUCT_DISPLAYLINK_SWDVI, DLUNK)},
{USB_VPI(USB_VENDOR_DISPLAYLINK, USB_PRODUCT_DISPLAYLINK_UM7X0, DL120)},
{USB_VPI(USB_VENDOR_DISPLAYLINK, USB_PRODUCT_DISPLAYLINK_CONV, DL160)},
{USB_VPI(USB_VENDOR_DISPLAYLINK, USB_PRODUCT_DISPLAYLINK_PLUGABLE, DL160)},
{USB_VPI(USB_VENDOR_DISPLAYLINK, USB_PRODUCT_DISPLAYLINK_LUM70, DL125)},
{USB_VPI(USB_VENDOR_DISPLAYLINK, USB_PRODUCT_DISPLAYLINK_POLARIS2, DLUNK)},
{USB_VPI(USB_VENDOR_DISPLAYLINK, USB_PRODUCT_DISPLAYLINK_LT1421, DLUNK)},
{USB_VPI(USB_VENDOR_DISPLAYLINK, USB_PRODUCT_DISPLAYLINK_ITEC, DL165)},
{USB_VPI(USB_VENDOR_DISPLAYLINK, USB_PRODUCT_DISPLAYLINK_DVI_19, DL165)},
}
#define DL120
Definition: udl.h:85
#define DL165
Definition: udl.h:87
#define DLUNK
Definition: udl.h:90
#define DL160
Definition: udl.h:86
#define DL195
Definition: udl.h:88
#define DL125
Definition: udl.h:84
#define USB_VPI(vend, prod, info)
Definition: usbdi.h:367

Definition at line 161 of file udl.c.

Referenced by udl_probe().

◆ udl_driver

driver_t udl_driver
static
Initial value:
= {
.name = "udl",
.methods = udl_methods,
.size = sizeof(struct udl_softc),
}
Definition: udl.h:63
static device_method_t udl_methods[]
Definition: udl.c:138

Definition at line 146 of file udl.c.

◆ udl_fb_getinfo

fb_getinfo_t udl_fb_getinfo
static

Definition at line 93 of file udl.c.

◆ udl_fb_setblankmode

fb_setblankmode_t udl_fb_setblankmode
static

Definition at line 94 of file udl.c.

Referenced by udl_attach().

◆ udl_fps

int udl_fps = 25
static

Definition at line 76 of file udl.c.

Referenced by udl_callout().

◆ udl_methods

device_method_t udl_methods[]
static
Initial value:
= {
DEVMETHOD(device_probe, udl_probe),
DEVMETHOD(device_attach, udl_attach),
DEVMETHOD(device_detach, udl_detach),
DEVMETHOD(fb_getinfo, udl_fb_getinfo),
DEVMETHOD_END
}
static device_detach_t udl_detach
Definition: udl.c:92
static device_attach_t udl_attach
Definition: udl.c:91
static device_probe_t udl_probe
Definition: udl.c:90
static fb_getinfo_t udl_fb_getinfo
Definition: udl.c:93

Definition at line 138 of file udl.c.

◆ udl_probe

device_probe_t udl_probe
static

Definition at line 90 of file udl.c.