linux/drivers/video/cg14.c
<<
>>
Prefs
   1/* cg14.c: CGFOURTEEN frame buffer driver
   2 *
   3 * Copyright (C) 2003, 2006 David S. Miller (davem@davemloft.net)
   4 * Copyright (C) 1996,1998 Jakub Jelinek (jj@ultra.linux.cz)
   5 * Copyright (C) 1995 Miguel de Icaza (miguel@nuclecu.unam.mx)
   6 *
   7 * Driver layout based loosely on tgafb.c, see that file for credits.
   8 */
   9
  10#include <linux/module.h>
  11#include <linux/kernel.h>
  12#include <linux/errno.h>
  13#include <linux/string.h>
  14#include <linux/delay.h>
  15#include <linux/init.h>
  16#include <linux/fb.h>
  17#include <linux/mm.h>
  18#include <linux/uaccess.h>
  19#include <linux/of_device.h>
  20
  21#include <asm/io.h>
  22#include <asm/fbio.h>
  23
  24#include "sbuslib.h"
  25
  26/*
  27 * Local functions.
  28 */
  29
  30static int cg14_setcolreg(unsigned, unsigned, unsigned, unsigned,
  31                         unsigned, struct fb_info *);
  32
  33static int cg14_mmap(struct fb_info *, struct vm_area_struct *);
  34static int cg14_ioctl(struct fb_info *, unsigned int, unsigned long);
  35static int cg14_pan_display(struct fb_var_screeninfo *, struct fb_info *);
  36
  37/*
  38 *  Frame buffer operations
  39 */
  40
  41static struct fb_ops cg14_ops = {
  42        .owner                  = THIS_MODULE,
  43        .fb_setcolreg           = cg14_setcolreg,
  44        .fb_pan_display         = cg14_pan_display,
  45        .fb_fillrect            = cfb_fillrect,
  46        .fb_copyarea            = cfb_copyarea,
  47        .fb_imageblit           = cfb_imageblit,
  48        .fb_mmap                = cg14_mmap,
  49        .fb_ioctl               = cg14_ioctl,
  50#ifdef CONFIG_COMPAT
  51        .fb_compat_ioctl        = sbusfb_compat_ioctl,
  52#endif
  53};
  54
  55#define CG14_MCR_INTENABLE_SHIFT        7
  56#define CG14_MCR_INTENABLE_MASK         0x80
  57#define CG14_MCR_VIDENABLE_SHIFT        6
  58#define CG14_MCR_VIDENABLE_MASK         0x40
  59#define CG14_MCR_PIXMODE_SHIFT          4
  60#define CG14_MCR_PIXMODE_MASK           0x30
  61#define CG14_MCR_TMR_SHIFT              2
  62#define CG14_MCR_TMR_MASK               0x0c
  63#define CG14_MCR_TMENABLE_SHIFT         1
  64#define CG14_MCR_TMENABLE_MASK          0x02
  65#define CG14_MCR_RESET_SHIFT            0
  66#define CG14_MCR_RESET_MASK             0x01
  67#define CG14_REV_REVISION_SHIFT         4
  68#define CG14_REV_REVISION_MASK          0xf0
  69#define CG14_REV_IMPL_SHIFT             0
  70#define CG14_REV_IMPL_MASK              0x0f
  71#define CG14_VBR_FRAMEBASE_SHIFT        12
  72#define CG14_VBR_FRAMEBASE_MASK         0x00fff000
  73#define CG14_VMCR1_SETUP_SHIFT          0
  74#define CG14_VMCR1_SETUP_MASK           0x000001ff
  75#define CG14_VMCR1_VCONFIG_SHIFT        9
  76#define CG14_VMCR1_VCONFIG_MASK         0x00000e00
  77#define CG14_VMCR2_REFRESH_SHIFT        0
  78#define CG14_VMCR2_REFRESH_MASK         0x00000001
  79#define CG14_VMCR2_TESTROWCNT_SHIFT     1
  80#define CG14_VMCR2_TESTROWCNT_MASK      0x00000002
  81#define CG14_VMCR2_FBCONFIG_SHIFT       2
  82#define CG14_VMCR2_FBCONFIG_MASK        0x0000000c
  83#define CG14_VCR_REFRESHREQ_SHIFT       0
  84#define CG14_VCR_REFRESHREQ_MASK        0x000003ff
  85#define CG14_VCR1_REFRESHENA_SHIFT      10
  86#define CG14_VCR1_REFRESHENA_MASK       0x00000400
  87#define CG14_VCA_CAD_SHIFT              0
  88#define CG14_VCA_CAD_MASK               0x000003ff
  89#define CG14_VCA_VERS_SHIFT             10
  90#define CG14_VCA_VERS_MASK              0x00000c00
  91#define CG14_VCA_RAMSPEED_SHIFT         12
  92#define CG14_VCA_RAMSPEED_MASK          0x00001000
  93#define CG14_VCA_8MB_SHIFT              13
  94#define CG14_VCA_8MB_MASK               0x00002000
  95
  96#define CG14_MCR_PIXMODE_8              0
  97#define CG14_MCR_PIXMODE_16             2
  98#define CG14_MCR_PIXMODE_32             3
  99
 100struct cg14_regs{
 101        u8 mcr; /* Master Control Reg */
 102        u8 ppr; /* Packed Pixel Reg */
 103        u8 tms[2];      /* Test Mode Status Regs */
 104        u8 msr; /* Master Status Reg */
 105        u8 fsr; /* Fault Status Reg */
 106        u8 rev; /* Revision & Impl */
 107        u8 ccr; /* Clock Control Reg */
 108        u32 tmr;        /* Test Mode Read Back */
 109        u8 mod; /* Monitor Operation Data Reg */
 110        u8 acr; /* Aux Control */
 111        u8 xxx0[6];
 112        u16 hct;        /* Hor Counter */
 113        u16 vct;        /* Vert Counter */
 114        u16 hbs;        /* Hor Blank Start */
 115        u16 hbc;        /* Hor Blank Clear */
 116        u16 hss;        /* Hor Sync Start */
 117        u16 hsc;        /* Hor Sync Clear */
 118        u16 csc;        /* Composite Sync Clear */
 119        u16 vbs;        /* Vert Blank Start */
 120        u16 vbc;        /* Vert Blank Clear */
 121        u16 vss;        /* Vert Sync Start */
 122        u16 vsc;        /* Vert Sync Clear */
 123        u16 xcs;
 124        u16 xcc;
 125        u16 fsa;        /* Fault Status Address */
 126        u16 adr;        /* Address Registers */
 127        u8 xxx1[0xce];
 128        u8 pcg[0x100]; /* Pixel Clock Generator */
 129        u32 vbr;        /* Frame Base Row */
 130        u32 vmcr;       /* VBC Master Control */
 131        u32 vcr;        /* VBC refresh */
 132        u32 vca;        /* VBC Config */
 133};
 134
 135#define CG14_CCR_ENABLE 0x04
 136#define CG14_CCR_SELECT 0x02    /* HW/Full screen */
 137
 138struct cg14_cursor {
 139        u32 cpl0[32];   /* Enable plane 0 */
 140        u32 cpl1[32];  /* Color selection plane */
 141        u8 ccr; /* Cursor Control Reg */
 142        u8 xxx0[3];
 143        u16 cursx;      /* Cursor x,y position */
 144        u16 cursy;      /* Cursor x,y position */
 145        u32 color0;
 146        u32 color1;
 147        u32 xxx1[0x1bc];
 148        u32 cpl0i[32];  /* Enable plane 0 autoinc */
 149        u32 cpl1i[32]; /* Color selection autoinc */
 150};
 151
 152struct cg14_dac {
 153        u8 addr;        /* Address Register */
 154        u8 xxx0[255];
 155        u8 glut;        /* Gamma table */
 156        u8 xxx1[255];
 157        u8 select;      /* Register Select */
 158        u8 xxx2[255];
 159        u8 mode;        /* Mode Register */
 160};
 161
 162struct cg14_xlut{
 163        u8 x_xlut [256];
 164        u8 x_xlutd [256];
 165        u8 xxx0[0x600];
 166        u8 x_xlut_inc [256];
 167        u8 x_xlutd_inc [256];
 168};
 169
 170/* Color look up table (clut) */
 171/* Each one of these arrays hold the color lookup table (for 256
 172 * colors) for each MDI page (I assume then there should be 4 MDI
 173 * pages, I still wonder what they are.  I have seen NeXTStep split
 174 * the screen in four parts, while operating in 24 bits mode.  Each
 175 * integer holds 4 values: alpha value (transparency channel, thanks
 176 * go to John Stone (johns@umr.edu) from OpenBSD), red, green and blue
 177 *
 178 * I currently use the clut instead of the Xlut
 179 */
 180struct cg14_clut {
 181        u32 c_clut [256];
 182        u32 c_clutd [256];    /* i wonder what the 'd' is for */
 183        u32 c_clut_inc [256];
 184        u32 c_clutd_inc [256];
 185};
 186
 187#define CG14_MMAP_ENTRIES       16
 188
 189struct cg14_par {
 190        spinlock_t              lock;
 191        struct cg14_regs        __iomem *regs;
 192        struct cg14_clut        __iomem *clut;
 193        struct cg14_cursor      __iomem *cursor;
 194
 195        u32                     flags;
 196#define CG14_FLAG_BLANKED       0x00000001
 197
 198        unsigned long           iospace;
 199
 200        struct sbus_mmap_map    mmap_map[CG14_MMAP_ENTRIES];
 201
 202        int                     mode;
 203        int                     ramsize;
 204};
 205
 206static void __cg14_reset(struct cg14_par *par)
 207{
 208        struct cg14_regs __iomem *regs = par->regs;
 209        u8 val;
 210
 211        val = sbus_readb(&regs->mcr);
 212        val &= ~(CG14_MCR_PIXMODE_MASK);
 213        sbus_writeb(val, &regs->mcr);
 214}
 215
 216static int cg14_pan_display(struct fb_var_screeninfo *var, struct fb_info *info)
 217{
 218        struct cg14_par *par = (struct cg14_par *) info->par;
 219        unsigned long flags;
 220
 221        /* We just use this to catch switches out of
 222         * graphics mode.
 223         */
 224        spin_lock_irqsave(&par->lock, flags);
 225        __cg14_reset(par);
 226        spin_unlock_irqrestore(&par->lock, flags);
 227
 228        if (var->xoffset || var->yoffset || var->vmode)
 229                return -EINVAL;
 230        return 0;
 231}
 232
 233/**
 234 *      cg14_setcolreg - Optional function. Sets a color register.
 235 *      @regno: boolean, 0 copy local, 1 get_user() function
 236 *      @red: frame buffer colormap structure
 237 *      @green: The green value which can be up to 16 bits wide
 238 *      @blue:  The blue value which can be up to 16 bits wide.
 239 *      @transp: If supported the alpha value which can be up to 16 bits wide.
 220@transp:  cla: frame buffer  cla structure
 241 */
 242static int cg14_setcolreg(unsigned regno,
 243                          unsigned red, unsigned green, unsigned blue,
 244                          unsigned transp, struct fb_info *info)
 245{
 246        struct cg14_par *par = (struct cg14_par *) info->par;
 247        struct cg14_clut __iomem *clut = par->clut;
 248        unsigned long flags;
 249        u32 val;
 250
 251        if (regno >= 256)
 252                return 1;
 253
 254        red >>= 8;
 255        green >>= 8;
 256        blue >>= 8;
 257        val = (red | (green << 8) | (blue << 16));
 258
 259        spin_lock_irqsave(&par->lock, flags);
 260        sbus_writel(val, &clut->c_clut[regno]);
 261        spin_unlock_irqrestore(&par->lock, flags);
 262
 263        return 0;
 264}
 265
 266static int cg14_mmap(struct fb_info *info, struct vm_area_struct *vma)
 267{
 268        struct cg14_par *par = (struct cg14_par *) info->par;
 269
 270        return sbusfb_mmap_helper(par->mmap_map,
 271                                  info->fix.smem_start, info->fix.smem_len,
 272                                  par->iospace, vma);
 273}
 274
 275static int cg14_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg)
 276{
 277        struct cg14_par *par = (struct cg14_par *) info->par;
 278        struct cg14_regs __iomem *regs = par->regs;
 279        struct mdi_cfginfo kmdi, __user *mdii;
 280        unsigned long flags;
 281        int cur_mode, mode, ret = 0;
 282
 283        switch (cmd) {
 284        case MDI_RESET:
 285                spin_lock_irqsave(&par->lock, flags);
 286                __cg14_reset(par);
 287                spin_unlock_irqrestore(&par->lock, flags);
 288                break;
 289
 290        case MDI_GET_CFGINFO:
 291                memset(&kmdi, 0, sizeof(kmdi));
 292
 293                spin_lock_irqsave(&par->lock, flags);
 294                kmdi.mdi_type = FBTYPE_MDICOLOR;
 295                kmdi.mdi_height = info->var.yres;
 296                kmdi.mdi_width = info->var.xres;
 297                kmdi.mdi_mode = par->mode;
 298                kmdi.mdi_pixfreq = 72; /* FIXME */
 299                kmdi.mdi_size = par->ramsize;
 300                spin_unlock_irqrestore(&par->lock, flags);
 301
 302                mdii = (struct mdi_cfginfo __user *) arg;
 303                if (copy_to_user(mdii, &kmdi, sizeof(kmdi)))
 304                        ret = -EFAULT;
 305                ass="sref">kmdi<="L_unlock_irqrestore" class="sref">spin_us="line" name="L206"> 203/a>st30href="drivers/video/cg14.c#L187" id="3207" clas3="line" name="L207"> 2073/a>{
30            sref">MDI_GET_CFGINSOhref="drivers/video/cg14.c#L291" id="3208" clas3="line" name="L208"> 2083/a>  30            MDI_GET_C) functiref="+code=mdii" class="sref">mode, __user *) arg;
 2093/a>  30            ret = -EFAULT;
 2103/a>
<31            kmdi<="L_unlock_irqrestore" class="sr211" clas3="line" name="L211"> 2113/a>  31             2123/a>  31href="drivers/video/cg14.c#L293" id="3213" clas3="line" name="L213"> 2133/a>  31            spin_lock_irqsave(&par->lock, flags);
 2143/a>}
31            cur_mode, sbus_readb(&regs->mcr);
 2153/a>
<31            cur_mode, CG14_MCR_PIXMODE_MASK);
spin_u="line" name="L216"> 2163/a>st31            mode,  2173/a>{
31            MDI_GET_CFGIN32MASKhref="drivers/video/cg14.c#L291" id="3218" clas3="line" name="L218"> 2183/a>  31            cur_mode, )="sref">u32 )="hreff<6));
 2193/a>  31            )SHIF"sref">EFAULT)SHIF" href="drivers/video/cg14.c#L212" id="3220" clas3="line" name="L220"> 2203/a>
