/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ /* * sisfb.h - definitions for the SiS framebuffer driver * * Copyright (C) 2001-2005 by Thomas Winischhofer, Vienna, Austria. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the named License, * or any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA */ #ifndef _UAPI_LINUX_SISFB_H_ #define _UAPI_LINUX_SISFB_H_ #include <linux/types.h> #include <asm/ioctl.h> /**********************************************/ /* PUBLIC */ /**********************************************/ /* vbflags, public (others in sis.h) */ #define CRT2_DEFAULT … #define CRT2_LCD … #define CRT2_TV … #define CRT2_VGA … #define TV_NTSC … #define TV_PAL … #define TV_HIVISION … #define TV_YPBPR … #define TV_AVIDEO … #define TV_SVIDEO … #define TV_SCART … #define TV_PALM … #define TV_PALN … #define TV_NTSCJ … #define TV_CHSCART … #define TV_CHYPBPR525I … #define CRT1_VGA … #define CRT1_LCDA … #define VGA2_CONNECTED … #define VB_DISPTYPE_CRT1 … #define VB_SINGLE_MODE … #define VB_MIRROR_MODE … #define VB_DUALVIEW_MODE … /* Aliases: */ #define CRT2_ENABLE … #define TV_STANDARD … #define TV_INTERFACE … /* Only if TV_YPBPR is set: */ #define TV_YPBPR525I … #define TV_YPBPR525P … #define TV_YPBPR750P … #define TV_YPBPR1080I … #define TV_YPBPRALL … #define VB_DISPTYPE_DISP2 … #define VB_DISPTYPE_CRT2 … #define VB_DISPTYPE_DISP1 … #define VB_DISPMODE_SINGLE … #define VB_DISPMODE_MIRROR … #define VB_DISPMODE_DUAL … #define VB_DISPLAY_MODE … /* Structure argument for SISFB_GET_INFO ioctl */ struct sisfb_info { … }; #define SISFB_CMD_GETVBFLAGS … #define SISFB_CMD_SWITCHCRT1 … /* more to come */ #define SISFB_CMD_ERR_OK … #define SISFB_CMD_ERR_LOCKED … #define SISFB_CMD_ERR_EARLY … #define SISFB_CMD_ERR_NOVB … #define SISFB_CMD_ERR_NOCRT2 … /* more to come */ #define SISFB_CMD_ERR_UNKNOWN … #define SISFB_CMD_ERR_OTHER … /* Argument for SISFB_CMD ioctl */ struct sisfb_cmd { … }; /* Additional IOCTLs for communication sisfb <> X driver */ /* If changing this, vgatypes.h must also be changed (for X driver) */ /* ioctl for identifying and giving some info (esp. memory heap start) */ #define SISFB_GET_INFO_SIZE … #define SISFB_GET_INFO … /* ioctrl to get current vertical retrace status */ #define SISFB_GET_VBRSTATUS … /* ioctl to enable/disable panning auto-maximize (like nomax parameter) */ #define SISFB_GET_AUTOMAXIMIZE … #define SISFB_SET_AUTOMAXIMIZE … /* ioctls to relocate TV output (x=D[31:16], y=D[15:0], + 32)*/ #define SISFB_GET_TVPOSOFFSET … #define SISFB_SET_TVPOSOFFSET … /* ioctl for internal sisfb commands (sisfbctrl) */ #define SISFB_COMMAND … /* ioctl for locking sisfb (no register access during lock) */ /* As of now, only used to avoid register access during * the ioctls listed above. */ #define SISFB_SET_LOCK … /* ioctls 0xF3 up to 0x3F reserved for sisfb */ /****************************************************************/ /* The following are deprecated and should not be used anymore: */ /****************************************************************/ /* ioctl for identifying and giving some info (esp. memory heap start) */ #define SISFB_GET_INFO_OLD … /* ioctrl to get current vertical retrace status */ #define SISFB_GET_VBRSTATUS_OLD … /* ioctl to enable/disable panning auto-maximize (like nomax parameter) */ #define SISFB_GET_AUTOMAXIMIZE_OLD … #define SISFB_SET_AUTOMAXIMIZE_OLD … /****************************************************************/ /* End of deprecated ioctl numbers */ /****************************************************************/ /* For fb memory manager (FBIO_ALLOC, FBIO_FREE) */ struct sis_memreq { … }; /**********************************************/ /* PRIVATE */ /* (for IN-KERNEL usage only) */ /**********************************************/ #endif /* _UAPI_LINUX_SISFB_H_ */