linux/drivers/video/controlfb.c
<<
Search op v/form op vdiv class="headingbott.m">
vdiv idiofile_contents"
   1v/a>vspa
 class="comment">/*v/spa
	    2v/a>vspa
 class="comment"> *  controlfb.c -- framt buffer device for the PowerMac 'control' displayv/spa
	    3v/a>vspa
 class="comment"> *v/spa
	    4v/a>vspa
 class="comment"> *  Created 12 July 1998 by Da
 Jacobowitz <dan@debian.org>v/spa
	    5v/a>vspa
 class="comment"> *  Copyright (C) 1998 Da
 Jacobowitzv/spa
	    6v/a>vspa
 class="comment"> *  Copyright (C) 2001 Takashi Oev/spa
	    7v/a>vspa
 class="comment"> *v/spa
	    8v/a>vspa
 class="comment"> *  Mmap code by Michel Lanners <mlan@cpu.lu>v/spa
	    9v/a>vspa
 class="comment"> *v/spa
	   ="v3a>vspa
 class="comment"> *  Framt buffer structure from:v/spa
	   11v/a>vspa
 class="comment"> *    drivers/video/chipsfb.c -- framt buffer device forv/spa
	   12v/a>vspa
 class="comment"> *    Chips & Technologies 65550 chip.v/spa
	   13v/a>vspa
 class="comment"> *v/spa
	   14v/a>vspa
 class="comment"> *    Copyright (C) 1998 Paul Mackerrasv/spa
	   15v/a>vspa
 class="comment"> *v/spa
	   16v/a>vspa
 class="comment"> *    This file is derived from the Powermac "chips" driver:v/spa
	   17v/a>vspa
 class="comment"> *    Copyright (C) 1997 Fabio Riccardi.v/spa
	   18v/a>vspa
 class="comment"> *    And from the framt buffer device for Open Firmware-initialized devices:v/spa
	   19v/a>vspa
 class="comment"> *    Copyright (C) 1997 Geert Uytterhoeven.v/spa
	   2"v3a>vspa
 class="comment"> *v/spa
	   21v/a>vspa
 class="comment"> *  Hardware informa14.12from:v/spa
	   22v/a>vspa
 class="comment"> *    control.c: Console support for PowerMac "control" display adaptor.v/spa
	   23v/a>vspa
 class="comment"> *    Copyright (C) 1996 Paul Mackerrasv/spa
	   24v/a>vspa
 class="comment"> *v/spa
	   25v/a>vspa
 class="comment"> *  Updated to 2.5 framtbuffer API by Ben Herrenschmidtv/spa
	   26v/a>vspa
 class="comment"> *  <benh@kernel.crashing.org>, Paul Mackerras <paulus@samba.org>,v/spa
	   27v/a>vspa
 class="comment"> *  and Jamts Simmons <jsimmons@infradead.org>.v/spa
	   28v/a>vspa
 class="comment"> *v/spa
	   29v/a>vspa
 class="comment"> *  This file is subject to the terms and condi14.1s of the GNU General Publicv/spa
	   3"v3a>vspa
 class="comment"> *  License. See the file COPYING in the main directory of this archive forv/spa
	   31v/a>vspa
 class="comment"> *  more details.v/spa
	   32v/a>vspa
 class="comment"> */v/spa
	   33v/a>   34v/a>#include <linux/module.hv/a>>   35v/a>#include <linux/kernel.hv/a>>   36v/a>#include <linux/errno.hv/a>>   37v/a>#include <linux/string.hv/a>>   38v/a>#include <linux/mm.hv/a>>   39v/a>#include <linux/slab.hv/a>>   40v/a>#include <linux/vmalloc.hv/a>>   41v/a>#include <linux/delay.hv/a>>   42v/a>#include <linux/interrupt.hv/a>>   43v/a>#include <linux/of.hv/a>>   44v/a>#include <linux/of_address.hv/a>>   45v/a>#include <linux/fb.hv/a>>   46v/a>#include <linux/init.hv/a>>   47v/a>#include <linux/pci.hv/a>>   48v/a>#include <linux/nvram.hv/a>>   49v/a>#include <linux/adb.hv/a>>   50v/a>#include <linux/cuda.hv/a>>   51v/a>#include <asm/io.hv/a>>   52v/a>#include <asm/prom.hv/a>>   53v/a>#include <asm/pgtable.hv/a>>   54v/a>#include <asm/btext.hv/a>>   55v/a>   56v/a>#include "macmodes.hv/a>"   57v/a>#include "controlfb.hv/a>"   58v/a>   59v/a>struct va href="+code=fb_par_control" class="sref">fb_par_controlv/a> {   60v/a>        intp    va href="+code=vmode" class="sref">vmodev/a>, va href="+code=cmode" class="sref">cmodev/a>;   61v/a>        intp    va href="+code=xres" class="sref">xresv/a>, va href="+code=yres" class="sref">yresv/a>;   62v/a>        intp    va href="+code=vxres" class="sref">vxresv/a>, va href="+code=vyres" class="sref">vyresv/a>;   63v/a>        intp    va href="+code=xoffset" class="sref">xoffsetv/a>, va href="+code=yoffset" class="sref">yoffsetv/a>;   64v/a>        intp    va href="+code=pitch" class="sref">pitchv/a>;   65v/a>        struct va href="+code=control_regvals" class="sref">control_regvalsv/a>  va href="+code=regvals" class="sref">regvalsv/a>;   66v/a>        unsigned long va href="+code=sync" class="sref">syncv/a>;   67v/a>        unsigned char va href="+code=ctrl" class="sref">ctrlv/a>;   68v/a>};   69v/a>   70v/a>#define va href="+code=DIRTY" class="sref">DIRTYv/a>(va href="+code=z" class="sref">zv/a>) ((va href="+code=x" class="sref">xv/a>)->va href="+code=z" class="sref">zv/a> != (va href="+code=y" class="sref">yv/a>)->va href="+code=z" class="sref">zv/a>)   71v/a>#define va href="+code=DIRTY_CMAP" class="sref">DIRTY_CMAPv/a>(va href="+code=z" class="sref">zv/a>) (va href="+code=memcmp" class="sref">memcmpv/a>(&((va href="+code=x" class="sref">xv/a>)->va href="+code=z" class="sref">zv/a>), &((va href="+code=y" class="sref">yv/a>)->va href="+code=z" class="sref">zv/a>), sizeof((va href="+code=y" class="sref">yv/a>)->va href="+code=z" class="sref">zv/a>)))   72v/a>static va href="+code=inline" class="sref">inlinev/a> intpva href="+code=PAR_EQUAL" class="sref">PAR_EQUALv/a>(struct va href="+code=fb_par_control" class="sref">fb_par_controlv/a> *va href="+code=x" class="sref">xv/a>, struct va href="+code=fb_par_control" class="sref">fb_par_controlv/a> *va href="+code=y" class="sref">yv/a>)   73v/a>{   74v/a>        intpva href="+code=i" class="sref">iv/a>, va href="+code=results" class="sref">resultsv/a>;   75v/a>   76v/a>        va href="+code=results" class="sref">resultsv/a> = 1;   77v/a>        for (va href="+code=i" class="sref">iv/a> = 0;pva href="+code=i" class="sref">iv/a> < 3;pva href="+code=i" class="sref">iv/a>++)   78v/a>                va href="+code=results" class="sref">resultsv/a> &= !va href="+code=DIRTY" class="sref">DIRTYv/a>(va href="+code=regvals" class="sref">regvalsv/a>.va href="+code=clock_params" class="sref">clock_paramsv/a>[va href="+code=i" class="sref">iv/a>]);   79v/a>        if (!va href="+code=results" class="sref">resultsv/a>)   80v/a>                return 0;   81v/a>        for (va href="+code=i" class="sref">iv/a> = 0;pva href="+code=i" class="sref">iv/a> < 16;pva href="+code=i" class="sref">iv/a>++)   82v/a>                va href="+code=results" class="sref">resultsv/a> &= !va href="+code=DIRTY" class="sref">DIRTYv/a>(va href="+code=regvals" class="sref">regvalsv/a>.va href="+code=regs" class="sref">regsv/a>[va href="+code=i" class="sref">iv/a>]);   83v/a>        if (!va href="+code=results" class="sref">resultsv/a>)   84v/a>                return 0;   85v/a>        return (!va href="+code=DIRTY" class="sref">DIRTYv/a>(va href="+code=cmode" class="sref">cmodev/a>) && !va href="+code=DIRTY" class="sref">DIRTYv/a>(va href="+code=xres" class="sref">xresv/a>) && !va href="+code=DIRTY" class="sref">DIRTYv/a>(va href="+code=yres" class="sref">yresv/a>)   86v/a>                && !va href="+code=DIRTY" class="sref">DIRTYv/a>(va href="+code=vxres" class="sref">vxresv/a>) && !va href="+code=DIRTY" class="sref">DIRTYv/a>(va href="+code=vyres" class="sref">vyresv/a>));   87v/a>}   88v/a>static va href="+code=inline" class="sref">inlinev/a> intpva href="+code=VAR_MATCH" class="sref">VAR_MATCHv/a>(struct va href="+code=fb_var_screeninfo" class="sref">fb_var_screeninfov/a> *va href="+code=x" class="sref">xv/a>, struct va href="+code=fb_var_screeninfo" class="sref">fb_var_screeninfov/a> *va href="+code=y" class="sref">yv/a>)   89v/a>{   90v/a>        return (!va href="+code=DIRTY" class="sref">DIRTYv/a>(va href="+code=bits_per_pixel" class="sref">bits_per_pixelv/a>) && !va href="+code=DIRTY" class="sref">DIRTYv/a>(va href="+code=xres" class="sref">xresv/a>)   91v/a>                && !va href="+code=DIRTY" class="sref">DIRTYv/a>(va href="+code=yres" class="sref">yresv/a>) && !va href="+code=DIRTY" class="sref">DIRTYv/a>(va href="+code=xres_virtual" class="sref">xres_virtualv/a>)   92v/a>                && !va href="+code=DIRTY" class="sref">DIRTYv/a>(va href="+code=yres_virtual" class="sref">yres_virtualv/a>)   93v/a>                && !va href="+code=DIRTY_CMAP" class="sref">DIRTY_CMAPv/a>(va href="+code=red" class="sref">redv/a>) && !va href="+code=DIRTY_CMAP" class="sref">DIRTY_CMAPv/a>(va href="+code=green" class="sref">greenv/a>) && !va href="+code=DIRTY_CMAP" class="sref">DIRTY_CMAPv/a>(va href="+code=blue" class="sref">bluev/a>));   94v/a>}   95v/a>   96v/a>struct va href="+code=fb_info_control" class="sref">fb_info_controlv/a> {   97v/a>        struct va href="+code=fb_info" class="sref">fb_infov/a>          va href="+code=info" class="sref">infov/a>;   98v/a>        struct va href="+code=fb_par_control" class="sref">fb_par_controlv/a>   va href="+code=par" class="sref">parv/a>;   99v/a>        va href="+code=u32" class="sref">u32v/a>                     va href="+code=pseudo_palette" class="sref">pseudo_palettev/a>[16];  100v/a>                  101v/a>        struct va href="+code=cmap_regs" class="sref">cmap_regsv/a>        va href="+code=__iomem" class="sref">__iomemv/a> *va href="+code=cmap_regs" class="sref">cmap_regsv/a>;  102v/a>        unsigned long           va href="+code=cmap_regs_phys" class="sref">cmap_regs_physv/a>;  103v/a>          104v/a>        struct va href="+code=control_regs" class="sref">control_regsv/a>     va href="+code=__iomem" class="sref">__iomemv/a> *va href="+code=control_regs" class="sref">control_regsv/a>;  105v/a>        unsigned long           va href="+code=control_regs_phys" class="sref">control_regs_physv/a>;  106v/a>        unsigned long           va href="+code=control_regs_size" class="sref">control_regs_sizev/a>;  107v/a>          108v/a>        va href="+code=__u8" class="sref">__u8v/a>                    va href="+code=__iomem" class="sref">__iomemv/a> *va href="+code=framt_buffer" class="sref">framt_bufferv/a>;  109v/a>        unsigned long           va href="+code=framt_buffer_phys" class="sref">framt_buffer_physv/a>;  110v/a>        unsigned long           va href="+code=fb_orig_base" class="sref">fb_orig_basev/a>;  111v/a>        unsigned long           va href="+code=fb_orig_size" class="sref">fb_orig_sizev/a>;  112v/a>  113v/a>        intp                    va href="+code=control_ust_bank2" class="sref">control_ust_bank2v/a>;  114v/a>        unsigned long           va href="+code=total_vram" class="sref">total_vramv/a>;  115v/a>        unsigned char           va href="+code=vram_attr" class="sref">vram_attrv/a>;  116v/a>};  117v/a>  118v/a>vspa
 class="comment">/* control register access macro */v/spa
	  119v/a>#define va href="+code=CNTRL_REG" class="sref">CNTRL_REGv/a>(va href="+code=INFO" class="sref">INFOv/a>,va href="+code=REG" class="sref">REGv/a>) (&(((va href="+code=INFO" class="sref">INFOv/a>)->va href="+code=control_regs" class="sref">control_regsv/a>->va href="+code=REG" class="sref">REGv/a>).va href="+code=r" class="sref">rv/a>))  12"v3a>  121v/a>  122v/a>vspa
 class="comment">/******************** Prototypes for exported func14.1s ********************/v/spa
	  123v/a>vspa
 class="comment">/*v/spa
	  124v/a>vspa
 class="comment"> * struct fb_opsv/spa
	  125v/a>vspa
 class="comment"> */v/spa
	  126v/a>static intpva href="+code=controlfb_pa
_display" class="sref">controlfb_pa
_displayv/a>(struct va href="+code=fb_var_screeninfo" class="sref">fb_var_screeninfov/a> *va href="+code=var" class="sref">varv/a>,  127v/a>        struct va href="+code=fb_info" class="sref">fb_infov/a> *va href="+code=info" class="sref">infov/a>);  128v/a>static intpva href="+code=controlfb_setcolreg" class="sref">controlfb_setcolregv/a>(va href="+code=u_int" class="sref">u_intv/a> va href="+code=regno" class="sref">regnov/a>, va href="+code=u_int" class="sref">u_intv/a> va href="+code=red" class="sref">redv/a>, va href="+code=u_int" class="sref">u_intv/a> va href="+code=green" class="sref">greenv/a>, va href="+code=u_int" class="sref">u_intv/a> va href="+code=blue" class="sref">bluev/a>,  129v/a>        va href="+code=u_int" class="sref">u_intv/a> va href="+code=transp" class="sref">transpv/a>, struct va href="+code=fb_info" class="sref">fb_infov/a> *va href="+code=info" class="sref">infov/a>);  13"v3a>static intpva href="+code=controlfb_blank" class="sref">controlfb_blankv/a>(intpva href="+code=blank_mode" class="sref">blank_modev/a>, struct va href="+code=fb_info" class="sref">fb_infov/a> *va href="+code=info" class="sref">infov/a>);  131v/a>static intpva href="+code=controlfb_mmap" class="sref">controlfb_mmapv/a>(struct va href="+code=fb_info" class="sref">fb_infov/a> *va href="+code=info" class="sref">infov/a>,  132v/a>        struct va href="+code=vm_area_struct" class="sref">vm_area_structv/a> *va href="+code=vma" class="sref">vmav/a>);  133v/a>static intpva href="+code=controlfb_set_par" class="sref">controlfb_set_parv/a> (struct va href="+code=fb_info" class="sref">fb_infov/a> *va href="+code=info" class="sref">infov/a>);  134v/a>static intpva href="+code=controlfb_check_var" class="sref">controlfb_check_varv/a> (struct va href="+code=fb_var_screeninfo" class="sref">fb_var_screeninfov/a> *va href="+code=var" class="sref">varv/a>, struct va href="+code=fb_info" class="sref">fb_infov/a> *va href="+code=info" class="sref">infov/a>);  135v/a>  136v/a>vspa
 class="comment">/******************** Prototypes for internal func14.1s **********************/v/spa
	  137v/a>  138v/a>static void va href="+code=set_control_clock" class="sref">set_control_clockv/a>(unsigned char *va href="+code=params" class="sref">paramsv/a>);  139v/a>static intpva href="+code=init_control" class="sref">init_controlv/a>(struct va href="+code=fb_info_control" class="sref">fb_info_controlv/a> *va href="+code=p" class="sref">pv/a>);  140v/a>static void va href="+code=control_set_hardware" class="sref">control_set_hardwarev/a>(struct va href="+code=fb_info_control" class="sref">fb_info_controlv/a> *va href="+code=p" class="sref">pv/a>,  141v/a>        struct va href="+code=fb_par_control" class="sref">fb_par_controlv/a> *va href="+code=par" class="sref">parv/a>);  142v/a>static intpva href="+code=control_of_init" class="sref">control_of_initv/a>(struct va href="+code=device_node" class="sref">device_nodev/a> *va href="+code=dp" class="sref">dpv/a>);  143v/a>static void va href="+code=find_vram_size" class="sref">find_vram_sizev/a>(struct va href="+code=fb_info_control" class="sref">fb_info_controlv/a> *va href="+code=p" class="sref">pv/a>);  144v/a>static intpva href="+code=read_control_sense" class="sref">read_control_sensev/a>(struct va href="+code=fb_info_control" class="sref">fb_info_controlv/a> *va href="+code=p" class="sref">pv/a>);  145v/a>static intpva href="+code=calc_clock_params" class="sref">calc_clock_paramsv/a>(unsigned long va href="+code=clk" class="sref">clkv/a>, unsigned char *va href="+code=param" class="sref">paramv/a>);  146v/a>static intpva href="+code=control_var_to_par" class="sref">control_var_to_parv/a>(struct va href="+code=fb_var_screeninfo" class="sref">fb_var_screeninfov/a> *va href="+code=var" class="sref">varv/a>,  147v/a>        struct va href="+code=fb_par_control" class="sref">fb_par_controlv/a> *va href="+code=par" class="sref">parv/a>, const struct va href="+code=fb_info" class="sref">fb_infov/a> *va href="+code=fb_info" class="sref">fb_infov/a>);  148v/a>static va href="+code=inline" class="sref">inlinev/a> void va href="+code=control_par_to_var" class="sref">control_par_to_varv/a>(struct va href="+code=fb_par_control" class="sref">fb_par_controlv/a> *va href="+code=par" class="sref">parv/a>,  149v/a>        struct va href="+code=fb_var_screeninfo" class="sref">fb_var_screeninfov/a> *va href="+code=var" class="sref">varv/a>);  150v/a>static void va href="+code=control_init_info" class="sref">control_init_infov/a>(struct va href="+code=fb_info" class="sref">fb_infov/a> *va href="+code=info" class="sref">infov/a>, struct va href="+code=fb_info_control" class="sref">fb_info_controlv/a> *va href="+code=p" class="sref">pv/a>);  151v/a>static void va href="+code=control_cleanup" class="sref">control_cleanupv/a>(void);  152v/a>  153v/a>  154v/a>vspa
 class="comment">/************************** Internal variables *******************************/v/spa
	  155v/a>  156v/a>static struct va href="+code=fb_info_control" class="sref">fb_info_controlv/a> *va href="+code=control_fb" class="sref">control_fbv/a>;  157v/a>  158v/a>static intpva href="+code=default_vmode" class="sref">default_vmodev/a> va href="+code=__initdata" class="sref">__initdatav/a> =pva href="+code=VMODE_NVRAM" class="sref">VMODE_NVRAMv/a>;  159v/a>static intpva href="+code=default_cmode" class="sref">default_cmodev/a> va href="+code=__initdata" class="sref">__initdatav/a> =pva href="+code=CMODE_NVRAM" class="sref">CMODE_NVRAMv/a>;  16"v3a>  161v/a>  162v/a>static struct va href="+code=fb_ops" class="sref">fb_opsv/a> va href="+code=controlfb_ops" class="sref">controlfb_opsv/a> =p{  163v/a>        .va href="+code=owner" class="sref">ownerv/a>          =pva href="+code=THIS_MODULE" class="sref">THIS_MODULEv/a>,  164v/a>        .va href="+code=fb_check_var" class="sref">fb_check_varv/a>   =pva href="+code=controlfb_check_var" class="sref">controlfb_check_varv/a>,  165v/a>        .va href="+code=fb_set_par" class="sref">fb_set_parv/a>     =pva href="+code=controlfb_set_par" class="sref">controlfb_set_parv/a>,  166v/a>        .va href="+code=fb_setcolreg" class="sref">fb_setcolregv/a>   =pva href="+code=controlfb_setcolreg" class="sref">controlfb_setcolregv/a>,  167v/a>        .va href="+code=fb_pa