<32            kmdi<="L_unlock_irqrestore" class="sr221" clas3="line" name="L221"> 2213/a>  32href="drivers/video/cg14.c#L302" id="L222" clas3="line" name="L222"> 2223/a>MDI_GET_CFGIN16MASKhref="drivers/video/cg14.c#L291" id="3223" clas3="line" name="L223"> 2233/a>cur_mode, )="line" namULT)1      <6));
 2243/a>  32                      unsigned f="a href="+code=kmdi" claPIXMODE_MASK)SHIF"sref">EFAULT)SHIF" href="drivers/video/cg14.c#L212" id="3215" clas3="line" name="L225"> 2253/a>  32            kmdi<="L_unlock_irqrestore" class="sr2f">spin_u="line" name="L226"> 2263/a>  32href="drivers/video/cg14.c#L187" id="3227" clas3="line" name="L227"> 2273/a>
<32            MDI_GET_CFGIN8MASKhref="drivers/video/cg14.c#L291" id="3218" clas3="line" name="L228"> 2283/a>  32            kmdi<="L_unlock_irqrestore" class="sr209" clas3="line" name="L229"> 2293/a>  32href="drivers/video/cg14.c#L290" id="3230" clas3="line" name="L230"> 2303/a>  33             2313/a>}
33                             +code=ret" class="sref">ret = -CG14_MMAPlNOSY" hre="drivers/video/cg14.c#L212" id="3232" clas3="line" name="L232"> 2323/a>
<3                  kmdi<="L_unlock_irqrestore" class="sr233" clas3="line" name="L233"> 2333/a> 2343/a>ret = - 2353/a>sbus_writeb(cur_mode, regs->mcr);
 2363/a>par->mode;
