fb_var_screeninfo 和fb_fix_screeninfo

struct fb_var_screeninfo {  
	//struct fb_info的成员(可变参数),其记录用户可修改的显示控制器的参数,包括分
    //辨率和每个像素点的比特数,其成员需要在驱动程序中初始化和设置
               
	/********可见解析度(实际屏幕)********/             
	__u32 xres;/* visible resolution*//*定义屏幕一行有多少个像素点 */
	__u32 yres;                                /*定义屏幕一列由多少个像素点 */

	/********虚拟解析度(虚拟屏幕)********/
	__u32 xres_virtual;/* virtual resolution*/ /*虚拟屏幕一行有多少个像素点 */
	__u32 yres_virtual;                                 /*虚拟屏幕一列由多少个像素点*/
	__u32 xoffset;/* offset from virtual to visible */ /*虚拟到可见(实际)之间的行方向偏移 */
	__u32 yoffset;/* resolution*/                           /*虚拟到可见(实际)之间的列方向偏移*/ 

	__u32 bits_per_pixel; /* guess what */                           /*每像素位数(多少BPP),单位为字节 */
	__u32 grayscale; /* != 0 Graylevels instead of colors */  /*非0时指灰度*/ 

	/********fb缓存的RGB位域**********/
	struct fb_bitfield red;/* bitfield in fb mem if true color, */ /* fb缓存的红色位域*/
	struct fb_bitfield green;/* else only length is significant *//* fb缓存的绿色位域*/
	struct fb_bitfield blue;                                                    /* fb缓存的蓝色位域*/
	struct fb_bitfield transp;/* transparency*/                 /*透明度 =0 */ 

	__u32 nonstd;/* != 0 Non standard pixel format *//*非标准像素格式时应该为非0值 (标志像素格式时 nonstd=0) */ 

	__u32 activate;/* see FB_ACTIVATE_**/   /*查看宏FB_ACTIVATE_NOW */ 

	__u32 height;/* height of picture in mm */ /* 高度*/
	__u32 width;/* width of picture in mm*/     /* 宽度 */ 

	__u32 accel_flags;/* (OBSOLETE) see fb_info.flags */ /*查看fb_info.flags */ 

 
  /************这参数必须通过查看LCD数据手册得到**************/
    /* Timing: All values in pixclocks, except pixclock (of course) */
	__u32 pixclock; /* pixel clock in ps (pico seconds) */ /*像素时钟(皮秒),pixclock=1/Dclk=... */

	/* 行切换,从同步到绘图之间的延迟即HFPD(有效数据之后无效的像素的个数) ,对应于LCD数据手册的Hsyn的front-porch*/
	__u32 left_margin; /* time from sync to picture */  
	/*行切换,从绘图到同步之间的延迟即HBPD(Hsyn脉冲下降沿之后的无效像素的个数) ,对应于LCD数据手册的Hsyn的back-porch*/					   
	__u32 right_margin; /* time from picture to sync */  
	/*帧切换,从同步到绘图之间的延迟即VFPD(有效数据之后还要经历的无效行数(之后是下一帧数据)) ,对应于LCD数据手册的Vsyn的front-porch*/					  
	__u32 upper_margin; /* time from sync to picture */   
	/*帧切换,从绘图到同步之间的延迟即VBPD(Vsyn脉冲下降沿之后还要经历的无效行数) ,对应于LCD数据手册的Vsyn的back-porch */
	__u32 lower_margin;  
	/*水平同步的长度即HSPW(Hsyn信号的脉冲宽度),对应于LCD数据手册的Hsyn的pulse Width */ 					 
	__u32 hsync_len;  /* length of horizontal sync*/
	/*垂直同步的长度即VSPW(Vsyn信号的脉冲宽度),对应于LCD数据手册的Vsyn的pulse Width */
	__u32 vsync_len;  /* length of vertical sync*/    

	__u32 sync;   /* see FB_SYNC_**/            /* 查看宏FB_SYNC_*/
	__u32 vmode;  /* see FB_VMODE_**/         /*  查看宏FB_VMODE_ */
	__u32 rotate;  /* angle we rotate counter clockwise */ /*顺时钟旋转的角度 */
	__u32 reserved[5]; /* Reserved for future compatibility */  /* */
 }; 
 
struct fb_fix_screeninfo {  
// struct fb_info的成员(固定参数),其记录用户不能修改的显示控制器的参数,如屏幕缓冲区物理地址,
//长度,当对帧缓冲设备进行映射操作时,就是从此结构中取得缓冲区物理地址,其成员需要在驱动程序中初始化和设置
                                                    
  char id[16]; /* identification string eg "TT Builtin" */           /*字符串形式的标识符  */
  /* fb缓冲内存的开始地址(物理地址),它一般是作为dma_alloc_writecombine的参数,该函数会将物理地址存放在该变量中*/
  unsigned long smem_start; /* Start of frame buffer mem physical address) */                          
  __u32 smem_len; /* Length of frame buffer mem */            /* fb缓冲的长度,等于max_xres *max_yres*max_bpp/8  */
  __u32 type;  /* see FB_TYPE_**/                               /*  查看宏 FB_TYPE_    FB_TYPE_PACKED_PIXELS=0  */
  __u32 type_aux; /* Interleave for interleaved Planes*/      /* 分界,=0 */
  __u32 visual;  /* see FB_VISUAL_**/                           /* 查看宏FB_VISUAL_,用于记录屏幕使用的色彩模式,一般是FB_VISUAL_TRUECOLOR(真彩色) */
  __u16 xpanstep; /* zero if no hardware panning*/            /* 如果没有硬件 panning,=0 */
  __u16 ypanstep; /* zero if no hardware panning*/            /* 如果没有硬件 panning,=0 */
  __u16 ywrapstep;/* zero if no hardware ywrap */             /* 如果没有硬件 panning,=0 */
  __u32 line_length;/* length of a line in bytes */                /* 一行的字节数 */
  unsigned long mmio_start; /* Start of Memory Mapped I/O*/  /* 内存映射的I/O的开始位置 */
      /* (physical address) */
  __u32 mmio_len; /* Length of Memory Mapped I/O  */            /* 内存映射的I/O的长度 */
  __u32 accel; /* Indicate to driver which */                           /* = FB_ACCEL_NONE */
      /*  specific chip/card we have */
  __u16 reserved[3];/* Reserved for future compatibility */       /*  */
 }; 






你可能感兴趣的:(显示)