_display" class="sref">fb_pa
_displayv/a> =pva href="+code=controlfb_pa
_display" class="sref">controlfb_pa
_displayv/a>,  168v/a>        .va href="+code=fb_blank" class="sref">fb_blankv/a>       =pva href="+code=controlfb_blank" class="sref">controlfb_blankv/a>,  169v/a>        .va href="+code=fb_mmap" class="sref">fb_mmapv/a>        =pva href="+code=controlfb_mmap" class="sref">controlfb_mmapv/a>,  170v/a>        .va href="+code=fb_fillrect" class="sref">fb_fillrectv/a>    =pva href="+code=cfb_fillrect" class="sref">cfb_fillrectv/a>,  171v/a>        .va href="+code=fb_copyarea" class="sref">fb_copyareav/a>    =pva href="+code=cfb_copyarea" class="sref">cfb_copyareav/a>,  172v/a>        .va href="+code=fb_imageblit" class="sref">fb_imageblitv/a>   =pva href="+code=cfb_imageblit" class="sref">cfb_imageblitv/a>,  173v/a>};  174v/a>  175v/a>  176v/a>vspa
 class="comment">/********************  The func14.1s for controlfb_ops ********************/v/spa
	  177v/a>  178v/a>#ifdefpva href="+code=MODULE" class="sref">MODULEv/a>  179v/a>va href="+code=MODULE_LICENSE" class="sref">MODULE_LICENSEv/a>(vspa
 class="string">"GPL" 18"v3a>  181v/a>intpva href="+code=init_module" class="sref">init_modulev/a>(void)  182v/a>{  183v/a>        struct va href="+code=device_node" class="sref">device_nodev/a> *va href="+code=dp" class="sref">dpv/a>;  184v/a>        intpva href="+code=ret" class="sref">retv/a> =p-va href="+code=ENXIO" class="sref">ENXIOv/a>;  185v/a>  186v/a>        va href="+code=dp" class="sref">dpv/a> =pva href="+code=of_find_node_by_namt" class="sref">of_find_node_by_namtv/a>(va href="+code=NULL" class="sref">NULLv/a>, vspa
 class="string">"control" 187v/a>        if (va href="+code=dp" class="sref">dpv/a> != 0 && !va href="+code=control_of_init" class="sref">control_of_initv/a>(va href="+code=dp" class="sref">dpv/a>))  188v/a>                va href="+code=ret" class="sref">retv/a> =p0;  189v/a>        va href="+code=of_node_put" class="sref">of_node_putv/a>(va href="+code=dp" class="sref">dpv/a>);  19"v3a>  191v/a>        return va href="+code=ret" class="sref">retv/a>;  192v/a>}  193v/a>  194v/a>void va href="+code=cleanup_module" class="sref">cleanup_modulev/a>(void)  195v/a>{  196v/a>        va href="+code=control_cleanup" class="sref">control_cleanupv/a>();  197v/a>}  198v/a>#endif  199v/a>  200v/a>vspa
 class="comment">/*v/spa
	  201v/a>vspa
 class="comment"> * Checks a var structurev/spa
	  202v/a>vspa
 class="comment"> */v/spa
	  203v/a>static intpva href="+code=controlfb_check_var" class="sref">controlfb_check_varv/a> (struct va href="+code=fb_var_screeninfo" class="sref">fb_var_screeninfov/a> *va href="+code=var" class="sref">varv/a>, struct va href="+code=fb_info" class="sref">fb_infov/a> *va href="+code=info" class="sref">infov/a>)  204v/a>{  205v/a>        struct va href="+code=fb_par_control" class="sref">fb_par_controlv/a> va href="+code=par" class="sref">parv/a>;  206v/a>        intpva href="+code=err" class="sref">errv/a>;  207v/a>  208v/a>        va href="+code=err" class="sref">errv/a> =pva href="+code=control_var_to_par" class="sref">control_var_to_parv/a>(va href="+code=var" class="sref">varv/a>, &va href="+code=par" class="sref">parv/a>, va href="+code=info" class="sref">infov/a>);  209v/a>        if (va href="+code=err" class="sref">errv/a>)  210v/a>                return va href="+code=err" class="sref">errv/a>;       211v/a>        va href="+code=control_par_to_var" class="sref">control_par_to_varv/a>(&va href="+code=par" class="sref">parv/a>, va href="+code=var" class="sref">varv/a>);  212v/a>  213v/a>        return 0;  214v/a>}  215v/a>  216v/a>vspa
 class="comment">/*v/spa
	  217v/a>vspa
 class="comment"> * Applies current var to displayv/spa
	  218v/a>vspa
 class="comment"> */v/spa
	  219v/a>static intpva href="+code=controlfb_set_par" class="sref">controlfb_set_parv/a> (struct va href="+code=fb_info" class="sref">fb_infov/a> *va href="+code=info" class="sref">infov/a>)  22"v3a>{  221v/a>        struct va href="+code=fb_info_control" class="sref">fb_info_controlv/a> *va href="+code=p" class="sref">pv/a> =p(struct va href="+code=fb_info_control" class="sref">fb_info_controlv/a> *) va href="+code=info" class="sref">infov/a>;  222v/a>        struct va href="+code=fb_par_control" class="sref">fb_par_controlv/a> va href="+code=par" class="sref">parv/a>;  223v/a>        intpva href="+code=err" class="sref">errv/a>;  224v/a>  225v/a>        if((va href="+code=err" class="sref">errv/a> =pva href="+code=control_var_to_par" class="sref">control_var_to_parv/a>(&va href="+code=info" class="sref">infov/a>->va href="+code=var" class="sref">varv/a>, &va href="+code=par" class="sref">parv/a>, va href="+code=info" class="sref">infov/a>)))p{  226v/a>                va href="+code=printk" class="sref">printkv/a> (va href="+code=KERN_ERR" class="sref">KERN_ERRv/a> vspa
 class="string">"controlfb_set_par: error calling" 227v/a>                                 vspa
 class="string">" control_var_to_par: %d.\n"errv/a>);  228v/a>                return va href="+code=err" class="sref">errv/a>;  229v/a>        }  230v/a>          231v/a>        va href="+code=control_set_hardware" class="sref">control_set_hardwarev/a>(va href="+code=p" class="sref">pv/a>, &va href="+code=par" class="sref">parv/a>);  232v/a>  233v/a>        va href="+code=info" class="sref">infov/a>->va href="+code=fix" class="sref">fixv/a>.va href="+code=visual" class="sref">visualv/a> =p(va href="+code=p" class="sref">pv/a>->va href="+code=par" class="sref">parv/a>.va href="+code=cmode" class="sref">cmodev/a> ==pva href="+code=CMODE_8" class="sref">CMODE_8v/a>) ?  234v/a>                va href="+code=FB_VISUAL_PSEUDOCOLOR" class="sref">FB_VISUAL_PSEUDOCOLORv/a> : va href="+code=FB_VISUAL_DIRECTCOLOR" class="sref">FB_VISUAL_DIRECTCOLORv/a>;  235v/a>        va href="+code=info" class="sref">infov/a>->va href="+code=fix" class="sref">fixv/a>.va href="+code=line_length" class="sref">line_lengthv/a> =pva href="+code=p" class="sref">pv/a>->va href="+code=par" class="sref">parv/a>.va href="+code=pitch" class="sref">pitchv/a>;  236v/a>        va href="+code=info" class="sref">infov/a>->va href="+code=fix" class="sref">fixv/a>.va href="+code=xpa
step" class="sref">xpa
stepv/a> =p32 >>pva href="+code=p" class="sref">pv/a>->va href="+code=par" class="sref">parv/a>.va href="+code=cmode" class="sref">cmodev/a>;  237v/a>        va href="+code=info" class="sref">infov/a>->va href="+code=fix" class="sref">fixv/a>.va href="+code=ypa
step" class="sref">ypa
stepv/a> =p1;  238v/a>  239v/a>        return 0;  240v/a>}  241v/a>  242v/a>vspa
 class="comment">/* 243v/a>vspa
 class="comment"> * Set screen start address according to var offset valuesv/spa
	  244v/a>vspa
 class="comment"> */v/spa
	  245v/a>static va href="+code=inline" class="sref">inlinev/a> void va href="+code=set_screen_start" class="sref">set_screen_startv/a>(intpva href="+code=xoffset" class="sref">xoffsetv/a>, intpva href="+code=yoffset" class="sref">yoffsetv/a>,  246v/a>        struct va href="+code=fb_info_control" class="sref">fb_info_controlv/a> *va href="+code=p" class="sref">pv/a>)  247v/a>{  248v/a>        struct va href="+code=fb_par_control" class="sref">fb_par_controlv/a> *va href="+code=par" class="sref">parv/a> =p&va href="+code=p" class="sref">pv/a>->va href="+code=par" class="sref">parv/a>;  249v/a>  250v/a>        va href="+code=par" class="sref">parv/a>->va href="+code=xoffset" class="sref">xoffsetv/a> =pva href="+code=xoffset" class="sref">xoffsetv/a>;  251v/a>        va href="+code=par" class="sref">parv/a>->va href="+code=yoffset" class="sref">yoffsetv/ivers/vid href="driv/a>    333;va href="+code=par" class1;  119v/a>#define va hrefrdware" class="sref">ca>static va hrefid v_amti class="sref">inid v_amti="sresetv/a>, intpva href="+code=yoffset" cle" namtio2152"> 152v/a>  251v/a>        va href="+code=par" class="sref">*fb.c#L251" idioL251" class="line" namtioL251"> 251v/a>       ->va href="+code=par" clas +ref">fixv/a>.va hr50" class="line" namtioL250"> 250v/a>        va href="+code=par" class="sref">&la>.la href="+code=xpa
s50" class="line" namtioL250"> 250v/a>       !va href="+code=DIRTY" class="s="sref">pv/a>, &va href="+code=par"e" namtio2153"> 153v/a>  155v/a> ;  126v/a>static intpva href="+code=controlfb_pa
_display" class="sref">controlfb_pa
_displayv/a>(struct va href="+code=fb_var_screeninfo" class="sref">fb_var_screeninfov/a> *va href="+code=va2e" namtio2157"> 157v/a>  108v/a>        vvvvvvvvvvvvvv+code=controlfb_set_par" class="sref">controlfb_set_parv/a> (struct va href="+code=fb_info" class="sref">fb_infov/a> *va href="+code=info""sref">VM2DE_NVRAMv/a>; CM2DE_NVRAMv/a>; set_screen_stacode=set_screenh;va href="+code=fixhass="sre="sref">pv/a>, &va href="+code=par"e" namtio2160"> 16"v3a>  221v/a>        struct va href="+code=fb_info_control" class="sref">fb_info_controlv/a> *va href="+code=p" class="sref">pv/a> =p(struct va hre="+code=fb_info_control" class="sref">fb_info_controlv/a> *) va href="+code=info"e" namtio2161"> 161v/a>  222v/a>        struct va href="+code=fb_par_control" class="sref">fb_par_controlv/a> *va href="+code=par" class="sref">parv/a> =p&va href="+code=p" class="sref">pv/a>->va href="+code=par">control2b_opsv/a> =p{ TH2S_MODULEv/a>,  242v/a>vspa
 clontrolfb_2heck_varv/a>,  242v/a>vspa
 clo" namtio2_set_parv/a>,  244v/a>vspa
 claontrolfb_2etcolregv/a>, .va href="+code=xpa
s50" class="line" namtioL250"> 250v/a>       !va href="+code=DIRTY" class=ass="sref">pv/a>->va href="+code=par"" namtio2_displayv/a>, pa+code=control_var_to_par" class="sref">co250"> 250v/a>        va href="+code=par" class="sref">+fb.c#L237" idioLh;va href="+code=fixhass="sre)b_par_ ~code=set_screenh;va href="+code=fixhass="sre="sref">pv/a>, &va href="+code=par"esref">VM2fb_blankv/a>, contr2lfb_mmapv/a>, fixv/a>.va hr50" class="line" namtioL250"> 250v/a>        ree=fb_ops" class= reeref">&va href="+code=xpa
s50" class="line" namtioL250"> 250v/a>       v ree=fb_ops" class=v reeref">||controlfb.c#L249" idioL249" class="line" namtio2fillrectv/a>, co250"> 250v/a>        va href="+code=par" class="sref"+f">fixv/a>.va hr50" class="line" namtioL250"> 250v/a>       yree=fb_ops" class=yreeref">&va href="+code=xpa
s50" class="line" namtioL250"> 250v/a>       vyree=fb_ops" class=vyreeref"sref">fb_infov/a> *va href="+code=info"sref">cfb2copyareav/a>, pv/a>, &va href="+code=par"ref">cfb_2mageblitv/a>,  173v/a>}; inlinev/a> void va hrecode=set_screen_start" class="sref">set_screen_stacode=set_screenr_to_par" class="sref">co250"> 250v/a>        va href="+code=par" class="sref"tacode=set_screenfo_control" class="sref">fb_info_controlv/a> *va href="+code2e" namtio2174"> 174v/a>  175v/a>  2*********2*****/v/spa
	  177v/a> MODULEv/a>  200v/a>vspa
 cle" namtio2180"> 18"v3a>  200v/a>vspa
 cleref">cfb2ulev/a>(void) vspa
 class.mv" class="line" namtioL200"> 200v/a>vspa
 cleef">cfb_282"> 182v/a>{  200v/a>vspa
 clenamtioL12sref">dpv/a>;  244v/a>vspa
 claclass="sr2f">ENXIOv/a>;  131v/a>static intpva href="+code=controlfb_mmap" class="sref">controlfb_mmapv/a>(struct va href="+code=fb_info" class="sref">fb_infov/a> *va href="+code=info2e" namtio2185"> 185v/a>  132v/a>        struct va href="+code=vm_area_struct" class="sref">ref">fb_infov/a> *va href="+code=info2e********2uot;dpv/a>)) inid va hr" idioL239" class="line" namtioL239"> 2ass="sref2>retv/a> =p0;  2" class="2ref">dpv/a>);  19"v3a> parv/a>->va hrarea_struct" class="sref"250"> 250v/a>       vm_pgass9" class="line"vm_pgassref">&la>.la href="+code=xpa
PAGE_SHIFT9" class="line"PAGE_SHIFTass=" idioL239" class="line" namtioL239"> 2"ref">cfb2ref">retv/a>;  192v/a>}  244v/a>vspa
 clae" namtio2193"> 193v/a> inid va hr>parv/a>->va hr237" class="line" namtioL237"> 237v/a>        va href="+code=info" class="sref">infov/a>smemnline" class="sref">inmemnline"ass=" idioL239" class="line" namtioL239"> 2"lass="sr2ulev/a>(void) inid va hr>_par_ ~code=set_screenPAGE_MASK9" class="line"PAGE_MASKref">+f">fixv/a>.va h237" class="line" namtioL237"> 237v/a>        va href="+code=info" class="sref">infov/a>smemnl href="+code=u_insmemnl h="sref">fb_info_controlv/a> *va href="+code2" namtioL295"> 195v/a>{ "> 2parv/a>->va hrl href="+code=u_inlclass=="sref">parv/a>, va href="+code=info" cla>control_2leanupv/a>();  244v/a>vspa
 clae class="297"> 197v/a>}  108v/a>    L209" idioL209"ass9" class="line"offref">-parv/a>->va hrl href="+code=u_inlclass=f">fb_info_controlv/a> *va href="+code2"ss="sref2198v/a>#endif  108v/a>    b.c#L209" idioL209"par" class="sref">control_var_to_parv/a>(&va href="+code=info" class="sref">infov/a>accel_flage=fb_ops" class=accel_flageref">ref">fb_infov/a> *va href="+code=info3e" namtio3199"> 199v/a> pv/a>, &va href="+code=par3ass="comm3nt">/*v/spa
	 inid va hr>parv/a>->va hr237" class="line" namtioL237"> 237v/a>        va href="+code=info" class="sref">infov/a>mmionline" class="sref">immionline""sre="sref">pv/a>, &va href="+code=par3a2s="comm3nef">retv/a>; inid va hr>_par_ ~code=set_screenPAGE_MASK9" class="line"PAGE_MASKref">+f">fixv/a>.va h237" class="line" namtioL237"> 237v/a>        va href="+code=info" class="sref">infov/a>mmionl href="+code=u_inmmionl h="sref">fb_info_controlv/a> *va href="+code3ss="comme3t"> */v/spa
	  250v/a>       vm_page_promtioL132"> 132v/a> page_promass=>parv/a>->va hrpgprom_noncachedo_control" classgprom_noncacheda hrecode=set_screenarea_struct" class="sref"250"> 250v/a>       vm_page_promtioL132"> 132v/a> page_promass=ef">fb_info_controlv/a> *va href="+code3s4="comme3t93"> 193v/a> parv/a>, va href="+code=info" cl3" namtioL304"> 204v/a>{  244v/a>vspa
 cl3" class="3ref">parv/a>;  250v/a>       vm_page_promtioL132"> 132v/a> page_promass=>parv/a>->va hrpgprom_cached_wthruo_control" classgprom_cached_wthrua hrecode=set_screenarea_struct" class="sref"250"> 250v/a>       vm_page_promtioL132"> 132v/a> page_promass=ef">fb_info_controlv/a> *va href="+code3s7class="3reanupv/a>();  207v/a> inid va hr>_par_parv/a>->va hrPAGE_MASK9" class="line"PAGE_MASKref"f">fb_info_controlv/a> *va href="+code3s9 namtio3298v/a>#endif  250v/a>       vm_endo_control" clasvm_endref">-2rv/a>->va hrarea_struct" class="sref"250"> 250v/a>       vm_line" class="sref">ivmnline"ass=>+fb.c#L237" idioLass9" class="line"offref")>&va href="+code=xpa
l href="+code=u_inlclass==">fb_info_controlv/a> *va href="+code3" class="3ref">errv/a>)         intINVAamt" class="sreftINVAa"sre="sref">pv/a>, &va href="+code=par3ss="sref"3errv/a>;      +parv/a>->va hrline" class="sref">inid va hr" idioL239" class="line" namtioL239"> 3 class="s3ef">varv/a>);  250v/a>       vm_pgass9" class="line"vm_pgassref">L186"> 186v/a>     s9" class="line"offref">"> 2&va href="+code=xpa
PAGE_SHIFT9" class="line"PAGE_SHIFTass=" idioL239" class="line" namtioL239"> 3e" namtio3212"> 212v/a>  250v/a>       vm_line" class="sref">ivmnline"ass=tacode=set_screen  s9" class="line"offref">"> 2&va href="+code=xpa
PAGE_SHIFT9" class="line"PAGE_SHIFTass=sref">fb_infov/a> *va href="+code=info313v/a>   3    return 0;  250v/a>       vm_endo_control" clasvm_endref">-2rv/a>->va hrarea_struct" class="sref"250"> 250v/a>       vm_line" class="sref">ivmnline"ass=tacode=set_screenrrea_struct" class="sref"250"> 250v/a>       vm_page_promtioL132"> 132v/a> page_promass=e=">fb_info_controlv/a> *va href="+code3" namtioL314"> 214v/a>}         intAGAIN9" class="line"tAGAINass=" idioL239" class="line" namtioL239"> 3e class="3215"> 215v/a> /*v/spa
	  3t var to 3isplayv/spa
	  */v/spa
	 infov/a>) fb_blankv/a>       =pva ef="+code=set_screen    =_va href="+code=DIRT    =_va hass=ta+code=controlfb_set_par" class="sref">controlfb_set_parv/a> (struct va href="+code=fb_info" class="sref">fb_infov/a> *va href="+code=info3" namtioL320"> 22"v3a>{ parv/a>, va href="+code=info" cl3 class="s3ef">infov/a>;  221v/a>        struct va href="+code=fb_info_control" class="sref">fb_info_controlv/a> *va href="+code=p" class="sref">pv/a> =p(struct va href="+code=fb_info_control" class="sref">fb_info_controlv/a> *) va href="+code=info3" class="3ref">parv/a>; "trpfb_info_controlv/a> *) va href="+code=info3"3v/a>   3ref">errv/a>;  224v/a> "trpfb_i>L186"> 186v/a>   ld="sL99" class="line"ld="sL9a hrecode=set_screen119" class="line" namtioL119"> 119v/a>#define va hrefrdware" class="sref">ca>static va hre"trp" class="sref">"trpfb_i"s="sref">pv/a>, &va href="+code=par3ss="sref"3infov/a>)))p{ fb_infov/a> *va href="+code=info3"ss="comm3"parv/a>, va href="+code=info" cl3 class="s3ef">errv/a>); parv/a>, va href="+code=info" cl3 s="comme3ref">errv/a>;  108v/a>    ntrolfb.ccode=set_screen"trp" class="sref">"trpfb_i>_par_pa~3="sref">pv/a>, &va href="+code=par3L229"> 223v/a>        } pv/a>, &va href="+code=par3L namtioL30v/a>         parv/a>, va href="+code=info" cl3 class="s3ef">parv/a>); "trpfb_i>_par_pa~0x39" idioL239" class="line" namtioL239"> 3e" namtio3232"> 232v/a> pv/a>, &va href="+code=par3L3v/a>   3MODE_8v/a>) ? parv/a>, va href="+code=info" cl3 " namtio3ECTCOLORv/a>; "trpfb_i>_par_pa~0x33="sref">pv/a>, &va href="+code=par3Ls="sref"3f">pitchv/a>;  244v/a>vspa
 cl3class="sr3f">cmodev/a>; parv/a>, va href="+code=info" cl3 class="s3stepv/a> =p1;  108v/a>        vvvvvcode=set_screen"trp" class="sref">"trpfb_i>|v/ax409" idioL239" class="line" namtioL239"> 3es="comme3238"> 238v/a>  108v/a>    ntrolfb.cbreak="sref">pv/a>, &va href="+code=par339v/a>   3    return 0; parv/a>, va href="+code=info" cl3" namtioL340"> 240v/a>} pv/a>, &va href="+code=par33class="s3241"> 241v/a> /*parv/a>, va href="+code=info" cl3ar offset3valuesv/spa
	 "trpfb_i>_par_pa~0x409" idioL239" class="line" namtioL239"> 3ss="comme3t"> */v/spa
	 "trpfb_i>|v/ax33="sref">pv/a>, &va href="+code=par3ass="sref3>yoffsetv/a>, pv/a>)  119v/a>#define va hrefrdware" class="sref">ca>static va hre"trp" class="sref">"trpfb_i"tacode=set_screen"trp" class="sref">"trpfb_i"="sref">pv/a>, &va href="+code=par3aclass="s347"> 247v/a>{ parv/a>;  3e" namtio3249"> 249v/a> xoffsetv/a>; fb_blankv/a>   inecolreg9v/a>#define va hrefu_fb.ss="sref">fb_blu_fb.deo/c#define va hrefregnntrol" class="srregnnass=tacode=set_screenu_fb.ss="sref">fb_blu_fb.deo/c#define va hrefredo_control" clasreda hrtacode=set_screenu_fb.ss="sref">fb_blu_fb.deo/c#define va hrefg/a> ss="sref">fb_blg/a> a hrtacode=set_screenu_fb.ss="sref">fb_blu_fb.deo/c#define va hrefbluhref="+code=DIRT  ueass=sref">fb_infov/a> *va href="+code=info3e" namtio3152"> 152v/a> fb_blu_fb.deo/c#define va hreftransrdware" class="stransrass=ta+code=controlfb_set_par" class="sref">controlfb_set_parv/a> (struct va href="+code=fb_info" class="sref">fb_infov/a> *va href="+code=info3e" namtio3153"> 153v/a>  221v/a>        struct va href="+code=fb_info_control" class="sref">fb_info_controlv/a> *va href="+code=p" class="sref">pv/a> =p(struct va href="+code=fb_info_control" class="sref">fb_info_controlv/a> *) va href="+code=info3e" namtio3155"> 155v/a> fb_blga hrtacode=set_screenbref="+code=DIRT fb_info_controlv/a> *) va href="+code=info3elass="sr3ntrol_fbv/a>;  157v/a>  108vb.c#L209" idioL209"regnntrol" class="srregnnass=>&va h255sref">fb_infov/a> *va href="+code=info3e class="3DE_NVRAMv/a>;  108v/a>    nb.c#L23fixv/a>.va href="+code=ypa
