91 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
/**
 | 
						|
    The header file of nvtdisp ioctl operations.
 | 
						|
 | 
						|
    @file       disp_ioctl.h
 | 
						|
    Copyright   Novatek Microelectronics Corp. 2017.  All rights reserved.
 | 
						|
 | 
						|
    This program is free software; you can redistribute it and/or modify
 | 
						|
    it under the terms of the GNU General Public License version 2 as
 | 
						|
    published by the Free Software Foundation.
 | 
						|
*/
 | 
						|
#ifndef __DISP_IOCTL_H
 | 
						|
#define __DISP_IOCTL_H
 | 
						|
 | 
						|
#include <asm/ioctl.h>
 | 
						|
 | 
						|
/**
 | 
						|
    Disp error code.
 | 
						|
*/
 | 
						|
#define E_DISP_OK              (0) ///< Operation correct
 | 
						|
#define E_DISP_PAR            (-4) ///< Input parameter error (E_PAR)
 | 
						|
#define E_DISP_SYS            (-5) ///< System error (E_SYS)
 | 
						|
#define E_DISP_IPC            (-6) ///< Disp IPC error
 | 
						|
#define E_DISP_BUF            (-7) ///< Disp buffer error
 | 
						|
 | 
						|
/**
 | 
						|
    disp ioct get/set value structure.
 | 
						|
*/
 | 
						|
typedef struct _DISP_IOC_VALUE_S{
 | 
						|
    UINT32  DevID;		///< Device ID
 | 
						|
    UINT32  LayerID;	///< Layer ID
 | 
						|
    UINT32  param;		///< Layer attribute
 | 
						|
    UINT32  value;		///< Attribute value
 | 
						|
    INT32  rtn;		///< return result
 | 
						|
} DISP_IOC_VALUE_S;
 | 
						|
 | 
						|
 | 
						|
typedef struct _DISP_IOC_MEM_S{
 | 
						|
    UINT32  addr;		///< buffer address
 | 
						|
    UINT32  size;		///< buffer size
 | 
						|
    INT32  rtn;		///< return result
 | 
						|
} DISP_IOC_MEM_S;
 | 
						|
 | 
						|
typedef struct _DISP_IOC_SIZE_S{
 | 
						|
    UINT32  DevID;		///< Device ID
 | 
						|
	ISIZE 	size;		///< Device size
 | 
						|
    INT32  rtn;		///< return result
 | 
						|
} DISP_IOC_SIZE_S;
 | 
						|
 | 
						|
typedef struct _DISP_IOC_ADDR_S{
 | 
						|
    UINT32  DevID;		///< Device ID
 | 
						|
    UINT32  LayerID;	///< Layer ID
 | 
						|
    UINT32  addr1;		///< address1
 | 
						|
    UINT32  addr2;		///< address2
 | 
						|
    UINT32  addr3;		///< address3
 | 
						|
    UINT32  wait;		///< wait VD
 | 
						|
    INT32  rtn;		///< return result
 | 
						|
} DISP_IOC_ADDR_S;
 | 
						|
 | 
						|
typedef struct _DISP_IOC_FOTMAT_S{
 | 
						|
    UINT32	DevID;		///< Device ID
 | 
						|
    UINT32  LayerID;	///< Layer ID
 | 
						|
	UINT32 	format;		///< buffer format
 | 
						|
	UINT32 	w;			///< buffer width (pixle unit)
 | 
						|
	UINT32 	h;			///< buffer height (pixle unit)
 | 
						|
	UINT32 	loff;		///< buffer line offset (byte unit)
 | 
						|
    INT32  rtn;		///< return result
 | 
						|
} DISP_IOC_FOTMAT_S;
 | 
						|
 | 
						|
typedef struct _DISP_IOC_WIN_S{
 | 
						|
    UINT32  DevID;		///< Device ID
 | 
						|
    UINT32  LayerID;	///< Layer ID
 | 
						|
	UINT32 	x;			///< scale win start x
 | 
						|
	UINT32 	y;			///< scale win start y
 | 
						|
	UINT32 	w;			///< scale win width
 | 
						|
	UINT32 	h;			///< scale win height
 | 
						|
    INT32  rtn;		///< return result
 | 
						|
} DISP_IOC_WIN_S;
 | 
						|
 | 
						|
#define DISP_IOC_MAGIC        	'D'
 | 
						|
#define DISP_IOC_MEM 		_IOWR(DISP_IOC_MAGIC, 1, DISP_IOC_MEM_S)
 | 
						|
#define DISP_IOC_GET_DSIZE 	_IOWR(DISP_IOC_MAGIC, 2, DISP_IOC_SIZE_S)
 | 
						|
#define DISP_IOC_INIT   	_IOWR(DISP_IOC_MAGIC, 3, DISP_IOC_VALUE_S)
 | 
						|
#define DISP_IOC_UNINIT  	_IOWR(DISP_IOC_MAGIC, 4, DISP_IOC_VALUE_S)
 | 
						|
#define DISP_IOC_WIN 		_IOWR(DISP_IOC_MAGIC, 5, DISP_IOC_WIN_S)
 | 
						|
#define DISP_IOC_FMT 		_IOWR(DISP_IOC_MAGIC, 6, DISP_IOC_FOTMAT_S)
 | 
						|
#define DISP_IOC_ADDR 		_IOWR(DISP_IOC_MAGIC, 7, DISP_IOC_ADDR_S)
 | 
						|
#define DISP_IOC_GET   		_IOWR(DISP_IOC_MAGIC, 8, DISP_IOC_VALUE_S)
 | 
						|
#define DISP_IOC_SET  		_IOWR(DISP_IOC_MAGIC, 9, DISP_IOC_VALUE_S)
 | 
						|
 | 
						|
#endif /* __DISP_IOCTL_H */
 |