1 /* 2 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 3 * Use is subject to license terms. 4 */ 5 6 #ifndef _SYS_AGPTARGET_IO_H 7 #define _SYS_AGPTARGET_IO_H 8 9 #ifdef __cplusplus 10 extern "C" { 11 #endif 12 13 #ifdef _KERNEL 14 15 #define AGPTARGET_NAME "agptarget" 16 #define AGPTARGET_DEVLINK "/dev/agp/agptarget" 17 18 /* macros for layered ioctls */ 19 #define AGPTARGETIOC_BASE 'M' 20 #define CHIP_DETECT _IOR(AGPTARGETIOC_BASE, 30, int) 21 #define I8XX_GET_PREALLOC_SIZE _IOR(AGPTARGETIOC_BASE, 31, size_t) 22 #define AGP_TARGET_GETINFO _IOR(AGPTARGETIOC_BASE, 32, i_agp_info_t) 23 #define AGP_TARGET_SET_GATTADDR _IOW(AGPTARGETIOC_BASE, 33, uint32_t) 24 #define AGP_TARGET_SETCMD _IOW(AGPTARGETIOC_BASE, 34, uint32_t) 25 #define AGP_TARGET_FLUSH_GTLB _IO(AGPTARGETIOC_BASE, 35) 26 #define AGP_TARGET_CONFIGURE _IO(AGPTARGETIOC_BASE, 36) 27 #define AGP_TARGET_UNCONFIG _IO(AGPTARGETIOC_BASE, 37) 28 #define INTEL_CHIPSET_FLUSH_SETUP _IO(AGPTARGETIOC_BASE, 38) 29 #define INTEL_CHIPSET_FLUSH _IO(AGPTARGETIOC_BASE, 39) 30 #define INTEL_CHIPSET_FLUSH_FREE _IO(AGPTARGETIOC_BASE, 40) 31 32 /* Internal agp info struct */ 33 typedef struct _i_agp_info { 34 agp_version_t iagp_ver; 35 uint32_t iagp_devid; /* bridge vendor + device */ 36 uint32_t iagp_mode; /* mode of brdige */ 37 uint64_t iagp_aperbase; /* base of aperture */ 38 size_t iagp_apersize; /* aperture range size in bytes */ 39 } i_agp_info_t; 40 41 42 #endif /* _KERNEL */ 43 44 #ifdef __cplusplus 45 } 46 #endif 47 48 #endif /* _SYS_AGPTARGET_IO_H */