step" class=3"sref">CM3DE_NVRAMv/a>;  16"v3a> L186"> 186v/a>   redo_control" clasreda hr>"> 2&va h8ixv/a>.va href="+code=ypa
step" class=3"a href="3161"> 161v/a> fb_blga hr>L186"> 186v/a>   g/a> ss="sref">fb_blg/a> a hr>"> 2&va h8ixv/a>.va href="+code=ypa
step" class=3"" namtio3b_opsv/a> =p{  186v/a>   bluhref="+code=DIRT  ueass=>"> 2&va h8ixv/a>.va href="+code=ypa
step" class=3"" namtio3S_MODULEv/a>, parv/a> =pcc i_rege=fb_ops" class=cc i_rege class="sref">parv/a> =pamti class="sref">iamti="srtacode=set_screenregnntrol" class="srregnnass=);ntrolfbontrolfb.c#L200" idioL21tellolfut wha namti to fill L244" class="line" namtioL244"> 244v/a>vspa
 cl3o" namtio3_set_parv/a>, parv/a> =pcc i_rege=fb_ops" class=cc i_rege class="sref">parv/a> =pls="line" namtioL1lu"ass=tacode=set_screenro_control" clasra hr);ntrolftrolfbontrolfb.c#L200" idioL21send oneacol>vsphannel a n  L244" class="line" namtioL244"> 244v/a>vspa
 cl3olass="sr3etcolregv/a>, parv/a> =pcc i_rege=fb_ops" class=cc i_rege class="sref">parv/a> =pls="line" namtioL1lu"ass=tacode=set_screengss="sref">fb_blga hr);ntrolftrolfbontrolfb.c#L200" idioL21a time...lfb.c#Lfrolfb.c#L22f244" class="line" namtioL244"> 244v/a>vspa
 cl3o" namtio3_displayv/a>, parv/a> =pcc i_rege=fb_ops" class=cc i_rege class="sref">parv/a> =pls="line" namtioL1lu"ass=tacode=set_screenbref="+code=DIRT fb_i"="sref">pv/a>, &va href="+code=par3esref">VM3fb_blankv/a>, contr3lfb_mmapv/a>, parv/a>, va href="+code=info" cl3e" namtio3fillrectv/a>, cfb3copyareav/a>, xpa
stepv/a> =p32 >>pva href="+code=p" class="sref">pv/a>->va href="+code=par" clas="sref">parv/a>, va href="+code=info" cl3e" namtio3mageblitv/a>,  215v/namtioLss="s21deo/:ref">parv/a>, va href="+code=info" cl3 namtioL133"> 173v/a>}; xpa
stepv/a> =p32 >&seud    lett;va href="+code=&seud    lett;">xp[L209" idioL209"regnntrol" class="srregnnass=] =ref">parv/a>, va href="+code=info" cl3 ntrolfb_3174"> 174v/a>  175v/a> pv/a>, &va href="+code=par3*********3*****/v/spa
	 parv/a>, va href="+code=info" cl3 " namtio3177"> 177v/a>  108v/a>        vvvvvcode=set_screenitrol" class="srefb_i>pa+code=control_varegnntrol" class="srregnnass=>&la &la h8) |cL209" idioL209"regnntrol" class="srregnnass=nfo_controlv/a> *) va href="+code=info3ssref">VM3f">MODULEv/a>  108v/a>    ntrolfb.ccode=set_screenstep" class="sref">xpa
stepv/a> =p32 >&seud    lett;va href="+code=&seud    lett;">xp[L209" idioL209"regnntrol" class="srregnnass=] =c#L209" idioL209"ptrol" class="srefb_i>&la &la h16) |cL209" idioL209"itrol" class="srefb_info_controlv/a> *) va href="+code=info3quot;GPL&3uot;pv/a>, &va href="+code=par3e" namtio3180"> 18"v3a> cfb3ulev/a>(void)  182v/a>{ dpv/a>;  3class="sr3f">ENXIOv/a>;  185v/a> dpv/a>))  244v/a>vspa
 cl3ass="sref3>retv/a> =p0; dpv/a>);  19"v3a> cfb3ref">retv/a>; "+code=cachara href="+code=fb_parame=fb_ops" class=paramess="sref">fb_infov/a> *va href="+code=info3" namtioL392"> 192v/a>} parv/a>, va href="+code=info" cl3e" namtio3193"> 193v/a>  195v/a>{ control_3leanupv/a>();  197v/a>}  108va>vs#L209" idioL209"ptrol" class="srefb_i>=39"vcode=set_screenitrol" class="srefb_i>&la h3; ++f">fixv/a>.va h2trol" class="srefb_i="sref">parv/a>, va href="+code=info" cl3"ss="sref3198v/a>#endif  108v/a>    c#L219" idioL219"uda_reques="line" namtioL1"uda_reques=9v/a>_par_controlv/a> *vareqtrol" class="srreqfb_itacode=set_screenNULamt" class="srefNULafb_ita5tacode=set_screenCUDA_PACKET9" class="line"CUDA_PACKETfb_itacode=set_screenCUDA_GET_SET_IIC9" class="line"CUDA_GET_SET_IICass=sref">fb_infov/a> *va href="+code=info4e" namtio4199"> 199v/a> pv/a>, &va href="+code=par4ass="comm4nt">/*v/spa
	 pv/a>-omplet;va href="+code=-omplet;ss="sref">fb_infov/a> *va href="+code=info4a2s="comm4nef">retv/a>; "uda_polp9v/a>"="sref">pv/a>, &va href="+code=par4a3s="comm4n2"> 192v/a>}  193v/a> (void) parv/a>; ();  207v/a>  244v/a>vspa
 cl4s9 namtio4298v/a>#endif  200v/a>vspa
 c4" class="4ref">errv/a>)  244v/a>vspa
 cl4ss="sref"4errv/a>;      bbit"+code=p9v/a>b.c#L246" idioL246" class="line" namtioL246"> 246v/a>        struct va href="+code=fb_info_control" class="sref">fb_info_controlv/a> *va href="+cod4 class="s4ef">varv/a>); parv/a>, va href="+code=info" cl4e" namtio4212"> 212v/a> fulpfb_itacode=set_screensens;va href="+code=sens;fb_itacode=set_screenv>va href="+code=vva hass=tass="sref">pv/a>->va href="+code=par" clastacode=set_screenvyree=fb_ops" class=vyreeref"="sref">pv/a>, &va href="+code=par413v/a>   4    return 0; controlfb_pa
_displayv/a>(struct va href=code=set_screenv href="+code=info" class="sref">pv/a>, &va href="+code=par415="comme414"> 214v/a>} pv/a>, &va href="+code=par41 class="4215"> 215v/a> pv/a>, &va href="+code=par417class="4nt">/*v/spa
	 "ef="+code: "4" clas"="sref">pv/a>, &va href="+code=par4t var to 4isplayv/spa
	  */v/spa
	 fulpfb_i>parv/a>->va hrptep" class="sref">xpa
stepv/a> =p32 >total_vramtep" class="sretotal_vramfb_i>pv/ax409009" idioL239" class="line" namtioL239"> 4 class="s4ef">infov/a>)  22"v3a>{  244v/a>vspa
 cl4 class="s4ef">infov/a>; parv/a>; parv/a>, va href="+code=info" cl4"3v/a>   4ref">errv/a>; parv/a>->va hrnvram_read_byteva href="+code=nvram_read_byte9v/a>b.c#L237" idioLNV_Lss="mt" class="srefNV_Lss="fb_i"="sref">pv/a>, &va href="+code=par4e" namtio4224"> 224v/a> .la href="+code=xpa
Lss="s"+code=cmode" clLss="s"clas>||cL209" idioL209"">va href="+code=par" clas>.va href="+code=xpa
Lss="sL99" class="line"Lss="sL9deo/ef">fb_info_controlv/a> *va href="+cod4ss="sref"4infov/a>)))p{ parv/a>->va hrLss="s"+code=cmode" clLss="s"clas="sref">pv/a>, &va href="+code=par4e7class="4"pv/a>, &va href="+code=par4e var to 4ef">errv/a>); pv/a>, &va href="+code=par4es="comme4ref">errv/a>;  108v/a>    nc idioL234" cla">va href="+code=par" clas=L209" idioL209"default_->va href="+code=default_->fb_i="sref">pv/a>, &va href="+code=par4L229"> 224v/a>        } parv/a>, va href="+code=info" cl4 class="s4ef">parv/a>); parv/a>->va hrnvram_read_byteva href="+code=nvram_read_byte9v/a>b.c#L237" idioLNV_Vss="mt" class="srefNV_Vss="fb_i"="sref">pv/a>, &va href="+code=par4e" namtio4232"> 232v/a> pv/a>, &va href="+code=par4e3v/a>   4MODE_8v/a>) ? infov/a>mva href="+code=mss="[L209" idioL209"fulp" class="sref">fulpfb_i]>.la href="+code=xpa
->va href="+code=par" clas="sref">parv/a>, va href="+code=info" cl4 " namtio4ECTCOLORv/a>; L186"> 186v/a>   read_c1" cla_sens;va href="+code=read_c1" cla_sens;9v/a>b.c#L237" idioLfo_control" class="sref">fb_info_controlv/a> *va href="+code4Ls="sref"4f">pitchv/a>; "Monitor sens; value8v/ax%x, "4" clastacode=set_screensens;va href="+code=sens;fb_ief">fb_info_controlv/a> *va href="+code4L7class="4f">cmodev/a>; parv/a>->va hrmac_vap_vanitor_sens;va href="+code=mac_vap_vanitor_sens;9v/a>b.c#L237" idioLsens;va href="+code=sens;fb_ief">fb_info_controlv/a> *va href="+code4L var to 4stepv/a> =p1;  108v/a>        vvvvvb.c#L209" idioL209""1" cla_mac_va he=fb_ops" class=c1" cla_mac_va hess="[L209" idioL209"v>va href="+code=vva hass=>- 1]="sref">infov/a>mva href="+code=mss="[L209" idioL209"fulp" class="sref">fulpfb_i]>.la href="+code=xpa
->va href="+code=par" clas=">fb_info_controlv/a> *va href="+code4Ls="comme4238"> 238v/a>  108v/a>    ntrolfb.cffffffffcode=set_screenv>va href="+code=vva hass=>parv/a>->va hrVss="s640_480_DE_NVRAMv/a"line"Vss="s640_480_DEfb_i="sref">pv/a>, &va href="+code=par439v/a>   4    return 0;  240v/a>} pv/a>, &va href="+code=par43class="s4241"> 241v/a> pv/a>, &va href="+code=par4ass="comm4nt">/*parv/a>, va href="+code=info" cl4ar offset4valuesv/spa
	 pv/a>, &va href="+code=par43" namtio4t"> */v/spa
	 infov/a>mva href="+code=mss="[L209" idioL209"fulp" class="sref">fulpfb_i]>.la href="+code=xpa
->va href="+code=par" clas=rsref">parv/a>, va href="+code=info" cl4as="sref"4>yoffsetv/a>, .va href="+code=xpa
Lss="s"+code=cmode" clLss="s"clas=">fb_info_controlv/a> *va href="+code4alass="sr4"sref">pv/a>) pv/a>, &va href="+code=par43 var to 447"> 247v/a>{  108v/a>        vvvvvelse"sref">pv/a>, &va href="+code=par43s="comme4ref">parv/a>;  108v/a>    ntrolfb.cffffffffcode=set_screenv>va href="+code=vva hass=>parv/a>->va hrVss="s640_480_DE_NVRAMv/a"line"Vss="s640_480_DEfb_i="sref">pv/a>, &va href="+code=par4e" namtio4249"> 249v/a> xoffsetv/a>;  152v/a>  244v/a>vspa
 cl4e" namtio4153"> 153v/a> _par_controlv/a> *va href="+code=par" class="sref">parv/a> =pref="+code=fb_info" class="sarv/a>->va hrptep" class="sref">xpef">fb_info_controlv/a> *va href="+code4*********4*****/v/spa
	 fb_info_controlv/a> *va href="+code4*s="sref"4155"> 155v/a>  244v/a>vspa
 cl4elass="sr4ntrol_fbv/a>; pv/a>->va href="+code=par" clasta_par_controlv/a> *vav href="+code=info" class)>.la h0=rsref">parv/a>, va href="+code=info" cl4e" namtio4157"> 157v/a>  108v/a>     bontrolfb.c#L200" idioL21This shouldn't h ip1n!L244" class="line" namtioL244"> 244v/a>vspa
 cl4es="comme4DE_NVRAMv/a>;  108v/a>    nc.c#L237" idioLprfb. trol" class="srprfb. 9v/a>bontrolfb.c#Lonting">"mac_vva h_to_v h(%dta_#37;dt) failed\n"4" clastacode=set_screenv>va href="+code=vva hass=tass="sref">pv/a>->va href="+code=par" clasef">fb_info_controlv/a> *va href="+code4"sref">CM4DE_NVRAMv/a>; fb_bltry_agai fb_i:ref">parv/a>, va href="+code=info" cl4e" namtio4160"> 16"v3a> parv/a>->va hrVss="s640_480_DE_NVRAMv/a"line"Vss="s640_480_DEfb_i="sref">pv/a>, &va href="+code=par4"a href="4161"> 161v/a> parv/a>->va hrLss="s"+code=cmode" clLss="s"clas="sref">pv/a>, &va href="+code=par4"" namtio4b_opsv/a> =p{ pv/a>->va href="+code=par" clasta_par_controlv/a> *vav href="+code=info" class)>.la h0=rsref">parv/a>, va href="+code=info" cl4"" namtio4S_MODULEv/a>, "ef="+code: mac_vva h_to_v h() failed\n"4" clasef">fb_info_controlv/a> *va href="+code4"********4heck_varv/a>,         intNXIOtrol" class="srtNXIOclas="sref">pv/a>, &va href="+code=par4"s="sref"4_set_parv/a>, , "ef="+code: "4" clas"="sref">pv/a>, &va href="+code=par4o" namtio4_displayv/a>, , "using idioL ar"  _#37;d2and col>vsar"  _#37;d.\n"4" clastacode=set_screenv>va href="+code=vva hass=tass="sref">pv/a>->va href="+code=par" clasef">fb_info_controlv/a> *va href="+code4ef">contr4lfb_mmapv/a>, , xpa
stepv/a> =p32 >total_vramtep" class="sretotal_vramfb_i>-2rv/a>->va hrCTRLFB_OFF+code=cmode" clLTRLFB_OFFlass)>/c#L209" idioL209"v href="+code=info" class="sref">infov/a>xree=fb_ops" class=xreeref" &la &la hss="sref">pv/a>->va href="+code=par" clasef">fb_info_controlv/a> *va href="+code4ea href="4copyareav/a>, infov/a>yree=fb_ops" class=yreeref"=">fb_info_controlv/a> *va href="+code4e" namtio4mageblitv/a>, infov/a>yree_virtuap" class="sref">yree_virtuapclas>parv/a>->va hrvyree=fb_ops" class=vyreeref"="sref">pv/a>, &va href="+code=par4 namtioL143"> 173v/a>};  174v/a>  244v/a>vspa
 cl4s" namtio4175"> 175v/a> infov/a>activateva href="+code=activateclas>parv/a>->va hrFB_ACTIVATE_NOWva href="+code=FB_ACTIVATE_NOWref"="sref">pv/a>, &va href="+code=par4 lass="sr4*****/v/spa
	 _par_controlv/a> *va href="+code=par" class="sref">parv/a> =pref="+code=fb_info" class="sa_par_controlv/a> *vav href="+code=info" class)="sref">pv/a>, &va href="+code=par4 " namtio4177"> 177v/a>  108vb.c#L209" idioL209"rctrol" class="srrclass>_par__par_c#L209" idioL209"v>va href="+code=vva hass=>!parv/a>->va hrVss="s640_480_DE_NVRAMv/a"line"Vss="s640_480_DEfb_i>||cL209" idioL209"">va href="+code=par" clas>!parv/a>->va hrLss="s"+code=cmode" clLss="s"clas==">fb_info_controlv/a> *va href="+code4es="comme4f">MODULEv/a>  108v/a>    ngotoc#define va hreftry_agai ss="sref">fb_bltry_agai fb_i="sref">pv/a>, &va href="+code=par4quot;GPL&4uot; 18"v3a>  244v/a>vspa
 cl4eref">cfb4ulev/a>(void) _par_controlv/a> *va href="+code=par" class="sref">parv/a> =pref="+code=fb_info" class=")>.la h0=s="line" namtioL244"> 244v/a>vspa
 cl4e" namtio482"> 182v/a>{         intNXIOtrol" class="srtNXIOclas="sref">pv/a>, &va href="+code=par4enamtioL14sref">dpv/a>; pv/a>, &va href="+code=par4entrolfb_4f">ENXIOv/a>; "fb_#37;d:spa
 cla display adaptme\n"4" clastacode=set_screen href="+code=par" class="sref">parv/a> =pref="+code=fb_info" class="="sref">infov/a>ngt;va href="+code=nr" clasefntrolf"sref">pv/a>, &va href="+code=par4e" namtio4185"> 185v/a>  4" class="4ref">dpv/a>)) retv/a> =p0; dpv/a>); b.c#L237" idioLea_struct" classsref"tL209" idioL209"dva href="+code=dss=")>\controlfb.c#L249" idioL249" class="li4"" namtio4190"> 19"v3a> parv/a> =pcc i_rege=fb_ops" class=cc i_rege class="sref">parv/a> =pamti class="sref">iamti="srta>b.c#L237" idioLea_struct" classsref")efn\controlfb.c#L249" idioL249" class="li4"ref">cfb4ref">retv/a>; parv/a> =pcc i_rege=fb_ops" class=cc i_rege class="sref">parv/a> =pdat+code=cmode" cldat="srtacc#L209" idioL209"dva href="+code=dss=")=s="line" namtioL244"> 244v/a>vspa
 cl4" namtioL492"> 192v/a>}  193v/a>  244v/a>vspa
 cl4"lass="sr4ulev/a>(void)  244v/a>vspa
 cl4"" namtio495"> 195v/a>{ b.c#L246" idioL246" class="line" namtioL246"> 246v/a>        struct va href="+code=fb_info_control" class="srta+code=controlfb_set_par" parne" namtioL246"> 246v/a>  parne" namt va href="+code=fb_infgt;pva href="+code=p" cl=s="line" namtioL244"> 244v/a>vspa
 cl4"********4leanupv/a>(); parv/a>, va href="+code=info" cl4e class="497"> 197v/a>}  108v+code=controlfb_set_pap1" cla_regvale=fb_ops" class=c1" cla_regvaleoL108"ref="+code=fb_inro_control" clasra hr" idioL239" class="line" namtioL239"> 4"ss="sref4198v/a>#endif  108vvolntrlev+code=controlfb_set_papregss="sref">fb_blpreg9v/arolfcode=set_screen__iomemtep" class="sre__iomem va href="+code=fb_inrfo_control" clasrpa hr" idioL239" class="line" namtioL239"> 5e" namtio5199"> 199v/a> parv/a> =pr"+code=fb_info" ass=tass="sref">pv/a>->va href="+code=par" clas" idioL239" class="line" namtioL239"> 5e1 namtio5190"> 19"v3a> retv/a>; parv/a> =pfgt;pva href="+code=p" cltacode=set_screenfar;pva href="+code=p" cl==rsref">parv/a>, va href="+code=info" cl5a3s="comm5n2"> 192v/a>}  244v/a>vspa
 cl5s4="comme5t93"> 193v/a>  244v/a>vspa
 cl5s5="comme5tlev/a>(void)  244v/a>vspa
 cl5s6="comme5t5"> 195v/a>{  244v/a>vspa
 cl5s7class="5reanupv/a>(); xpa
stepv/a> =p32 >>pva href="+code=p" class="sref">pv/a>xoffset=fb_ops" class=xoffsetclas>!parv/a>->va hr>pva href="+code=p" cla
stepv/a> =p32 >xoffset=fb_ops" class=xoffsetclas>||"sref">pv/a>, &va href="+code=par5e" namtio5207"> 207v/a>  108v/a>        vL209" idioL209"step" class="sref">xpa
stepv/a> =p32 >>pva href="+code=p" class="sref">pv/a>yoffset=fb_ops" class=yoffsetclas>!parv/a>->va hr>pva href="+code=p" cla
stepv/a> =p32 >yoffset=fb_ops" class=yoffsetclas=s="line" namtioL244"> 244v/a>vspa
 cl5s9 namtio5298v/a>#endif  108v/a>    ntrolfb.ccode=set_screenset_struct_conrt=fb_ops" class=set_struct_conrt9v/a>b.c#L237" idioL>pva href="+code=p" cla
stepv/a> =p32 >xoffset=fb_ops" class=xoffsetclastacode=set_screenfar;pva href="+code=p" cla
stepv/a> =p32 >yoffset=fb_ops" class=yoffsetclassarv/a>->va hrptep" class="sref">xpef">fb_info_controlv/a> *va href="+code5" class="5ref">errv/a>) fb_info_controlv/a> *va href="+code5"1 namtio5errv/a>;      fb_info_controlv/a> *va href="+code5"2s="comm5ef">varv/a>);  212v/a> xpa
stepv/a> =p32 >>pva href="+code=p" cl =href="+code=fb_infgt;pva href="+code=p" clf">fb_info_controlv/a> *va href="+code5"5="comme514"> 214v/a>} parv/a>->va hrstep" class="sref">xpa
stepv/a> =p32 >>pva href="+code=p" class="sref">pv/a>->va href="+code=par" clasf">fb_info_controlv/a> *va href="+code5"6="comme5215"> 215v/a> L1_par_controlv/a> *va ar;pva href="+code=p" cla
stepv/a> =p32 >regvale=fb_ops" class=regvaleoL10f">fb_info_controlv/a> *va href="+code5"7class="5nt">/*v/spa
	 fb_info_controlv/a> *va href="+code5"" namtio5isplayv/spa
	  244v/a>vspa
 cl5ss="comme5t"> */v/spa
	 b.c#L237" idioLCNTRL_REG+code=cmode" clLNTRL_REG9v/a>b.c#L237" idioL&o_control" class="srtss="sref">pv/a>-trp" class="sref">"trpfb_i",/ax409 |cL209" idioL209" ar;pva href="+code=p" cla
