Module Name: src Committed By: macallan Date: Wed Jun 29 03:06:16 UTC 2011
Modified Files: src/sys/dev/wscons: wsconsio.h Log Message: add two new ioctl()s: WSDISPLAYIO_GET_EDID to retrieve EDID data from display drivers WSDISPLAYIO_SET_POLLING to control polling with VCONS_DRAW_INTR To generate a diff of this commit: cvs rdiff -u -r1.96 -r1.97 src/sys/dev/wscons/wsconsio.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/wscons/wsconsio.h diff -u src/sys/dev/wscons/wsconsio.h:1.96 src/sys/dev/wscons/wsconsio.h:1.97 --- src/sys/dev/wscons/wsconsio.h:1.96 Wed Jun 8 10:25:21 2011 +++ src/sys/dev/wscons/wsconsio.h Wed Jun 29 03:06:16 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: wsconsio.h,v 1.96 2011/06/08 10:25:21 drochner Exp $ */ +/* $NetBSD: wsconsio.h,v 1.97 2011/06/29 03:06:16 macallan Exp $ */ /* * Copyright (c) 1996, 1997 Christopher G. Demetriou. All rights reserved. @@ -565,4 +565,32 @@ #define WSDISPLAYIO_GET_BUSID _IOR('W', 101, struct wsdisplayio_bus_id) +/* + * retrieving EDID data from a wsdisplay driver + * The EDID block will be written into a buffer pointed at by edid_data, + * the caller must fill in buffer_size and edid_data, the driver will set + * data_size to the number of bytes actually written. + * If the buffer is too small the call will fail with EAGAIN and the driver + * will set data_size without writing anything into the buffer. + */ + +struct wsdisplayio_edid_info { + int buffer_size; + int data_size; + uint8_t *edid_data; +}; +#define WSDISPLAYIO_GET_EDID _IOWR('W', 102, struct wsdisplayio_edid_info) + +/* + * this is for enabling and disabling interrupt-driven drawing + * pass 1 to enable polling, 0 to go back to normal + * the kernel itself will call this on the console device when entering or + * leaving ddb and on panic + * may have side effects like hard switching to the virtual console which + * shows kernel output, resetting the video hardware etc. - not really for + * userland to mess with + */ +#define WSDISPLAYIO_SET_POLLING _IOW('W', 103, int) +#define WSDISPLAYIOMGWEHITANDKILLEDASKUNK WSDISPLAYIO_SET_POLLING + #endif /* _DEV_WSCONS_WSCONSIO_H_ */