[parisc-linux-cvs] grfioctl.h

Helge Deller deller@gmx.de
Sat, 12 May 2001 23:53:40 +0200


I added the following lines as include/asm-parisc/grfioctl.h (AFAIK the same 
name as HPUX uses) to help to get XFree86 compiled (which I never tried 
myself) and to have some sort of backwards-compatibility.
I have no clue if the things I did here are correct (esp. the #define gaddr_t 
line), but at least it's a first implementation :-)

Helge

/*
 * Architecture specific parts of HP's STI (framebuffer) driver
 * structures are HP-UX compatible for XFree86 usage 
 */ 

#ifndef __ASM_PARISC_GRFIOCTL_H
#define __ASM_PARISC_GRFIOCTL_H

/* upper 32 bits of graphics id (HP/UX identifier) */

#define GRFGATOR		8
#define S9000_ID_S300           9
#define GRFBOBCAT		9
#define	GRFCATSEYE		9
#define S9000_ID_98720          10
#define GRFRBOX			10
#define S9000_ID_98550          11
#define GRFFIREEYE		11
#define S9000_ID_A1096A         12
#define GRFHYPERION		12
#define S9000_ID_FRI            13
#define S9000_ID_98730          14
#define GRFDAVINCI		14
#define S9000_ID_98705          0x26C08070
#define S9000_ID_98736          0x26D148AB
#define S9000_ID_A1659A         0x26D1482A	/* CRX (=ELK) */
#define S9000_ID_ELK		S9000_ID_A1659A
#define S9000_ID_A1439A         0x26D148EE	/* CRX24 */
#define S9000_ID_ELM            0x26D1488C	/* A1924 - gray-scale GRX */
#define S9000_ID_98765          0x27480DEF
#define S9000_ID_ELK_768        0x27482101
#define S9000_ID_STINGER        0x27A4A402
#define S9000_ID_TIMBER		0x27F12392	/* Bushmaster (710) Graphics */
#define S9000_ID_TOMCAT		0x27FCCB6D	/* 2-headed ELK (Dual CRX) */
#define S9000_ID_ARTIST		0x2B4DED6D	/* Artist (Gecko/712 & 715) Graphics */
#define S9000_ID_HCRX		0x2BCB015A	/* Hyperdrive/Hyperbowl Graphics */
#define CRX24_OVERLAY_PLANES	0x920825AA	/* Overlay planes on CRX24 */


/* structure for ioctl(GCDESCRIBE) */

#define gaddr_t unsigned long	/* FIXME: PA2.0 (64bit) portable ? */

struct	grf_fbinfo {
	unsigned int	id;		/* upper 32 bits of graphics id */
	unsigned int	mapsize;	/* mapped size of framebuffer */
	unsigned int	dwidth, dlength;/* x and y sizes */
	unsigned int	width, length;	/* total x and total y size */
	unsigned int	xlen;		/* x pitch size */
	unsigned int	bpp, bppu;	/* bits per pixel and used bpp */
	unsigned int	npl, nplbytes;	/* # of planes and bytes per plane */
	char		name[32];	/* name of the device (from ROM) */
	unsigned int	attr;		/* attributes */
	gaddr_t 	fbbase, regbase;/* framebuffer and register base addr */
	gaddr_t		regions[6];	/* region bases */
};

#define	GCID		_IOR('G', 0, int)
#define	GCON		_IO('G', 1)
#define	GCOFF		_IO('G', 2)
#define	GCAON		_IO('G', 3)
#define	GCAOFF		_IO('G', 4)
#define	GCMAP		_IOWR('G', 5, int)
#define	GCUNMAP		_IOWR('G', 6, int)
#define	GCMAP_HPUX	_IO('G', 5)
#define	GCUNMAP_HPUX	_IO('G', 6)
#define	GCLOCK		_IO('G', 7)
#define	GCUNLOCK	_IO('G', 8)
#define	GCLOCK_MINIMUM	_IO('G', 9)
#define	GCUNLOCK_MINIMUM _IO('G', 10)
#define	GCSTATIC_CMAP	_IO('G', 11)
#define	GCVARIABLE_CMAP _IO('G', 12)
#define GCTERM		_IOWR('G',20,int)	/* multi-headed Tomcat */ 
#define GCDESCRIBE	_IOR('G', 21, struct grf_fbinfo)
#define GCFASTLOCK	_IO('G', 26)

#endif /* __ASM_PARISC_GRFIOCTL_H */