stepv/a> =p32 >-trp" class="sref">"trpfb_i"f">fb_info_controlv/a> *va href="+code5 class="s5ef">infov/a>) fb_info_controlv/a> *va href="+code5" namtioL520"> 22"v3a>{ b.c#L236" idioLro_control" clasra hra
stepv/a> =p32 >-tic _farame=fb_ops" class=-tic _faramefb_i"f">fb_info_controlv/a> *va href="+code5 2s="comm5ef">infov/a>; fb_info_controlv/a> *va href="+code5"" namtio5ref">parv/a>; 0x20tacode=set_screenro_control" clasra hra
stepv/a> =p32 >radacal_-trp" class="sref">radacal_-trpfb_i"f">fb_info_controlv/a> *va href="+code5 4="comme5ref">errv/a>; 0x21tacode=set_screenfhref="+code=par" class="sref">parv/a> =pc1" cla_use_bank99" class="line"c1" cla_use_bank9deo/c? 0 : 1"f">fb_info_controlv/a> *va href="+code5 5="comme5224"> 224v/a> 0x10ta0"f">fb_info_controlv/a> *va href="+code5 6="comme5infov/a>)))p{ 0x11ta0"f">fb_info_controlv/a> *va href="+code5 7class="5"errv/a>); L1_par_controlv/a> *va href="+code=par" class="sref">parv/a> =pc1" cla_rege=fb_ops" class=c1" cla_rege class="sref">parv/a> =pvswi ss="sref">fb_blvswi oL10f">fb_info_controlv/a> *va href="+code5es="comme5ref">errv/a>;  108va>vs#L209" idioL209"ptrol" class="srefb_i>=39"vcode=set_screenitrol" class="srefb_i>&la h16; ++f">fixv/a>.va h2trol" class="srefb_i, ++f">fixv/a>.va hrfo_control" clasrpa hr=s="line" namtioL244"> 244v/a>vspa
 cl5L229"> 225v/a>        } _par_controlv/a> *varfo_control" clasrpa hra
stepv/a> =p32 >ro_control" clasra hrtacode=set_screenro_control" clasra hra
stepv/a> =p32 >rege=fb_ops" class=rege cla[L209" idioL209"itrol" class="srefb_i]"="sref">pv/a>, &va href="+code=par5L namtioL50v/a>         pv/a>, &va href="+code=par5L2s="comm5ef">parv/a>); b.c#L237" idioLCNTRL_REG+code=cmode" clLNTRL_REG9v/a>b.c#L237" idioL&o_control" class="srtss="sref">pv/a>par" o_control" classar" fb_i",/L209" idioL209" ar;pva href="+code=p" cla
stepv/a> =p32 >par" o_control" classar" fb_i"="sref">pv/a>, &va href="+code=par5L" namtio5232"> 232v/a> b.c#L237" idioLCNTRL_REG+code=cmode" clLNTRL_REG9v/a>b.c#L237" idioL&o_control" class="srtss="sref">pv/a>>va href="+code=ar" clasetacode=set_screenro_control" clasra hra
stepv/a> =p32 >>va href="+code=ar" clase="sref">pv/a>, &va href="+code=par5L4="comme5MODE_8v/a>) ? b.c#L237" idioLCNTRL_REG+code=cmode" clLNTRL_REG9v/a>b.c#L237" idioL&o_control" class="srtss="sref">pv/a>vram_atthref="+code=info"ram_atthfb_i",/L209" idioL209" href="+code=par" class="sref">parv/a> =pvram_atthref="+code=info"ram_atthfb_i"="sref">pv/a>, &va href="+code=par5L5="comme5ECTCOLORv/a>; b.c#L237" idioLCNTRL_REG+code=cmode" clLNTRL_REG9v/a>b.c#L237" idioL&o_control" class="srtss="sref">pv/a>conrt_amti class="sref">iconrt_amtifb_i",/L209" idioL209" ar;pva href="+code=p" cla
stepv/a> =p32 >yoffset=fb_ops" class=yoffsetclas>*/L209" idioL209" ar;pva href="+code=p" cla
stepv/a> =p32 >par" o_control" classar" fb_i"sref">pv/a>, &va href="+code=par5L6="comme5f">pitchv/a>;  =p32 >xoffset=fb_ops" class=xoffsetclas>&la &la hss="sref">pv/a>->va href="+code=par" clase"="sref">pv/a>, &va href="+code=par5L7class="5f">cmodev/a>; b.c#L237" idioLCNTRL_REG+code=cmode" clLNTRL_REG9v/a>b.c#L237" idioL&o_control" class="srtss="sref">pv/a>rfrcnt=fb_ops" class=rfrcntfb_i",/ax1e5"="sref">pv/a>, &va href="+code=par5L var to 5stepv/a> =p1; b.c#L237" idioLCNTRL_REG+code=cmode" clLNTRL_REG9v/a>b.c#L237" idioL&o_control" class="srtss="sref">pv/a>i="+_enea_struct" classi="+_enefb_i",/a"="sref">pv/a>, &va href="+code=par5Ls="comme5238"> 238v/a>  244v/a>vspa
 cl5" namtioL540"> 240v/a>} b.c#L237" idioLCNTRL_REG+code=cmode" clLNTRL_REG9v/a>b.c#L237" idioL&o_control" class="srtss="sref">pv/a>-trp" class="sref">"trpfb_i",/L209" idioL209" ar;pva href="+code=p" cla
stepv/a> =p32 >-trp" class="sref">"trpfb_i"f">fb_info_controlv/a> *va href="+code53class="s5241"> 241v/a> /*b.c#L237" idioL&o_control" class="sra
stepv/a> =p32 >frame_buffer_phye=fb_ops" class=frame_buffer_phyedeo/c+2rv/a>->va hrCTRLFB_OFF+code=cmode" clLTRLFB_OFFlasssref">fb_infov/a> *va href="+code=info53" namtio5t"> */v/spa
	 xpa