mode;
 2373/a> 2383/a>spin_unlock_irqrestore(&par->lock, flags);
 2393/a>kmdi<="L_unlock_irqrestore" class="sr240" clas3="line" name="L240"> 2203/a> 2413/a> 2423/a>st34            ret = - *struclass="sref">sbusfb_mmap_help*struclass="ref="+code=val" clas ="sref">cmd, unsigned +code=arg" class="sref">arg;
info-> 2433/a>  3                       unsigned        FBTYPE_MDICOLOR;
 2443/a>  3                       unsigned        info->fix.smem_len,
 2453/a>{
34            ass="sref">kmdi<="L_unlock_irqrestore" class="sr246" clas3="line" name="L246"> 2463/a>  3     struct  2473/a>  34href="drivers/video/cg14.c#L228" id="3248" clas3="line" name="L248"> 2483/a>  3     unsigned  href="+code=sbusfb_mms="sref">ret = - 2493/a>  3     <="drivers/video/cg14.c#L274" id="3250" clas3="line" name="L250"> 2503/a>
<3 href="drivers/video/cg14.c#L251" id="3251" clas3="line" name="L251"> 2513/a>  35n class="comment">/* Each onea href="drivers/video/cg14.c#L299" id="3252" clas3="line" name="L252"> 2523/a>  35n class="comment"> * colors) f Initialisan>
 2533/a>
<35n class="comment"> * pages, I 2543/a>  35href="drivers/video/cg14.c#L275" id="3255" clas3="line" name="L255"> 2553/a>  35ic int __user devinitref="+code=__user" cl(nit_s="sref">fix.(nit_s="ref=" href="+code=fb_info" class="sref">fb_info *info, unsigned ef="+code=cur_mode"e="Lbyt="sref">xres;e="Lbyt=" 2563/a>  35            mode;device_ns="href="+code=info" clad"sref">mmap_map 2573/a>  35 href="drivers/video/cg14.c#L268" id="3258" clas3="line" name="L258"> 2583/a>
<35    unsigned const thar="+code=info" cla8"> sref">mmap_map<8"> a href=+code=sbus_readd"sref">mmap_map sref">mmap_map<8"> a hr="drivers/video/cg14.c#L205" id="3259" clas3="line" name="L259"> 2593/a>  35href="drivers/video/cg14.c#L290" id="3260" clas3="line" name="L260"> 2603/a>  3     cg14_pan_etrlcp"ref="+code=val" classs="sref">info->fix.cmd, isigned +code=arg" clas8"> sref">mmap_map<8"> a hrinfo->fix.cmd, isigneef="drivers/video/cg14.c#L292" id="3261" clas3="line" name="L261"> 2613/a>  36href="drivers/video/cg14.c#L302" id="L262" clas3="line" name="L262"> 2623/a>
<36    info->fix.mdi_type<= CG14_MMAPIC_OLOR 2633/a>  3     return 0;+code=val" classs="sref">info->fix.val, &isu=" href="+code=FBTYPE_MDIC_VISUAL_PSEUDOass="sref">FBTYPE_MDIC_VISUAL_PSEUDOass="a hr="drivers/video/cg14.c#L205" id="3254" clas3="line" name="L264"> 2643/a>}
36href="drivers/video/cg14.c#L275" id="3265" clas3="line" name="L265"> 2653/a>
<36    info->fix.mdi_widthe="L
xres;e="Lbyt=" 2663/a>st36href="drivers/video/cg14.c#L187" id="3267" clas3="line" name="L267"> 2673/a>{
36    info->fix.sbus_writacc=" href="+code=FBTYPE_MDIC_ACCEL_SUN_PIXMsref">FBTYPE_MDIC_ACCEL_SUN_PIXM 2683/a>  3     s="drivers/video/cg14.c#L274" id="3269" clas3="line" name="L269"> 2693/a>
<3 href="drivers/video/cg14.c#L270" id="3270" clas3="line" name="L270"> 2703/a>  3     rt sbus_mmap_map    (struss="sref">sbus_mmapse(struss="a hr"+code=CG14_MMAP_ENTRIES" class="sref">CG14_MMAP_ENTRIES];
vma);sedevinitdat" href="="drivers/video/cg14.c#L268" id="3271" clas3="line" name="L271"> 2713/a>  3              ="drivers/video/cg14.c#L268" id="3262" clas3="line" name="L272"> 2723/a>  3                      "+code=smem_len"voffsref">val, &off       ="+code=FBTYPE_MD_ENTRREG"sref">CG14_MMAP_ENTRREG" 2733/a>}
37                     "+code=smem_len"poffsref">val, poff       ="0x8 2743/a>
<37                     "+code=smem_len" s="sref">ramsize 2753/a>st37     2763/a>{
376            ="drivers/video/cg14.c#L268" id="3267" clas3="line" name="L277"> 2773/a>  37            val, &off       ="+code=FBTYPE_MD_ENTRXLU"sref">EFAULT 2783/a>  37            val, poff       ="0x8 2793/a>  37            ramsize 2803/a>  3     unsigned }="drivers/video/cg14.c#L272" id="3281" clas3="line" name="L281"> 2813/a>  38             ="drivers/video/cg14.c#L268" id="3282" clas3="line" name="L282"> 2823/a>
<38                     "+code=smem_len"voffsref">val, &off       ="+code=FBTYPE_MD_ENTRCLU"1sref">EFAULT 2833/a>  38                     "+code=smem_len"poffsref">val, poff       ="0x8 2843/a>  38                     "+code=smem_len" s="sref">ramsize 2853/a>  38     2863/a>  386            ="drivers/video/cg14.c#L268" id="3287" clas3="line" name="L287"> 2873/a>  3             val, &off       ="+code=FBTYPE_MD_ENTRCLU""sref">u32  2883/a>  3             break;
val, poff       ="0x8 2893/a>
<38            ramsize 2903/a>  39    unsigned }="drivers/video/cg14.c#L272" id="3291" clas3="line" name="L291"> 2913/a>  39             ="drivers/video/cg14.c#L268" id="3292" clas3="line" name="L292"> 2923/a>
<39                     "+code=smem_len"voffsref">val, &off       ="+code=FBTYPE_MD_ENTRCLU"3sref">u32  2933/a>  3             val, poff       ="0x8 2943/a>  3             ramsize 2953/a>  39     2963/a>  396            ="drivers/video/cg14.c#L268" id="3297" clas3="line" name="L297"> 2973/a>  3             val, &off       ="+code=FBTYPE_MD_E3RIESMDI_RESET_E3RIES 2983/a>  3             val, poff       ="0x8 2993/a>  3             ramsize 3004/a>  40    unsigned }="drivers/video/cg14.c#L272" id="4301" clas4="line" name="L301"> 3014/a>
<40             ="drivers/video/cg14.c#L268" id="4302" clas4="line" name="L302"> 3024/a>  4             val, &off       ="+code=FBTYPE_MD_E3RIESMDI_RESET_E3RIES 2934/a>  4             if (val, poff       ="0x0 3044/a>  4                     <"+code=smem_len" s="sref">ramsizeramsize 3054/a>  40    spin_4s="line" name="L206"> 204/a>st406            ="drivers/video/cg14.c#L268" id="4207" clas4="line" name="L207"> 2074/a>{
40            val, &off       ="+code=FBTYPE_MDFGINCURSOR_ESval, FGINCURSOR_ES<    ="drivers/video/cg14.c#L272" id="4387" clas4="line" name="L298"> 2984/a>  40            val, poff       ="0x8 2994/a>  40            ramsize 2104/a>
<41    unsigned }="drivers/video/cg14.c#L272" id="4211" clas4="line" name="L211"> 2114/a>  41             ="drivers/video/cg14.c#L268" id="4212" clas4="line" name="L212"> 2124/a>  41            val, &off       ="+code=FBTYPE_MDFGINCHUNKY_BGR_ESval, FGINCHUNKY_BGR_ES<    ="drivers/video/cg14.c#L272" id="4213" clas4="line" name="L213"> 2134/a>  41            val, poff       ="0x01a href="drivers/video/cg14.c#L272" id="4204" clas4="line" name="L214"> 2144/a>}
41            ramsize 2154/a>
<41    spin_4="line" name="L216"> 2164/a>st416            ="drivers/video/cg14.c#L268" id="4217" clas4="line" name="L217"> 2174/a>{
41            val, &off       ="+code=FBTYPE_MDFGINPLANAR_X16_ESval, FGINPLANAR_X16_ES<    ="drivers/video/cg14.c#L272" id="4287" clas4="line" name="L218"> 2184/a>  41            val, poff       ="0x02a href="drivers/video/cg14.c#L272" id="4297" clas4="line" name="L219"> 2194/a>  41            ramsize 2204/a>
<42    unsigned }="drivers/video/cg14.c#L272" id="4221" clas4="line" name="L221"> 2214/a>  42             ="drivers/video/cg14.c#L268" id="4222" clas4="line" name="L222"> 2224/a>val, &off       ="+code=FBTYPE_MDFGINPLANAR_C16_ESval, FGINPLANAR_C16_ES<    ="drivers/video/cg14.c#L272" id="4223" clas4="line" name="L223"> 2234/a>val, poff       ="0x028 href="drivers/video/cg14.c#L272" id="4224" clas4="line" name="L224"> 2244/a>  42                     "+code=smem_len" s="sref">ramsize 2254/a>  42    spin_4="line" name="L226"> 2264/a>  426            ="drivers/video/cg14.c#L268" id="4227" clas4="line" name="L227"> 2274/a>
<42            val, &off       ="+code=FBTYPE_MDFGINPLANAR_X32_ESval, FGINPLANAR_X32_ES<    ="drivers/video/cg14.c#L272" id="4287" clas4="line" name="L228"> 2284/a>  42            val, poff       ="0x03a href="drivers/video/cg14.c#L272" id="4209" clas4="line" name="L229"> 2294/a>  42            ramsize 2304/a>  43    unsigned }="drivers/video/cg14.c#L272" id="4231" clas4="line" name="L231"> 2314/a>}
43             ="drivers/video/cg14.c#L268" id="4232" clas4="line" name="L232"> 2324/a>
<4                  val, &off       ="+code=FBTYPE_MDFGINPLANAR_B32_ESval, FGINPLANAR_B32_ES<    ="drivers/video/cg14.c#L272" id="4233" clas4="line" name="L233"> 2334/a>val, poff       ="0x034 href="drivers/video/cg14.c#L272" id="4234" clas4="line" name="L234"> 2344/a>ramsize 2354/a> 2364/a> 2374/a>val, &off       ="+code=FBTYPE_MDFGINPLANAR_G32_ESval, FGINPLANAR_G32_ES<    ="drivers/video/cg14.c#L272" id="4287" clas4="line" name="L238"> 2384/a>val, poff       ="0x038 href="drivers/video/cg14.c#L272" id="4239" clas4="line" name="L239"> 2394/a>ramsize 2204/a> 2414/a> 2424/a>st44            val, &off       ="+code=FBTYPE_MDFGINPLANAR_R32_ESval, FGINPLANAR_R32_ES<    ="drivers/video/cg14.c#L272" id="4243" clas4="line" name="L243"> 2434/a>  4                      "+code=smem_len"poffsref">val, poff       ="0x03c href="drivers/video/cg14.c#L272" id="4234" clas4="line" name="L244"> 2444/a>  4                      "+code=smem_len" s="sref">ramsize 2454/a>{
44     2464/a>  4     struct ramsize 2474/a>  44href=f="drivers/video/cg14.c#L205" id="4248" clas4="line" name="L248"> 2484/a>  44href="drivers/video/cg14.c#L259" id="4239" clas4="line" name="L249"> 2494/a>  4     cg14_regs untrusss="ref=" href="+code=sbus_mmapplatform_devicesref">val, platform_device href"+code=info" clao"sref">sbus_mmapo href=r href="+code=sbus_mmapclass="sref">fb_info *info, unsigned"drivers/video/cg14.c#L259" id="4250" clas4="line" name="L250"> 2504/a>
<45            cg14_par *par = (struc="drivers/video/cg14.c#L304" id="4251" clas4="line" name="L251"> 2514/a>  45n cla="drivers/video/cg14.c#L268" id="4252" clas4="line" name="L252"> 2524/a>  45            par->regs;
 2534/a>
<45            sbus_mmapof_iountruref="ref="+code=par" claso"sref">sbus_mmapo hrefref="+code=regs" classsourcesref">val, sssourcehref[0]d"drivers/video/cg14.c#L259" id="4234" clas4="line" name="L254"> 2544/a>  45                      unsigned  +code=copy_to_us="sref">par->regs;
cg14_regs  2554/a>  455           par->__user 2564/a>  45            sbus_mmapof_iountruref="ref="+code=par" claso"sref">sbus_mmapo hrefref="+code=regs" classsourcesref">val, sssourcehref[0]d"drivers/video/cg14.c#L259" id="4247" clas4="line" name="L257"> 2574/a>  45            par->__user__user 2584/a>
<45    unsigned ef="+code=copy_to_us="sref">par->cg14_par 2594/a>  45            sbus_mmapof_iountruref="ref="+code=par" claso"sref">sbus_mmapo hrefref="+code=regs" classsourcesref">val, sssourcehref[0]d"drivers/video/cg14.c#L259" id="4260" clas4="line" name="L260"> 2604/a>  46            par->cg14_parcg14_par 2614/a>  461   unsigned ef="+code=copy_to_uss="sref">info->ramsize 2624/a>
<46            sbus_mmapof_iountruref="ref="+code=par" claso"sref">sbus_mmapo hrefref="+code=regs" classsourcesref">val, sssourcehref[1]d"drivers/video/cg14.c#L259" id="4243" clas4="line" name="L263"> 2634/a>  46                      unsigned  +code=copy_to_uss="sref">info->ramsizeinfo->fix.smem_len,
 2644/a>}
46href=="drivers/video/cg14.c#L274" id="4265" clas4="line" name="L265"> 2654/a>
<46    <"drivers/video/cg14.c#L274" id="4246" clas4="line" name="L266"> 2664/a>st46href=t __user devinitref="+code=__user" clprob"sref">ramsizeprob"ref=" href="+code=sbus_mmapplatform_devicesref">val, platform_device href"+code=info" clao"sref">sbus_mmapo href="drivers/video/cg14.c#L304" id="4247" clas4="line" name="L267"> 2674/a>{
46 href="drivers/video/cg14.c#L268" id="4258" clas4="line" name="L268"> 2684/a>  46    struct mode;device_ns="href="+code=info" clad"sref">mmap_mapsbus_mmapo hrefref="+code=regs" cladevsref">mode;devref="+code=smem_len"of_ns="sref">mode;of_ns="ref=="drivers/video/cg14.c#L301" id="4239" clas4="line" name="L269"> 2694/a>
<46    struct fb_info *info, unsigne="drivers/video/cg14.c#L301" id="4270" clas4="line" name="L270"> 2704/a>  470   struct cg14_par *par = (struc="drivers/video/cg14.c#L301" id="4261" clas4="line" name="L271"> 2714/a>  47    int sbus_writis_8m"href="+code=info" clae="Lbyt="sref">xres;e="Lbyt="sbus_writipar =er"truc="drivers/video/cg14.c#L301" id="4262" clas4="line" name="L272"> 2724/a>  47href="drivers/video/cg14.c#L293" id="4273" clas4="line" name="L273"> 2734/a>}
47    return 0;+code=val" classs="sref">info-> buffer_allocsref">fb_info buffer_allocref=" href=" href="+code=cg14_regs" clas="sref">cg14_par *sbus_mmapo hrefref="+code=regs" cladevsref">mode;devref=f="drivers/video/cg14.c#L301" id="4254" clas4="line" name="L274"> 2744/a>
<47href="drivers/video/cg14.c#L275" id="4265" clas4="line" name="L275"> 2754/a>st47    par =er"trucef="+code=EFAULT" clNOMEMsref">par =lNOMEMtruc="drivers/video/cg14.c#L301" id="4246" clas4="line" name="L276"> 2764/a>{
476            ef="!+code=ret" classs="sref">info-> 2774/a>  47            par =out_er"truc="drivers/video/cg14.c#L301" id="4258" clas4="line" name="L278"> 2784/a>  47            <+code=par" class="sref">par = (strucf="+code=info" class="sref">info->par = (struc="drivers/video/cg14.c#L301" id="426139" clas4ne" name="L279"> 2793/a>48"> 2vers/vief">fix. 2803/a>fix.spde=cg14_ioctsedevif="sref">spde=bus_mmapof_iountruref="ref="+code=par" class="sref">par->mode;devref=f="drivers/video/cg14.c#L242" id="3281" clas3="line4 name48L261"> 2613/a>  36href="drivers/video4cg14.c#L248" id="3282" clas3="line4 name4"L282"> 2823/a>fix.info->sbus_writimode;devref=f="drivers/video/cg14.c#L292" id="3283" clas3="line4 name48L263"> 2633/a>  3     return 0;+code=val" classs="sref">info->var.var.mdi_width8>mode;devref=f="drivers/video/cg14.c#L302" id="3284" clas3="line4 name4"L284"> 2843/a>  3     return 0;+code=val" classs="sref">info->var.var.mdi_width8>mode;devref=f="drivers/video/cg14.c#L272" id="3285" clas3="line4 name48L275"> 2754/a>st47    info->var.var.mdi_width8>mode;devref=f="drivers/video/cg14.c#L302" id="3286" clas3="line4 name48L266"> 2663/a>st36href="drivers/video4cg14.c#L248" id="3287" clas3="line4 name48L267"> 2673/a>{
36    xresf">mmap_map  prop_>  prop_>sbus_writi 2533/a>
<35_aling">"t="sref">"ment"> >, sssourcehref[1]d"drivers/video/cg14.c#L242" id="3258" clas3="line4 name4"L288"> 2883/a>  3                              >st47    info->var.mode;devref=f="drivers/video/c4.c#L301"2" id="3269" clas3="line4 name4"L289"> 2893/a/=creen_bas"href="+code=info" class="sref">info->fix.smef">mmap_mapsbus_writixresf* >st47    info->var.mode;devref=f="drivers/video/cg14.c#L242" id="3290" clas3="line4 name49L250"> 2503/a>
<3 href="drivers/video4cg14.c#L242" id="3291" clas3="line4 name49L261"> 2614/a>  476            ef_alcms_mmap_map" classalcmsbus_m">sbus_writiinfo->info-> 2533/a>
<35_aling">"f="s"ment"> ) ||> 2503/a>
<3 href="drivers/video4cg14.c#L248" id="3292" clas3="line4 name4"L292"> 2923/a>
<376            ef_alcms_mmap_map" classalcmsbus_m">sbus_writiinfo->info-> 2533/a>
<35_aling">"f=i"ment"> )">ret = - 2933/a>  3    /=creen_bas"href="+code=info" class="sref">info->fix.mmap_mapsbus_mmapo hrefref="+code=regs" classsourcesref">valfix.mode;devref=f="drivers/video/cg14.c#L302" id="3294" clas3="line4 name4"L294"> 2943/a>  3    _iountruref="ref="+code=par" class="sref">par->mmap_mapsbus_mmapo hrefref="+code=regs" classsourcesref">valfix.parmmap_mapmode;devref=f="drivers/video/cg14.c#L272" id="3285" clas3="line4 name4"L295"> 2953/a> else>ret = - 2564/a>  45            info->fix.mmap_mapsbus_mmapo hrefref="+code=regs" classsourcesref">val<1a">fix.mode;devref=f="drivers/video/cg14.c#L248" id="3297" clas3="line4 name4"L297"> 2973/a>  3    _iountruref="ref="+code=par" class="sref">par->mmap_mapsbus_mmapo hrefref="+code=regs" classsourcesref">valfix.parmmap_mapmode;devref=f="drivers/video/cg14.c#L242" id="3258" clas3="line4 name4"L298"> 2983/a> 2644/a>}
46href=="drivers/video/cg14.c#L242" id="3299" clas3="line4 name49"> 2793/a>48"> 2vers/vief">fix. 2803/a>fix.par->mmap_mapsbus_mmapo hrefref="+code=regs" classsourcesref">val        ="0x03c href="drivers/video5cg14.c#L252" id="4301" clas4="line5 name50L231"> 2313/a>}
33                  egs;
cg14_, > 2533/a>
<35_aling">"s="s ef">"ment"> )>mode;devref=f="drivers/video5cg14.c#L258" id="4302" clas4="line5 name50L282"> 2823/a>fix.par->mmap_mapsbus_mmapo hrefref="+code=regs" classsourcesref">val us_mmapo hrefre ="+code=FBTYPE_MD_ENTRCLU"1sref">EFAULT 2934/a>  4                   egs;
__use, > 2533/a>
<35_aling">"s="s ef">"ment"> )>mode;devref=f="drivers/video5c414.c#L252" id="3294" clas3="line5 name50L284"> 2843/a>  3     returnfff+code=copy_to_us="sref">par->cf">mmap_mapsbus_mmapo hrefref="+code=regs" classsourcesref">val us_mmapo hrefre ="+coef">vode=FBTYPE_MD_ENTRREG"sroef">vode=FAULT 3054/a/a>  4                   egs;
cg14_pa, > 2533/a>
<35_aling">"s="s ef">cg"ment"> )>mode;devref=f="drivers/video5c614.c#L252" id="3296" clas3="line5" nam50L266"> 2663/a>st36href="drivers/video5cg14.c#L258" id="4207" clas4="line5 name50L267"> 2673/a>{
36    info->ramsizf">mmap_mapsbus_mmapo hrefref="+code=regs" classsourcesref">val<1a>        ="0x03c href="drivers/video5c814.c#L258" id="3258" clas3="line5 name5"L298"> 2984/a>  40                          /=creen_bas"href="+code=info" class="sref">info->fix.sme, > 2533/a>
<35_aling">"s="s eam"ment"> )>mode;devref=f="drivers/video5c914.c#L258" id="3299" clas3="line5 name50"> 2793/a>48"> 2vers/vief">fix. 2104/a>  476            efd  +code=copy_to_us="sref">par->par->par->cf||376            eff="+code=copy_to_uss="sref">info->ramsize 2313/a>}
33            (untrussto"+ode=__cg14"sre>mode;devref=f="drivers/video5cg14.c#L258" id="4212" clas4="line5 name51L272"> 2724/a>  47href="drivers/video5cg14.c#L252" id="4213" clas4="line5 name51L263"> 2633/a>  3     return ="+code=cur_mode"is_8m"sref">sf">((m">sbus_writisbus_mmapo hrefref="+code=regs" classsourcesref">val<1a">fix.sf->mmap_mapsbus_mmapo hrefref="+code=regs" classsourcesref">val<1a">fix. 2724/a>  47href="drivers/video5c414.c#L252" id="4204" clas4="line5 name5"L214"> 2144/a>}
41     (8 * 1024 * 1024ar 2654/a>
<46    <"drivers/video5cg14.c#L252" id="42f">spin_4="line5 name5"L216"> 2164/a>fix. a hrpar->(strus">sbus_mmaps) !=mmap_map<8"> a hr(struss="sref">sbus_mmapsar 2174/a>{
41   / clacurso"ref=ef="drivers/video5c814.c#L252" id="4287" clas4="line5 name51L278"> 2784/a>  47          ="scode=sbus_writetrl="scodbus_mmapof_iountruref="reref+code=sbus_reads="sref">par->(strus">sbus_mmaps_par *sbus_mmaps>mmap_map<8"> a hrpar->(strus">sbus_mmaps)r 2793/a>48"> 2vers/vief">fix. 2204/afor 461   unsigned efde=cur_mode"is_8f">sf">0a>mmap_mapsf<a>mmap_mapCG14_MMAP_ENa>mmap_maps++">ret = - 2313/a>}
33   a>  3     rt sbus_mmap_par *(strus"ad"sref">mapof_iountruref="reref+code=sbus_reads="sref">par->(strus">sbus_mmapse(struss="a fde=cur_mode"is_8f">s] 2724/a>  47href="drivers/video5cg14.c#L252" id="4223" clas4="line5 name5"L223"> 2234/a>  476            efg14_rese(strus"ad"sre>info-> 2244/a>  42                    ass="sref">kmdi<="L_unlock_ir5cg14.c#L252" id="4205" clas4="line5 name52L305"> 3054/a/a>  4  >  461   unsigned eg14_rese(strus"ad"sre>info->ar/a>, poff espin_4="line5 name52L256"> 2564/a>  45   > 2784/a>  47          =14_rese(strus"ad"sre>info->= 461   unsigned eg14_rese(strus"ad"sre>info->ar/a7fffffff) + 2274/a>
<42                   m">sbus_writisbus_mmapo hrefref="+code=regs" classsourcesref">valfix. 2284/a>  42   a>  45   > 2784/a>  47           ="+code=FBTYPE_MDo"sref">sbus_mmapo hrefref="+code=regs" classsourcesref">val<1a">fix.kmdi<="L_unlock_ir5c914.c#L252" id="4209" clas4="line5 name5"L229"> 2294/a>  42   >  461   unsigned ef="+code=cur_mode"is_8m"sref">sfarkmdi<="L_unlock_ir5cg14.c#L252" id="4230" clas4="line5 name5"L230"> 2304/a5   > 2784/a>  47          =14_rese(strus"ad"sre>info->infomsizekmdi<="L_unlock_ir5cg14.c#L252" id="4231" clas4="line5 name53L231"> 2313/a>}
33       >  47          =14_rese(strus"ad"sre>info->ilfomsiz4poff e 2324/a>
<4    3       >  47          =14_rese(strus"ad"sre>info->*= 2a   ass="sref">kmdi<="L_unlock_ir5cg14.c#L252" id="4233" clas4="line5 name5"L233"> 2334/a> 2644/a>}
46href=="drivers/video5cg14.c#L252" id="4234" clas4="line5 name53L274"> 2744/a>
<47href="drivers/video5cg14.c#L252" id="4205" clas4="line5 name5"L235"> 2354/a_iountruref="reref+code=sbus_reads="sref">par->mmap_mapmode;devref=f="drivers/video5cg14.c#L252" id="4236" clas4="line5 name53L216"> 2164/a>fix.par->= 461   unsigned ef="+code=cur_mode"is_8m"sref">sf?>/a>, pof :siz4poff e>mode;devref=f="drivers/video5cg14.c#L258" id="4237" clas4="line5 name5"L237"mode;devref=f="drivers/video5c814.c#L252" id="4287" clas4="line5 name53L278"> 2784/a>  47          f="+code=info" class="sref">info->pbus_writacc=" href=INFO_DEFAULE_MD_E3RIEScf|us_writacc=" href=INFO_HWsref">YPAN=smem_len" clasf=INFO_HWsref">YPAN"sre>mode;devref=f="drivers/video5c914.c#L252" id="4239" clas4="line5 name53L289"> 2893/a/=creen_bas"href="+code=info" class="sref">info->mapof_iountruref="re"srefopcode=flags" clas"srefopc"sre>mode;devref=f="drivers/video5cg14.c#L252" id="4240" clas4="line5 name54L250"> 2503/a>
<3 href="drivers/video5cg14.c#L252" id="4241" clas4="line5 name5"L241"> 2414/a> *mode;devref=f="drivers/video5cg14.c#L258" id="4242" clas4="line5 name54L272"> 2724/a>  47href="drivers/video5cg14.c#L252" id="4243" clas4="line5 name5"L243"> 2434/a>  461   unsigned efb_info<_c=14_rese(strusfb_info<_c=14bus_mmapof_iountruref="ref="+code=info" class="sref">info->(struscs_mmaps>m256, 0)e 2444/a>  4             (untrussto"+ode=__cg14"sre>mode;devref=f="drivers/video5cg14.c#L252" id="4205" clas4="line5 name54L265"> 2654/a>
<46    <"drivers/video5cg14.c#L252" id="4246" clas4="line5 name54L216"> 2164/a>fix.(strusfb_ee=_c=14bus_mmapof_iountruref="ref="+code=info" class="sref">info->(struscs_mmaps>m_iountruref="ref="+code=info" class="sref"e>mode;devref=f="drivers/video5cg14.c#L254" id="4247" clas4="line5 name54L237"mode;devref=f="drivers/video5cg14.c#L255" id="4248" clas4="line5 name54L278"> 2784/a>  47          e+codpde=_f="+code=fix" clase+codpde=_f="bus_m>fix.us_writis_8m"href="+code=info" clae="Lbyt="sref">xres;e="Lbyt="mode;devref=f="drivers/video5c914.c#L259" id="4239" clas4="line5 name54"> 2793/a>48"> 2vers/vief">fix. 2504/a>fix.p->fbcode=regs" class="ister_locsref">fbbus_m>fix.mode;devref=f="drivers/video5cg14.c#L354" id="4251" clas4="line5 name55L261"> 2614/a>  461   unsigned ee="+code=cur_mode"er"sref"<a> e 2324/a>
<4             (strusto"+deinfo<_c=14"sre>mode;devref=f="drivers/video5cg14.c#L354" id="4243" clas4="line5 name5"L253"mode;devref=f="drivers/video5cg14.c#L259" id="4234" clas4="line5 name55L284"> 2843/a>  3     returndev_ee=_drvdata"+code=info" claev_ee=_drvdatabus_mmapof_iountruref="ref="+code=regs" clao"sref">sbus_mmapo hrefref="+code=regs" cladevsref>m_iountruref="ref="+code=info" class="sref"e>mode;devref=f="drivers/video5cg14.c#L252" id="4255" clas4="line5 name55L265"> 2654/a>
<46    <"drivers/video5cg14.c#L354" id="4246" clas4="line5 name55L216"> 2164/a>fix.fix.> 2533/a>
<35_aling">"%s: cgfourteen at %lx:%lx, %dMB\n"ment"> >, sssourcehref[1]d"drivers/video5cg14.c#L259" id="4247" clas4="line5 name5"L257"> 2574/a>  45  a>;e="Lbyt="info-> 2284/a>  42  >fix.par->info->fix. 2594/a>  45  >fix.par->>par>par 2 e>mode;devref=f="drivers/video5cg14.c#L259" id="4260" clas4="line5 name56L250"> 2503/a>
<3 href="drivers/video5cg14.c#L252" id="4261" clas4="line5 name5"L261"> 2614/areturn 0>mode;devref=f="drivers/video5cg14.c#L254" id="4262" clas4="line5 name56L272"> 2724/a>  47href="drivers/video5cg14.c#L259" id="4243" clas4="line5 name5"L263"    (strusto"+deinfo<_c=14"sre:> 2724/a>  47href="drivers/video5cg14.c#L251" id="4254" clas4="line5 name56L284"> 2843/a>  3     returnfb_deinfo<_c=14_rese(strusfb_deinfo<_c=14bus_mmapof_iountruref="ref="+code=info" class="sref">info->(struscs_mmapse>mode;devref=f="drivers/video5cg14.c#L254" id="4265" clas4="line5 name5"L265"> 2654/a>
<46    <"drivers/video5cg14.c#L254" id="4246" clas4="line5 name5"L266"    (untrussto"+ode=__cg14"sre:> 2724/a>  47href="drivers/video5cg14.c#L254" id="4247" clas4="line5 name56L267"> 2673/a>{
36    (untrusss="sref">cg14_regsmode;devref=f="drivers/video5cg14.c#L258" id="4258" clas4="line5 name56L278"> 2784/a>  47          locsref">fb_rele=fix" classcreen_blocsref">fb_rele=fibus_m>fix.mode;devref=f="drivers/video5cg14.c#L351" id="4239" clas4="line5 name56"> 2793/a>48"> 2vers/vief">fix.pa:> 2724/a>  47href="drivers/video5cg14.c#L351" id="4261" clas4="line5 name57L261"> 2614/areturn 61   unsigned ee="+code=cur_mode"er"sref>mode;devref=f="drivers/video5cg14.c#L351" id="4262" clas4="line5 name5"L272"> 2644/a>}
46href=="drivers/video5cg14.c#L253" id="4273" clas4="line5 name57L253"mode;devref=f="drivers/video5cg14.c#L351" id="4254" clas4="line5 name5"L274"> 2664/a>st46href=t >{
36    prob"ref=" href="+code=sbus_mmapplatform_devicesref">val, platform_device href"+code=info" clao"sref">sbus_mmapo href="drivers/video5cg14.c#L255" id="4265" clas4="line5 name5"L275"ret = - 2764/a>
<46    struct fb_info *p->sbus_mmapo hrefref="+code=regs" cladevsrefe>mode;devref=f="drivers/video5cg14.c#L354" id="4267" clas4="line5 name5"L277"> 2774/a>  470   struct cg14_par *par = (strucf="+code=info" class="sref">info->par = (struc="drivers/video/c5cg14.c#L351" id="4258" clas4="line5 name57L248"> 2484/a>  44href="drivers/video514.c#L3015 id="426139" clas4ne" na5e="L257L289"> 2893/a/=creen_bas"hreunf="ister_locsref">fbcode=regs" clasunf="ister_locsref">fbbus_m>fix.mode;devref=f="drivers/video5cg14.c#L252" id="3280" clas3="line5 name5"L280"> 2803/a>fix.(strusfb_deinfo<_c=14bus_mmapof_iountruref="ref="+code=info" class="sref">info->(struscs_mmapse>mode;devref=f="drivers/video5cg14.c#L252" id="3281" clas3="line5 name58L261"> 2613/a>  36href="drivers/video5cg14.c#L258" id="3282" clas3="line5 name5"L282"> 2823/a>fix.(untrusss="sref">cg14_regsmode;devref=f="drivers/video5cg14.c#L252" id="3283" clas3="line5 name58L253"mode;devref=f="drivers/video5cg14.c#L352" id="3284" clas3="line5 name5"L284"> 2843/a>  3     returnlocsref">fb_rele=fix" classcreen_blocsref">fb_rele=fibus_m>fix.mode;devref=f="drivers/video5cg14.c#L252" id="3285" clas3="line5 name58L265"> 2654/a>
<46    <"drivers/video5cg14.c#L352" id="3286" clas3="line5 name58L216"> 2164/a>fix.sbus_mmapo hrefref="+code=regs" cladevsref>m_iountruref="reNULL+code=regs" claNULLref"e>mode;devref=f="drivers/video5cg14.c#L358" id="3287" clas3="line5 name58L237"mode;devref=f="drivers/video5cg14.c#L252" id="3258" clas3="line5 name5"L288"> 2883/areturn 0>mode;devref=f="drivers/video5c4.c#L30152" id="3269" clas3="line5 name5"L289"> 2644/a>}
46href=="drivers/video5cg14.c#L252" id="3290" clas3="line5 name59L250"> 2503/a>
<3 href="drivers/video5cg14.c#L252" id="3291" clas3="line5 name59L261"> 2664/consta>  470   struct valval>{
36    pret = - 2923/aret = - 2933/a>  3    ">fix.pa 2533/a>
<35_aling">"s=fourteen"ment"> >, sssourcehref[1]d"drivers/video5cg14.c#L352" id="3294" clas3="line5 name5"L294"> 2943/a>{
44     2953/a{>{
44     2474/a>  44href=f="drivers/video5cg14.c#L258" id="3297" clas3="line5 name5"L297">fix.m_iountruref="ree+codmatcmem_len"e="L
mode;devref=f="drivers/video5cg14.c#L252" id="3258" clas3="line5 name59L248"> 2484/a>  44href="drivers/video5cg14.c#L252" id="3299" clas3="line5 name59L249"> 2494/eprob"ref=" href="+code=s44hremapplatform_devicesref">v44hre216">>{
36    pret = - 2803/a">fix.pret = - 2313/a>}
33   ">fix.pa 2533/a>
<35_aling">"s=14"ment"> >, sssourcehref[1]d"drivers/video6cg14.c#L268" id="4302" clas4="line6 name60L232"> 2324/a>
<4    ">mode;devrefwnremapplatform_devfwnresref">par = (strucTHIS_MODULEmapplatform_devTHIS_MODULE"sre>, sssourcehref[1]d"drivers/video6cg14.c#L262" id="4332" clas4="line6 name6"L293"> 2934/a>  4    ">mode;devref="matcm_tabll=code=par" clasf="matcm_tabllsref">par = (struce+codmatcmem_len"e="L
, sssourcehref[1]d"drivers/video6c414.c#L262" id="3294" clas3="line6 name60L294"> 2943/a>{
44     3054/a                 de=__user" clpref">ramsi/a>  4    >par = (struce+codode=__user" clprob"sref">ramsi{
44     3054/a                removix" classcreen_bremovibus_a>  4    >par = (strucnitsrexe=_4_rese(struss=tsrexe=_4egs 2474/a>  44href=f="drivers/video6c814.c#L268" id="3258" clas3="line6 name60L248"> 2484/a>  44href="drivers/video6c914.c#L268" id="3299" clas3="line6 name60L249"> 2494/a>st46href=t __user devinitref="+code=cg14_ioctsedevif="+code=egs  f">sbus_mmapo href="drivers/video6cg14.c#L262" id="4210" clas4="line6 name6"L210"ret = - 2614/a>  461   unsigned efb_ge=_options_rese(strusfb_ge=_optionsegs
<35_aling">"s=14fb"ment"> >m_iountruref="reNULL+code=regs" claNULLref"ef">sbus_mmapo href="drivers/video6cg14.c#L268" id="4212" clas4="line6 name61L232"> 2324/a>
<4    return ar =er"trucef="DEV+code=regs" claf="DEVef">par = (struc="drivers/video/c6cg14.c#L262" id="4213" clas4="line6 name61L253"mode;devref=f="drivers/video6c414.c#L262" id="4204" clas4="line6 name6"L214"> 2144/areturn 61   unsigned eicesref">v44hre_f="istermapplatform_devicesref">v44hre_f="isterbus_mmapof_iountruref="ree+cods44hremapplatform_deve+cods44hre"sree>mode;devref=f="drivers/video6cg14.c#L262" id="4205" clas4="line6 name61L265"> 2644/a>}
46href=="drivers/video6cg14.c#L262" id="42f">spin_4="line6 name61L266"> 2663/a>st36href="drivers/video6cg14.c#L268" id="4217" clas4="line6 name6"L217"> 2494/a>  t46href=t >{
36      f">sbus_mmapo href="drivers/video6c814.c#L262" id="4287" clas4="line6 name61L278"ret = - 2893/a/=creen_bas"hreicesref">v44hre_unf="istermapplatform_devicesref">v44hre_unf="isterbus_mmapof_iountruref="ree+cods44hremapplatform_deve+cods44hre"sree>mode;devref=f="drivers/video6cg14.c#L262" id="4220" clas4="line6 name6"L220"> 2644/a>}
46href=="drivers/video6cg14.c#L262" id="4221" clas4="line6 name62L261"> 2613/a>  36href="drivers/video6cg14.c#L268" id="4222" clas4="line6 name62L272"_iountruref="remodulecode=cg14_ioctsedevimodulecode=egsmode;devref=f="drivers/video6cg14.c#L262" id="4223" clas4="line6 name62L263"    mode;devref=f="drivers/video6c414.c#L262" id="4224" clas4="line6 name62L274"> 2744/a>
<47href="drivers/video6cg14.c#L262" id="4205" clas4="line6 name62L305">fix.
<35_aling">"locsref">fb <47hreafor CGfourteen chipset>"ment"> )>mode;devref=f="drivers/video6cg14.c#L262" id="42f">spin_4="line6 name62L266"    
<35_aling">"Da"dr S. Millrea<adavem@davemloft.net>par>quot;ment"> )>mode;devref=f="drivers/video6cg14.c#L268" id="4227" clas4="line6 name62L297">fix.
<35_aling">"2.0>quot;ment"> )>mode;devref=f="drivers/video6c814.c#L262" id="4287" clas4="line6 name6"L228">fix.
<35_aling">"GPL>quot;ment"> )>mode;devref=f="drivers/video6c914.c#L262" id="4209" clas4="line6 name6"L229"


The original LXR software by the ode;dhttp://esref"forge.net/projects/lxrm>LXR commude=ysref>mthis experimental ef=fion by ode;dmailto:lxr@" cux.no">lxr@" cux.nosref.
lxr." cux.no kindly hosted by ode;dhttp://www.redpill-" cpro.no">Redpill L cpro A=FAULT pro"drir of L cux/consulting and operations serl