stepv/a> =p32 >>pva href="+code=p" class="sref">pv/a>xree=fb_ops" class=xreeref",/L209" idioL209" href="+code=par" class="sref">parv/a> =p>pva href="+code=p" class="sref">pv/a>yree=fb_ops" class=yreeref"sref">fb_infov/a> *va href="+code=info536="comme5>yoffsetv/a>, pv/VISUAL_PSEUDOCOLss="sL99" class="line"Lss="sL9deo/? 32:fb.c#L235" idioL">va href="+code=par" clas>pv/VISUAL_PSEUDOCOLss="s215"> 215v/"line"Lss="s1ideo/? 16: 8)sref">fb_infov/a> *va href="+code=info537class="5"sref">pv/a>) parv/a> =p>pva href="+code=p" class="sref">pv/a>par" o_control" classar" fb_i"="sref">pv/a>, &va href="+code=par53 var to 547"> 247v/a>{  244v/a>vspa
 cl5"s="comme5ref">parv/a>;  249v/a> xoffsetv/a>;  244v/a>vspa
 cl5e" namtio5152"> 152v/a>  2=4v/a>vspa:')4" class="line" namtioL244"> 244v/a>vspa
 cl5e4="comme5153"> 153v/a>  244v/a>vspa
 cl5*********5*****/v/spa
	 chaeL2b.c#L251" idioLoptions9" class="line"optionsa hr=s="line" namtioL244"> 244v/a>vspa
 cl5*s="sref"5155"> 155v/a> parv/a>, va href="+code=info" cl5elass="sr5ntrol_fbv/a>; fb_info_controlv/a> *va href="+code5e" namtio5157"> 157v/a> ;  108vb.c#!controlv/a> *vaoptions9" class="line"optionsa hr>||c!2b.c#L251" idioLoptions9" class="line"optionsa hr=s="line" namtioL244"> 244v/a>vspa
 cl5"sref">CM5DE_NVRAMv/a>; fb_info_controlv/a> *va href="+code5e" namtio5160"> 16"v3a>  161v/a> parv/a>->va hrstrse href="+code=parstrse 9v/a>_par_controlv/a> *vaoptions9" class="line"optionsa hr,=controlfb.c#Lonting">","4" clas")>!parv/a>->va hrNULamt" class="srefNULafb_i=rsref">parv/a>, va href="+code=info" cl5"" namtio5b_opsv/a> =p{ b.c#L237" idioLthis_opt9" class="line"this_optoL10,=controlfb.c#Lonting">"vva h:"4" clasta6==rsref">parv/a>, va href="+code=info" cl5"" namtio5S_MODULEv/a>, simple_onttoup9v/a>b.c#L237" idioLthis_opt9" class="line"this_optoL10+6,/L209" idioL209"NULamt" class="srefNULafb_i,/a"="sref">pv/a>, &va href="+code=par5"********5heck_varv/a>, pv/a>, &va href="+code=par5"s="sref"5_set_parv/a>, infov/a>mva href="+code=mss="[1]>&va =h0=s="line" namtioL244"> 244v/a>vspa
 cl5olass="sr5etcolregv/a>, pv/a>, &va href="+code=par5"" namtio5_displayv/a>,  108v/a>     } elseLb.c#!controlv/a> *vaontncm href="+code=parstrncm 9v/a>b.c#L237" idioLthis_opt9" class="line"this_optoL10,=controlfb.c#Lonting">"cva h:"4" clasta6==rsref">parv/a>, va href="+code=info" cl5"s="comme5fb_blankv/a>,  108v/a>    ntrolfb.cfb.c#L219" idioL219dept o_control" clasdept ass=>parv/a>->va hrsimple_onttoup" class="sref">simple_onttoup9v/a>b.c#L237" idioLthis_opt9" class="line"this_optoL10+6,/L209" idioL209"NULamt" class="srefNULafb_i,/a"="sref">pv/a>, &va href="+code=par5ef">contr5lfb_mmapv/a>, parv/a>, va href="+code=info" cl5e" namtio5fillrectv/a>, parv/a>, va href="+code=info" cl5ea href="5copyareav/a>,  215v/"line"Lss="s1ideo/:ref">parv/a>, va href="+code=info" cl5e" namtio5mageblitv/a>, parv/a>, va href="+code=info" cl5e" namtio53"> 173v/a>}; pv/a>, &va href="+code=par5e********5174"> 174v/a> pv/a>, &va href="+code=par5es="sref"5175"> 175v/a> parv/a>, va href="+code=info" cl5elass="sr5*****/v/spa
	 pv/a>, &va href="+code=par5 " namtio5177"> 177v/a>  108v/a>        vvvvv#L210000break="sref">pv/a>, &va href="+code=par5es="comme5f">MODULEv/a>  108v/a>    nfffffffb.casea15:ref">parv/a>, va href="+code=info" cl5quot;GPL&5uot;parv/a>, va href="+code=info" cl5q" namtio5180"> 18"v3a>  215v/"line"Lss="s1ideo/="sref">pv/a>, &va href="+code=par5eref">cfb5ulev/a>(void) pv/a>, &va href="+code=par5e" namtio582"> 182v/a>{ parv/a>, va href="+code=info" cl5q" namtio5sref">dpv/a>; parv/a>, va href="+code=info" cl5q********5f">ENXIOv/a>; pv/a>, &va href="+code=par5es="sref"5185"> 185v/a> pv/a>, &va href="+code=par5elass="sr5uot;dpv/a>))  108v/a>     }ontrolfb.c#L240" idioL240" class="lin5"s="comme5>retv/a> =p0;  108v}ontrolfb.c#L240" idioL240" class="lin5" class="5ref">dpv/a>);  19"v3a> cfb5ref">retv/a>; 245v=s="line" namtioL244"> 244v/a>vspa
 cl5" namtioL592"> 192v/a>} parv/a>, va href="+code=info" cl5e" namtio5193"> 193v/a>  5"lass="sr5ulev/a>(void) pc#L219" idioL219NULamt" class="srefNULafb_i" idioL239" class="line" namtioL239"> 5"s="sref"595"> 195v/a>{ pa84v/a>        intNXIOtrol" class="srtNXIOclas="sref">pv/a>, &va href="+code=par5"********5leanupv/a>();  197v/a>}  108vb.c#L209" idioL209"fb_get_options9" class="line"fb_get_options9v/a>bontrolfb.c#Lonting">"ef="+code"4" clasta_par_controlv/a> *vaoption9" class="line"optionfb_i)=s="line" namtioL244"> 244v/a>vspa
 cl5"ss="sref5198v/a>#endif  108v/a>    n" idioL84v/a>        intNs="Vtrol" class="srtNs="Vclas="sref">pv/a>, &va href="+code=par6e" namtio6199"> 199v/a> controlv/a> *vaoption9" class="line"optionfb_i)="sref">pv/a>, &va href="+code=par6e1 namtio6190"> 19"v3a> retv/a>; pc#L219" idioL219of_find_ngt;_by_href9" class="line"of_find_ngt;_by_href9v/a>controlv/a> *vaNULamt" class="srefNULafb_i,/bontrolfb.c#Lonting">"ef="+co"4" clas"="sref">pv/a>, &va href="+code=par6a3s="comm6n2"> 192v/a>} controlv/a> *vad href="+code=pardpa hr)=s="line" namtioL244"> 244v/a>vspa
 cl6s4="comme6t93"> 193v/a> pa9" idioL239" class="line" namtioL239"> 6s5="comme6tlev/a>(void) controlv/a> *vad href="+code=pardpa hr)" idioL239" class="line" namtioL239"> 6s6="comme6t5"> 195v/a>{ ();  6s8class="6r7"> 197v/a>} errv/a>) controlv/a> *vap1" cla_bbit+code=cmode" clp1" cla_bbit9v/a)" idioL239" class="line" namtioL239"> 6"1 namtio6errv/a>;      varv/a>);  244v/a>vspa
 cl6e" namtio6212"> 212v/a>  244v/a>vspa
 cl6e4="comme6    return 0;  214v/a>} b.c#L246" idioL246" class="line" namtioL246"> 246v/a>        struct va href="+code=fb_info_control" class="sr=s="line" namtioL244"> 244v/a>vspa
 cl6"6="comme6215"> 215v/a> parv/a>, va href="+code=info" cl6"7class="6nt">/*v/spa
	  6"8class="6isplayv/spa
	  */v/spa
	  244v/a>vspa
 cl6 class="s6ef">infov/a>)  244v/a>vspa
 cl6 1 namtio620"> 22"v3a>{  244v/a>vspa
 cl6 2s="comm6ef">infov/a>;  244v/a>vspa
 cl6 " namtio6ref">parv/a>;  244v/a>vspa
 cl6 4="comme6ref">errv/a>; b.c#L237" idioLCNTRL_REG+code=cmode" clLNTRL_REG9v/a>b.c#L237" idioL&o_control" class="srtss="sref">pv/a>vram_atthref="+code=info"ram_atthfb_i",/0x31"f">fb_info_controlv/a> *va href="+code6 5="comme6224"> 224v/a> fb_info_controlv/a> *va href="+code6 6="comme6infov/a>)))p{ parv/a> =pframe_bufferioL246"> 246v/a>rame_bufferss="[0x60iiii],/0xb3"f">fb_info_controlv/a> *va href="+code6 7class="6"parv/a> =pframe_bufferioL246"> 246v/a>rame_bufferss="[0x60iii1],/0x71"f">fb_info_controlv/a> *va href="+code6 8class="6ef">errv/a>); "eieio; dcbf 0,_#37;0"4" clas : : bontrolfb.c#Lonting">"r"4" clas >_par_controlv/a> *va href="+code=par" class="sref">parv/a> =pframe_bufferioL246"> 246v/a>rame_bufferss="[0x60iiii]=s="line" namtioL244"> 244v/a>vspa
 cl6es="comme6ref">errv/a>;  108v/a>    nfffffffb................: bontrolfb.c#Lonting">"memory"4" clas "f">fb_info_controlv/a> *va href="+code6L229"> 226v/a>        } "f">fb_info_controlv/a> *va href="+code6L1 namtio60v/a>         "eieio; dcbi 0,_#37;0"4" clas : : bontrolfb.c#Lonting">"r"4" clas >_par_controlv/a> *va href="+code=par" class="sref">parv/a> =pframe_bufferioL246"> 246v/a>rame_bufferss="[0x60iiii]=s="line" namtioL244"> 244v/a>vspa
 cl6L2s="comm6ef">parv/a>); "memory"4" clas "f">fb_info_controlv/a> *va href="+code6L" namtio6232"> 232v/a> "f">fb_info_controlv/a> *va href="+code6L4="comme6MODE_8v/a>) ? ; parv/a> =pframe_bufferioL246"> 246v/a>rame_bufferss="[0x60iiii])>pv/0xb3"controlfb.c#L224" idioL224" class="li6L6="comme6f">pitchv/a>; parv/a> =pframe_bufferioL246"> 246v/a>rame_bufferss="[0x60iii1])>pv/0x71"f">fb_info_controlv/a> *va href="+code6L7class="6f">cmodev/a>;  244v/a>vspa
 cl6Ls="comme6238"> 238v/a>  244v/a>vspa
 cl639v/a>   6    return 0;  244v/a>vspa
 cl6" namtioL640"> 240v/a>}  244v/a>vspa
 cl63class="s6241"> 241v/a>  244v/a>vspa
 cl6ass="comm6nt">/*b.c#L237" idioLCNTRL_REG+code=cmode" clLNTRL_REG9v/a>b.c#L237" idioL&o_control" class="srtss="sref">pv/a>vram_atthref="+code=info"ram_atthfb_i",/0x39"f">fb_info_controlv/a> *va href="+code6a4="comme6valuesv/spa
	  */v/spa
	 parv/a> =pframe_bufferioL246"> 246v/a>rame_bufferss="[0],/0x5a"f">fb_info_controlv/a> *va href="+code6a6="comme6>yoffsetv/a>, parv/a> =pframe_bufferioL246"> 246v/a>rame_bufferss="[1],/0xc7"f">fb_info_controlv/a> *va href="+code6a7class="6"sref">pv/a>) "eieio; dcbf 0,_#37;0"4" clas : : bontrolfb.c#Lonting">"r"4" clas >_par_controlv/a> *va href="+code=par" class="sref">parv/a> =pframe_bufferioL246"> 246v/a>rame_bufferss="[0]=s="line" namtioL244"> 244v/a>vspa
 cl63 var to 647"> 247v/a>{  108v/a>        vvvvv#L210000........: bontrolfb.c#Lonting">"memory"4" clas "f">fb_info_controlv/a> *va href="+code6"s="comme6ref">parv/a>; "f">fb_info_controlv/a> *va href="+code6e" namtio6249"> 249v/a> "eieio; dcbi 0,_#37;0"4" clas : : bontrolfb.c#Lonting">"r"4" clas >_par_controlv/a> *va href="+code=par" class="sref">parv/a> =pframe_bufferioL246"> 246v/a>rame_bufferss="[0]=s="line" namtioL244"> 244v/a>vspa
 cl6ass="sref6>xoffsetv/a>; "memory"4" clas "f">fb_info_controlv/a> *va href="+code6aclass="s6code=par" class1; "f">fb_info_controlv/a> *va href="+code6ess="comm6152"> 152v/a>  153v/a> parv/a> =pframe_bufferioL246"> 246v/a>rame_bufferss="[0])>pv/0x5a"controlfb.c#L193" idioL193" class="li6e" namtio6*****/v/spa
	 parv/a> =pframe_bufferioL246"> 246v/a>rame_bufferss="[1])>pv/0xc7"f">fb_info_controlv/a> *va href="+code6*s="sref"6155"> 155v/a> ; parv/a>, va href="+code=info" cl6e" namtio6157"> 157v/a>  108v/a>     b.c#!controlv/a> *vabank1o_control" clasbank1fb_i=rsref">parv/a>, va href="+code=info" cl6es="comme6DE_NVRAMv/a>;  108v/a>    ntrolfb.ccontrolfb.c#L200" idioL24" class="line" namtioL244"> 244v/a>vspa
 cl6"sref">CM6DE_NVRAMv/a>;  244v/a>vspa
 cl6"ss="sref6160"> 16"v3a>  244v/a>vspa
 cl6"a href="6161"> 161v/a> parv/a> =pp1" cla_use_bank99" class="line"c1" cla_use_bank9deo/c= 1f">fb_info_controlv/a> *va href="+code6"" namtio6b_opsv/a> =p{ parv/a> =pvram_atthref="+code=info"ram_atthfb_i>pa9x39f">fb_info_controlv/a> *va href="+code6"4="comme6S_MODULEv/a>, parv/a> =pframe_bufferioL246"> 246v/a>rame_bufferss=" += 0x60iiiif">fb_info_controlv/a> *va href="+code6"" namtio6heck_varv/a>, parv/a> =pframe_buffer_phye=fb_ops" class=frame_buffer_phyedeo/c+= 0x60iiiif">fb_info_controlv/a> *va href="+code6"s="sref"6_set_parv/a>, parv/a>, va href="+code=info" cl6olass="sr6etcolregv/a>,  244v/a>vspa
 cl6"" namtio6_displayv/a>,  244v/a>vspa
 cl6"s="comme6fb_blankv/a>,  244v/a>vspa
 cl6ef">contr6lfb_mmapv/a>, parv/a> =pvram_atthref="+code=info"ram_atthfb_i>pa9x51f">fb_info_controlv/a> *va href="+code6e" namtio6fillrectv/a>, , parv/a>, va href="+code=info" cl6e" namtio6mageblitv/a>,  244v/a>vspa
 cl6e" namtio63"> 173v/a>};  244v/a>vspa
 cl6e********6174"> 174v/a>  244v/a>vspa
 cl6es="sref"6175"> 175v/a> parv/a> =pvram_atthref="+code=info"ram_atthfb_i>pa9x31f">fb_info_controlv/a> *va href="+code6elass="sr6*****/v/spa
	  177v/a> MODULEv/a> parv/a> =ptotal_"ramhref="+code=partotal_"ramfb_i =c#L209" idioL209"bank1o_control" clasbank1fb_i +2rv/a>->va hrbank99" class="line"bank9deo/=r* 0x20iiiif">fb_info_controlv/a> *va href="+code6quot;GPL&6uot; 18"v3a> "ef="+code: VRAM Total>L1_#37;dMB "4" clascontrolfb.c#L190" idioL190" class="li6qa href="6ulev/a>(void) "(_#37;dMB @ bank 1, _#37;dMB @ bank 2)\n"4" clastcontrolfb.c#L190" idioL190" class="li6q" namtio682"> 182v/a>{ ->va hrbank99" class="line"bank9deo/=r&la &la h1tacode=set_screenbank1o_control" clasbank1fb_i &la &la h1tacode=set_screenbank99" class="line"bank9deo/ &la &la h1"f">fb_info_controlv/a> *va href="+code6q" namtio6sref">dpv/a>; ENXIOv/a>; fb_info_controlv/a> *va href="+code6es="sref"6185"> 185v/a>  244v/a>vspa
 cl6" class="6ref">dpv/a>))  244v/a>vspa
 cl6"s="comme6>retv/a> =p0;  244v/a>vspa
 cl6" class="6ref">dpv/a>); +code=controlfb_set_padevice_ngt;va href="+code=device_ngt;deo/c2b.c#L251" idioLd href="+code=pardpa hr"controlfb.c#L193" idioL193" class="li6"" namtio6190"> 19"v3a> parv/a>, va href="+code=info" cl6"ref">cfb6ref">retv/a>;  246v/a>        struct va hhref="+code=fb_info_control" class="srf">fb_info_controlv/a> *va href="+code6" namtioL692"> 192v/a>} fb_info_controlv/a> *va href="+code6"" namtio6193"> 193v/a> parv/a>, va href="+code=info" cl6"s="sref"695"> 195v/a>{ "ef="+code: only one ef="+co is supported\n"4" clas"f">fb_info_controlv/a> *va href="+code6"********6leanupv/a>();         intNXIOtrol" class="srtNXIOclas="sref">pv/a>, &va href="+code=par6e class="697"> 197v/a>}  108vcontrolfb.c#L197" idioL197" class="lin6"ss="sref6198v/a>#endif  199v/a>  19"v3a> parv/a>, va href="+code=info" cl7a2s="comm7nef">retv/a>; "ean't get 2 amtiessesva>vscode=in\n"4" clas"f">fb_info_controlv/a> *va href="+code7a3s="comm7n2"> 192v/a>}         intNXIOtrol" class="srtNXIOclas="sref">pv/a>, &va href="+code=par7s4="comme7t93"> 193v/a> (void) +izfof(ref="+code=fb_info_control" class="sr=t46" idioL246" clGFP_KERNEamt" class="srefGFP_KERNEa="sr=="sref">pv/a>, &va href="+code=par7s6="comme7t5"> 195v/a>{  244v/a>vspa
 cl7s7class="7reanupv/a>();         intNXIOtrol" class="srtNXIOclas="sref">pv/a>, &va href="+code=par7s8class="7r7"> 197v/a>} pc#L219" idioL219fo_control" class="srffbontrolfb.c#L200" idioL21saveaitva>vscleanupsc*44" class="line" namtioL244"> 244v/a>vspa
 cl7s9 namtio7298v/a>#endif errv/a>)  244v/a>vspa
 cl7"1 namtio7errv/a>;      parv/a> =pfb_orig_basf9" class="line"fb_orig_basffb_i>pc#L219" idioL219assree=fb_ops" class=assree="sr="sref">infov/a>conrt=fb_ops" class=conrtclas="sref">pv/a>, &va href="+code=par7"2s="comm7ef">varv/a>); parv/a> =pfb_orig_sizf9" class="line"fb_orig_sizffb_i>pc#L219" idioL219resourc;_sizf9" class="line"resourc;_sizf9v/a>_par_controlv/a> *vaassree=fb_ops" class=assree="sr)="sref">pv/a>, &va href="+code=par7"3s="comm7212"> 212v/a>  244v/a>vspa
 cl7"4="comme7    return 0; parv/a> =pframe_buffer_phye=fb_ops" class=frame_buffer_phyedeo/cpc#L219" idioL219assree=fb_ops" class=assree="sr="sref">infov/a>conrt=fb_ops" class=conrtclas + 0x80iiiif">fb_info_controlv/a> *va href="+code7"5="comme714"> 214v/a>} parv/a> =pp1" cla_regs_phye=fb_ops" class=p1" cla_regs_phyefb_i>pc#L219" idioL219regsree=fb_ops" class=regsree="sr="sref">infov/a>conrt=fb_ops" class=conrtclas="sref">pv/a>, &va href="+code=par7"6="comme7215"> 215v/a> parv/a> =pp1" cla_regs_sizf9" class="line"p1" cla_regs_sizffb_i>pc#L219" idioL219resourc;_sizf9" class="line"resourc;_sizf9v/a>_par_controlv/a> *varegsree=fb_ops" class=regsree="sr=="sref">pv/a>, &va href="+code=par7"7class="7nt">/*v/spa
	  108vb.c#!controlv/a> *vaphref="+code=par" class="sref">parv/a> =pfb_orig_basf9" class="line"fb_orig_basffb_i>||controlfb.c#L249" idioL249" class="li7ss="comme7t"> */v/spa
	  108v/a> !controlv/a> *varequest_mem_region9" class="line"request_mem_region9v/a>b.c#L237" idioLphref="+code=par" class="sref">parv/a> =pfb_orig_basf9" class="line"fb_orig_basffb_itss="sref">pv/a>phref="+code=par" class="sref">parv/a> =pfb_orig_sizf9" class="line"fb_orig_sizffb_i,bontrolfb.c#Lonting">"ef="+code"4" clas==rsref">parv/a>, va href="+code=info" cl7 class="s7ef">infov/a>) parv/a> =pfb_orig_basf9" class="line"fb_orig_basffb_i>pcif">fb_info_controlv/a> *va href="+code7 1 namtio720"> 22"v3a>{ pv/a>, &va href="+code=par7 2s="comm7ef">infov/a>; pv/a>, &va href="+code=par7 3s="comm7ref">parv/a>; vsthe frame buffer1*44" class="line" namtioL244"> 244v/a>vspa
 cl7 4="comme7ref">errv/a>; parv/a> =pframe_bufferioL246"> 246v/a>rame_bufferss=" pc#L219" idioL219__ioremap+code=cmode" cl__boremap9v/a>b.c#L237" idioLphref="+code=par" class="sref">parv/a> =pframe_buffer_phye=fb_ops" class=frame_buffer_phyedeo/, 0x80iiiitcontrolfb.c#L190" idioL190" class="li7 5="comme7224"> 224v/a> pv/a>, &va href="+code=par7 6="comme7infov/a>)))p{ parv/a> =pp1" cla_regs_phye=fb_ops" class=p1" cla_regs_phyefb_i>||controlfb.c#L249" idioL249" class="li7 8class="7ef">errv/a>);  108v/a> !controlv/a> *varequest_mem_region9" class="line"request_mem_region9v/a>b.c#L237" idioLphref="+code=par" class="sref">parv/a> =pp1" cla_regs_phye=fb_ops" class=p1" cla_regs_phyefb_it46" idioL246" clfo_control" class="srss="sref">parv/a> =pp1" cla_regs_sizf9" class="line"p1" cla_regs_sizffb_itcontrolfb.c#L190" idioL190" class="li7 s="comme7ref">errv/a>;  108v/a> bontrolfb.c#Lonting">"ef="+code regs"4" clas==rsref">parv/a>, va href="+code=info" cl7L229"> 227v/a>        } parv/a> =pp1" cla_regs_phye=fb_ops" class=p1" cla_regs_phyefb_i>pcif">fb_info_controlv/a> *va href="+code7L1 namtio70v/a>         pv/a>, &va href="+code=par7L2s="comm7ef">parv/a>); pv/a>, &va href="+code=par7L" namtio7232"> 232v/a> parv/a> =pp1" cla_regs=fb_ops" class=p1" cla_regsss=" pc#L219" idioL219ioremap+code=cmode" clboremap9v/a>b.c#L237" idioLphref="+code=par" class="sref">parv/a> =pp1" cla_regs_phye=fb_ops" class=p1" cla_regs_phyefb_it46" idioL246" clfo_control" class="srss="sref">parv/a> =pp1" cla_regs_sizf9" class="line"p1" cla_regs_sizffb_i=="sref">pv/a>, &va href="+code=par7L4="comme7MODE_8v/a>) ? ; parv/a> =ppmap_regs_phye=fb_ops" class=pmap_regs_phyefb_i>pcixf301biiiflfbontrolfb.c#L200" idioL21XXX notfin prom?1*44" class="line" namtioL244"> 244v/a>vspa
 cl7L6="comme7f">pitchv/a>; b.c#L237" idioLphref="+code=par" class="sref">parv/a> =ppmap_regs_phye=fb_ops" class=pmap_regs_phyefb_i, 0x1iiit bontrolfb.c#Lonting">"ef="+code pmap"4" clas==rsref">parv/a>, va href="+code=info" cl7L7class="7f">cmodev/a>; parv/a> =ppmap_regs_phye=fb_ops" class=pmap_regs_phyefb_i>pci="sref">pv/a>, &va href="+code=par7L8class="7stepv/a> =p1;  108v/a>     goto0b.c#L251" idioLerror_out=fb_ops" class=error_outclas="sref">pv/a>, &va href="+code=par7Ls="comme7238"> 238v/a>  108v}ontrolfb.c#L240" idioL240" class="lin739v/a>   7    return 0; parv/a> =ppmap_regs=fb_ops" class=pmap_regsss=" pc#L219" idioL219ioremap+code=cmode" clboremap9v/a>b.c#L237" idioLphref="+code=par" class="sref">parv/a> =ppmap_regs_phye=fb_ops" class=pmap_regs_phyefb_i, 0x1iii=="sref">pv/a>, &va href="+code=par7" namtioL740"> 240v/a>}  241v/a> parv/a> =ppmap_regs=fb_ops" class=pmap_regsss=" || !controlv/a> *vaphref="+code=par" class="sref">parv/a> =pp1" cla_regs=fb_ops" class=p1" cla_regsss=" || !controlv/a> *vaphref="+code=par" class="sref">parv/a> =pframe_bufferioL246"> 246v/a>rame_bufferss="=s="line" namtioL244"> 244v/a>vspa
 cl7ass="comm7nt">/*pv/a>, &va href="+code=par7a4="comme7valuesv/spa
	  */v/spa
	 ef="+code=fb_info_control" class="sr=="sref">pv/a>, &va href="+code=par7a6="comme7>yoffsetv/a>, parv/a> =ptotal_"ramhref="+code=partotal_"ramfb_i=s="line" namtioL244"> 244v/a>vspa
 cl7a7class="7"sref">pv/a>) pv/a>, &va href="+code=par7a8class="747"> 247v/a>{ parv/a>;  246v/abbitne" namt9v/a>ef="+code=fb_info_control" class="sr= &la h0=s="line" namtioL244"> 244v/a>vspa
 cl7e" namtio7249"> 249v/a> pv/a>, &va href="+code=par7ass="sref7>xoffsetv/a>; pv/a>, &va href="+code=par7ess="comm7152"> 152v/a>  153v/a> parv/a>, va href="+code=info" cl7e" namtio7*****/v/spa
	 =="sref">pv/a>, &va href="+code=par7*s="sref"7155"> 155v/a>         intNXIOtrol" class="srtNXIOclas="sref">pv/a>, &va href="+code=par7elass="sr7ntrol_fbv/a>;  157v/a> ;  244v/a>vspa
 cl7"sref">CM7DE_NVRAMv/a>;  244v/a>vspa
 cl7"ss="sref7160"> 16"v3a>  244v/a>vspa
 cl7"class="s7161"> 161v/a>  244v/a>vspa
 cl7"ss="comm7b_opsv/a> =p{  244v/a>vspa
 cl7"4="comme7S_MODULEv/a>, b.c#L246" idioL246" class="line" namtioL246"> 246v/a>        struct va href="+code=fb_info_control" class="sr=s="line" namtioL244"> 244v/a>vspa
 cl7"" namtio7heck_varv/a>, parv/a>, va href="+code=info" cl7"s="sref"7_set_parv/a>, pv/a>, &va href="+code=par7olass="sr7etcolregv/a>, , b.c#L237" idioLCNTRL_REG+code=cmode" clLNTRL_REG9v/a>b.c#L237" idioL&o_control" class="srtss="sref">pv/a>mob_sense9" class="line"mob_sense="sr=, 7);rolfbontrolfb.c#L202" idio/* d#L20 all >,  244v/a>vspa
 cl7"s="comme7fb_blankv/a>, 2ii=="sref">pv/a>, &va href="+code=par7ef">contr7lfb_mmapv/a>, b.c#L237" idioLCNTRL_REG+code=cmode" clLNTRL_REG9v/a>b.c#L237" idioL&o_control" class="srtss="sref">pv/a>mob_sense9" class="line"mob_sense="sr=, 077);robontrolfb.c#L202" idio/* ops" off code=cmq"d7ivers72ideo/controlfb.c#!4c idioc* so we ean_;t use udelay.4r class="ref">parv/a> =pframe_buffeXIOclas="sref"5n21ram_a="d6i77t=fb_ops" class=conrtclas="sarv/a>, va href="+code=info" ss="li6e4="comme6153">>pv/a>, &va hre3">>pv/=par7ef">contr7lfb_mmapv/a>, b.c#L237" idioLCNTRL_REG+code=cmode" )mtiessa>b.c0fb.c#Lfffff2_;t use udelay.4r class="ref">parv/a> =ps76ideo/ref="6copyareav/a>, pv/a>, &am href="d67vers67s/video/controlfb.7#Lcon77the frame buffG9v/a>b.c#L237" idioL&o_controeach"> 244veo/c low>parcontrs="lco>vsce" namo nar 2srtss="sref">pv/a>mob_sense9" class="line"mob_sen"> 246v/alfb.c#L200" idiocccccccc7ccccc77
	 contr7lfb_mmapv/a>, b.c#L237" idioLCNTRL_REG+code=cmode" clL33RL_REG9v/a>b.c#L237" idioL&o_controA low>rtss="sref">pv/a>mob_sense9" class="line"mob_sen"> 244v/aers67ideo/bontrolfb.c#L270" id77t=fb_ops" class=conrtclas="sdeo/controlfb.c#!4c idioc* so we ean_;t use udelay.4r class="ref">parv/a> =pers76ideof">parv/a> =pvram_atthre7="+co77fferss="[0x60iiii],/0xb3"f">arv/a>, va href="+code=info" s|s="li6e4="comme6153">>pv/a>, &va hre3">>pv/=par7ef">contr7lfb_mmapv/a>, b.c#L237" idioLCNTRL_REG+code=cmode" )mtiessa>bc0fb.g#Lfgfff2_;t use udelay.4r class="ref">parv/a> =p;va href=e6elass="sr6*****/v/spa
7 , , b.c#L237" idioLCNTRL_REG+code=cmode" cl055RL_REG9v/a>b.c#L237" idioL&o_controB low>rtss="sref">pv/a>mob_sense9" class="line"mob_sensr=, 7);rclass="lin6e" namtio61777> 1777/a> parv/a> =ank1fb_i 72rv/a>->va hrbank99" 7lass=78cmode" cl__delay9v/a>2ii=="sarv/a>, va href="+code=info" s|s=""li6e4="comme6153">>pv/a>, &va hre3">>pv/=par7ef">contr7lfb_mmapv/a>, b.c#L237" idioLCNTRL_REG+code=cmode" )mtiessa>b100fb.g#Lfgfff5#L246" idioL246" class="line" namtioL24v/a> *va 7ref="+code6quot;GPL&6uot7>pv/a>, &va hre3">>pv/=par7ef">contr7lfb_mmapv/a>, b.c#L237" idioLCNTRL_REG+code=cmode" )mtiessa>b40fb.g#Lfgfff43_;t use udelay.4r class="ref">parv/a> =aframe_bufting">"ef="+code: V7AM To78t=fb_ops" class=conrtclas="sntrolfb.c#L207" idioL207" class="li7"" namtio7_displayv/a>, b.c#L237" idioLCNTRL_REG+code=cmode" cl066RL_REG9v/a>b.c#L237" idioL&o_controC low>rtss="sref">pv/a>mob_sense9" class="line"mob_seonting">&7uot;(_#37;dMB @ bank 1, 7#37;d78f="d7ivers73ideo/controlf}"sdeo/controlfb.c#!4c idioc* so we ean_;t use udelay.4r class="ref">parv/a> =ahref="d67acode=set_screenbank99" 7lass=78the frame buffer1*44" class=arv/a>, va href="+code=info" s|s="li6e4="comme6153">>pv/a>, &va hre3">>pv/=par7ef">contr7lfb_mmapv/a>, b.c#L237" idioLCNTRL_REG+code=cmode" )mtiessa>b180fb.g#Lfgfff7_;t use udelay.4r class="ref">parv/a> =a"> 246v/aef="+code6q" namtio6sref7>dpv/7>; 7NXIOv78rame_bufferss="[0],/0x5a"f">fb_ilfb.c#L207" idioL207" class="li7"" namtio7_displayv/a>, b.c#L237" idioLCNTRL_REG+code=cmode" cl0NTRL_REG9v/a>b.c#L237" idioL&o_control" class="srtss="sref">pv/a>mob_sense9" class="line"mob_sev/a> *va 7ref="+code6es="sref"61857> 18578fferss="[0x60f">pv/a>mob_sense9" class="line"mob_sev;va href=	); parv/a>, va href="+code=info" cl7"s="sref"7_set_parv/a>, pv/a>, &retv/a> =70; fb_info_contro7href="+co7e=device_ngt;deo/c2b.c#L751" i79obitor sense value.4" class/**********************  Various trans9v/aon func/aons  **********************tss="sref">pv/a>mob_sense9" class="line"mob_seidioL193"7class="li6"" namtio6190"7 19"v7a> pv/a>mob_sense9" class="line"mob_seinting">&7        struct va hhref=7+code7fb_inf#defo/c "" namtio7_displO76iOL_PIXCLOCK_BASEpv/a>mob_sense9" class="line"mob_seihref="d67ree="srt46" idioL246" cl7egsre7=fb_op#defo/c "" namtio7_displO76iOL_PIXCLOCK_MINbocksrtss="sref">pv/a>mob_sense9" class="line"mob_sev/a> *va 7ref="+code6"" namtio61937> 19379; &quo7;ef="+code: only one ef=7+co i79a> bocksparamalass=to244vd6iv=to2CUDApa
 ording=to2gL23ntrolfb.c#L238" idioL238" class="li7es="comme7i;va href=#L227" idioL84v/a>      7 intN79olfb.c#L200" idioL24" class="lpix>bocksparvicovd6"lidspa
 cl7"class="s7161"> 161v/a>  197v/a>7  244v/a>vspa
 cl6"s="comme68idioL197"8class="lin6"ss="sref61988/a>#e80lfb.c#L200" idioc*44" class="lis="c_>bock_paramp_regs=fb_ops" cl="c_>bock_parampontrounsigned long=c*44" class="lisla href="+code=inslas="li unsigned charclass="line"readneatv/a>,  *vaa8sree=80oLd href="+code=pardpa hr"controlfb.c#L193"8dpa hr, 18a_par_controlv/a> *vareg8ree=f8_ops" class=reunsigned long=c*44" class="lip0a>, , &8uot;ean't get 2 amti8ssesv80ri75ideo/controlf" idioLi="sref">pv/a>, &a8o/control8b.c#L" idioL84v/a>      8 intN8IOtrol" class=6ivers69ideo/controlla href="+code=inslas="lb.g#Lvers69ideo/controlO76iOL_PIXCLOCK_BASE *va href="+code=par"8class="sr8t46" idioL246" clGFP_KER8Eamt"80e" cl_PAGE_WRITETHRU="sr=="sref">pv/a>, &a8d7ivers708deo/controlfb.c#L209" id8oL20980fferss="[0x60iiii],/0xb3"f">p.c#L207" idioL20p2s="l s=""li6e4="comme615lla href="+code=inslas="lb.c#Lfffff4ontrolfrs69ideo/controlO76iOL_PIXCLOCK_BASEparv/a> 8ontrolfb.8#L227" idioL84v/a>      8 intN8IOtrol" class="srtNXIOclas="sL219" idioL219rels="lideo/controlf#defilla href="+code=inslas="lb.c#Lfffffiiii],/0xb3"f">p.c#L207" idioL20p2s="l_;t use udelay.4r class="ref">parv/a> 8o9trolfb.8#6e class="697"> 197v/a>8L21sa80a>  244v8a>vspa
 cl7s9 namtio72988/a>#e81f="d7ivers739oL108"> 108v}ontk1o_control" clap1s="l227b.c#L235" idioLfo_control" class="srss=84rdpa hr,8c#L200" idioL21Map in fr8me bu8fer1and regist+cod"li6e4="comme615a href="+code=inks="ltroli c*44" class="li/i4v/a>vspa
 cl7L6/i4fo" ideo/controlf#defiL219" idioL219rels="lffiiii],/0xb3"f">a href="+code=inks="ltfffff32ffiiii],/0xb3"f">a href="+code=inks="l++egs_phye=fb_ops" class=pmap_regs_phyefb_8_ops" cla8s=assree="sr="sref">info8/a>co81ops" class=regsree="sunsigned long=c*44" class="lire/a>, parv/a> 8ourc;_siz89v/a>_par_controlv/a> *v8assre81ri75ideo/controlf" idioLi="sref">pv/a>, &a8fbontrolf8.c#L200" idioL21use the 8ig-en81=info"ram_atthfb_i>pac*44" class="li/a>, a href="+code=inks="l_;t use udelay.4r class="ref">parv/a> 8o5control8r="sref">infov/a>conrt=f8_ops"81f="d7ivers70i href="dc*44" class="li4v/a>vspa
 cl7L6ns="lideo/controlf#defi/a>, parv/a> 8olass="sr8=regsree="sr="sref">info8/a>co81cmode" clp1" cla_fbfb_i=rsref">parv/re/a>, , eo/controlf#defiL219" idioL219rels="lf;t use udelay.4r class="ref">parv/a> 8o7ivers708/a>_par_controlv/a> *var8gsree81="+code=partotal_"ram6ivers69ideo/contro4v/a>vspa
 cl7L6ns="li0x5a"controlfb.c#L193" idio4v/a>vspa
 cl7L6ns="li0ode=s28)i0x5a"contro_i=rsref">parv/re/a>, /i4v/a>vspa
 cl7L6/i4fo" egs_phye=fb_ops" class=pmap_regs_phyefb_8_ntrolfb.8"+code=par7"7class="7nt"8/*v/s81246v/a>rame_bufferss="[0]=s="6ivers67ideo/con0a>, a href="+code=inks="l_;t use udelay.4r class="ref">parv/a> 8o9trolfb.8">parv/a> =pfb_orig_basf8" cla8s="line"fb_orig_barss="[0]=s="6ivers67ideo/conk1o_control" clap1s="l227fb.c#L193" idio4v/a>vspa
 cl7L6ns="l_;t use udelay.4r class="ref">parv/a> 8_orig_siz8fb_i,bontrolfb.c#Lonting8>&quo8;ef="+code"4" clahfb_i>pac*44" class="li/i4v/a>vspa
 cl7L6/i4fo" ideo/controlf#defire/a>, parv/a> 8ss="sref"8parv/a> =pfb_orig_basf9"8class8"line"fb_orig_basffb_i" class="srtNXIOclas="sref">pv/a>, &am8lfrolfrol8goto0b.c#L251" idioLerro8_out=8b_ops" class=error_outclas="sref">pv/a>, &va hre8="+code=p8r7 2s="comm7ef">infov/a>8 p0a>,  *vk1o_control" clap1s="l#L246" idioL246" class="line" namtioL28trolfb.c#8200" idioL21map at most 8MBva>82=info"ram_atthfb_i>paleanup9.c#L226controlv/a> *va href="+code=par"8> =pframe8buffer_phye=fb_ops" clas8=fram82; ,  197v/a>0a>,  *va href="+code=par"8>7ivers708"+code=par7 6="comme7inf8v/a>)82fferss="[0x60iiii],/0xb3"f">patv/a>,  197v/a>k1o_control" clap1s="lc#L226controlv/a> *va href="+code=par"8>ntrolfb.8=pp1" cla_regs_phye=fb_o8s" cl82Otrol" class="srtNXIOclas="spatv/a>,  197v/a>.c#L207" idioL20p2s="l_;t use udelay.4r class="ref">parv/a> 8ef">parv/8> =pp1" cla_regs_sizf9" 8lass=82aitva>vscleanupsc*44" class="line" namtioL8> 108v/a>8bontrolfb.c#Lonting">&qu8t;ef=8+code regs&quo7ivers75ideo/controlfb.c#L241" idioL241" class8parv/a> =8p1" cla_regs_phye=fb_ops8 clas8=p1" crror_outclas="sref">pv/a>, &va hre8lfrolfrol8goto0b.c#L251" idioLerro8_out=83> pv/a>mob_sense9" class="line"mob_s8="+code=p8r7L2s="comm7ef">parv/a>)8 pv/a>, &a8f">parv/a8 =pp1" cla_regs_sizf9" c8ass="83olfb.c#L200" idioL24" classontrolfb.c#L238" idioL238" class="li7es="comme8p;va href8"+code=par7L4="comme7MOD8_8v/a83c* "ram bank 1conly4" class=* TL244routo/c takes a"> 2r-#L23lied var,rs="lpicksamp;vaest vm7v//cm7v/trolfb.c#L238" idioL238" class="li7es="comme8pfL209" i8biiiflfbontrolfb.c#L200"8idioL83cmode href="d7ivers75ideo/c="lirom itspa
 cl7"class="s7161"> 161v/a> &qu8t;ef=83a>  244v/a>vspa
 cl6"s="comme68sref">par8/a> =ppmap_regs_phye=fb_8ps" c83;     8goto0b.c#L251" idioLerro8_out=8b_ops"#L200" idioc*44" class="lismme7S_Mvar  238v/a8 parv/a> 8ppmap_regs_phye=fb_ops" 8lass=84oLd href="+code=pardpa hr"controlfb.c#L193"8p;va href8"+code=par7" namtioL740"8 240v8a>} parv/a> 8 class="s8ef">parv/a> =pframe_buff8rioL286"> 246v/a>ramunsigned c*44" class="lihperiodLout=leL99" clahperiodtr"li c*44" class="lihssyn7tlev/a>(void) pa c*44" class="lihsert href="+code=inhserttr"li c*44" class="livperiodLout=leL99" clavperiodtr"li c*44" class="livssyn7tlev/a>(void) , bockfo" cl7"s="sref"7_set_parv/a>, ef="8code=8b_info_control b.c s=" , parv/a> =ptotal_8ramhr8f="+code=parto , par8goto0b.c#L251" idioLerro8_out=8b_ops" class=error_outclas="sref">pv/a>, &a8p;va href8"+code=par7a8class="747"8 247v8a>{ ef="+code=f8_info8control" classcase 8ss="li7e4="comme7153"> 153v/a> , xo8fsetv85ops" class=regsree="s_KERNEa="sr=="sref">pv/a>, &va href=+code=par7a6="comme7>yoffsetv/a>, , parv/a8"+code=par7ess="comm71528> 15285=info"ram_atthfb_i>pa lastconass="line"readnt href="+code=indeo/c+code=par7a6="comme7radacrs7ctrL219" idioL219reradacrs7ctrLs="l227bx2"cl7"s="sref"7_set_parv/a>, ,       8 intN85="+code=partotal_"ramclastconass="line"readnt href="+code=indeo/c+code=par7a6="comme7m7v/ href="+code=inm7v/tr"lide2_;t use udelay.4r class="ref">parv/a> 8;va href=8+code=par7elass="sr7ntro8_fbv/85246v/a>rame_bufferss="[0]=s="6ivers67ideo/cot href="+code=indeo/c+code=par7a6="comme7radacrs7ctrL219" idioL219reradacrs7ctrLs="l227bx1"cl7"s="sref"7_set_parv/a>,  15785="line"fb_orig_barss="[0]=s="6ivers67ideo/coniped_diff href="+code=ineiped_difftr"ltro9cl7"s="sref"7_set_parv/a>, pv/a>, &va hre8s760deo/b8ntrolfb.c#L200" idioc* G8tsthe86line"fb_orig_basffb_ibreakcl7"s="sref"7_set_parv/a>,  153v/a>  153v/a> parv/a8p{ pac*44" class="lieat href="+code=ineatontr+code=par7a6="comme7sm7v/ href="+code=insm7v/tr"lideo/controlf#defilMODE_=regsree="sode=inlMODE_1cmodecl7"s="sref"7_set_parv/a>, pv/a>, &va href=+code=par7a6="comme7>yoffsetv/a>,  244v/8>vspa
 cl7"" namtio7heck8varv/86cmode" clp1" cla_fbfb"[0]=s="6ivers67ideo/cot href="+code=indeo/c+code=par7a6="comme7m7v/ href="+code=inm7v/tr"lide2_;t use udelay.4r class="ref">parv/a> 8vers76ide8/controlffb.c#L219" idio8219se86="+code=partotal_"ramclastconass="line"readnt href="+code=indeo/c+code=par7a6="comme7radacrs7ctrL219" idioL219reradacrs7ctrLs="l227bx24_;t use udelay.4r class="ref">parv/a> 8vva href=8"+code=par7olass="sr7etc8lregv86246v/a>rame_bufferss="[0]=s="6ivers67ideo/coniped_diff href="+code=ineiped_difftr"ltro5_;t use udelay.4r class="ref">parv/a> 8v;va href8olfbontrolfb.c#L202" idi8/* d#86="line"fb_orig_barss=} else s_phye=fb_ops" class=pmap_regs_phyefb_869deo/con8rolfb.c#L237" idioL__del8y+cod87ef="+code"4" clahfb_i>pac*44" class="lit href="+code=indeo/c+code=par7a6="comme7m7v/ href="+code=inm7v/tr"lide.c#L226controlv/a> *va href="+code=par"8nse="sr=,8077);robontrolfb.c#L202"8idio/87line"fb_orig_basffb_iclastconass="line"readnt href="+code=indeo/c+code=par7a6="comme7radacrs7ctrL219" idioL219reradacrs7ctrLs="l227bx14_;t use udelay.4r class="ref">parv/a> 8pframe_bu8feXIOclas="sref"5n21ram_8="d6i87ops" class=regsree="s"[0]=s="6ivers67ideo/coniped_diff href="+code=ineiped_difftr"ltro3cl7"s="sref"7_set_parv/a>, , pv/a>, &va hre8 href="d68vers67s/video/controlfb.8#Lcon87=info"ram_atthfb_i>pabreakcl7"s="sref"7_set_parv/a>,  246v/8lfb.c#L200" idiocccccccc8ccccc87
	  153v/a>  244v/8ers67ideo/bontrolfb.c#L280" id87cmode" clp1" cla_fbfb_i=rsref">parv/eat href="+code=ineatontr+code=par7a6="comme7sm7v/ href="+code=insm7v/tr"lideo/controlf#defilMODE_b.c#L207" idioL20lMODE_b.modecl7"s="sref"7_set_parv/a>, parv/a> =pvram_atthre8="+co87="+code=partotal_"ram6ivers69ideo/contro>pv/a>, &va href=+code=par7a6="comme7>yoffsetv/a>,  *va href="+code=par"8n;va href8class="lin6e" namtio61778> 17787="line"fb_orig_barss="[0]=s="6ivers67ideo/cot href="+code=indeo/c+code=par7a6="comme7radacrs7ctrL219" idioL219reradacrs7ctrLs="l227bx28c#L226controlv/a> *va href="+code=par"8ank1fb_i 82rv/a>->va hrbank99" 8lass=88ef="+code"4" clar else s_phye=fb_ops" class=pmap_regs_phyefb_8v/a> *va 8ref="+code6quot;GPL&6uot8, "ef="+code: V8AM To88ops" class=regsree="s"[0]=s="6ivers67ideo/cot href="+code=indeo/c+code=par7a6="comme7radacrs7ctrL219" idioL219reradacrs7ctrLs="l227bx18c#L226controlv/a> *va href="+code=par"8as76ideo/8uot;(_#37;dMB @ bank 1, 8#37;d88 @ bank 2)\n"4" rror_outclas="sref">pv/a>, &va hre8ahref="d68acode=set_screenbank99" 8lass=88=info"ram_atthfb_i>pac*44" class="lieiped_diff href="+code=ineiped_difftr"ltrolc#L226controlv/a> *va href="+code=par"8a"> 246v/8ef="+code6q" namtio6sref8>dpv/88f="d7ivers70i href="dbreakcl7"s="sref"7_set_parv/a>, 8NXIOv88rame_bufferssdefaultss="li7e4="comme7153"> 153v/a>  *va 8ref="+code6es="sref"61858> 18588="+code=partotal_"ramleanup9v/a>=="sref">pv/aINVAL href="+code=inaINVALmodecl7"s="sref"7_set_parv/a>, , pv/a>, &va hre8a;va href8200" idioc* find "e8="+co88aitva>vscleanupsc*44" class="line" namtioL8retv/a> =80;  244v/a>vspa
 cl6"s="comme68ihref="d68ree="srt46" idioL246" cl8egsre89the frame buffer1*44" class=hsteoLout=leL99" clahsteos="ltro31b.g#Lfgfff_i=rsref">parv/eat href="+code=ineatontr+code=par7a6="comme7sm7v/ href="+code=insm7v/tr"lcl7"s="sref"7_set_parv/a>,  19389 ? , b.c +ffer1*44" class=hsteoLout=leL99" clahsteos="l)mtiessa~fer1*44" class=hsteoLout=leL99" clahsteos="lcl7"s="sref"7_set_parv/a>, pat href="+code=ineatontr+code=par7a6="comme7xoffsentrolfb.c#L193" xoffsen>b.c s="fb.c#L193" idiovat href="+code=invatontr+code=par7a6="comme7xoffsentrolfb.c#L193" xoffsen>b.c +ffer1*44" class=hsteoLout=leL99" clahsteos="l)mtiessa~fer1*44" class=hsteoLout=leL99" clahsteos="lcl7"s="sref"7_set_parv/a>,       8 intN89>, pat href="+code=ineatontr+code=par7a6="comme7xres href="+code=inxres>b.c#L246" idioL246" class="line" namtioL28="+code=p8r6e class="697"> 197v/a>8 pat href="+code=ineatontr+code=par7a6="comme7xres href="+code=inxres>b.ccl7"s="sref"7_set_parv/a>,  108v}ontat href="+code=ineatontr+code=par7a6="comme7pitch href="+code=ineitch>b.c s=iiii],/0xb3"f">pat href="+code=ineatontr+code=par7a6="comme7vxres href="+code=invxres>b.c fffffffffiiii],/0xb3"f">pat href="+code=ineatontr+code=par7a6="comme7sm7v/ href="+code=insm7v/tr"lcl7"s="sref"7_set_parv/a>, pv/a>, &a9dpa hr, 19a_par_controlv/a> *vareg9ree=f9_ops" class=reiiii],/0xb3"f">pat href="+code=ineatontr+code=par7a6="comme7yres href="+code=inyres>b.c s=iiii],/0xb3"f">vat href="+code=invatontr+code=par7a6="comme7yres href="+code=inyres>b.ccl7"s="sref"7_set_parv/a>, vat href="+code=invatontr+code=par7a6="comme7yres_virtuaL219" idioL219reyres_virtuaL>b.ccl7"s="sref"7_set_parv/a>, b.c s=iiii],/0xb3"f">vat href="+code=invatontr+code=par7a6="comme7yoffsentrolfb.c#L193" yoffsen>b.ccl7"s="sref"7_set_parv/a>, pat href="+code=ineatontr+code=par7a6="comme7yres href="+code=inyres>b.c#L246" idioL246" class="line" namtioL29class="sr9t46" idioL246" clGFP_KER9Eamt"90cmode" clp1" cla_fbfb_i=rsref">parv/eat href="+code=ineatontr+code=par7a6="comme7vyres href="+code=invyres>b.c s=iiii],/0xb3"f">pat href="+code=ineatontr+code=par7a6="comme7yres href="+code=inyres>b.ccl7"s="sref"7_set_parv/a>, pv/a>, &a9ontrolfb.9#L227" idioL84v/a>      9 intN9IOtrol" class="srtNXIOclas="spat href="+code=ineatontr+code=par7a6="comme7syn7tlev/a>(void) vat href="+code=invatontr+code=par7a6="comme7syn7tlev/a>(void) ,  197v/a>9L21sa90aitva>vscleanupsc*44" class="line" namtioL944"> 244v9a>vspa
 cl7s9 namtio72989/a>#e91f="d7ivers7396ivers69ideo/contro>at href="+code=ineatontr+code=par7a6="comme7pitch href="+code=ineitch>b.c *fiiii],/0xb3"f">eat href="+code=ineatontr+code=par7a6="comme7vyres href="+code=invyres>b.c +ffer1*44" class=CTRLFB_OFFc#L207" idioL20lTRLFB_OFFo/cob.g#Lvrs69ideo/contro>pv/a>, &va href=+code=par7a6="comme7>yoffsetv/a>, =="sref">pv/aINVAL href="+code=inaINVALmodecl7"s="sref"7_set_parv/a>, info9/a>co91> pv/a>mob_sense9" class="line"mob_s9ourc;_siz99v/a>_par_controlv/a> *v9assre91f="d7ivers72i" cliiii],/0xb3"f">pat href="+code=ineatontr+code=par7a6="comme7xoffsentrolfb.c#L193" xoffsen>b.c +ffer1*44" class=nat href="+code=ineatontr+code=par7a6="comme7xres href="+code=inxres>b.c fgfff_i=rsref">parv/eat href="+code=ineatontr+code=par7a6="comme7vxres href="+code=invxres>b.c#L246" idioL246" class="line" namtioL2944a hr, 19.c#L200" idioL21use the 9m7v/tr"lide2_;ttontr+code=par7a6="co/cot href="+code=indeo/c+code=pa7yrer+code=par7a6="comme7vyres href="+code=invyres>b.c s=iiii],/0r+code=par7a6="co/cot hrefhe6parv/a> 8ss="sref"8rv/a> 8ss="sref28rv/a>elay."readneatv/a>, mme7i;va href=#L227*44" class=nat href="+code=ineatontr+code=pa4"+codrleL99" clka4="comme7val8a>elay."readneatv/a="+code=ineatontr+cdefi/5" id75ideo6" class="line" namtioL2944a hr, 19.c#Riii=ineatonref="+codde=invatontr+code=par7a6="comme7yoffsentrolfb.c#L193" yoffsen>b.cc"lideo/co9trolf#defilO76iOL_PIXCLO9K_BAS91hr, 19aef="+code6"" namtio61939 , pv/a>, &a8o/control8b.c#L" 68ide7/bont79ine"bank9deo/=r* 0x20iiiif">f)?sref">pv/a>, &a8o/control8b.c#L" 68ide7/bont79ine"bank9deo/=r* 0x20iiiif">flass=regsree="s"[0]=s="6ivers67ideo/co9olf#defi/9>, , b.cccontro4v/9>vspa
 cl7L6ns="li0x5a"c9ntrol923"f">pat href="+code=ineatontr+c_7b+cod7=cmode href="d7ivers75ideo/controlfb.c#L238" i 17787="line"fod7=cmode href="d7ivers75idetrolfb.c#L238" d7e0s="li c*44" class="lipk1o_control" 9fb_ops" c9ass=pmap_regs_phyefb_8_n9rolfb98"+code=par7"7class="7,  197v/a>9L21sa90aitva>vscleanupsc*44" class="line" na"6ivers679deo/con0a>, #e91f="d7ivers7396ivers69ideo/contro>at hr class="9ef">parv/a> 8o9trolfb.8"9parv/92code=ineatontr+code=par7a6=""d7ivers76ideeat href="+code=inea>&8uot;ean't get="lcl7"s="sref"7_set_parv/a>, b.c +ffer1*44" class=CTRLFB_OFFc#L207" idioL20lTRLFB_OFFo/cob.g#Lvrs69ideo/contro>pv/yres>b.c +ffer1*4="lcl7"s="sref"7_set_parv/a>, #e91f="d7ivers7396ivers69ideo/contro>at hrdioL21Maplass="ref">parv/a> 8_ori9_siz89b_i,bontrolfb.c#Lontinnnnnyres>b.c +ffer1*4="lcl7"s="sref"7_set_parv/a>, parv/a> 8ss="sr9f"8pa9v/a> =pfb_orig_basf9"8class8" , #e9e=c#L238" 1)spa88p1" cla_regs_phyefb_i"[0]=s="6ive9llideo/co9tclas="sref">pv/a>, &9va hr98="+code=p8r7 2s="comm7ef">in ,  8ppmap_regs_phye=fb_ops" 8lassut=leL99" clahsteos="lcl7"s="sref"7_set_parv/a>,  8ppmap_regs_phye=fb_ops" 8lassudeo6" class="line"efb_8v/a> *va 8ref="+code6quot;GPL&6uospa88p1" cla_regs_phyefb_i"[0]=s="6ive9+c8de=cm89t=fb_ops" class=conrtcla9="sra93 href8#L227" idioL84v/a>    =par7" namtioL740"8 240v8tontr+code=par7a6="comme7yres href="+code=inyres>b.c#L246" idiohnamt_le4" class="lism7v/namt_le4"+coe=c#L238" f="d7ivers76s/v8dcont86=info"ram_atthfb9"d7e0s="l9#L226controlv/a> *va hre9="+co93ol" class="srtss="sref">pv/aoc*44" class="lism7v/ href="+ut=leL99" clahsteos"d7ivers76ideeat href="+code=inea+2de=c#L238" 1="d7ivers76s/v8dcont86=info"ram_atthfb9"6ivers679="[0x60iiii],/0xb3"f">pa9v/a>,93de=ineatontr+code=par7a6="co_;t use udelay.4r class="ref"ntr+code=pa4"+codr"ref="d7ivers76ideo/contr219" ief="d79a9trolfb.aparv/a> =pframe_buff8rioL2ut=leL99" clahsteos="lcl7"s="sref"7_set_parv/a>, b.c +ffer1*4="lcl7"s="sref"7_set_parv/a>, , par9/a> 893s ar/trolfb.c#L238" idioL238signed c*44" class="lihperiodLotontr+code=par7a6="s8ef">parv/a> =pframe_buff8rioL2udef="d7ivers76s/v8dcont86=info"ram_atthfb95ideo/con9rolfb.c#L241" idioL241" 9lass893/a> =pfb_orig_basf9"8class8"iodtr"li c*44" class="lihssyn7tut=leL99" clahsteos="lcl7"s="sref"7_set_parv/a>, parv/a> =pframe_buff8rioL2uyres>b.c +ffer1*4=igned c*44" class="lihperiodLo="d7ivers76s/v8dcont86=info"ram_atthfb95lideo/co98goto0b.c#L251" idioLerr98_out93="+code=p8r7 2s="comm7ef">inyn7tr"li c*44" class="lihsblana hut=leL99" clahsteos="lcl7"s="sref"7_set_parv/a>, b.c +ffer1*4=odtr"li c*44" class="lihssyn7t="d7ivers76s/v8dcont86=info"ram_atthfb95controlf93ri75ideo/controlf" idio9i="sr93olfb.c#8200" idioL21map at manatr"li c*44" class="lihesyn7tletontr+code=par7a6="igned c*44" class="lihperiodLot-=leL99" clahsteos="lcl7"s="sref"7_set_parv/a>,     blanatr"li c*44" class="lieiput=leL99" clahsteos=odtr"li c*44" class="lihssyn7t+tr+code=par7a6="n7tr"li c*44" class="lihsblana hde=c#L238" 1="d7ivers76s/v8dcont86=info"ram_atthfb9id7e0s="l90b.c#L251" idioLerro8_ou9=8b_o94tontr+code=par7a6="comme7vxres href="+code=t href="+9ode=insmme7S_Mvar  17787="line"fbegref"7_set_parv/a>, 00" i"srtNXIOclas="sref">p7tr"li c*44" class="liheblana="d7ivers76s/v8dcont86=info"ram_atthfb9i_control9href="d7ivers76ideo/ceat9lfb.c94code=ineatontr+code=par7a6="8class="lin6e" namtio61778> 17787="line"fbegref"7_set_parv/a>, 00" i"lass="sr=="sref">p0a=natr"li c*44" class="lihesyn7tle="d7ivers76s/v8dcont86=info"ram_atthfb9idioL21Map"+code=ineiped_difftr"li9c*44"94 hr, 19a_par_controlv/a> *va8class="lin6e" namtio61778> 17787="line"fbegref"7_set_parv/a>, 00" i">paleanup9.c#L226con"n7tr"li c*44" class="lihsblana h="d7ivers76s/v8dcont86=info"ram_atthfb9is="li/i49ef="+code=inheqtr"li c*49" cla94s ar/trolfb.c#L238" idioL2388class="lin6e" namtio61778> 17787="line"fbegref"7_set_parv/a>, 00" i"3paleanup9.c#L226con"nanatr"li c*44" class="lieiped href="+code=ineipedtr"li c*44" clas9nfo"ram_a9thfb_i>pa c*44" class="l9hsert94/a> =pfb_orig_basf9"8class8"8class="lin6e" namtio61778> 17787="line"fbegref"7_set_parv/a>, 00" i"4paleanup9.c#L226con"ndtr"li c*44" class="lihssyn7t="d7ivers76s/v8dcont86=info"ram_atthfb9i4v/a>vsp9
 cl7L6vswi4tr"li c*44" 9lass=94="+code=p8r7 2s="comm7ef">in8class="lin6e" namtio61778> 17787="line"fbegref"7_set_parv/a>, 00" i"5ass="sr=="sref">p0a=ngned c*44" class="lihperiodLo="d7ivers76s/v8dcont86=info"ram_atthfb9code=8b_i9fo_control  17787="line"fbegref"7_set_parv/a>, 00" i"6ass="sr=="sref">p0a=s8ef">parv/a> =pframe_buff8rioL2="d7ivers76s/v8dcont86=info"ram_atthfb9clf#defi/9s="line"readne" namt_sen9e9v/a94GFP_KER8Eamt"80e" cl_PAGE_WR8class="lin6e" namtio61778> 17787="line"fbegref"7_set_parv/a>, 00" i"7paleanup9.c#L226cont=pardpa hr"controlfb.c#L193"="d7ivers76s/v8dcont86=info"ram_atthfb9 0x1iiit89"sref">parv/a> =ptotal_89amhr895 href8#L227" idioL84v/a>    8class="lin6e" namtio61778> 17787="line"fbegref"7_set_parv/a>, 00" i"8paleanup9.c#L226con"d7ivers76ideeat href="+code=inea="d7ivers76s/v8dcont86=info"ram_atthfb9 d7e0s="l9=pmap_rvalpe9" class="li9e"rea95ol" class="srtss="sref">pv/a8class="lin6e" namtio61778> 17787="line"fbegref"7_set_parv/a>, 00" i"9paleanup9.c#L226con"pv/a95de=ineatontr+code=par7a6="co8class="lin6e" namtio61778> 17787="line"fbegref"7_set_parv/a>, 00" i"1srtNXIOclas="sref">p"> 8ppmap_regs_phye=fb_ops" 8lass="d7ivers76s/v8dcont86=info"ram_atthfb9 _control9_ops" class=pmap_regs_ph9efb_895code=ineatontr+code=par7a6="8class="lin6e" namtio61778> 17787="line"fbegref"7_set_parv/a>, 00" i"llass="sr=="sref">p0aa 17787="line"fbegref"7_set_parv/a>, 00" i"1>paleanup9.c#L226con"ref="d7ivers76ideo/contr219" ispa88p1" cla_regs_phyefb_i"[0]=s="6ive9ss="li/i495ops" class=regsree="s_K9RNEa=95s ar/trolfb.c#L238" idioL2388class="lin6e" namtio61778> 17787="line"fbegref"7_set_parv/a>, 00" i"13paleanup9.c#L226con=par7" namtioL740"8 240v8spa88p1" cla_regs_phyefb_i"[0]=s="6ive9sfo"ram_a9hyefb_82class="s8="s7cod9=par"95/a> =pfb_orig_basf9"8class8"8class="lin6e" namtio61778> 17787="line"fbegref"7_set_parv/a>, 00" i"14paleanup9.c#L226conoc*44" class="lism7v/ href="+spa88p1" cla_regs_phyefb_i"[0]=s="6ive9s4v/a>vsp9deo/c+code=par7a6="comme9m7v/ 95="+code=p8r7 2s="comm7ef">in8class="lin6e" namtio61778> 17787="line"fbegref"7_set_parv/a>, 00" i"15ass="sr=="sref">p0a_;t use udelay.4r class="ref"spa88p1" cla_regs_phyefb_i"[0]=s="6ive9sode=8b_i9deo/c+code=par7a6="comme9radac95o/controlfb.c#L219" idioL219readne" namt_s9neeiped_d9"+code=ineiped_difftr"lt" namt_sense9" cl)edeeat href="+code=inea="d7i2=leL99" contr219"egs_phyef3de=p8r7 2s="code=ineatontr+code=par7a6="comme7vef="d74ana hde=c#L238" 6ivers67ideo/cot h]=s="6ivers67ideo/coniped_diff hrefclass="lin6e" namtio61778> 17787="line" i8 idioL91" cla_cleanup=fb8ops" 89cmode9 clp1" cla_fbfb} else 99" contr219"egs_phyef3de=p8r7 2s="code=ineatontr+code=par7a6/a> *va href="+cod;va href8clas7fline"fbegref"7_set_parv/a>, 00" i"15ass2 0x1iiit9trolf" idioL84v/a>      9 intN95="+code=parto>parine"fbegref"7_set_parv/a>, 00" i"15ass29.c#L226ca6="comme7m7v/ href="+co9e=inm9v/tr"lide2_;t b} else 99" contr219"egs_phyef3de=p8r7 2s="code=ineatontr+code=par7a6/a> *va href="+cod;va href8clas3bline"fbegref"7_set_parv/a>, 00" i"15ass2as="sref"lass="sr7ntro8_fbv/852469/a>ra96 href="d7eatv/>b.c[1]lass="7r7"> 197v/a>k19=par7a6="9omme7radacrs7ctrL219" id9oL2199eradacrs7ctrLsL219" idioL219readnmac24" clasve=fb_ops" class=pmapac24" clasve=fbadacnatr"li c*44" class="lihesyn7tletontr+cod,f"7_set_parv/a>, ,  17787="line""7_set_pa9v/a>, , parv/a9p{ ,9vspa
9cl7"" namtio7heck8varv/89cmode9 clp1"lass="sr9t46" idioL246" clGFP_KER9Eamtv 0x1iiit9lffb.c#L219" idio8219se89="+co97tio6sref8>dpv/88f="d7ivers7ode=ineiped_difftr"ltrolc#L226controlv/a> *va 9f=8"+code9par7olass="sr7etc8lregv89246v/97 8ref="+code6es="sref"61858>* Conolct hardware data in "+c to codde=par7L4="comme7MOineiped_difftr"ltrolc#L226controlv/a> *va 9fas="sref"rolfb.c#L202" idi8/* d#89="lin97ref="d78v;va href8	); , , &a8fvoi 238v/a8  17787="line"77);robon9rolfb.c#L202"8idio/87lin9"fb_o9ig_bas/a> =pvram_atthre8="+co87="+code=parto9i87ops" c9ass=regsree="s"[0]=s="6i9ers6797f="+code=invsblanatr"li c*44" class="livswi4v/intspa
 cl7L6vswi4tr"li c*44" intsMOD8_8v/a83c* "ram barvmme9m7v/ 95="+cov87="line"fbegref"7_set_parv/a>, 00" i"15ass, &va9hre8 href="d68vers67s/vi9eo/co9trolfb.8#Lcon8ine"fbegref"7_set_parv/a>, 00" i"15ass,"comme7>953v/a>  244v/9ers6797oL2="d7ivers76s/v8dcont86=infvmme9m7v/ 95="+cov87="ivperiodLout=leL99" clavpe="livswi4v/intspa
 cl7L6vswi4tr"li c*44" intsMOD8_87tr"li c*44" clasref="d78p;va href8"+code=par7a4="comme7val8esv/s8a
	 , 00" i"15ass20lMODE_b9modecl7"s="sref"7_set_pa9v/a>,9, 00" i"15ass2 0x1iiit9ers69ideo/contro>pv/a>, 9amp;v98nea="d7ivers76s/v8dcont86=inmemparv/a> 8ss="sref"memparadacnatr"li c*44" class="lihesyn7tletontr+cod,f0s7bizeof(8v/a83c* "ram bank 1conly4" class=* TL244c7_set_parv/a>, b.c s="fb.c#L193" idiovat href="+code=invatontr+code=par7a6="comme7xoffsentrolfb.c#L193" xoffsen>b.c +ffer1*44" classg_barss="90]=s="6ivers67ideo/cot h9ef="+98ass="d7ivers76s/v8dcont86=ines href="+code=inxres>b.ccl7"s="sref"7_set_parv/a>, b.c s=iiii],/0xbacrs7ctrL9="l227bx28c#L226controlv9a> *v98inespa88p1" cla_regs_phyefb_os="ltro31b.g#Lfgfff_i=rsref">parv/eat href="+code=ineatontr+code=par7a6="comme7sm7v/ hreL href="+code=inaINVALmodecl7"s="sref"7_set_parv/a>, b.c s=iiii],/0xba7_set_pa9a> *va 8ref="+code6quot;9PL&6u98="1="d7ivers76s/v8dcont86=infes href="+code=invxres>b.c fffffffffiiii],/0xb3"f">pat href="+code=ineatontr+code=par7a"sref28rv/a>elay."readneatv/a>, mme7i;va href=#L227*44" class=nat href="+code=ineatontr+codetrolfb.c#L193" yoffsen>b.c s=iiii],/0xba7);robon9ode=par7a6="comme7m7v/ h9ef="+98def="d7ivers76s/v8dcont86=infass=hsteoLout=leL99" clahsteos="l)mtiessa~fer1*44" class=hsteoLout=leL99" clah3" xoffsen>b.c s="fb.c#L193" idiovat href="+code=invatontr+code1*44" class=hsteoLout=leL99" clatrolfb.c#L193" yoffsen>b.c s=iiii],/0xba87ops" c9g">"ef="+code: V8AM9To88o98dLo="d7ivers76s/v8dcont86=infs" class=reiiii],/0xb3"f">pat href="+code=ineatontr+code=par7a6="comme7yres hcl9 intN90the frame buffer1*44" class=pat href="+code=ineatontr+atontr+code=par7a6="comme7yres href="+code=inyres>b.c s=iiii],/0xb3"f">rs7ctrLs=9l227bx18c#L226controlv/a9 *va 98rolfb.8#Lcon8ine"fbegref"7_set_parv/a>, 00" i"15ass7;d88 @ b9nk 2)\n"4" rror_out9las="98/controlfb.c#L219" 9" idioL219readne" namt_s9neeiped_d9"+code=ineiped_difftr"lt"6="comme7vef="d74ana hde=c#L28v/a> =pvram_atthre8="+co87="+code=parto9screenban999" 8lass=88=info"ram_at9hfb_i9pac*44" class=ide"cl7"s="sref"7_set_parv/a>,  246v/8ef="+cod96q" n99nea="d7ivers726coners67ideo/cot h]=s="6ef="+code=ineatontr+code=pa"s="sref"7_set_parv/a>,  153v/a>  *99/tr"lide2_;t b} else 99" contr219"egamt_sense9" class="line"readne" namt_sense9v/a>b.c s="  17787="line"fb_or9naINVALmo9ecl7"s="sref"7_set_parv/9>, pat hreflengt0c#L2cl9="lin6e" namtio61778> 17787="line"fb_or9ncrs7ctrL9p;va hre8a;va href8200" 9dioc*99" class="line" namtioL294rdpa hr,9c#amt_sense9" class="line"readne" namt_sense9v/g="co_sense9" class=g="co787=.o/c+code=par7a6lengt0xb3"f">pat hreflengt0c#L2cl9="lin6e" namtio61778> 17787="line"fb_or9n7_set_pa9eo/c2b.c#L851" i89obitor9sense99pat hreflengt0c#L2cl9="lin6e" namtio61778> 17787="line"fb_or9n7);robon9ass=tal_"ram*line" namti9L244"99e=par7a6="comme7vyresphyefb_i"[0]=s="6ivers67ideo/cot href="+cod9"+code=in9atontr+code=par7a6="comm97xres9href="+code=in26coners67ideo/cot h]=s="6ivers67ideo/coniped_diff href:s="lieiped_diff href="+cod RGB 555ers68id8o/con88>, b.c s=" ,  *va 8;ef="10=hs>10=he=indeo/c+code=par7a99" contr219"egamt_sense9" class="line"readne" namt_sense9v/rlin6e" namtio6177r17787=.o/c+code=par7a6lengt0xb3"f">pat hreflengt0c#L2cl9="sr/pre>pado *vaeoLob3/3c/c1f1f9d5ae6a6745629bd97b6d087db8303c_3/10=hs>f"7_set_parv/a>,  246v/8ef="+cod10=pa>10=href="d7ivers76idelass=pmap_rvalp_reamt_sense9" class="line"readne" namt_sense9v/g="co_sense9" class=g="co787=.o/c+code=par7a6atontr+code=par7a6="cmme7yres hcl9="sref">pv/a>, &va href=+code=par7a10=2steoLou10=7153"> 153v/a> 10=/tr"lide2_;t b} else 99" contr219"egamt_sense9" class="line"readne" namt_sense9v/g="co_sense9" class=g="co787=.o/c+code=par7a6lengt0xb3"f">pat hreflengt0c#L2cl9="sref">pv/a>, &va href=+code=par7a10=3steoLou10=cl7"s="sref"7_set_parv/10=cl>10=de=indeo/c+code=par7a99" contr219"egamt_sense9" class="line"readne" namt_sense9v/aluomme7vef="d74anaaluo787=.o/c+code=par7a6lengt0xb3"f">pat hreflengt0c#L2cl9="sref">pv/a>, &va href=+code=par7a10=4steoLou10=;va hre8a;va href8200" 10=;v>10=ef="+code"4" clahfb_i>pac*44" class="lit href="+code=indeo/10=5steoLou10=o/c2b.c#L851" i89obitor10=o/>10=/tr"lide.c#L226coners67ideo/cot h]=s="6elay.4r class="ref">parv/a> 8:s="lieiped_diff href="+cod RGB 888ers68id8o/con88>, 10=e=par7a6="comme7vyres href="+code=inamt_sense9" class="line"readne" namt_sense9v/a>b.c s=" 10=" class=regsree="s"[0erss="[0x60iiiiamt_sense9" class="line"readne" namt_sense9v/rlin6e" namtio6177r17787=.o/c+code=par7a6atontr+code=par7a6="cmme7yres hcl9"6b_i"[0]=s="6ivers67ideo/cot href="+cod10=8steoLou10=ar7a6="comme7vxres href10=ar>10=rolfb.8#Lcon87=info"r99" contr219"egamt_sense9" class="line"readne" namt_sense9v/rlin6e" namtio6177r17787=.o/c+code=par7a6lengt0xb3"f">pat hreflengt0c#L2cl9="lin6e" namtio61778> 17787="line"fb_or10=9steoLou10=ref="d78v/a> *va 8;ef="10=re>10=nly one ef=8+co i89fferss="[0x60iiiiamt_sense9" class="line"readne" namt_sense9v/g="co_sense9" class=g="co787=.o/c+code=par7a6atontr+code=par7a6="cmme7yres hcl9="lin6e" namtio61778> 17787="line"fb_or101hsteoLou10clp1" cla_fbfb_i=rsref">10clp>10cltr"lide2_;t b} else 99" contr219"egamt_sense9" class="line"readne" namt_sense9v/g="co_sense9" class=g="co787=.o/c+code=par7a6lengt0xb3"f">pat hreflengt0c#L2cl9="lin6e" namtio61778> 17787="line"fb_or1011steoLou10lev/a>(void) 10chref="d7ivers76idelass=pmap_rvalp_reamt_sense9" class="line"readne" namt_sense9v/aluomme7vef="d74anaaluo787=.o/c+code=par7a6lengt0xb3"f">pat hreflengt0c#L2cl9="lin6e" namtio61778> 17787="line"fb_or10c2steoLou10lfb.9#6e class="697"> 1910lfb>10c/tr"lide2_;t b} else 99" contr219"egamt_sense9" class="line"readne" namt_sense9v/transv/a>, &a9ontrolftransv787=.o/c+code=par7a6atontr+code=par7a6="cmme7yres hcl9"lideo/controlf#defilMODE_=regsree="sode10c3steoLou10244v9a>vspa
 cl7s9 namti10244>10cde=indeo/c+code=par7a99" contr219"egamt_sense9" class="line"readne" namt_sense9v/transv/a>, &a9ontrolftransv787=.o/c+code=par7a6lengt0xb3"f">pat hreflengt0c#L2cl9="lin6e" namtio61778> 17787="line"fb_or10c4steoLou10"d7ivers746deo/co#L246" 10"d7>10cef="+code"4" clahfb_i>pac*44" class="lit href="+code=indeo/1015steoLou10ef="+code=ineatontr+code10ef=>10c/tr"lide.c#L2"8as76ideo/8uot;(_#37;dMB @ bank 1, 8#10c6steoLou10="+code=indeo/c+code=pa710="+>10cdef="d7ivers76s/v8dcont86=infass=hsteoLout=leL99" clahsteos="l)mtiessa~fehe" cls=hsteoLout=leLhe" clc#L2cl9-i c*44" class="lihssyn7t+tr+code=par7a610c7steoLou10ef="+codde=invatontr+cod10ef=>10cdLo="d7ivers76s/v8dcont86=infs" class=reiiii],/0xb3"f">pat href="+code=inass=" class=reiiii],ass="c#L2cl9-i c*44" class="lihssyn7t+tr+code=par7a610c8steoLou10rolf#defilO76iOL_PIXCLO910rol>10cn7t="d7ivers76s/v8dcont86=infss893/a> =pfb_orig_basf9"8class8"iodtr"li c*4e=fb_ops" class=pmavde=insmmhyess8"iodtr"li c*FB_V">parNONINTERLACED_ops" class=pmaFB_V">parNONINTERLACEDes href="+code=inyres>b.c s=iiii],/0xb3"f"10c9steoLou10bont79ine"bank9deo/=r* 010bon>10coL29class="sr9t46" idioL246" clGFP_KER9Eam102hsteoLou10eclfo_control" class="sr10ecl>10ec7t="d7ivers76s/v8dcont86=infss893/a> =pfb_orig_basf9"8class8"iodtr"li c*s_phye=fb_ops" 8lassut=leL99" clahsteos="lL200"8idioL83cmodefvmme9m7v/ 95="+cov87="hsteos="l)mtiessa~fehecontr92GFP_KER8Eamt"80e" cl_PAGE_WRI=pardpa hr"cofvmme9m7v/ 95="+cov87="hsteos="l)mtiessa~fehelin6e" namtio61778> 17787="lil7"s="sref"7_set_parv/a>, 10enea="d7ivers76s/v8dcont86=inideo/contr219" intr+code=pa4"+codr"ref="d7ivers76ideo/contr219" in-=leL99" clahsteos="lclL200"8idioL83cmodefvmme9m7v/ 95="+cov87="hsteos="l)mtiessa~fehpa9v/a> =pfb_orig_basf9"8class8" 0"8idioL83cmodefvmme9m7v/ 95="+cov87="hsteos="l)mtiessa~fehp"lin6e" namtio61778> 17787="linl7"s="sref"7_set_parv/a>,  1910lfb>10e" i="d7ivers76s/v8dcont86=in="li7es="comme8idioL193"8class="li6"" namtio67" namtioL740"8 240v8tontr+code=par7a6L200"8idioL83cmodefvmme9m7v/ 95="+cov87="hsteos="l)mtiessa~fehcont92s ar/trolfb.c#L238" idioL238h28" 0"8idioL83cmodefvmme9m7v/ 95="+cov87="hsteos="l)mtiessa~fehpa9v/a> =pfb_orig_basf9"8class8set_parv/a>,  17787="lil7"s="sref"7_set_parv/a>, 10e href="d7eatv/>b.c[1]lass="7r7"> 197v/a>k110e4steoLou10argnatr"li c*44" clarigh10arg>10einespa88p1" cla_regs_phyefb_os="ltro31b.g#Lfgfff_i=rsref">parv/eat href="" class="lihsblana hut=leL99" clahsteos="lclL200"8idioL83cmodefvmme9m7v/ 95="+cov87="hsteos="l)mtiessa~fefo"ram_atthfb95lideo/co98goto0b.c#" 0"8idioL83cmodefvmme9m7v/ 95="+cov87="hsteos="l)mtiessa~fes="lin6e" namtio61778> 17787="lteos=odtr"li c*44" class="lihssyn7t+tr+code=par7a610e5steoLou10ism7v/namt_le4"+code=c#L10ism>10e="1="d7ivers76s/v8dcont86=infes href="+code=invxres>b.c fffffffffiiii],/0" class="lihperiodLot-=leL99" clahsteos="lclL200"8idioL83cmodefvmme9m7v/ 95="+cov87="hsteos="l)mtiessa~fefsr93olfb.c#8200" idioL21map at ma0"8idioL83cmodefvmme9m7v/ 95="+cov87="hsteos="l)mtiessa~fefs"lin6e" namtio61778> 17787="linteos=odtr"li c*44" class="lihssyn7t+tr+code=par7a610e6steoLou107ivers76ideeat href="+co107iv>10edef="d7ivers76s/v8dcont86=infass=hsteoLout=leL99" clahsteos="l)mtiessa~fe44" class="lihssyn7tut=leL99" clahsteoL200"8idioL83cmodefvmme9m7v/ 95="+cov87="hsteos="l)mtiessa~fefa> 893s ar/trolfb.c#L238" idioL238s0"8idioL83cmodefvmme9m7v/ 95="+cov87="hsteos="l)mtiessa~fefsr93olfb.c#8200" idioL21map at set_parv/a>,  17787="lteos=odtr"li c*44" class="lihssyn7t+tr+code=par7a610e7steoLou1044" claright_margna>#e9e1044">10e="comme7yoffsentrolfb.c#L193" yoffsen>b.cc10e8steoLou10lism7v/namt_le4"+coe=c#L10lis>10en7t="d7ivers76s/v8dcont86=infss893/a> =pfb_orig_basf9"8class8"iodtr"li c*href="+code=ineatontr+code=par7a6="comme7vyre39 10eoL29class="sr9t46" idioL246" clGFP_KER9Eam103hsteoLou10_8v/a> *va 8ref="+code6q10_8v>10_87t="d7ivers76ef8>dpv/88f="d7ivers7ode=ineiped_difftr"ltrolc#L226controlv/a> *va 10_1steoLou10ass="lism7v/namt_le4"+co10ass>10_tio6sref8>dpv/88f="d7ivers70i href="db10^12"dbhref="+code=+cod/ (3906400"dbhref="+code=+1]e=ineiped_difftr"ltrolc#L226controlv/a> *va 10_2steoLou10eeat href="+code=inea+2d10eea>10_ 8ref="+code6es="sref"61858>i href="dbbbbbbbbbbbbbbbbbbbbbbbbbbbb* 2^href="+code=+2])e=ineiped_difftr"ltrolc#L226controlv/a> *va 10_3steoLou10lfb.a10_ref="d78v;va href8	);  *va 10_4steoLou10"line" namtioL2944a hr, 10"li>10_4ef="d78v;va href8	);  *va 10_5steoLou1044" claupper_margna"+cod1044">10_5ef="d78v;va href8	); parv/a> =pframe_buf108ef>10_67t="d7ivers76ef8>dpv/88f="d7ivers7od (255990.17"dbhref="+code=+cod/ href="+code=+1]) os=odtr"lhref="+code=+2]ers68id8o/con88>, pat href="+code=in39 10_n7t="d7ivers76s/v8dcont86=infss893/a> =pfb_orig_basf9"8class8"iodtr"li c*39 at v/s8a
	 10_"1)="d7ivers76s/v8dcont86=inf1=ineatontr+code=par7a6="commeclfo_control" class="srss="s8=">paut=leL99" clahstes=odtr"ar7a6="comme7vyre39 10* 8ref="+code6es="sref"61858ode=ineiped_difftr"ltrolc#L226controlv/a> *va 1043steoLou10ref">p7tr"li c*44" class10ref>10*ref="d78v;va href8	);  *va 1044steoLou100a=natr"li c*44" class="100a=>10*4ef="d78v;va href8	); , 10*/tr"l>, &a8fvoi 238v/a8 , &a9ontrolfb.9#Lclass="lin6e" namtio61778> 17787="line10*6steoLou10226con"nanatr"li c*44" c10226>10*g_bas/a> =pvram_atthre8="+co87="+code=parto10*7steoLou106con"ndtr"li c*44" class106co>10*dLo="d7ivers76ef8>dpv/88f="d7ivers7od Fill idimme7ers68id8o/con88>, p0a=ngned c*44" class="10>p0>10*n7t="d7ivers76s/v8dcont86=inomme8p;va href8"+comme7MOD8"commeclfo_control" c9 , , &a9ontrolfb.9#L"commeclfo_control" c9 parv/a> =pframe100a=>10*"1)="d7ivers76s/v8dcont86=inomme8p;va href8"+comme7MOD8"commeclfo_control" fbop="srss="s8=">pa fbop=i6ivdio"7_set_parv/a>, pa r+code=pa_op=i6iv c*44" class="lihssyn7t+tr+code=par7a6105hsteoLou10226cont=pardpa hr"contro10226>10227t="d7ivers76s/v8dcont86=inomme8p;va href8"+comme7MOD8"commeclfo_control" cseudo"+clettb_ops" class=pmacseudo"+clettbode=par7a6="comme7vyre3/a>, &a9ontrolfb.9#L"commeclfo_control" cseudo"+clettb_ops" class=pmacseudo"+clettbode= c*44" class="lihssyn7t+tr+code=par7a61051steoLou10on"d7ivers76ideeat href=10on">102nea="d7ivers76s/v8dcont86=inomme8p;va href8"+comme7MOD8"commeclfo_control" flacomme9m7v/ 95="+cflaconsmmhyess8"iodtr"li c*FBINFO_DEFAULT_ops" class=pmaFBINFO_DEFAULTnsmmh|ess8"iodtr"li c*FBINFO_HWACCEL_YPAc#L" 68ide7/bontFBINFO_HWACCEL_YPAcode= c*44" class="lihssyn7t+tr+code=par7a61052steoLou10on"102" i="d7ivers76s/v8dcont86=inomme8p;va href8"+comme7MOD8"commeclfo_control" L4="co_basb_ops" class=pmaL4="co_basbode=par7a6="comme7vyre3/a>, &a9ontrolfb.9#L"commeclfo_control" fodee_buffe  8ppmap_regs_phye=fb10>p">102 href="d7eatv/>b.c[1]lass="7r7"> 197v/a>k11054steoLou10>p0aap0>102inespa88p1" cla_regs_phyefb_pa_alref_cma3/a>, &a9ontrolfpa_alref_cma3lahsn"7_set_parv/a>, , &a9ontrolfcma3lahs, 256, 07_set_parv/a>, b.c[1]lass="7r7"> 197v/a>k11056steoLou10.c#L226con=par7" namtioL10.c#>10267t="d7ivers76ef8>dpv/88f="d7ivers7od Fill iix "d7ion iieldsers68id8o/con88>, , &a9ontrolfpixng=c.o/c+code=par7a6i3s ar/trolfb.c#Lidlahs, 6ef8>dpv/88f=L.cing">"utclas="68id8o/7_set_parv/a>, p0a_;t use udelay.4r 10f">>102n7t="d7ivers76s/v8dcont86=inomme8p;va href8"+comme7MOD8"commeclfo_control" fix/a>, &a9ontrolfpixng=c.o/c+code=par7a6mmio_>, rrv/a> 8ss="sref"mmio_>, rrode=par7a6="comme7vyre3/a>, &a9ontrolfb.9#L"commeclfo_control" r"li c*44" s_physpa
 cl7L6vswi4tr"li c*44" s_phys="li c*44" class="lihssyn7t+tr+code=par7a61059steoLou10eo/c+code=par7a6="comme910eo/>102"1)="d7ivers76s/v8dcont86=inomme8p;va href8"+comme7MOD8"commeclfo_control" fix/a>, &a9ontrolfpixng=c.o/c+code=par7a6mmio_ass="lihssyn7tut=lmmio_assode=parbizeof(riodLout=leL99" clavpe="livswi4v/spa
 cl7L6vswi4tr"li c*44" s.9#Lc c*44" class="lihssyn7t+tr+code=par7a6106hsteoLou101" cla_cleanup=fb8ops" 8101" >101"1)="d7ivers76s/v8dcont86=inomme8p;va href8"+comme7MOD8"commeclfo_control" fix/a>, &a9ontrolfpixng=c.o/c+code=par7a6typb_ops" class=pmatypbnsmmhyess8"iodtr"li c*FB_TYPE_PACKEDank9ELS#L" 68ide7/bontFB_TYPE_PACKEDank9ELS="li c*44" class="lihssyn7t+tr+code=par7a61061steoLou10trolf" idioL84v/a>      10tro>101nea="d7ivers76s/v8dcont86=inomme8p;va href8"+comme7MOD8"commeclfo_control" fix/a>, &a9ontrolfpixng=c.o/c+code=par7a6smem_>, rrv/a> 8ss="sref"smem_>, rrode=par7a6="comme7vyre3/a>, &a9ontrolfb.9#L"commeclfo_control" fodee_buffe _physpa
 cl7L6vswi4tfodee_buffe _physp at set_parv/a>, , &a9ontrolfpixng=c.o/c+code=par7a6smem_ass="lihssyn7tut=lsmem_assode=par7a6="comme7vyre3/a>, &a9ontrolfb.9#L"commeclfo_control" total_vode_ops" class=pmatotal_vodeioL238s0"8idioL83cmodecode: only one ef=9oL20990e9" class="li c*44" class="lihssyn7t+tr+code=par7a61063steoLou10lass="sr7ntro8_fbv/8524610las>101ass="d7ivers76s/v8dcont86=inomme8p;va href8"+comme7MOD8"commeclfo_control" fix/a>, &a9ontrolfpixng=c.o/c+code=par7a6ywrapste3/a>, &a9ontrolfywrapste3ode=parsref"7_set_parv/a>, 101inespa88p1" cla_regs_phyefb_omme8p;va href8"+comme7MOD8"commeclfo_control" fix/a>, &a9ontrolfpixng=c.o/c+code=par7a6typb_aux/a>, &a9ontrolftypb_auxode=parsref"7_set_parv/a>, 101="1="d7ivers76s/v8dcont86=inomme8p;va href8"+comme7MOD8"commeclfo_control" fix/a>, &a9ontrolfpixng=c.o/c+code=par7a6acc href="d7ivers76iacc hnsmmhyess8"iodtr"li c*FB_ACCEL_NONEay.4r class="reFB_ACCEL_NONE="li c*44" class="lihssyn7t+tr+code=par7a61066steoLou10 href="d78D;va href8ote 10 hr>1016inhe"8as76ideo/8uot;(_#37;dMB @ bank 1, 8#1067steoLou1053v/a> parv/a1053v>101="comme7yoffsentrolfb.c#L193" yoffsen>b.cc1068steoLou10modecl7"s="sref"7_set_pa10mod>101ef"spa88p1" cla_regs_phyefb_i"[0]=s="6ive91019steoLou10offsetv/a>, , &a8fvoi 238v/a8 , &a9ontrolfc"li c*4cleanu3lahsnvoi class="lin6e" namtio61778> 17787="line107hsteoLou10cl7"" namtio7heck8varv/810cl7>10cl_bas/a> =pvram_atthre8="+co87="+code=parto1071steoLou10lffb.c#L219" idio8219se810lff>10cnea="d7ivers7b.c#L238" idioL238" classmme7iiflfbontrolfb.c#L200"8idimme7iiflfbonMOD8__8v/a83c* "ram bav/a>, &a9ontrolfb.9#Lhyess8"iodtr"li c*c"li c*4fb/a>, &a9ontrolfc"li c*4fb="li c*44" class="lihssyn7t+tr+code=par7a61072steoLou10par7olass="sr7etc8lregv810par>10c2f"spa88p1" cla_regs_phyefb_i"[0]=s="6ive91073steoLou10rolfb.c#L202" idi8/* d#810rol>10cass="d7ivers7L219!v/a83c* "ram bav/a>, &a9ontrolfb.9#Lclass="lin6e" namtio61778> 17787="line1074steoLou10rolfb.c#L237" idioL__del10rol>10cef="+code"4" cla209" i c*44" class="lihssyn7t+tr+code=par7a61075steoLou10a6="comme7m7v/ href="+co10a6=>10c5href="d7eatv/>b.c[1]lass="7r7"> 197v/a>k11076steoLou10rolfb.c#L202"8idio/87lin10rol>10c6ss="d7ivers7L2197a6="comme7vyre3/a>, &a9ontrolfb.9#L"commeclfo_control" rmapi4v/spa
 cl7L6vswi4trmapi4v/s.9#Lclass="lin6e" namtio61778> 17787="line1077steoLou10ass=regsree="s"[0]=s="6i10ass>10c" class=regsree="s"[0erss="[0x60iiiiiounma3/a>, &a9ontrolfiounma3lahsn6s/v8dcont86=in3/a>, &a9ontrolfb.9#L"commeclfo_control" rmapi4v/spa
 cl7L6vswi4trmapi4v/s.9#Lc c*44" class="lihssyn7t+tr+code=par7a61078steoLou10hre8 href="d68vers67s/vi10hre>10c8ss="d7ivers7L2197a6="comme7vyre3/a>, &a9ontrolfb.9#L"commeclfo_control" r"livswi4v/spa
 cl7L6vswi4tr"li c*44" s.9#Lcc*44" class="lihssyn7t+tr+code=par7a61079steoLou1053v/a>  244v/1053v>10cnly one ef=8+co i89fferss="[0x60iiiiiounma3/a>, &a9ontrolfiounma3lahsn6s/v8dcont86=in3/a>, &a9ontrolfb.9#L"commeclfo_control" r"livswi4v/spa
 cl7L6vswi4tr"li c*44" s.9#Lc c*44" class="lihssyn7t+tr+code=par7a6108hsteoLou10modecl7"s="sref"7_set_pa10mod>10moss="d7ivers7L2197a6="comme7vyre3/a>, &a9ontrolfb.9#L"commeclfo_control" fodee_buffe >10m/tr"lide2_;t b} else co i89fferss="[0x60iiii3/a>, &a9ontrolfb.9#L"commeclfo_control" fodee_buffe 10mde=indeo/c+code=par7a99" contr219"egiounma3/a>, &a9ontrolfiounma3lahsn6s/v8dcont86=in3/a>, &a9ontrolfb.9#L"commeclfo_control" fodee_buffe  *va 8ref="+code6quot;10a> >10m5ss="d7ivers7L2197a6="comme7vyre3/a>, &a9ontrolfb.9#L"commeclfo_control" rmapi4v/s_physpa
 cl7L6vswi4trmapi4v/s_phys.9#Lcc*44" class="lihssyn7t+tr+code=par7a61086steoLou10ode=par7a6="comme7m7v/ h10ode>10me=par7a6="comme7vyres href="+code=inrelease_mem_4" iontr219" in-=leL99elease_mem_4" ionlahsn6s/v8dcont86=in3/a>, &a9ontrolfb.9#L"commeclfo_control" rmapi4v/s_physpa
 cl7L6vswi4trmapi4v/s_phys.9#L,las10=h8 c*44" class="lihssyn7t+tr+code=par7a61087steoLou10g">"ef="+code: V8AM10g">>10m7ss="d7ivers7L2197a6="comme7vyre3/a>, &a9ontrolfb.9#L"commeclfo_control" r"livswi4v/s_physpa
 cl7L6vswi4tr"li c*44" s_phys="licc*44" class="lihssyn7t+tr+code=par7a61088steoLou10l227bx18c#L226controlv/a10l22>10mrolfb.8#Lcon87=info"r99" contr219"egrelease_mem_4" iontr219" in-=leL99elease_mem_4" ionlahsn6s/v8dcont86=in3/a>, &a9ontrolfb.9#L"commeclfo_control" r"livswi4v/s_physpa
 cl7L6vswi4tr"li c*44" s_phys="li,r7a6="comme7vyre3/a>, &a9ontrolfb.9#L"commeclfo_control" r"li c*44" s_bizepa
 cl7L6vswi4tr"li c*44" s_bizep at8 c*44" class="lihssyn7t+tr+code=par7a61089steoLou10nk 2)\n"4" rror_out10nk >10m/controlfb.c#L219" idioL219readne/a>, &a9ontrolfb.9#L"commeclfo_control" fb_orig_basb_ops" class=pmafb_orig_basb="licc*44" class="lihssyn7t+tr+code=par7a6109hsteoLou1099" 8lass=88=info"ram_at1099">1099olfb.8#Lcon87=info"r99" contr219"egrelease_mem_4" iontr219" in-=leL99elease_mem_4" ionlahsn6s/v8dcont86=in3/a>, &a9ontrolfb.9#L"commeclfo_control" fb_orig_basb_ops" class=pmafb_orig_basb="li,r7a6="comme7vyre3/a>, &a9ontrolfb.9#L"commeclfo_control" fb_orig_bizepa
 cl7L6vswi4tfb_orig_bizep at8 c*44" class="lihssyn7t+tr+code=par7a61091steoLou10=par"8a"> 246v/8ef="+cod10=pa>109nea="d7ivers76s/v8dcont86=inkfreepa
 cl7L6vswi4tkfreelahsn6s/v8dcont86=in3/a>, &a9ontrolfb.9#L8 c*44" class="lihssyn7t+tr+code=par7a61092steoLou10e7153"> 153v/a> 1092inhe"8as76ideo/8uot;(_#37;dMB @ bank 1, 8#1093steoLou10ecl7"s="sref"7_set_parv/10ecl>109 href="d7eatv/>b.c[1]lass="7r7"> 197v/a>k11094steoLou10p;va hre8a;va href8200" 10p;v>109ef="+con88>, 1095ef="d/pre>
The original LXR software by thoners67ideohttp://sourceforge.net/projects/lx <>LXR "d7iunity="li,rthis ex38" iveral ef="ion by ers67ideomailto:lx @51"ux.no">lx @51"ux.nong=c. lx .51"ux.no kindly hosted by ers67ideohttp://www.redpill-51"pro.no">Redpill L1"pro AS="li,rprorrorr of L1"ux "dnsulting and o38"ations services since 1995.