linux/drivers/video/s3c-fb.c
<<
>>
Prefs
   1/* linux/drivers/video/s3c-fb.c
   2 *
   3 * Copyright 2008 Openmoko Inc.
   4 * Copyright 2008-2010 Simtec Electronics
   5 *      Ben Dooks <ben@simtec.co.uk>
   6 *      http://armlinux.simtec.co.uk/
   7 *
   8 * Samsung SoC Framebuffer driver
   9 *
  10 * This program is free software; you can redistribute it and/or modify
  11 * it under the terms of the GNU General Public License version 2 as
  12 * published by the Free Software FoundatIon.
  13*/
  14
  15#include <linux/kernel.h>
  16#include <linux/module.h>
  17#include <linux/platform_device.h>
  18#include <linux/dma-mapping.h>
  19#include <linux/slab.h>
  20#include <linux/init.h>
  21#include <linux/clk.h>
  22#include <linux/fb.h>
  23#include <linux/io.h>
  24#include <linux/uaccess.h>
  25#include <linux/interrupt.h>
  26#include <linux/pm_runtime.h>
  27
  28#include <mach/map.h>
  29#include <plat/regs-fb-v4.h>
  30#include <plat/fb.h>
  31
  32/* This driver will export a number of framebuffer interfaces depending
  33 * on the configuration passed in via the platform data. Each fb instance
  34 * maps to a hardware window. Currently there is no support for runtime
  35 * setting of the alpha-blending functions that each window has, so only
  36 * window 0 is actually useful.
  37 *
  38 * Window 0 is treated specially, it is used for the basis of the LCD
  39 * output timings and as the control for the output power-down state.
  40*/
  41
  42/* note, the previous use of <mach/regs-fb.h> to get platform specific data
  43 * has been replaced by using the platform device name to pick the correct
  44 * configuration data for the system.
  45*/
  46
  47#ifdef CONFIG_FB_S3C_DEBUG_REGWRITE
  48#undef writel
  49#define writel(v, r) do { \
  50        pr_debug("%s: %08x => %p\n", __func__, (unsigned int)v, r); \
  51        __raw_writel(v, r); \
  52} while (0)
  53#endif /* FB_S3C_DEBUG_REGWRITE */
  54
  55/* irq_flags bits */
  56#define S3C_FB_VSYNC_IRQ_EN     0
  57
  58#define VSYNC_TIMEOUT_MSEC 50
  59
  60struct s3c_fb;
  61
  62#define VALID_BPP(x) (1 << ((x) - 1))
  63
  64#define OSD_BASE(win, variant) ((variant).osd + ((win) * (variant).osd_stride))
  65#define VIDOSD_A(win, variant) (OSD_BASE(win, variant) + 0x00)
  66#define VIDOSD_B(win, variant) (OSD_BASE(win, variant) + 0x04)
  67#define VIDOSD_C(win, variant) (OSD_BASE(win, variant) + 0x08)
  68#define VIDOSD_D(win, variant) (OSD_BASE(win, variant) + 0x0C)
  69
  70/**
  71 * struct s3c_fb_variant - fb variant information
  72 * @is_2443: Set if S3C2443/S3C2416 style hardware.
  73 * @nr_windows: The number of windows.
  74 * @vidtcon: The base for the VIDTCONx registers
  75 * @wincon: The base for the WINxCON registers.
  76 * @winmap: The base for the WINxMAP registers.
  77 * @keycon: The abse for the WxKEYCON registers.
  78 * @buf_start: Offset of buffer start registers.
  79 * @buf_size: Offset of buffer size registers.
  80 * @buf_end: Offset of buffer end registers.
  81 * @osd: The base for the OSD registers.
  82 * @palette: Address of palette memory, or 0 if none.
  83 * @has_prtcon: Set if has PRTCON register.
  84 * @has_shadowcon: Set if has SHADOWCON register.
  85 * @has_blendcon: Set if has BLENDCON register.
  86 * @has_clksel: Set if VIDCON0 register has CLKSEL bit.
  87 * @has_fixvclk: Set if VIDCON1 register has FIXVCLK bits.
  88 */
  89struct s3c_fb_variant {
  90        unsigned int    is_2443:1;
  91        unsigned short  nr_windows;
  92        unsigned int    vidtcon;
  93        unsigned short  wincon;
  94        unsigned short  winmap;
  95        unsigned short  keycon;
  96        unsigned short  buf_start;
  97        unsigned short  buf_end;
  98        unsigned short  buf_size;
  99        unsigned short  osd;
 100        unsigned short  osd_stride;
 101        unsigned short  palette[S3C_FB_MAX_WIN];
 102
 103        unsigned int    has_prtcon:1;
 104        unsigned int    has_shadowcon:1;
 105        unsigned int    has_blendcon:1;
 106        unsigned int    has_clksel:1;
 107        unsigned int    has_fixvclk:1;
 108};
 109
 110/**
 111 * struct s3c_fb_win_variant
 112 * @has_osd_c: Set if has OSD C register.
 113 * @has_osd_d: Set if has OSD D register.
 114 * @has_osd_alpha: Set if can change alpha transparency for a window.
 115 * @palette_sz: Size of palette in entries.
 116 * @palette_16bpp: Set if palette is 16bits wide.
 117 * @osd_size_off: If != 0, supports setting up OSD for a window; the appropriate
 118 *                register is located at the given offset from OSD_BASE.
 119 * @valid_bpp: 1 bit per BPP setting to show valid bits-per-pixel.
 120 *
 121 * valid_bpp bit x is set if (x+1)BPP is supported.
 122 */
 123struct s3c_fb_win_variant {
 124        unsigned int    has_osd_c:1;
 125        unsigned int    has_osd_d:1;
 126        unsigned int    has_osd_alpha:1;
 127        unsigned int    palette_16bpp:1;
 128        unsigned short  osd_size_off;
 129        unsigned short  palette_sz;
 130        u32             valid_bpp;
 131};
 132
 133/**
 134 * struct s3c_fb_driverdata - per-device type driver data for init time.
 135 * @variant: The variant information for this driver.
 136 * @win: The window information for each window.
 137 */
 138struct s3c_fb_driverdata {
 139        struct s3c_fb_variant   variant;
 140        struct s3c_fb_win_variant *win[S3C_FB_MAX_WIN];
 141};
 142
 143/**
 144 * struct s3c_fb_palette - palette information
 145 * @r: Red bitfield.
 146 * @g: Green bitfield.
 147 * @b: Blue bitfield.
 148 * @a: Alpha bitfield.
 149 */
 150struct s3c_fb_palette {
 151        struct fb_bitfield      r;
 152        struct fb_bitfield      g;
 153        struct fb_bitfield      b;
 154        struct fb_bitfield      a;
 155};
 156
 157/**
 158 * struct s3c_fb_win - per window private data for each framebuffer.
 159 * @windata: The platform data supplied for the window configuration.
 160 * @parent: The hardware that this window is part of.
 161 * @fbinfo: Pointer pack to the framebuffer info for this window.
 162 * @varint: The variant information for this window.
 163 * @palette_buffer: Buffer/cache to hold palette entries.
 164 * @pseudo_palette: For use in TRUECOLOUR modes for entries 0..15/
 165 * @index: The window number of this window.
 166 * @palette: The bitfields for changing r/g/b into a hardware palette entry.
 167 */
 168struct s3c_fb_win {
 169        struct s3c_fb_pd_win    *windata;
 170        struct s3c_fb           *parent;
 171        struct fb_info          *fbinfo;
 172        struct s3c_fb_palette    palette;
 173        struct s3c_fb_win_variant variant;
 174
 175        u32                     *palette_buffer;
 176        u32                      pseudo_palette[16];
 177        unsigned int             index;
 178};
 179
 180/**
 181 * struct s3c_fb_vsync - vsync information
 182 * @wait:       a queue for processes waiting for vsync
 183 * @count:      vsync interrupt count
 184 */
 185struct s3c_fb_vsync {
 186        wait_queue_head_t       wait;
 187        unsigned int            count;
 188};
 189
 190/**
 191 * struct s3c_fb - overall hardware state of the hardware
 192 * @slock: The spinlock protection for this data sturucture.
 193 * @dev: The device that we bound to, for printing, etc.
 194 * @bus_clk: The clk (hclk) feeding our interface and possibly pixclk.
 195 * @lcd_clk: The clk (sclk) feeding pixclk.
 196 * @regs: The mapped hardware registers.
 197 * @variant: Variant information for this hardware.
 198 * @enabled: A bitmask of enabled hardware windows.
 199 * @output_on: Flag if the physical output is enabled.
 200 * @pdata: The platform configuration data passed with the device.
 201 * @windows: The hardware windows that have been claimed.
 202 * @irq_no: IRQ line number
 203 * @irq_flags: irq flags
 204 * @vsync_info: VSYNC-related information (count, queues...)
 205 */
 206struct s3c_fb {
 207        spinlock_t              slock;
 208        struct device           *dev;
 209        struct clk              *bus_clk;
 210        struct clk              *lcd_clk;
 211        void __iomem            *regs;
 212        struct s3c_fb_variant    variant;
 213
 214        unsigned char            enabled;
 215        bool                     output_on;
 216
 217        struct s3c_fb_platdata  *pdata;
 218        struct s3c_fb_win       *windows[S3C_FB_MAX_WIN];
 219
 220        int                      irq_no;
 221        unsigned long            irq_flags;
 222        struct s3c_fb_vsync      vsync_info;
 223};
 224
 225/**
 226 * s3c_fb_validate_win_bpp - validate the bits-per-pixel for this mode.
 227 * @win: The device window.
 228 * @bpp: The bit depth.
 229 */
 230static bool s3c_fb_validate_win_bpp(struct s3c_fb_win *win, unsigned int bpp)
 231{
 232        return win->variant.valid_bpp & VALID_BPP(bpp);
 233}
 234
 235/**
 236 * s3c_fb_check_var() - framebuffer layer request to verify a given mode.
 237 * @var: The screen information to verify.
 238 * @info: The framebuffer device.
 239 *
 240 * Framebuffer layer call to verify the given information and allow us to
 241 * update various information depending on the hardware capabilities.
 242 */
 243static int s3c_fb_check_var(struct fb_var_screeninfo *var,
 244                            struct fb_info *info)
 245{
 246        struct s3c_fb_win *win = info->par;
 247        struct s3c_fb *sfb = win->parent;
 248
 249        dev_dbg(sfb->dev, "checking parameters\n");
 250
 251        var->xres_virtual = max(var->xres_virtual, var->xres);
 252        var->yres_virtual = max(var->yres_virtual, var->yres);
 253
 254        if (!s3c_fb_validate_win_bpp(win, var->bits_per_pixel)) {
 255                dev_dbg(sfb->dev, "win %d: unsupported bpp %d\n",
 256                        win->index, var->bits_per_pixel);
 257                return -EINVAL;
 258        }
 259
 260        /* always ensure these are zero, for drop through cases below */
 261        var->transp.offset = 0;
 262        var->transp.length = 0;
 263
 264        switch (var->bits_per_pixel) {
 265        case 1:
 266        case 2:
 267        case 4:
 268        case 8:
 269                if (sfb->variant.palette[win->index] != 0) {
 270                        /* non palletised, A:1,R:2,G:3,B:2 mode */
 271                        var->red.offset         = 4;
 272                        var->green.offset       = 2;
 273                        var->blue.offset        = 0;
 274                        var->red.length         = 5;
 275                        var->green.length       = 3;
 276                        var->blue.length        = 2;
 277                        var->transp.offset      = 7;
 278                        var->transp.length      = 1;
 279                } else {
 280                        var->red.offset = 0;
 281                        var->red.length = var->bits_per_pixel;
 282                        var->green      = var->red;
 283                        var->blue       = var->red;
 284                }
 285                break;
 286
 287        case 19:
 288                /* 666 with one bit alpha/transparency */
 289                var->transp.offset      = 18;
 290                var->transp.length      = 1;
 291        case 18:
 292                var->bits_per_pixel     = 32;
 293
 294                /* 666 format */
 295                var->red.offset         = 12;
 296                var->green.offset       = 6;
 297                var->blue.offset        = 0;
 298                var->red.length         = 6;
 299                var->green.length       = 6;
 300                var->blue.length        = 6;
 301                break;
 302
 303        case 16:
 304                /* 16 bpp, 565 format */
 305                var->red.offset         = 11;
 306                var->green.offset       = 5;
 307                var->blue.offset        = 0;
 308                var->red.length         = 5;
 309                var->green.length       = 6;
 310                var->blue.length        = 5;
 311                break;
 312
 313        case 32:
 314        case 28:
 315        case 25:
 316                var->transp.length      = var->bits_per_pixel - 24;
 317                var->transp.offset      = 24;
 318                /* drop through */
 319        case 24:
 320                /* our 24bpp is unpacked, so 32bpp */
 321                var->bits_per_pixel     = 32;
 322                var->red.offset         = 16;
 323                var->red.length         = 8;
 324                var->green.offset       = 8;
 325                var->green.length       = 8;
 326                var->blue.offset        = 0;
 327                var->blue.length        = 8;
 328                break;
 329
 330        default:
 331                dev_err(sfb->dev, "invalid bpp\n");
 332        }
 333
 334        dev_dbg(sfb->dev, "%s: verified parameters\n", __func__);
 335        return 0;
 336}
 337
 338/**
 339 * s3c_fb_calc_pixclk() - calculate the divider to create the pixel clock.
 340 * @sfb: The hardware state.
 341 * @pixclock: The pixel clock wanted, in picoseconds.
 342 *
 343 * Given the specified pixel clock, work out the necessary divider to get
 344 * close to the output frequency.
 345 */
 346static int s3c_fb_calc_pixclk(struct s3c_fb *sfb, unsigned int pixclk)
 347{
 348        unsigned long clk;
 349        unsigned long long tmp;
 350        unsigned int result;
 351
 352        if (sfb->variant.has_clksel)
 353                clk = clk_get_rate(sfb->bus_clk);
 354        else
 355                clk = clk_get_rate(sfb->lcd_clk);
 356
 357        tmp = (unsigned long long)clk;
 358        tmp *= pixclk;
 359
 360        do_div(tmp, 1000000000UL);
 361        result = (unsigned int)tmp / 1000;
 362
 363        dev_dbg(sfb->dev, "pixclk=%u, clk=%lu, div=%d (%lu)\n",
 364                pixclk, clk, result, result ? clk / result : clk);
 365
 366        return result;
 367}
 368
 369/**
 370 * s3c_fb_align_word() - align pixel count to word boundary
 371 * @bpp: The number of bits per pixel
 372 * @pix: The value to be aligned.
 373 *
 374 * Align the given pixel count so that it will start on an 32bit word
 375 * boundary.
 376 */
 377static int s3c_fb_align_word(unsigned int bpp, unsigned int pix)
 378{
 379        int pix_per_word;
 380
 381        if (bpp > 16)
 382                return pix;
 383
 384        pix_per_word = (8 * 32) / bpp;
 385        return ALIGN(pix, pix_per_word);
 386}
 387
 388/**
 389 * vidosd_set_size() - set OSD size for a window
 390 *
 391 * @win: the window to set OSD size for
 392 * @size: OSD size register value
 393 */
 394static void vidosd_set_size(struct s3c_fb_win *win, u32 size)
 395{
 396        struct s3c_fb *sfb = win->parent;
 397
 398        /* OSD can be set up if osd_size_off != 0 for this window */
 399        if (win->variant.osd_size_off)
 400                writel(size, sfb->regs + OSD_BASE(win->index, sfb->variant)
 401                                + win->variant.osd_size_off);
 402}
 403
 404/**
 405 * vidosd_set_alpha() - set alpha transparency for a window
 406 *
 407 * @win: the window to set OSD size for
 408 * @alpha: alpha register value
 409 */
 410static void vidosd_set_alpha(struct s3c_fb_win *win, u32 alpha)
 411{
 412        struct s3c_fb *sfb = win->parent;
 413
 414        if (win->variant.has_osd_alpha)
 415                writel(alpha, sfb->regs + VIDOSD_C(win->index, sfb->variant));
 416}
 417
 418/**
 419 * shadow_protect_win() - disable updating values from shadow registers at vsync
 420 *
 421 * @win: window to protect registers for
 422 * @protect: 1 to protect (disable updates)
 423 */
 424static void shadow_protect_win(struct s3c_fb_win *win, bool protect)
 425{
 426        struct s3c_fb *sfb = win->parent;
 427        u32 reg;
 428
 429        if (protect) {
 430                if (sfb->variant.has_prtcon) {
 431                        writel(PRTCON_PROTECT, sfb->regs + PRTCON);
 432                } else if (sfb->variant.has_shadowcon) {
 433                        reg = readl(sfb->regs + SHADOWCON);
 434                        writel(reg | SHADOWCON_WINx_PROTECT(win->index),
 435                                sfb->regs + SHADOWCON);
 436                }
 437        } else {
 438                if (sfb->variant.has_prtcon) {
 439                        writel(0, sfb->regs + PRTCON);
 440                } else if (sfb->variant.has_shadowcon) {
 441                        reg = readl(sfb->regs + SHADOWCON);
 442                        writel(reg & ~SHADOWCON_WINx_PROTECT(win->index),
 443                                sfb->regs + SHADOWCON);
 444                }
 445        }
 446}
 447
 448/**
 449 * s3c_fb_enable() - Set the state of the main LCD output
 450 * @sfb: The main framebuffer state.
 451 * @enable: The state to set.
 452 */
 453static void s3c_fb_enable(struct s3c_fb *sfb, int enable)
 454{
 455        u32 vidcon0 = readl(sfb->regs + VIDCON0);
 456
 457        if (enable && !sfb->output_on)
 458                pm_runtime_get_sync(sfb->dev);
 375 * boundary.
enable && ! 361    4   ef">vidcon0 = );
);
 362
 363    4   /* OSD can be set upse.
 364    4     46"comment"> * Align the givennnnnnnnnnnnnnnnn* why you osdno
 take botrantput
down 365
 * vidosd_set_alphnnnnnnnnnnnnnnnn* sa>
 ( 366    4   re46ivers/video/s3c-fb.c#L457" id="L457" class="line"4name="L367"> 367}
vidcon0 = );
 368
ef">vidcon0 = );
 375name="L369"> 369vidcon0 = );
 370 371 372 373writel(ef">vidcon0 = sfb->regs + VIDCON0);
 374 375enable && !sfb->output_on)
 376(pm_runtime_get_sync(pmde=sfb" class="sref">sfb->dev);
 377stat4c int47ivers/video/s3c-fb.c#L448" id="L448" class="line"4name="L378"> 378{
sfb->output_on)
enable && ! 375name="L379"> 379    4   in4  380
 381    4   if48"comment"> * @enable: The sf="drivers/video/s3c-fb.c#L449" id="L449" class="line"4name="L382"> 382    4     48"comment"> * @protect: 1 to pr(structuct pare of .

 383
 * Given the specifi@infot.
 384    4    * Align the given drivers/video/s3c-fb.c#L451" id="L451" class="line" name="L385"> 385    4   re48"comment"> * vidosd_set_alpha(F

 386}
 */
 387
(structuct paref="+code=s3c_fb" class="sructinfoc_fb_enableuctinfoode=sfb" class="sref"infoc_fb_enableinfoode=s/video/s3c-fb.c#L458" id="L458" class="line"4name="L388"> 388 389uctvar_sc"+coinfoode=sfb" class="sref">var->infoode=de=variant" class="srefr-> 390s3c_fb_win *win,  391 *sfb, int win->parent;
 392;
regs + sfb->regs +  393;
rent;
code=readl" class="sref"regs +  394stat4c voi49win->index),
 395{
u32 alpha,  396    4   st4uct u32  397
u32        pagewidlerives/video/s3c-fb.c#L427" id="L427" class="line"4name="L398"> 398    4    399    4   if4(de">dev_dbg(sfb->dev, "pixclk=%u, cluctshado.
,  400    5     50ivers/video/s3c-fb.c#L381" id="L381" cl5ss="line"5name="L401"> 401    5     50ref="+code=result" class="srnc" class="sref">pm_runtime_get_sync(sfb->dev);
 402}
 403
shadow_protect_win(struct win-> 394stat5 clas50"comm/video/s3c-fb.c#L456" id="L456" cl5ss="line"5name="L405"> 405bits_per_pixel     = 32;
 406 407 398    5 clas508t  399    5 clas509t  410stat5c voi51     411{
 412    5   st5uct  413
win->variant.       palctse_sz 414    5   if51             415    5     5      416}
 417
 418 419 420 421 422 423 424stat5c voi52             425{
 426    5   st52ct infoode=de=variant" class="sfpix,  42_lenglength       > 42_lengle="+c=winable" class="sr>var->bits_per_pixel     = 32;
 427    5    428
infoode=de=variant" class="sfpix, ;
 429    5   if52infoode=de=variant" class="sfpix, ;
 430    5     53ivers/video/s3c-fb.c#L381" id="L381" cl5ss="line"5name="L431"> 431    5     5             /* OSD can be set up/span>
< OSD size fwhilst w
 432    5     5     } else ifn" class="sref">f">writel(0, regs + wi_noc_fb_enableef=_no="+cers/video/s3c-fb.c#L416" id="L416" cl5ss="line"5name="L433"> 433    5     53ivers/video/s3c-fb.c#L414" id="L414" cl5ss="line"5name="L434"> 434    5     53sfb->output_on)
 435    5     5                     s3c_fb_enable(struct sfb-> 436    5     53ivers/video/s3c-fb.c#L457" id="L457" cl5ss="line"5name="L437"> 437    5   } 5lse {
/* OSD can be set uphref=< OSDan>
 438    5     53ivers/video/s3c-fb.c#L429" id="L429" cl5ss="line"5name="L439"> 439    5     5             /* OSD can be set upsword
 440    5     5     } else ifb" class="sref"an>rent;
code=readl" class="sref"regs + wi_noc_fb_enableef=_no="+c=* 8s/video/s3c-fb.c#L329" id="L329" cl5ss="line"5name="L441"> 441    5     5      /video/s3c-fb.c#L329" id="L329" cl5ss="line"5name="L442"> 442    5     54    } else ifn" class="sref">f">writel(0, infoode=de=variant" class="sfpix, ->rent;
code=win" class="sref">sfb->variant._swordb->_swordrivers/video/s3c-fbde=reg" c72span clme=5ss="line"5name="L443"> 443    5     54ivers/video/s3c-fb.c#L414" id="L414" cl5ss="line"5name="L444"> 444    5     5     }
->infoode=de=variant" class="sfpix,  42_lenglength       > 42_lengle="+c=fritel" class="sr>var-> 445    5   }
54ref="+code=u32" class="sref">f">writel(0, );
rent;
code=win" class="sref">sfb->variant._endb->_endrivers/video/s3c-fbde=reg" c72span clme=5ss="line"5name="L446"> 446}
 447
       pagewidlerive=winable" class="sr>var->bits_per_pixel     = 32;
 448);
infoode=de=variant" class="sfpix,  42_lenglength       > 42_lengle="+c=-32" class="sref"pagewidlength       pagewidlerive) |/video/s3c-fbde=reg" c72span clme=5ss="line"5name="L449"> 449       pagewidlerive) |/video/s3c-fbde=reg" c72span clme=5ss="line"5name="L450"> 450infoode=de=variant" class="sfpix,  42_lenglength       > 42_lengle="+c=-32" class="sref"pagewidlength       pagewidlerive) |/video/s3c-fbde=reg" c72span clme=5ss="line"5name="L451"> 451       pagewidlerive)s/video/s3c-fbde=reg" c72span clme=5ss="line"5name="L452"> 452f">writel(0, );
 + sfb->variant._s>size, _s>sicode=wi+n" class="sref">wi_noc_fb_enableef=_no="+csfr4ers/video/s3c-fb.c#L416" id="L416" cl5ss="line"5name="L453"> 453stat5c voi55ivers/video/s3c-fb.c#L414" id="L414" cl5ss="line"5name="L454"> 454{
/* OSD can be set uphref=<'OSD' an>

 455    5    456
);
 457    5   if55     458    5     55ref="+code=tmp" class="sref">f">writel(0, );
 + wi_noc_fb_enableef=_no="+csfb" class="sref">sfb->variant));
 375);
structalign_wordb->structalign_wordef="+b" class="sref">var->bits_per_pixel     = 32;
 361    5    362
var-> 363    5   structalign_wordb->structalign_wordef="+b" class="sref">var->bits_per_pixel     = 32;
 364    5     56             365
var-> 366    5   re56ivers/video/s3c-fb.c#L457" id="L457" cl5ss="line"5name="L367"> 367}
f">writel(0, );
 + wi_noc_fb_enableef=_no="+csfb" class="sref">sfb->variant));
 368
 375name="L369"> 369atav);
 370 371alpha,  372 373 374 375alpha, alef="+n" class="sref">wic_fb_enableef=="+csfb" class="sref"f">alpha,  376size, sief="+n" class="sref">wic_fb_enableef=="+csfb" class="sref">atav);
 377stat5c int57ivers/video/s3c-fb.c#L448" id="L448" cl5ss="line"5name="L378"> 378{
/* OSD can be set upE 375name="L379"> 379    5   in57variant.has_shadowcon) {
 380
readl(sfb->regs + SHADOWCON);
 381    5   if58    atav);
wi_noc_fb_enableef=_no="+crs/video/s3c-fb.c#L444" id="L444" cl5ss="line"5name="L382"> 382    5     58            writel(0, );
sfb->regs + SHADOWCON);
 383
 384    5    385    5   re58ref="+code=u32" class="sref">atav);
 386}
sfb->win->index),
 387
 388/* OSD can be set upno
<, since w
 389 * s3c_fb_enable()))))))))* relyhadoon< OSDaitfield informationa/ 390 * @sfb: The main ))))))))* exactlyfwhichem"sr*of operationaisDintended.f="drivers/video/s3c-fb.c#L453" id="L453" cl5ss="line"5name="L391"> 391 392bits_per_pixel     = 32;
 393 394stat5c voi59            atav);
 395{
 396    5   st59    atav);
 397
 398    5    399    5   if59             400    6     60     401    6     60    atav);
 402}
 403
 394stat6 clas60            atav);
 395{
 406atav);
 397
 398    6 clas608t  399    6 clas60            ;
       >engle="+c=!= 0s/video/s3c-fb.c#L458" id="L458" cl6ss="line"6name="L410"> 410stat6c voi61    atav);
SH1_BPPMODE_8BPP_12u3ode=s/video/s3c-fbde=reg" c72span clme=6ss="line"6name="L411"> 411{
 412    6   st61            atav);
 413
atav);
 414    6   if61            atav);
 415    6     6      416}
 417
;
       >engle="+c=!= 0s/video/s3c-fb.c#L458" id="L458" cl6s8="line"6name="L418"> 418atav);
 419 420atav);
SH0_BPPMODE_16BPP_5naode=s/video/s3c-fbde=reg" c72span clme=6ss="line"6name="L421"> 421atav);
 422 423 424stat6c voi62             425{
 426    6   st62    ->       >engle="+c=== 6ers/video/s3c-fb.c#L441" id="L441" cl6ss="line"6name="L427"> 427    6   ;
       >engle="+c=!= 0s/video/s3c-fb.c#L458" id="L458" cl6ss="line"6name="L428"> 428
 429    6   if62             430    6     63     431    6     63    ;
       >engle="+c=== 1s/video/s3c-fb.c#L458" id="L458" cl6ss="line"6name="L432"> 432    6     63            atav);
 433    6     63     434    6     63            ;
       >engle="+c=== 4) |S/video/s3c-fb.c#L366" id="L366" cl6ss="line"6name="L435"> 435    6     6                     <<<<<<<<;
       >engle="+c=== 8)s/video/s3c-fb.c#L458" id="L458" cl6ss="line"6name="L436"> 436    6     63     437    6   } 63     438    6     638t  439    6     63             440    6     64ivers/video/s3c-fb.c#L381" id="L381" cl6ss="line"6name="L441"> 441    6     64    atav);
 442    6     64             443    6     64     444    6     6     }
 445    6   }
64ivers/video/s3c-fb.c#L366" id="L366" cl6ss="line"6name="L446"> 446}
/* OSD can be set upE 447
wi_noc_fb_enableef=_no="+cs"driv0ers/video/s3c-fb.c#L441" id="L441" cl6ss="line"6name="L448"> 448u32 atav);
ata="+c== =sfb" class="sref"keycon1_>atav);
ata="+c== =s/video/s3c-fb.c#L329" id="L329" cl6s9="line"6name="L449"> 449;
);
 + sfb->variant.);
 450 451atav);
ata="+c== ~in" class="sref"WxKEY>SH0_KEYBL_ENv);
SH0_KEYBL_ENrive=|/video/s3c-fb.c#L381" id="L381" cl6ss="line"6name="L452"> 452SH0_KEYEN_Fv);
SH0_KEYEN_Frive=|/video/s3c-fb.c#L381" id="L381" cl6ss="line"6name="L453"> 453stat6c voi65    SH0_DIR>SHADOWCON);
SH0_DIR>SH   <)=SHADOWCON_WINx_PRWxKEY>SH0_COMPKEYADOWCON);
SH0_COMPKEY    454{
 455    6   SH1_COLVALADOWCON_WINx_PRWxKEY>SH1_COLVAL    456
 457    6   if65     458    6     65a    /video/s3c-fb.c#L329" id="L329" cl6L375"> 376writel(0, atav);
ata="+csfb" class="sref"keyconv);
writel(0, atav);
ata="+csfb" class="sref"keyconv);
SHa   <)s/video/s3c-fb.c#L329" id="L329" cl6"s="line"6name="L361"> 361    6    362
 363    6   writel(0, );
 + sfb->variant.);
wi_noc_fb_enableef=_no="+csfr4ers/video/s3c-fb.c#L416" id="L416" cl6ss="line"6name="L364"> 364    6     66            writel(0, regs + variant.;
wi_noc_fb_enableef=_no="+csfr4ers/video/s3c-fb.c#L416" id="L416" cl6ss="line"6name="L365"> 365
 366    6   re6naode=       /* OSD can be set upSet f="+c valu c sdthf="drivers/video/s3c-fb.c#L453" id="L453" cl6ss="line"6name="L367"> 367}
sfb->variant.has_shadowcon) {
blend>ha   <)=s/video/s3c-fb.c#L441" id="L441" cl6ss="line"6name="L368"> 368
atav);
readl(sfb->regs +  376name="L369"> 369 370;
       >engle="+c="driv4s/video/s3c-fb.c#L458" id="L458" cl6ss="line"6name="L371"> 371 372 373 374f">writel(0, );
sfb->regs +  375 376 377stat6c int67ref="+code=u32" class="sref"win->wi+codev" class="sref">wic_fb_enableef=="+csf=)s/video/s3c-fb.c#L416" id="L416" cl6ss="line"6name="L378"> 378{
 376name="L379"> 379    6   in67sfb-> 380
 381    6   if68     382    6     68     f/video/s3c-fb.c#L428" id="L428" cl6ss="line"6name="L383"> 383
 384    6   /* OSD can be set u*drivers/video/s3c-fb.c#L453" id="L453" cl6ss="line"6name="L385"> 385    6   re68ref="ent"> * @sfb: The main * >structa href_palette() - set or schedule a palette 386}
 * @sfb: The main * @ef=: Th
 387
 * @sfb: The main * @ef=: Th
< size fbehadoa hrefd.drivers/video/s3c-fb.c#L453" id="L453" cl6ss="line"6name="L388"> 388 * @sfb: The main * @f=": Th
 376name="L389"> 389 * s3c_fb_enable()* @valu : Th
 390 * @sfb: The main *drivers/video/s3c-fb.c#L453" id="L453" cl6ss="line"6name="L391"> 391 * s3c_fb_enable()* Changfspa cvalu cof a palette
 392 * s3c_fb_enable()* th
 393 * s3c_fb_enable()* hardware whilst paisDisDin progress) or schedule th
 394stat6c voi69"commint">/* OSD can be set *drivers/video/s3c-fb.c#L453" id="L453" cl6ss="line"6name="L395"> 395{
 * @sfb: The main * At th
 396    6   st69ct  * @sfb: The main * th
 397
 * @sfb: The main *"drivers/video/s3c-fb.c#L453" id="L453" cl6ss="line"6name="L398"> 398    6   structa href_paletteb->strucb->sfb-> 376name="L399"> 399    6   if69            struc_>win->wiode=sfb" class="sref">wic_fb_enableef=="+cs/video/s3c-fb.c#L453" id="L453" cl7ss="line"7name="L400"> 400    7     70    gs +  391u32 -> 392 403
;
gs + ="+cs/video/s3c-fb.c#L329" id="L329" cl7s4="line"7name="L394"> 394stat7 clas70            has_shadowconpal>ha="+cs/video/s3c-fb.c#L329" id="L329" cl7s5="line"7name="L395"> 395{
 406gs + ="+c=readl" class="sre>sfb->regs + variant.->wic_fb_enableef=="+cde=parent" class="srf">index),
 397
 398    7 clas70ref="+code=tmp" class="sref"dev_db>gs + de=sfb" class="sref">sfb->/* OSD cstrhad">"%s:< si %d, %d (%p): %08x\n"driverss/video/s3c-fb.c#L453" id="L453" cl7s9="line"7name="L399"> 399    7 clas70            ;
wic_fb_enableef=="+cde=parent" class="srf">index),
rgs + gs + ="+cs+2" class="sref"valu r-> 410stat7c voi71ivers/video/s3c-fb.c#L381" id="L381" cl7ss="line"7name="L411"> 411{
wic_fb_enableef=="+cde=parent" class="srpalette_an>
->
rgs +  412    7   st71ivers/video/s3c-fb.c#L363" id="L363" cl7ss="line"7name="L413"> 413
readl(sfb->regs +  414    7   if71            writel(0, SH_PAL_UPDATEADOWCON_WINx_PRWPAL>SH_PAL_UPDATEriverin" class="sref">sfb->regs +  415    7     71ivers/video/s3c-fb.c#L366" id="L366" cl7ss="line"7name="L416"> 416}
wic_fb_enableef=="+cde=parent" class="srref">variant.;
 417
wwitel(0, gs + ="+c=wi+n" class="sref"">rgs +  418 419writel(0, gs + ="+c=wi+n" class="sref"">rgs +  420 421f">writel(0, sfb->regs +  422 423 424stat7c voi72     staticrrent" class="srf"> 424),
 42code=unsigned int3c_fb_enable" clchan_to_field4),
),
 425{
),
),
 426    7   st72     427    7   ),
 428
),
),
 429    7   if72            ),
),
 430    7     73     431    7     73     /video/s3c-fb.c#L329" id="L329" cl7ss="line"7name="L432"> 432    7     73 hrefent"> * s3c_fb_enable( u*drivers/video/s3c-fb.c#L453" id="L453" cl7ss="line"7name="L433"> 433    7     733hrefent"> * s3c_fb_enable()* () - fra> an>
 434    7     73"commint">/* OSD can be set * @f="no: Th
 435    7     73ref="ent"> * @sfb: The main * @f=d: Th
 436    7     73ct  * @sfb: The main * @gree=: Th
 437    7   } 73iversent"> * @sfb: The main * @blu : Th
 438    7     73aode=ent"> * @sfb: The main * @trans: Th
 439    7     73"comment"> * s3c_fb_enable()* @info: Th
 an>
 440    7     74"comment"> * @sfb: The main *"drivers/video/s3c-fb.c#L453" id="L453" cl7ss="line"7name="L441"> 441    7     74    n->+codeunsigned gs" class="sref">rnoc_fb_enable">rno="+cs/video/s3c-fb.c#L453" id="L453" cl7ss="line"7name="L442"> 442    7     74            db-> 443    7     74    ),
),
 444    7     7     }s/video/s3c-fb.c#L441" id="L441" cl7ss="line"7name="L445"> 445    7   }
74             struct3c_fb_enable" cl>struc_>win->wiode=sfb" class="sref">wic_fb_enableef=="+c=readl" class="sreinfo4),
 446}
strucb->sfb-> 447
(0,  448 449gs + de=sfb" class="sref">sfb->/* OSD cstrhad">"%s:< si %d: %d ="drivrgb=%d/%d/%d\n"driverss/video/s3c-fb.c#L453" id="L453" cl7ss="line"7name="L450"> 450wic_fb_enableef=="+cde=parent" class="srf">index),
rnoc_fb_enable">rno="+cs gs" class="sref">db-> 451 452pm_runtime_ge="syncde=sfb" class="sref">sfb-> 453stat7c voi75ivers/video/s3c-fb.c#L414" id="L414" cl7ss="line"7name="L454"> 454{
(0,  455    7   (0,  456
/* OSD can be set uptrue-colour,"use pseudo-palette<*"drivers/video/s3c-fb.c#L453" id="L453" cl7ss="line"7name="L457"> 457    7   if75ivers/video/s3c-fb.c#L448" id="L448" cl7ss="line"7name="L458"> 458    7     758t rnoc_fb_enable">rno="+c=< 16ers/video/s3c-fb.c#L441" id="L441" cl7L375"> 377pal="+c=readl" class="sreinfo4),
 361    7   db->db-> 362
(0, -> 363    7   -> 364    7     76"comm/video/s3c-fb.c#L456" id="L456" cl7ss="line"7name="L365"> 365
pal="+c[b" class="sref"">rnoc_fb_enable">rno="+c]=readl" class="sre>vlitel(0,  366    7   re76     367}
 368
 377name="L369"> 369(0,  370rnoc_fb_enable">rno="+c=< n" class="sref">wic_fb_enableef=="+cde=parent" class="srref">variant.palette_sz   <)=s/video/s3c-fb.c#L441" id="L441" cl7ss="line"7name="L371"> 371db->-> 372gs +  373-> 374 375structa href_paletteb->sfb->wic_fb_enableef=="+csfb" class="sref"">rnoc_fb_enable">rno="+cs gs" class="srefvaritel(0,  376 377stat7c int77ivers/video/s3c-fb.c#L448" id="L448" cl7ss="line"7name="L378"> 378{
 377name="L379"> 379    7   in77 380
 381    7   if78    sfb-> 382    7     78            /* OSD can be set upunknown type<*"drivers/video/s3c-fb.c#L453" id="L453" cl7ss="line"7name="L383"> 383
 384    7    385    7   re78             g" class="sref"pm_runtime_ef="syncc_fb_enablepm_runtime_ef="syncde=sfb" class="sref">sfb-> 386}
 387
 388 377name="L389"> 389 * s3c_fb_enable( u*drivers/video/s3c-fb.c#L453" id="L453" cl7ss="line"7name="L390"> 390 * @sfb: The main *  391 * s3c_fb_enable()* @blank_msre: Th
 392 * s3c_fb_enable()* @info: Th
 an>
 393 * s3c_fb_enable()*drivers/video/s3c-fb.c#L453" id="L453" cl7ss="line"7name="L394"> 394stat7c voi79"commint">/* OSD can be set * Fra> an>
 395{
 * @sfb: The main *"drivers/video/s3c-fb.c#L453" id="L453" cl7ss="line"7name="L396"> 396    7   st79ct ->->),
),
 397
 398    7   struc_>win->wiode=sfb" class="sref">wic_fb_enableef=="+c=readl" class="sreinfo4),
 377name="L399"> 399    7   if79            strucb->sfb-> 400    8     80    index),
index),
 391u32 );
 392);
 393 394stat8 clas80            sfb->/* OSD cstrhad">"blank msre %d\n"driverss3c_fb_enable" clblank_msrer-> 395{
 406sfb-> 397
 398    8 clas80ref="+code=tmp" class="sref"ef=conv);
readl(sfb->regs + variant.);
index),
 399    8 clas80 410stat8c voi81     411{
);
 412    8   st81             413
index),
 414    8   if81            <+code=clDnt">/* OSD can be set upfall through pooFB_BLANK_NORMAL *"drivers/video/s3c-fb.c#L453" id="L453" cl8s5="line"8name="L415"> 415    8     81ivers/video/s3c-fb.c#L366" id="L366" cl8ss="line"8name="L416"> 416}
);
 417
/* OSD can be set updisa hr  OSDDMA andpdisplay 0x0 (black) *"drivers/video/s3c-fb.c#L453" id="L453" cl8s8="line"8name="L418"> 418win->wi+codev" class="sref">wic_fb_enableef=="+csf1rs/video/s3c-fb.c#L416" id="L416" cl8s9="line"8name="L419"> 419writel(0,  420sfb->regs + variant.;
index),
 421win->wi+codev" class="sref">wic_fb_enableef=="+csf=)s/video/s3c-fb.c#L416" id="L416" cl8ss="line"8name="L422"> 422 423 424stat8c voi824t );
 425{
win->wi+codev" class="sref">wic_fb_enableef=="+csf1rs/video/s3c-fb.c#L416" id="L416" cl8ss="line"8name="L426"> 426    8   st82    writel(0, sfb->regs + variant.;
index),
 427    8   wic_fb_enableef=="+csf=)s/video/s3c-fb.c#L416" id="L416" cl8s8="line"8name="L428"> 428
);
 429    8   if82            index),
 430    8     83     431    8     83     /video/s3c-fb.c#L329" id="L329" cl8ss="line"8name="L432"> 432    8     832t );
 433    8     833t );
 434    8     834t  435    8     83                    sfb-> 436    8     83     437    8   } 83     438    8     83a    /video/s3c-fb.c#L329" id="L329" cl8s9="line"8name="L439"> 439    8     83win->wi+codev" class="sref">wic_fb_enableef=="+csf1rs/video/s3c-fb.c#L416" id="L416" cl8ss="line"8name="L440"> 440    8     840a href="+codv" class="sref">f">writel(0, sfb->regs + variant.);
index),
 441    8     84     /video/s3c-fb.c#L329" id="L329" cl8ss="line"8name="L442"> 442    8     84            /* OSD can be set upCheck pa ce 443    8     843hrefent"> * s3c_fb_enable()))))))))* main LCDDinterface, asre=epa re are no actb.c< size s th
ndrivers/video/s3c-fb.c#L453" id="L453" cl8ss="line"8name="L444"> 444    8     84"commint">/* OSD can be set ))))))))* itDisDhighly likely thatewe also do not nerd  hroutef=drivers/video/s3c-fb.c#L453" id="L453" cl8ss="line"8name="L445"> 445    8   }
84ref="ent"> * @sfb: The main ))))))))* anythhad.drivers/video/s3c-fb.c#L453" id="L453" cl8ss="line"8name="L446"> 446}
 * @sfb: The main ))))))))*"drivers/video/s3c-fb.c#L453" id="L453" cl8ss="line"8name="L447"> 447
->sfb->sfb-> 448win->wi+codev" class="sref">wic_fb_enableef=="+csf=)s/video/s3c-fb.c#L416" id="L416" cl8s9="line"8name="L449"> 449 450sfb-> 451 452);
 453stat8c voi85iversf/video/s3c-fb.c#L428" id="L428" cl8ss="line"8name="L454"> 454{
 455    8    * @sfb: The main u*drivers/video/s3c-fb.c#L453" id="L453" cl8ss="line"8name="L456"> 456
 * @sfb: The main * estruc_t">_display() - P"> pa cdisplay.drivers/video/s3c-fb.c#L453" id="L453" cl8ss="line"8name="L457"> 457    8   if85iversent"> * @sfb: The main *drivers/video/s3c-fb.c#L453" id="L453" cl8s8="line"8name="L458"> 458    8     85aode=ent"> * @sfb: The main * Note bephreften  hrpa cdevice at any time, asrpa irdrivers/video/s3c-fb.c#L453" id="L453" cl8s9="line"8 * s3c_fb_enable()* eflu s are latched at each vsync automatically. TaisDalso means * @sfb: The main * pa c @st call to paisDfunction< sll hav 361    8    * s3c_fb_enable()* pa re isDno nerd  hrsleep waefhado/ 362
 * s3c_fb_enable()*drivers/video/s3c-fb.c#L453" id="L453" cl8ss="line"8name="L363"> 363    8    * s3c_fb_enable()* @ef=: Th
 364    8     86"commint">/* OSD can be set * @info: Th
 an>
 365
 * @sfb: The main *"drivers/video/s3c-fb.c#L453" id="L453" cl8ss="line"8name="L366"> 366    8   re86ct _displayb->_displayde=sfstruct3c_fb_enable" clfb_ef=_scree=info4),
 367}
),
),
 368
 378name="L369"> 369struc_>win->wiode=sfb" class="sref">wic_fb_enableef=="+c==readl" class="sreinfo4),
 370strucb->sfb-> 371;
rent;
   regs + index),
 372->-> 373 374pm_runtime_ge="syncde=sfb" class="sref">sfb-> 375 376/* OSD can be set upOffsea in byt s  hrpa cetartcof pa cdisplayed area *"drivers/video/s3c-fb.c#L453" id="L453" cl8ss="line"8name="L377"> 377stat8c int87ref="+code=u32" class="sref"-> 37_lenglength       > 37_lengle="+cs/video/s3c-fb.c#L329" id="L329" cl8ss="line"8name="L378"> 378{
/* OSD can be set upXcoffsea dependseon pa ccurreva bpp *"drivers/video/s3c-fb.c#L453" id="L453" cl8s375"> 378name="L379"> 379    8   in87            (0,  380
(0,  381    8   if88     382    8     88            (0,  383
 384    8    385    8   re88                    <<<<<<<< 386}
 387
 388 378name="L389"> 389 390 391 392 393sfb->/* OSD cstrhad">"invalid bpp\n"drivers)s/video/s3c-fb.c#L329" id="L329" cl8ss="line"8name="L394"> 394stat8c voi89            <+code=cl+code=writel" class="srpm_runtime_ef="syncc_fb_enablepm_runtime_ef="syncde=sfb" class="sref">sfb-> 395{
 396    8   st89     397
 398    8   /* OSD can be set upOffsea in byt s  hrpa cendcof pa cdisplayed area *"drivers/video/s3c-fb.c#L453" id="L453" cl8s375"> 378name="L399"> 399    8   if89-> +  37_lenglength       > 37_lengle="+cs/video/s3c-fb.c#L329" id="L329" cl9ss="line"9name="L400"> 400    9     90ivers/video/s3c-fb.c#L381" id="L381" cl9s1="line"9name="L391"> 391/* OSD can be set upTemporarily turn off per-vsync a href 392 * s3c_fb_enable()))))))))* bothcetartcandpendcaddrees s are a hrefd pooprevabl corruption *"drivers/video/s3c-fb.c#L453" id="L453" cl9s3="line"9name="L393"> 393win->wi+codev" class="sref">wic_fb_enableef=="+csf1rs/video/s3c-fb.c#L416" id="L416" cl9s4="line"9name="L394"> 394stat9 clas90"comm/video/s3c-fb.c#L456" id="L456" cl9s5="line"9name="L395"> 395{
f">writel(0, ->rent;
   variant._etartn->_etart   <)s/video/s3c-fb.c#L329" id="L329" cl9ss="line"9name="L406"> 406f">writel(0, ->rent;
   variant._endn->_end   <)s/video/s3c-fb.c#L329" id="L329" cl9s7="line"9name="L397"> 397
 398    9 clas90ref="+code=tmp" class="sref"win->wi+codev" class="sref">wic_fb_enableef=="+csf=)s/video/s3c-fb.c#L416" id="L416" cl9s9="line"9name="L399"> 399    9 clas90 410stat9c voi910a href="+codv" class="sref"pm_runtime_ef="syncc_fb_enablepm_runtime_ef="syncde=sfb" class="sref">sfb-> 411{
 412    9   st91     f/video/s3c-fb.c#L428" id="L428" cl9ss="line"9name="L413"> 413
 414    9   if91"commint">/* OSD can be set u*drivers/video/s3c-fb.c#L453" id="L453" cl9s5="line"9name="L415"> 415    9     91ref="ent"> * @sfb: The main * estruc_e an>
 416}
 * @sfb: The main * @ef=: main hardware statedrivers/video/s3c-fb.c#L453" id="L453" cl9s7="line"9name="L417"> 417
 * @sfb: The main *"drivers/video/s3c-fb.c#L453" id="L453" cl9s8="line"9name="L418"> 418->strucb->sfb-> 419 420;
regs + regs +  421u32  422 423.);
 424stat9c voi92            <+code=clnnt">/* OSD can be set upIRQpdisa hrd, e 425{
readl(regs +  426    9   st92     427    9   ),
 428
 429    9   if92 430    9     93     431    9     93     432    9     93             433    9     93    ),
 434    9     93"comm/video/s3c-fb.c#L456" id="L456" cl9ss="line"9name="L435"> 435    9     93                    f">writel(0, ),
regs +  436    9     93     437    9   } 93iversf/video/s3c-fb.c#L428" id="L428" cl9s8="line"9name="L438"> 438    9     93a    /video/s3c-fb.c#L329" id="L329" cl9s9="line"9name="L439"> 439    9     93"comment"> * s3c_fb_enable( u*drivers/video/s3c-fb.c#L453" id="L453" cl9ss="line"9name="L440"> 440    9     94"comment"> * @sfb: The main *  an>
 441    9     94     ent"> * s3c_fb_enable()* @ef=: main hardware statedrivers/video/s3c-fb.c#L453" id="L453" cl9ss="line"9name="L442"> 442    9     94 hrefent"> * s3c_fb_enable()*"drivers/video/s3c-fb.c#L453" id="L453" cl9ss="line"9name="L443"> 443    9     943hrefstaticrde=s3c_fb_enable" clestruc_disa hr_irqb->strucb->sfb-> 444    9     94"comms/video/s3c-fb.c#L441" id="L441" cl9ss="line"9name="L445"> 445    9   }
94             de=s3c_fb_enable" cl__iomemrent;
regs + regs +  446}
u32  447
 448);
 449/* OSD can be set upIRQpe 450readl(regs +  451 452 453stat9c voi95    ),
 454{
 455    9   f">writel(0, ),
regs +  456
 457    9   if95iversf/video/s3c-fb.c#L428" id="L428" cl9s8="line"9name="L458"> 458    9     95a    /video/s3c-fb.c#L329" id="L329" cl9s9="line"9->->-> 361    9   strucb->sfb-> 362
;
regs + regs +  363    9   u32  364    9     96"comm/video/s3c-fb.c#L456" id="L456" cl9ss="line"9name="L365"> 365
-> 366    9   re96     367}
readl(regs +  368
 379name="L369"> 369),
 370 371/* OSD can be set upVSYNC interrupt, accept it *"drivers/video/s3c-fb.c#L453" id="L453" cl9ss="line"9name="L372"> 372f">writel(0, regs +  373 374. 375ake_up_interrupti hrb->ake_up_interrupti hrde=sf&adl" class="sre>sfb->->ait   <)s/video/s3c-fb.c#L329" id="L329" cl9ss="line"9name="L376"> 376 377stat9c int97ivers/video/s3c-fb.c#L448" id="L448" cl9ss="line"9name="L378"> 378{
/* OSD can be set upWeeonly support waefhado/ 379name="L379"> 379    9   in97"comment"> * s3c_fb_enable()))))))))* pooalways disa hr irqs a re.drivers/video/s3c-fb.c#L453" id="L453" cl9ss="line"9name="L380"> 380
 * @sfb: The main ))))))))*"drivers/video/s3c-fb.c#L453" id="L453" cl9ss="line"9name="L381"> 381    9   if98    ->sfb-> 382    9     98     /video/s3c-fb.c#L329" id="L329" cl9ss="line"9name="L383"> 383
-> 384    9   );
 385    9   re98     f/video/s3c-fb.c#L428" id="L428" cl9ss="line"9name="L386"> 386}
 387
 * @sfb: The main u*drivers/video/s3c-fb.c#L453" id="L453" cl9ss="line"9name="L388"> 388 * @sfb: The main * estruc_waef_/ 379name="L389"> 389 * s3c_fb_enable()* @ef=: main hardware statedrivers/video/s3c-fb.c#L453" id="L453" cl9ss="line"9name="L390"> 390 * @sfb: The main * @crtc: a ad index.drivers/video/s3c-fb.c#L453" id="L453" cl9ss="line"9name="L391"> 391 * s3c_fb_enable()*"drivers/video/s3c-fb.c#L453" id="L453" cl9ss="line"9name="L392"> 392->strucb->sfb->u32 . 393 394stat9c voi99            . 395{
. 396    9   st99     397
 398    9    379name="L399"> 399    9   if99 399    10ss=>10ssa href="+codv" class="sref"pm_runtime_ge="syncc_fb_enablepm_runtime_ge="syncde=sfb" class="sref">sfb-> 39110s     /video/s3c-fb.c#L329" id="L329" cl10s2="line"10same="L392"> 39210s2a href="+codv" class="sref"couvariant.. 39310s3a href="+codv" class="sref"->sfb-> 394stat10sam>10s            sfb->->ait    395{
10s                    <<<<<<<<<<<<<<<<<<<<<<<.. 396    10sam>10s     +  397
10sivers/video/s3c-fb.c#L448" id="L448" cl10s8="line"10same="L398"> 398    10sam>10sref="+code=tmp" class="sref"pm_runtime_ef="syncc_fb_enablepm_runtime_ef="syncde=sfb" class="sref">sfb-> 399    10sam>10s 410stat10nam>10na    411{
10n     412    10nam>10n     /video/s3c-fb.c#L329" id="L329" cl10n3="line"10name="L413"> 413
10n3a href="+codreturn =s/video/s3c-fb.c#L329" id="L329" cl10n4="line"10name="L414"> 414    10nam>10n4    f/video/s3c-fb.c#L428" id="L428" cl10n5="line"10name="L415"> 415    10nam>10nivers/video/s3c-fb.c#L366" id="L366" cl10n6="line"10name="L416"> 416}
10nct (0, ),
),
-> 417
10n    ),
 41810na    s/video/s3c-fb.c#L441" id="L441" cl10n9="line"10name="L419"> 41910n            struc_>win->wiode=sfb" class="sref">wic_fb_enableef=="+c=readl" class="sreinfo4),
 42010na           strucb->sfb-> 42110n    . 42210n2a href="+codv" class="sref">u32 . 42310nivers/video/s3c-fb.c#L414" id="L414" cl10n4="line"10name="L424"> 424stat10nam>10n             425{
10n             case able" class="srFBIO_WAITFORVSYNCADOWCON);
 426    10nam>10n    ->.->),
 427    10nam>10n     428
10n8t  429    10nam>10n             430    10nam>10navers/video/s3c-fb.c#L414" id="L414" cl1031="line"10name="L431"> 431    10nam>10n    .sfb->. 432    10nam>10n             433    10nam>10n3a href="+coddefaults/video/s3c-fb.c#L331" id="L331" cl10n4="line"10name="L434"> 434    10nam>10n            <+code=clndl" class="srereariant. 435    10nam>10n             f/video/s3c-fb.c#L428" id="L428" cl1036="line"10name="L436"> 436    10nam>10n     437    10nam>10n    . 438    10nam>10n8    f/video/s3c-fb.c#L428" id="L428" cl1039="line"10name="L439"> 439    10nam>10n 440    10nam>10nat  +  +  441    10nam>10n    -> 442    10nam>10n2   var->va    443    10nam>10n3   -> 444    10nam>10n4   -> 445    10nam>10n5   ),
 446}
10n6   . 447
10n7   -> 44810n8   -> 44910n9   -> 45010na   (0,  45110n    <}s/video/s3c-fb.c#L329" id="L329" cl1052="line"10name="L452"> 45210n     /video/s3c-fb.c#L329" id="L329" cl1053="line"10name="L453"> 453stat10nam>10n3    * @sfb: The main u*drivers/video/s3c-fb.c#L453" id="L453" cl10n4="line"10name="L454"> 454{
10n"commint">/* OSD can be set * estruc_missing_pixclock() - calculat s pixwr clockdeivers/video/s3c-fb.c#L453" id="L453" cl10n5="line"10name="L455"> 455    10nam>10nref="ent"> * @sfb: The main * @m"sr: The 53" i m"sr poochange.drivers/video/s3c-fb.c#L453" id="L453" cl10n6="line"10name="L456"> 456
10nct  * @sfb: The main *drivers/video/s3c-fb.c#L453" id="L453" cl10n7="line"10name="L457"> 457    10nam>10niversent"> * @sfb: The main * Calculat  pa cpixwr clock when none has been gb.cn parough platform data.drivers/video/s3c-fb.c#L453" id="L453" cl10n8="line"10name="L458"> 458    10nam>10naode=ent"> * @sfb: The main *"drivers/video/s3c-fb.c#L453" id="L453" cl10n9="line"10(0, (0, (0, 10e=    s/video/s3c-fb.c#L441" id="L441" cl1061="line"10name="L361"> 361    10nam>10e    name="L364"href="+6"commmp" class="sref"pixclkitel(0,  362
10e2a href="+codv" class="sref">u32 );
 363    10nam>10eivers/video/s3c-fb.c#L414" id="L414" cl1064="line"10name="L364"> 364    10nam>10e            (0, (0, (0,  365
10e                    DCON0" class="sm"sritel(0,  366    10nam>10ect );
(0, (0, (0,  367}
10e    (0,  368
10eref="+code=tmp" class="sref"divv);
(0,        " creee"+cof? : 6=s/video/s3c-fb.c#L329" id="L329" cl1069="line"10name="L369"> 36910e 37010naef="+code=tmp" class="sref"do_divv);
(0, );
 37110n     /video/s3c-fb.c#L329" id="L329" cl1072="line"10name="L372"> 37210n2a href="+codv" class="sref"m"sritel(0,  37310n3    f/video/s3c-fb.c#L428" id="L428" cl1074="line"10name="L374"> 37410n"comm/video/s3c-fb.c#L456" id="L456" cl10n5="line"10name="L375"> 37510nref="ent"> * @sfb: The main u*drivers/video/s3c-fb.c#L453" id="L453" cl1076="line"10name="L376"> 37610nct  * @sfb: The main *  an>
 377stat10nam>10niversent"> * @sfb: The main * @ef=: The base reeources / 378{
10naode=ent"> * @sfb: The main * @win: The window pooinitialise memory / 379    10nam>10n"comment"> * s3c_fb_enable()*drivers/video/s3c-fb.c#L453" id="L453" cl108s="line"10name="L380"> 380
10naode=ent"> * @sfb: The main * Allocat  memory / an>
 381    10nam>10n     ent"> * s3c_fb_enable()*"drivers/video/s3c-fb.c#L453" id="L453" cl10n2="line"10name="L382"> 382    10nam>10n     staticrint3c_fb_enable" cl__devinitb->(0, strucb->sfb-> 383
10n    struc_>win->wiode=sfb" class="sref">wic_fb_enableef=="+c)/video/s3c-fb.c#L453" id="L453" cl1084="line"10name="L384"> 384    10nam>10n"comms/video/s3c-fb.c#L441" id="L441" cl10n5="line"10name="L385"> 385    10nam>10n             struct3c_fb_enable" cl>struc_pd_>win->wiode=sfb" class="sref">widatac_fb_enableef=datade=s=readl" class="sre>wic_fb_enableef=="+cde=parent" class="sr>widatac_fb_enableef=datade=ss/video/s3c-fb.c#L329" id="L329" cl1086="line"10name="L386"> 386}
10nct (0, (0, 
 377stat10nam>10niversent"> * @sfb: The main * @ef=: The base reeources /<63rt_sizritel(0, 
 39010n_ieef=datade=ss/video/s3c-fb.c#L329" id="L329" cl1086="line"10namm>ipa9 clas99"commenam>0n_(0,indow pooi) - sleep until next VSYoi) -.c#L(0, strmap_ama" class="srepixcap_amaa hr base reeources /<63rt_sizritel(0,o/s3c-fb.catedrivers/video/s3c-fb..cate.c#Lnaef="+code=tmp" class="sref"do_divv)9mory /sper0,  446aev_dbnef=iv"+co)s/video/s3b.c#L329" id="L329" cl10s9="line"10same="L399"> 399    10sam>10s" cl10775"> "10name="L3line"10\n"10n       /video/s3c-fb.c#L329" id="L329" cl19eo/s3c-fb.#L453" id="L453" cl9ss="b.#L4>spen2a href="+codv" class="sref"m"sritel9->->spetel(0, ef=datade=ss/video/sL386"> 386}
10nct 66="line"10name="L366"> 366    10nam>10ect cl1=datade=ss/video/sL386"> 386}
10nct 66="line"10name="L368"> 368
10eref="+code=tmp" class="sref"divv);
<9lllllstrucame="L394"> 394stat9ucame>spe class="sref">sfb-> 377stat10na>ef=datade=ss/video/sL386"> 386}
10nct 66="line"10name="L367 377 386}
10nct 66="line"10name="L367);
<90n5="line".spenref="ent"> * @sfb: The main u*drivers/vi9_pd_>winspere>sfb-> 446aev_dbnef=iv"+co)s/video/s3b.c#L329" id="L329" cl10s9="line"10same="L399"> 399    10sam>10s"3c-fb.c#L=%u (%u.%u), 7stat=%u (%u.%u)\n"10n      397
spe="sref"crtcriant.a>(0, 
 386}
10nct 66="line"10name="L366"> 366    10nam>10ect  id="L453" cl1077o/sL386"> 386}
10nct 66="line"10name="L368"> 368
10eref 
rtc>spedl" class="sreVIDINTCON0_INT_ENABLEg="line"10name="L377"> 377stat10nam>10niversent"> *o/sL386"> 386}
10nct 66="line"10name="L367 37710niversent"> *o/sL386"> 386}
10nct 66="line"10name="L367.spe           399    .css=>spe9e>sfb->6="lCON0_INT_ENABLEg="line"10name="L377"> 377stat10na) ?a pixclockde=s=r:CON0_INT_ENABLEg="line"10name="L377"> 377stat10na  /video/s3c-fb.c#L329" id="L329" cl1e="syncc_f1_enablepm_runtime_ge=1syncd1=sfb" class="sref">sfb-&g @sfb: The main * @ef=: The>*ef1="line"10name="o/sL386"> 386}
10nct 66="line"10name="L36max_bpp" class="srepixcax_bpp453">6="lC16) ?a32>:CON0_INT_ENABLEgo/sL386"> 386}
10nct 66="line"10name="L36max_bpp" class="srepixcax_bpp453"  /video/s3c-fb.c#L329" id="L329" cl1e1"syncc_f1_L453" id="L453" cl9ss="b10sam>10b" class="sref">sfb-><@sfb: The main * @ef=: The>/= 8  /video/s3c-fb.c#L329" id="L329" cl1e2"syncc_f1_-> * @sfb: The main u*drivers/v1r_irqb1>sfb->ie 37mixe(0, ef=datade=ss/vide @sfb: The main * @ef=: The base reeources /<63rt_sizritel(1.. 10(0,  446aev_dbnef=iv"+co)s/video/s3b.c#L329" id="L329" cl10s9="line"10same="L399"> 399    10sam>10s"want %u byt"> 378<10name\n"10n     timeof=b-> @sfb: The main * @ef=: The   /video/s3c-fb.c#L329" id="L329" cl1<7<10sam>10sref="+code=tmp" class="sref"pm_runtime_1f="syncc_f1_enablepm_runtime_ef=1syncd1=sfb" class="sref">sfb-&geCi clas99"commenam>ieefimeof=b->ama_af">sfesfb"combm_runint3c_fb_enabama_af">sfesfb"combm_ref=iv"+co)s/video/s3b.c#L329" id="L329" cl10s9="line"10same="L399"> 399    10sam>10s-> @sfb: The main * @ef=: The  410stat10nam>100    10nam>10naveeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerelockde=s)s/video/smap_ama" class="srepixcap_amaa hr,edmeof=b->GFP_KERNEL" class="srepixGFP_KERNEL The   /video/s3c-fb.c#L329" id="L329" cl1.sfb-&geCi clas99"commenam>ie.(10n3="line"10name="L413"> 413
10n3a href="+codreturn =s/video/s3c-fb.c#L129" id="L319" cl10n4="line"10name="L114"> 11 class="sref">sfb-> 446aev_dbnef=iv"+co)s/video/s3b.c#L329" id="L329" cl10s9="line"10same="L399"> 399    10sam>10s"capped %x="L3%p\n"10n      415   110nam11TYriant.ie(10<< 416}
10nct     10nam"10s 4ef=iv"+co)s/video/s3eCi clas99"commenam>ie-> @sfb: The main * @ef=: The   /video/s3c-fb.c#L329" id="L329" cl1ados_shado1con" clar"4),
readl(ie 37mixe(0,     10nams"10nstar4 The>efimeof=b->map_ama" class="srepixcap_amaa hr base reeources /<63rt_sizritel(110n9="line110name="L419"> 419wic_fm>10n4    f/video/s3c-fb.c#L428" id="L428" c1cb->1sfb.1 37610nct  * @sfb: The main *  424stat10nam>12name="L454"> 454{
line"10name="L377">81"> 38110niversent"> * @sfb: The main * @ef=: The1-><1 hrcmd"+co)=s/video/s3c-f1.c#L412ers/video/s3c-fb.c#L453" id="L078="line"10name="L378"> 378{
10naode=ent"> * @sfb: The main * @win: The1ITFORVSYNC1DOWCON);
line"10name="L377">10naode=ent"> * @sfb: The main * @win: The1Itritel-> 457    10nam>10niversent"> * @sfb: The main * Calculat 1="srrearia1t.line"10name="L3 cl1077=d by/s3c-fb.c#L453" id="L4>10naode=ent"> * @sfb: The main * @win: The1I0n9="line1L329" id="L329" cl10n9="l1ne"1012 12_pixclockde=sfstruct3c_fb_enable" clfb_free3" id="38    10nams clfb_free3" id="ef=iva href="+cosfb" class="sref">u32 .ef=="+c)/video/s3c-fb.c#L453" id="L453" cl1084="line"10name="L384"> 384    10nam>10n"comms/video/s3c-fb.c#L441" id="L441" c1031="line"10name="L431"> 431    10nam>130e    name="L3641iant.<1 hrrea"+co=readl" class="1re 39010n_ieef=datade=ss/video/s3c-fb.c#L329" id="L329" cl1086="line"10namm>ipa9 clas99"commenam>0n_(1.c#L329" i1="L329" cl1033="line"10na1e="L413n3a href="+codreturn =s/video/s3c-fb.c#L11" id="L331" cl10n4="line"10name="L414"> 414    10namie.<1 hrrea"+co=re-gs" class="1refEN1TTYriant. 399    10sam>10s->PAGE_ALIGcode=regs" classPAGE_ALIGcef=iv"+co)s/video/s3eCi clas99"commenam>ie 37mixe(0,  431 1  10nam>10n                         "+co)s/video/s3eCi clas99"commenam>ie(ie 37mixe(0,     10nams"10nstar4 The   /video/s3c-fb.c#L329" id="L329" cl10n7="line"10name="L437"> 437    10nam>10n    mm/video/s3c-fb.c#L456" id="L456" cl1ant. 439   110nam13 * @sfb: The main *  440    10nam>13id="L453" cl9ss="line"9name="L453" clrele0nal108L453"rele0name="L378"> 378 377stat10nam>>10naode=ent"> * @sfb: The main * @win: The1gs + <1 hrefb_opede=reg" class="1ref"e143" cl9ss="line"9name="L391"> 3979="line"10name="L3cle0nup381">e="L378"> 378>10naode=ent"> * @sfb: The main * @win: The1gant.<1nea           <+creadl" c1ass="14name="L382"> 382    10nam10naode=ent"> * @sfb: The main * @win: The1gc#L329" i1va    376 3Rele0nam81">e="L378"> that3" cc#L329im=d 378{
 * @sfb: The main * @win: The1g" id="L331 hruc_set_paa    454{
{ 377statinstance and an0name="L3329im=d 37810naode=ent"> * @sfb: The main * @win: The1gant.<1ruc_blank   ),1u32 .ef=="+c)/video/s3c-fb.c#L453" id="L453" cl1084="line"10name="L384"> 384    10nam>10n"comms/video/s3c-fb.c#L441" id="L441" c1riant.1a hruc_fillf=ca   name="L3641r->1a hruc_copyarea   readl(386"> 386}
10nct ->1ipa9 clas99"commenam>0n_(0, <1 uc_ioctrde=sa href=readl1 clas1="sre. 421(0, .<1"10name="L452"> 452 386}
10nct >ef=datade=ss/videread="L451"> 451read=ef=iv"+co)s/video/s3b.c#L329" id="L329" cl10s9="line"10same="L399reg 368
blelower_margSHADOWCOcode=regs" classSHADOWCOc The   /video/s3c-fb.c#L329" id="L329" cl1053="line"10name="L453"> 453stat10nam>15"> 433    10nam>1a hrENOTTY"+cos/video/sa386"> 386}
10nct >reloc= ~elower_margSHADOWCOc_CHx_ENAB="L442"> 442 SHADOWCOc_CHx_ENAB="ef=iv"+co)s/video/s3o/s3c-fb.c#L329" id="L329" cl1086="line"10namclas93c-fb.c#L329" iclas9 The   /video/s3c-fb.c#L329" id="L329" cl10" id="L331c#L453" id="L453" cl10n4=1line"15>wiode=sfb" cTY"+cos/video/sa386"> 386}
10nct >reloc= ~elower_margSHADOWCOc_CHx_LOCAL_ENAB="L442"> 442 SHADOWCOc_CHx_LOCAL_ENAB="ef=iv"+co)s/video/s3o/s3c-fb.c#L329" id="L329" cl1086="line"10namclas93c-fb.c#L329" iclas9 The   /video/s3c-fb.c#L329" id="L329" cl10ant.<1ck() - calculat s pixwr c1ockde15TYriant. 451esfb"=ef=iv"+co)s/video/s3a386"> 386}
10nct  timeof=b-> .c#L329" id="L329" cl10s9="line"10same="L399reg 368
blelower_margSHADOWCOcode=regs" classSHADOWCOc The   /video/s3c-fb.c#L329" id="L329" cl104),1 poochange.drivers/video/13c-fb15 10nam>10n           mm/video/s3c-fb.c#L456" id="L456" cl1eo/s3c-fb.1#L453" id="L453" cl10n7="1ine"115="sref"crtcriant.a>(0, 
unregister_ 377sta" id="L329" cl10nregister_ 377staef=iv"+co)s/video/s3o/s3c-fb.c#L329" id="L329" cl1086="line"10namm>ipa9 clas99"commenam>0n_->1lock when none has been g1.cn p15dl" class="sreVIDINTCipa9 clas99"commenam>0n_->1c#L453" id="L453" cl10n9=1line"15me="L429"> 429    10nam>1e="L390"> 390ipa9 clas99"commenam>0n_-&1lockitel(0,     10nam>10naveuct3c_fb_enable" clfb_free3" id="38    10nams clfb_free3" id="ef=iv" class="sref"crtcriant. 384    10nam>10n"com  /video/s3c-fb.c#L329" id="L329" cl11061="line110name="L361"> 361   110nam16"srestalrele0na clas99"commenam377stalrele0naef=iv"+co)s/video/s3o/s3c-fb.c#L329" id="L329" cl1086="line"10namm>ipa9 clas99"commenam>0n_ 364    10nam>10e            10nct  * @sfb: The main * (0,1wic_fbrobal108L453"register d="
 * @sfb: The main *  an>
 378{
 * @sfb: The main * ->1>10naode=ent"> * @sfb: The main * @win: The1a href=iv"1cof*readl" class="srem"sr1tele="ulta1" 10nam>>10naode=ent"> * @sfb: The main * @win: The1aayb-&10name="L370"> 37016ame="L380"> 380
10naode=ent"> * @sfb: The main * Allocat  1;
10nloc_m"> 379 * @sfb: The main * Allocat  1;ref="+6"c10name="L372"> 37217name="L382"> 382    10nam 10nam>s>10naode=ent"> * @sfb: The main * @win: The1(0,  376 >10n"commstaticrde=s3c_fb_enable" clestruc_11074="line110name="L374"> 374(0, strucbbrobal10838    10nams clfb_brobal108ef=iva href="+cosfb" class="sref">u32 .(0, 
108_n9 clas99"commena108_n9c"+comstaticrde=s3c_fb_enable" clestruc_11 href=iv"10name="L375"> 37517TYriant.ef=="+c)/video/s3c-f_saria1"> 421 421(0,1c#L453" id="L453" cl1076=1line"17"+co=!readl" class="sre>sfb->ef=="+c)/video/s3c-fb.c#L453" id="L453" cl1084="ling" class="sref"c"> 368
10eref) /video/s3c-fb.c#L329" id="L329" cl1oc_memory(1 - allocat  display memor1 /name="L3641base reeou1ces / 3901sar_ecreenspa9de=reg" class="sref"csar> 421 390-&1#L453" id="L453" cl108s="1ine"117="sref">wic_fb_enableef=="+c=readl" clde=s=readl" class="sre>wic_fb_enableef=="+cde=parent" class="sr>widatac_fb_enable an>
-> 384    10nam>10n"co 39010n_0n_(1b->1a hr_"devinitde=reg" clas1="sre18"> 433   el(0, 
palettene"10name="L377"> 37palettene"10a hr base reeources /<63rt_sizritel(1b074="line1t3c_fb_enable" cl>struc_>1in 42210n2a href="+codv" class="sref">u32  385   110nam18nref="ent"> * @sfb: The main u*drivers/v1c_pd_>win<1a>->wi1de=sf1" class="sref""+co)s/video/s3aev_dbname="L446"> 446aev_dbnef=iv"+co)s/video/s3b.c#L329" id="L329" cl10s9="line"10same="L399"> 399    10sam>10s"brob5"> 10name=%d,56aria1" %p\n"10n     /a>(0, 
108_n9 clas99"commena108_n9c"+coCON0_INT_ENABLEg=aria1"> 421(0, 1readl(.(0,  37palettene"10a hr>ef=datade=ss/vide=aria1"> 421 37paletteneza href 4  /video/s3c-fb.c#L329" id="L329" cl19mory /s19n    sfb->eCipa9 clas99"commenam>0n_ef=datade=ss/videm377stalc#L45 clas99"commenam377stalc#L45ef=iva"10ofva href="+cosfb" class="sref"3c-fb.c#L453" id="L453" cl1084="l)  ->1b->s19"> 433    10nam>1a hrENOTTTTTTTTTTTTt; 37palettene"10a hr>* a"10ofva>( 399    10sam>10s 394stat9u1ame>s19    10namsfb-&geCipa9 clas99"commenam>0n_s19TYriant. 421 399    10sam>10s"failedL"L3 cl1077="m377sta\n"10n       /video/s3c-fb.c#L329" id="L329" cl19_pd_>win<1a"+cos/video/s3c-fb.c#L3<1a"+>s19"+co=!readl" class="sd="L329" cl1012="line"10NOEN"> 428
u32  397
s1e="sref"crtcrimm/video/s3c-fb.c#L456" id="L456" cl19 1rtc"+co != 0)/video/s3c->1rtc>s19sref="+code=tmp" class="sref"pm_runtime_19indow poo1ant.s19sfb" class="sref">sfb->" class="sr>widatac_fb_enableef=datade=ss/videb.c#L329" id="L329" cl10s9="line"10same="L399pclass="sr>widatac_fpm>10nct 66="line"10name="L36> 384    10nam>10n"co[a>(0, 
108_n9 clas99"commena108_n9c"+c]href="+codv" class="sref">u32  399    .1ss=>s1e9e>sfb->efg" class="sref"crtcriant.widatac_fpm>10nct 66="line"10name="L36vtiming" 421u32 pm_runtime_ge=2syncd20n    sfb->WARN_Ocode=regs" classWARN_Ocef=iv"+co)s/video/s3o/sL386"> 386}
10nct 66="line"10name="L36max_bpp" class="srepixcax_bpp453">== 0   /video/s3c-fb.c#L329" id="L329" cl2e2"syncc_f2_->(0,  386}
10nct 66="line"10name="L36x"> 366    10nam>10ect c== 0   /video/s3c-fb.c#L329" id="L329" cl2e3"syncc_f2_me="L394"> 394stat9u2de=sf2" class="sref">sfb-> 386}
10nct 66="line"10name="L368"> 368
10erefc== 0   /video/s3c-fb.c#L329" id="L329" cl2e4"syncc_f2_/a>. * @sfb: The main u*drivers/v2<<<. 384    10nam>10n"co>ef=datade=ss/videm>ipa9 clas99"commenam>0n_ 444 20(0,  368
10eref>ef=datade=ss/video/s3c-fb.c#L329" id="L32920sam>20sref">readl(0n_ 421sfb-&go/s3c-fb.c#L329" id="L329" cl1086="line"10nam=aria1"> 421efg" class="sref"c=aria1"> 421 399    .20nam>209e>sfb->ipa9 clas99"commenam>0n_ef=datade=ss/videm>ipa9 clas99"commenam>0n_.sfb-&go/s3c-fb.c#L329" id="L329" cl1086="line"10nampare1"> 421ef=datade=ss/videb.c#L329" id="L329" cl10s.sfb->o/s3c-fb.c#L329" id="L329" cl1086="line"10name="L386"> 386}
10nct >ef=datade=ss/video/sL386"> 386}
10nct  413
21tel(0, ef=datade=ss/video/s_n9 clas99"commena108_n9c"+c 21 class="sref">sfb->sta" id="L329" cl1paletten/a>sta The>efva>( 415   210nam21nref="ent"> * @sfb: The main u*drivers/v20<< 416}
21 class="sref""+co)s/video/s3> 42210n2a >ef=datade=ss/videbcb->sfb-><=datade=ss/videb.c#L329" id="L329" cl10so)e"10name="L384"> 384    10nam>10n"com  /video/s3c-fb.c#L329" id="L329" cl2ctritel 42210n2a    ),
 399    10sam>10s"failedL"L3 cl1077="line"10name="L\n"10n       /video/s3c-fb.c#L329" id="L329" cl210n9="line210name="L419"> 419 429   d="L329e"10name="L422"> 42210n2a href="+codv" class="sref">u32 win2>wiode=sf2" cla2s="sref">wic_fmm/video/s3c-fb.c#L456" id="L456" cl2cb->2.e/b/g position> 378{10name's palette> >10n"commstaticrde=s3c_fb_enable" clestruc_2href="+cod2=reg" class="sref"crtcria2t2220,  421(0,  424stat20nam>22>wiodfdeo/s3c-fb.c#L453" idam Set RGB 5:6:5 as >10n"commstaticrde=s3c_fb_enable" clestruc_2h0n5="line2 hrcmd"+co)=s/video/s3c-f2.c#L422TYriant.u32 );
 369ef5href="+codv" class="sref">u32 ->.a>(0, 
o/s3c-fb.c#L329" id="L329" cl1086="line"10nampalette" class="srepixpalettee(0, (0,     10namoffs 4n2a >ef5href="+codv" class="sref">u32 .(0,  369ef6href="+codv" class="sref">u32  429   ON0_INT_ENABLEgo/s3c-fb.c#L329" id="L329" cl1086="line"10nampalette" class="srepixpalettee(0,  220    10nam>10naveuct3c_fb_enableo/s3c-fb.c#L329" id="L329" cl1086="line"10nampalette" class="srepixpalettee(0,  369ef5href="+codv" class="sref">u32  431    20nam>23n    .<2 hrrea"+co=readl" class="2re 433    10nam>1fdeo/s3c-fb.c#L453" idam Set 8bpp 78<8bpp and 1bit3 cpha> >10n"commstaticrde=s3c_fb_enable" clestruc_21" id="L332" cl10n4="line"10name="L424"> 423>wiodfY"+cos/video/so/s3c-fb.c#L329" id="L329" cl1086="line"10nampalette" class="srepixpalettee(0,  421(0,     10namoffs 4n2a >ef16href="+codv" class="sref">u32 .<2 hrrea"+co=re-gs" class="2refEN2TTYriant. 369ef8  /video/s3c-fb.c#L329" id="L329" cl2L428" cl1026="line"10name="L436"> 432 2  10nam>10n           ON0_INT_ENABLEgo/s3c-fb.c#L329" id="L329" cl1086="line"10nampalette" class="srepixpalettee(0, (0,     10namoffs 4n2a >ef8  /video/s3c-fb.c#L329" id="L329" cl2Ltritel 437    20nam>23="sref"crtcriant.a>(0, 
o/s3c-fb.c#L329" id="L329" cl1086="line"10nampalette" class="srepixpalettee(0, (0,  369ef8  /video/s3c-fb.c#L329" id="L329" cl2Ldos_shado2hrrea"+cos/video/s3c-fb.c2L329"23dl" class="sreVIDINTCON0_INT_ENABLEgo/s3c-fb.c#L329" id="L329" cl1086="line"10nampalette" class="srepixpalettee(0,  439   210nam23me="L429"> 429   ON0_INT_ENABLEgo/s3c-fb.c#L329" id="L329" cl1086="line"10nampalette" class="srepixpalettee(0,  369ef8  /video/s3c-fb.c#L329" id="L329" cl2L8" id="L420name="L440"> 440    20nam>23="sref">wic_fmm/video/s3c-fb.c#L456" id="L456" cl2gs + <2 hrefb_opede=reg" class="2ref"e24n    .<2nea           <+creadl" c2ass="24b" class="srefdeo/s3c-fb.c#L453" idam s="Lp381">_m"> 37 " cla eo/s from{10name> >10n"commstaticrde=s3c_fb_enable" clestruc_2gc#L329" i2va   (0, (0,  366    10nam>10ect c=id="L453" cl1077o/sL386"> 386}
10nct 66="line"10name="L366"> 366    10nam>10ect   /video/s3c-fb.c#L329" id="L329" cl2g" id="L332 hruc_set_paa   sfb->(0, <8"> 368
10erefc=1=datade=ss/video/sL386"> 386}
10nct 66="line"10name="L368"> 368
10eref="+code=tmp" class="sref"divv);
2gant.<2ruc_blank   ->d="L453" cl1_to_sar> 421ipa9 clas99"commenam>0n_ 421),2.2a hruc_fillf=ca   ipa9 clas99"commenam>0n_ 37mixe(0, );
2gdos_shado2a hruc_copyarea   readl(0n_ 37mixe(0,  451acc"=ref">readl<=1=datade=ss/videFB_ACCEL_NONE3c-fb.c#L453" iFB_ACCEL_NONEeref="+code=tmp" class="sref"divv);
2g039="line2sfb-&geCipa9 clas99"commenam>0n_ 421(0, );
2g8" id="L42t;sfb->0n_ 421(0, readl<=1=datade=ss/videFB_VMODE_NONINTERLACED3c-fb.c#L453" iFB_VMODE_NONINTERLACEDeref="+code=tmp" class="sref"divv);
2l(0, <2 uc_ioctrde=sa href=readl2 clas25sfb" class="sref">sfb-&geCipa9 clas99"commenam>0n_ 421(0,  451bits_per_pix"=erefc=1=datade=ss/video/sL386"> 386}
10nct 66="line"10name="L36default_bpp" class="srepixdefault_bpperef="+code=tmp" class="sref"divv);
2lant.<2"10name="L452"> 452sfb->eCipa9 clas99"commenam>0n_op 368
op e="L429"> 429);
2lc#L329" i20name="L453"> 453stat20nam>25tel(0, 0n_
 429 428
);
2l" id="L332c#L453" id="L453" cl10n4=2line"25 class="sref">sfb->0n_);
2lant.<2ck() - calculat s pixwr c2ockde25nref="ent"> * @sfb: The main u*drivers/v204),2 poochange.drivers/video/23c-fb25 10nam>10n   fdeo/s3c-fb.c#L453" idam prepareL"L3 ctually star4{ 377stat >10n"commstaticrde=s3c_fb_enable" clestruc_2eo/s3c-fb.2#L453" id="L453" cl10n7="2ine"125n    ->2lock when none has been g2.cn p25sref">readl(0n_ 421ipa9 clas99"commenam>0n_->2c#L453" id="L453" cl10n9=2line"25me="L429"> 42 42210n2a  < 0   -&2lockitel(0,     10nam>10naveuct3c_fb_enableaev_err> 421 399    10sam>10s"check_sar failedLon>_m"> 37 " cla params\n"10n       /video/s3c-fb.c#L329" id="L329" cl21061="line210name="L361"> 361   210nam26"sre 42210n2a href="+codv" class="sref">u32  364    20nam>26310nam>10n   fdeo/s3c-fb.c#L453" idam cre77="_m"> 37 colour mapt >10n"commstaticrde=s3c_fb_enable" clestruc_2a href=iv"2cof=readl" class="srem"sr2tel * @sfb: The main u*drivers/v2tel(0,2 42210n2a >ef=datade=ss/vide"sref">sfcmap" class="srepixa>ipa9 clas99"commenam>0n_ 384    10nam>10n"co" cl1086="line"10nam=aria1"> 421(0,  37paletteneza hr, 1   /video/s3c-fb.c#L329" id="L329" cl2to/s3c-fb.2cof*readl" class="srem"sr2tel 42210n2a c== 0  /video/s3c-fb.c#L329" id="L329" cl2t->20n_ipa9 clas99"commenam>0n_ 42else /video/s3c-fb.c#L329" id="L329" cl2aayb-&20name="L370"> 370260    10nam>10naveuct3c_fb_enableaev_err> 421 399    10sam>10s"failedL"L3 cl1077="mb cmap\n"10n       /video/s3c-fb.c#L329" id="L329" cl2;
 37227b" class="sref">sfb->bcbsetfname="L444"> 444setfnamef=iv"+co)s/video/s3m>ipa9 clas99"commenam>0n_ 374sfb-> 446aev_dbnef=iv"+co)s/video/s3b.c#L329" id="L329" cl10s9="line"10same="L399"> 399    10sam>10s"aboutL"L3register m377sta\n"10n       /video/s3c-fb.c#L329" id="L329" cl21 href=iv"20name="L375"> 37527nref="ent"> * @sfb: The main u*drivers/v21el(0,2c#L453" id="L453" cl1076=2line"27 10nam>10n   fdeo/s3c-fb.c#L453" idam run{check_sar and setfnamLon>our configuration.t >10n"commstaticrde=s3c_fb_enable" clestruc_2oc_memory(2 - allocat  display memor2 /readl(staef=iv"+co)s/video/s3m>ipa9 clas99"commenam>0n_ 42 42210n2a  < 0   -&2#L453" id="L453" cl108s="2ine"1270    10nam>10naveuct3c_fb_enableaev_err> 421 399    10sam>10s"failedL"L3register m377sta\n"10n       /video/s3c-fb.c#L329" id="L329" cl2emory / an>
 42210n2a href="+codv" class="sref">u32 ->2a hr_"devinitde=reg" clas2="sre28n3a href="+codreturn =s/video/s3c-fb.c#L2b074="line2t3c_fb_enable" cl>struc_>2insfb-> 399    10sam>10s"10name=%d:"mb %s\n"10n     /a>(0, 
108_n9 clas99"commena108_n9c"+coCON0_INT_ENABLEgm>ipa9 clas99"commenam>0n_ 37mixe(0,  425{
 385   210nam28nref="ent"> * @sfb: The main u*drivers/v2c_pd_>win<2a>->wi2de=sf2" class="sref"d="L329   f/video/s3c-fb.c#L428" id="L428" c2lreal_sizr2tel(0, 2 * @sfb: The main * 10naode=ent"> * @sfb: The main * @win: The29mory /s293" cl9ss="line"9name="L391"> 3978="line"10name="L378"> 378{
10naode=ent"> * @sfb: The main * @win: The29ref="+6"c2#L453" id="L453" cl9ss="b2#L4>s29name="L382"> 382    10nam10naode=ent"> * @sfb: The main * @win: The29->2b->s29a hrc"L376"> 376 3Set horizontal and : Ttical lcd10naode=ent"> * @sfb: The main * @win: The29074="line2ame="L394"> 394stat9u2ame>s29name="L454"> 454{
10n"commstaticrde=s3c_fb_enable" clestruc_290n5="line2.s29TYrialockde=sfstruct3c_fb_enable" clfb_setfrgb_timinge="L444"> 444setfrgb_timingef=iva href="+cosfb" class="sref">u32 .win<2a"+cos/video/s3c-fb.c#L3<2a"+>s29"+co=  397
s2e="sref"crtcrime"9name="L390"> 390ef=datade=ss/videb.c#L329" id="L329" cl10s9="line"10same="L399pclass="sr>widatac_fpm>10nct 66="line"10name="L36vtiming" 421u32 2rtc"+co != 0)/video/s3c->2rtc>s29sref">readl
ef=datade=ss/videb.c#L329" id="L329" cl10s9="line"10same="L399reg 368
u32 .s29sfb" class="s"line"10name="L422"clkdi 399    10saclkdi nct href="+codv" class="sref">u32  399    .2ss=>s2e9e>sfb->386"> 386}
10nct sfb-&g=eo/s3c-fb.c#L453" iveo/snct 9="line"10same="L399pixclocks="sr>widatac_fpixclockc"+c  /video/s3c-fb.c#L329" id="L329" cl3e2"syncc_f3_->(0, sfb->bcbmissing_pixclocks="sr>widatac_fbcbmissing_pixclockef=iv"+co)s/video/s3=eo/s3c-fb.c#L453" iveo/snct    /video/s3c-fb.c#L329" id="L329" cl3e3"syncc_f3_me="L394"> 394stat9u3de=sf30e            .->clkdi 399    10saclkdi nct >ef=datade=ss/videbcbcalc_pixclks="sr>widatac_fbcbcalc_pixclkef=iv"+co)s/video/s3b.c#L329" id="L329" cl10soCON0_INT_ENABLEg=eo/s3c-fb.c#L453" iveo/snct 9="line"10same="L399pixclocks="sr>widatac_fpixclockc"+c   /video/s3c-fb.c#L329" id="L329" cl3e5"syncc_f3_"+cos/video/s3c-fb.c#L3<3hrcou30nct  30(0,  386}
10nct >ef=datade=ss/videb.c#L329" id="L329" cl10s9="line"10same="L399pclass="sr>widatac_fpm>10nct 66="line"10name="L36vidcon03c-fb.c#L453" ividcon0nct 30sam>30sref">readl( 386}
10nct >reloc= ~v"+co)s/video/s3VIDCON0_CLKVAL_F_MASK"> 386}
|/a>( 386}
. 399    .30nam>309e>sfb-&g    10saclkdi nct >6="l 1  /video/s3c-fb.c#L329" id="L329" cl3. 386}
10nct >|ef=datade=ss/videVIDCON0_CLKVAL_F"> 386}
    10saclkdi nct -1)>|/a>( 386}
. 413
31tel(0, sfb->a386"> 386}
10nct >reloc= ~elower_margVIDCON0_CLKDIR"> 386}
10n"commstaticrde=s3c_fb_enable" clestruc_3<3"syncc_f39" cl10n4="line"10name="L314"> 31e             415   310nam314e>sfb-&g. 421(0,  416}
31 10nam>10n           ON0_INT_ENABLEga386"> 386}
10nct >|ef(1 << 5   /video/s3c-fb.c#L329" id="L329" cl3ctritel 451esfb"=ef=iv"+co)s/video/s3a386"> 386}
10nct  timeof=b->reg 368
blelower_margVIDCON0"> 386}
),
 419sfb-&ga386"> 386}
10nct >ef=datade=ss/videVIDTCON0_VBPD3c-fb.c#L453" iVIDTCON0_VBPDef=iv"+co)s/video/s3=eo/s3c-fb.c#L453" iveo/snct t.    10namupper_marg 3nct >- 1)>|"+code=tmp" class="sref"pm_runtime_319"syncc_f3>wiode=sf3" cla310    10nam>10nav=datade=ss/videVIDTCON0_VFPD3c-fb.c#L453" iVIDTCON0_VFPDef=iv"+co)s/video/s3=eo/s3c-fb.c#L453" iveo/snct t.    10namlower_marg 3nct >- 1)>|"+code=tmp" class="sref"pm_runtime_3cb->3.    10namsargwile3nct >- 1)  /video/s3c-fb.c#L329" id="L329" cl3.sfb->osfb"="L451"> 451esfb"=ef=iv"+co)s/video/s3a386"> 386}
10nct  timeof=b->reg 368
blelower_margas_shadowcon" clcouvariant. 421(0, <329tcon3c-fb.c#L453" ividtconc"+c   /video/s3c-fb.c#L329" id="L329" cl3href="+cod3=reg" class="sref"crtcria3t32n3a href="+codreturn =s/video/s3c-fb.c#L30n4="line"30name="L424"> 424stat30nam>32 class="sref">sfb-> 386}
10nct >ef=datade=ss/videVIDTCON1_HBPD3c-fb.c#L453" iVIDTCON1_HBPDef=iv"+co)s/video/s3=eo/s3c-fb.c#L453" iveo/snct t.    10namleft_marg 3nct >- 1)>|"+code=tmp" class="sref"pm_runtime_3c0n5="line3 hrcmd"+co)=s/video/s3c-f3.c#L432TYriant..    10namright_marg 3nct >- 1)>|"+code=tmp" class="sref"pm_runtime_3c<<);
.    10namhargwile3nct >- 1)  /video/s3c-fb.c#L329" id="L329" cl3-> 451esfb"=ef=iv"+co)s/video/s3a386"> 386}
10nct  timeof=b->reg 368
blelower_margas_shadowcon" clcouvariant. 421(0, <329tcon3c-fb.c#L453" ividtconc"+c>bl4)  /video/s3c-fb.c#L329" id="L329" cl3.sfb-&ga386"> 386}
10nct >ef=datade=ss/videVIDTCON2_LINEVAL3c-fb.c#L453" iVIDTCON2_LINEVALef=iv"+co)s/video/s3=eo/s3c-fb.c#L453" iveo/snct t. 368
10erefc- 1)>|"+code=tmp" class="sref"pm_runtime_3c9"syncc_f38" cl103s="line"10name="L330"> 320    10nam>10nav=datade=ss/videVIDTCON2_HOZVAL3c-fb.c#L453" iVIDTCON2_HOZVALef=iv"+co)s/video/s3=eo/s3c-fb.c#L453" iveo/snct t. 366    10nam>10ect c- 1)>|"+code=tmp" class="sref"pm_runtime_3031="line"30name="L431"> 431    30nam>33"sre. 368
10erefc- 1)>|"+code=tmp" class="sref"pm_runtime_3iant.<3 hrrea"+co=readl" class="3re10nav=datade=ss/videVIDTCON2_HOZVAL_E3c-fb.c#L453" iVIDTCON2_HOZVAL_Eef=iv"+co)s/video/s3=eo/s3c-fb.c#L453" iveo/snct t. 366    10nam>10ect c- 1)  /video/s3c-fb.c#L329" id="L329" cl3.c#L329" i3="L329" cl1033="line"10na3e="L433"> 433   e=de=parent" clesfb"="L451"> 451esfb"=ef=iv"+co)s/video/s3a386"> 386}
10nct  timeof=b->reg 368
blelower_margas_shadowcon" clcouvariant. 421(0, <329tcon3c-fb.c#L453" ividtconc"+c>bl8)  /video/s3c-fb.c#L329" id="L329" cl3.n4="line"3" cl10n4="line"10name="L434"> 433>.<3 hrrea"+co=re-gs" class="3refEN33nref="ent"> * @sfb: The main u*drivers/v3L428" cl1036="line"10name="L436"> 433 3  10naspan class="comment1010nct  * @sfb: The main *  437    30nam>33="sre453" cl9ss="line"9name="L453" clclearl108L453"clear{
registers>10naode=ent"> * @sfb: The main * @win: The3Ldos_shado3hrrea"+cos/video/s3c-fb.c3L329"33dl" c9ss="line"9name="L391"> 3978="line"10name="L378"> 378{
10naode=ent"> * @sfb: The main * @win: The31039="line310name="L439"> 439   310nam33to pro8">s>10naode=ent"> * @sfb: The main * @win: The3L9"syncc_f30name="L440"> 440    30nam>33id="L453" cl9ss="line"9name="10naode=ent"> * @sfb: The main * @win: The3gs + <3 hrefb_opede=reg" class="3ref"e343" cl9ss="line"9name="L391"> 3Reset /a>{specific{10name>registersL"L3  known statm>10naode=ent"> * @sfb: The main * @win: The3gant.<3nea           <+creadl" c3ass="34name="L382"> 382    10nam>10n"commstaticrde=s3c_fb_enable" clestruc_3gc#L329" i3va   u32 . 384    10nam>10n"commstaticrde=s3c_fb_enable" clestruc_3gn4="line"3 hruc_set_paa   .<3ruc_blank   
ef=datade=ss/videb.c#L329" id="L329" cl10s9="line"10same="L399reg 368
u32 ),3
u32 readl( 451esfb"=ef=iv0 timeof=b->reg 368
blelower_margas_shadowcon" clcouvariant. 421(0, <>10con3c-fb.c#L453" i>10connct >blv"+co)s/video/s3o/s3c-fb.c#L329" id="L329 *l4))  /video/s3c-fb.c#L329" id="L329" cl3g039="line3sfb-&gesfb"="L451"> 451esfb"=ef=iv0 timeof=b->reg 368
blelower_margVIDOSD_A3c-fb.c#L453" iVIDOSD_Aef=iv"+co)s/video/s3o/s3c-fb.c#L329" id="L329 timeof=b-> .c#L329" id="L329" cl10s9="line"10same="L399saria1"> 421sfb-> 451esfb"=ef=iv0 timeof=b->reg 368
blelower_margVIDOSD_B3c-fb.c#L453" iVIDOSD_Bef=iv"+co)s/video/s3o/s3c-fb.c#L329" id="L329 timeof=b-> .c#L329" id="L329" cl10s9="line"10same="L399saria1"> 421(0, <3 uc_ioctrde=sa href=readl3 clas35sfb" class="sref">sfb-&gesfb"="L451"> 451esfb"=ef=iv0 timeof=b->reg 368
blelower_margVIDOSD_C3c-fb.c#L453" iVIDOSD_Cef=iv"+co)s/video/s3o/s3c-fb.c#L329" id="L329 timeof=b-> .c#L329" id="L329" cl10s9="line"10same="L399saria1"> 421.<3"10name="L452"> 452 453stat30nam>35tel(0, . 421(0, sfb-&greg368
ef=datade=ss/videread="L451"> 451read=ef=iv"+co)s/video/s3b.c#L329" id="L329" cl10s9="line"10same="L399reg 368
blelower_margSHADOWCOcode=regs" classSHADOWCOcc"+c   /video/s3c-fb.c#L329" id="L329" cl3lant.<3ck() - calculat s pixwr c3ockde35TYriant.
reloc= ~v"+co)s/video/s3SHADOWCOc_WINx_PROTEC"> 428
),3 poochange.drivers/video/33c-fb35 10nam>10n           a hrENOTTY"+cos/video/sSHADOWCOc_CHx_ENABLE3c-fb.c#L453" iSHADOWCOc_CHx_ENABLEef=iv"+co)s/video/s3o/s3c-fb.c#L329" id="L329)>|"+code=tmp" class="sref"pm_runtime_30tritel.a hrENOTTY"+cos/video/sSHADOWCOc_CHx_LOCAL_ENABLE3c-fb.c#L453" iSHADOWCOc_CHx_LOCAL_ENABLEef=iv"+co)s/video/s3o/s3c-fb.c#L329" id="L329)   /video/s3c-fb.c#L329" id="L329" cl3ldos_shado3lock when none has been g3.cn p35dl" class="sreVIDINTCON0_INT_ENABLEgosfb"="L451"> 451esfb"=ef=iv"+co)s/video/s3reg368
-> .c#L329" id="L329" cl10s9="line"10same="L399reg 368
blelower_margSHADOWCOcode=regs" classSHADOWCOcc"+c   /video/s3c-fb.c#L329" id="L329" cl3l039="line3c#L453" id="L453" cl10n9=3line"35me="L429"> 42mm/video/s3c-fb.c#L456" id="L456" cl30ayb-&3lockitel(0, mm/video/s3c-fb.c#L456" id="L456" cl31061="line310name="L361"> 361   310nam36n    " 421="line"10name="L363"bcbprobs3c-fb.c#L453" ibcbprobsef=iva href="+cosfb" class=platform_dev_cs3c-fb.c#L453" iplatform_dev_cs06s="g" class="sref"cp"> 399    10sapm>10s 364    30nam>36310nam>10n   constime"9name="L390"> 390 425{
06s="g" class="sref"cplati> 425{
06s=  /video/s3c-fb.c#L329" id="L329" cl3a href=iv"3cof=readl" class="srem"sr3tel. 386}
    10safbdr 06s=  /video/s3c-fb.c#L329" id="L329" cl3a4),3 399    10sam>10s 399    10sapm>10s 399    10sam>10s 390plata386"> 386}
    10sapm0su32 . 42a href="+cosfb" class=e="L378"368

u32 -&30name="L370"> 370360    10na"line"10name="L422"> 384    10nam>10n"cohref="+codv" class="sref">u32     10na"line"10name="L422"> 42210n2a >ef   f/video/s3c-fb.c#L428" id="L428" c3;ref="+6"c30name="L372"> 37237b" class="sref">sfb->329" id="L329" cl1063="line"10name="L363"reg368
u32  374sfb-> 425{
06s=>ef=datade=ss/videplatform_get_dev_cs_i> 425{
ef=iv"+co)s/video/s3p"> 399    10sapm>10su32  37537terrupti hr_timeof=b->d=dr 399    10safbdr 06s=>efva href="+cosfb" class="sref"_c-fb.ca386"> 386}
sfb-> 425{
06s=9="line"10same="L399"-fb.c_a386"> 386}
u32 ),3c#L453" id="L453" cl1076=3line"37nct     10safbdr 06s=t. 421(0, 
r="l elower_margS3C_FB_MAX_WINode=regs" classS3C_FB_MAX_WINe 399    10sam>10s"too many{10names, cannot attach\n"10n       /video/s3c-fb.c#L329" id="L329" cl3( href=iv"3nitialise memory / 429   d="L329-"+co)s/video/s3EINVAL3c-fb.c#L453" iEINVALnct href="+codv" class="sref">u32 -&3#L453" id="L453" cl108s="3ine"137="sref">wic_fmm/video/s3c-fb.c#L456" id="L456" cl3emory / an>
sfb->p"399    10sapm0sef=datade=ss/videp"> 399    10sapm>10s 399    10sam>10s(0, widatac_fplatform_dlasnct href="+codv" class="sref">u32 ->3a hr_"devinitde=reg" clas3="sre38tel(0, sfb-&gp"399    10sapm0sstruc_>3insfb-&gaev_err> 421 399    10sam>10s"no platform dlas{specified\n"10n       /video/s3c-fb.c#L329" id="L329" cl310n5="line310name="L385"> 385   310nam38TYriant.u32 win<3a>->wi3de=sf3" class="sref"mm/video/s3c-fb.c#L456" id="L456" cl3ec_memory(3tel(0, 3readl(ef=datade=ss/videm>1m_kz cl10399    10sam>1m_kz cl10ef=iv"+co)s/video/s3"> 399    10sam>10su32 u32  42sfb-&grtcriant.-&3atedrivers/video/s3c-fb..3ate.c380    10nam>10naveuct3c_fb_enableaev_err> 421 399    10sam>10s"no memory 378stas\n"10n       /video/s3c-fb.c#L329" id="L329" cl39mory /s39"sreu32 ->3b->s39n3a href="+codreturn =s/video/s3c-fb.c#L39074="line3ame="L394"> 394stat9u3ame>s39 class="sref">sfb-> 446aev_dbnef=iv"+co)s/video/s3"> 399    10sam>10s"acl1077="new{ 377stat%p\n"10n     timeof=b-> .c#L329" id="L329" cl10s   /video/s3c-fb.c#L329" id="L329" cl390n5="line3.s39nref="ent"> * @sfb: The main u*drivers/v39_pd_>win<3a"+cos/video/s3c-fb.c#L3<3a"+>s39 class="sref""+co)s/video/s3b.c#L329" id="L329" cl10s9="line"10same="L399"> 399    10sam>10sef=datade=ss/videm>1399    10sam>10s 397
s39(0, widatac_fpm>10nct >ef=datade=ss/videp"399    10sapm0s3rtc"+co != 0)/video/s3c->3rtc>s39sref">readl(. 421ef=datade=ss/vide"sdr 399    10safbdr 06s=t. 421.s39           399    .3ss=>s3e9e>sfb->" 421ef=ivrelockde=s)s/video/satcriant..sfb->atcriant..widatac_fclk_getef=iv"+co)s/video/s3"> 399    10sam>10s"lcd"10n       /video/s3c-fb.c#L329" id="L329" cl4e2"syncc_f4_->(0,  386}
.. 394stat9u4de=sf40 class="sref"class="sref">sfb-&gaev_err> 421 399    10sam>10s"failedL"L3get bus clock\n"10n       /video/s3c-fb.c#L329" id="L329" cl4e4"syncc_f4_/a>..10n2a >ef=datade=ss/videPTR_ERR"> 386}
..10n           go"L3.. 40(0, 40sam>40sref="+code=tmp" class="sref"pm_runtime_4e8<.sfb-&gclk_enabl"368
.. 399    .40nam>409e>sf /video/s3c-fb.c#L329" id="L329" cl4.sfb-&grtcriant.. 421(0,  451has_clks"=c"+c   .10navef">sfb->atcriant..widatac_fclk_getef=iv"+co)s/video/s3"> 399    10sam>10s"sclk_fimd"10n       /video/s3c-fb.c#L329" id="L329" cl4<2"syncc_f40name="L413"> 413
41tel(0,  386}
.. 41 class="sref"class="sclass="sref">sfb-&gaev_err> 421 399    10sam>10s"failedL"L3get lcd 415   410nam41TYriant.10n2a >ef=datade=ss/videPTR_ERR"> 386}
.. 416}
41 10nam>10n                   go"L3..mm/video/s3c-fb.c#L456" id="L456" cl4ados_shado4con" clar"4),
 419 429   ref">sfb-&gclk_enabl"368
..wiode=sf4" cla41="sref">wic_fmm/video/s3c-fb.c#L456" id="L456" cl4cb->4.sfb->pm_runtime_enabl"368
.. 399    10sam>10s42n3a href="+codreturn =s/video/s3c-fb.c#L40n4="line"40name="L424"> 424stat40nam>42 class="sref">sfb->
ef=datade=ss/videplatform_get_e="L378"368
 399    10sapm>10s->IORESOURCE_MEM3c-fb.c#L453" iIORESOURCE_MEM0s.<sfb-&gre 368
);
sfb-&gaev_err> 421 399    10sam>10s"failedL"L3find>registers\n"10n       /video/s3c-fb.c#L329" id="L329" cl4->.TY"+cos/video/sre42210n2a >ef-"+co)s/video/s3ENOEN"> 428
. 42mm/video/s3c-fb.c#L456" id="L456" cl4c9"syncc_f48" cl103s="line"10name="L430"> 429e>sf /video/s3c-fb.c#L329" id="L329" cl4031="line"40name="L431"> 431    40nam>43sfb" class="sref">sfb-&g .c#L329" id="L329" cl10s9="line"10same="L399reg 368
ef=datade=ss/videm>1m_request_and_ioremap" class="srepixm>1m_request_and_ioremapef=iv"+co)s/video/s3"> 399    10sam>10ssfb-&gre 368
.<4 hrrea"+co=readl" class="4resfb-&grtcriant..
sfb-&gaev_err> 421 399    10sam>10s"failedL"L3map>registers\n"10n       /video/s3c-fb.c#L329" id="L329" cl4.n4="line"4" cl10n4="line"10name="L444"> 443 class="sref"class="sref">sfb-&gre42210n2a >ef-"+co)s/video/s3ENXIO> 428
.<4 hrrea"+co=re-gs" class="4refEN43TYriant. 434 43 class="sref"mm/video/s3c-fb.c#L456" id="L456" cl4Ltritel 437    40nam>43n    readl(
 399    10sapm>10s->IORESOURCE_IRQ3c-fb.c#L453" iIORESOURCE_IRQ0s 439   410nam43me="L429"> 42sfb-&gre 368
 440    40nam>430    10nam>10naveuct3c_fb_enableaev_err> 421 399    10sam>10s"failedL"L3acquire irqme="L378"\n"10n       /video/s3c-fb.c#L329" id="L329" cl4gs + <4 hrefb_opede=reg" class="4ref"e44"sre10n2a >ef-"+co)s/video/s3ENOEN"> 428
.<4nea           <+creadl" c4ass="44c_waef_/10navego"L3.va   sfb-&g .c#L329" id="L329" cl10s9="line"10same="L399irq_n9 clas99"commenairq_n9nct >ef=datade=ss/videre 368
." 421e.<4ruc_blank   ->re42210n2a >ef=datade=ss/videm>1m_request_irq" class="srepixm>1m_request_irqef=iv"+co)s/video/s3"> 399    10sam>10ssfb-&g .c#L329" id="L329" cl10s9="line"10same="L399irq_n9 clas99"commenairq_n9nct ,edef">sfb-&g sref"_irq" class="srepix sref"_irqnct , /video/s3c-fb.c#L329" id="L329" cl4g428" cl10410n                     0,edrivers/videome"ing">"ssref""10n     timeof=b-> .c#L329" id="L329" cl10s   /video/s3c-fb.c#L329" id="L329" cl4"tritel10n2a     399    10sam>10s"irqme=quest failed\n"10n       /video/s3c-fb.c#L329" id="L329" cl4g039="line4 429   go"L3.wic_fmm/video/s3c-fb.c#L456" id="L456" cl4l(0, <4 uc_ioctrde=sa href=readl4 clas45n    .<4"10name="L452"> 452sfb->aev_dbname="L446"> 446aev_dbnef=iv"+co)s/video/s3"> 399    10sam>10s"go"me="L378"> (reg t%p), probing 10names\n"10n     timeof=b-> .c#L329" id="L329" cl10st.
 453stat40nam>45n3a href="+codreturn =s/video/s3c-fb.c#L4l" id="L334c#L453" id="L453" cl10n4=4line"45 class="sref">sfb->widatac_fplatform_setfdrvdlasef=iv"+co)s/video/s3p"> 399    10sapm>10s-> .c#L329" id="L329" cl10s   /video/s3c-fb.c#L329" id="L329" cl4lant.<4ck() - calculat s pixwr c4ockde45terrupti hr_timeof=b->pm_runtime_get_argw368
.. 399    10sam>10s),4 poochange.drivers/video/43c-fb45nct 10n"commstaticrde=s3c_fb_enable" clestruc_4ldos_shado4lock when none has been g4.cn p45sref="+code=tmp" class="sref"pm_runtime_4l039="line4c#L453" id="L453" cl10n9=4line"45sfb" class="sref">sfb-&gp"399    10sapm0s..(0, sf /video/s3c-fb.c#L329" id="L329" cl41061="line410name="L361"> 361   410nam46sfb" class="sref">sfb-&gesfb"="L451"> 451esfb"=ef=ivref">sfb-&gp"399    10sapm0s.    10savidcon10ssfb-&g .c#L329" id="L329" cl10s9="line"10same="L399reg 368
blelower_margVIDCON1399    10saVIDCON10s10n"commstaticrde=s3c_fb_enable" clestruc_4h" id="L3340name="L364"> 364    40nam>46310nam>10n   . 421(0, widatac_fhas_fixvclkn2a    .
ef=datade=ss/videread="L451"> 451read=ef=iv"+co)s/video/s3b.c#L329" id="L329" cl10s9="line"10same="L399reg 368
blelower_margVIDCON1399    10saVIDCON10s),4sfb-&greg368
reloc= ~elower_margVIDCON1_VCLK_MASK"> 386}
.TY"+cos/video/sreg368
|ef=datade=ss/videVIDCON1_VCLK_RUNode=regs" classVIDCON1_VCLK_RUNe 451esfb"=ef=iv"+co)s/video/s3reg368
-> .c#L329" id="L329" cl10s9="line"10same="L399reg 368
blelower_margVIDCON1399    10saVIDCON10s 42mm/video/s3c-fb.c#L456" id="L456" cl4aayb-&40name="L370"> 370469e>sf /video/s3c-fb.c#L329" id="L329" cl4;
    10nafdeo/s3c-fb.c#L453" idam zerL3all 10names before we dL3anything m>10n"commstaticrde=s3c_fb_enable" clestruc_4;ref="+6"c40name="L372"> 37247b" cl /video/s3c-fb.c#L329" id="L329" cl4(0,  384    10nam>10n"co <f=datade=ss/vide"sdr 399    10safbdr 06s=t. 421(0, 
 384    10nam>10n"co++mmstaticrde=s3c_fb_enable" clestruc_41074="line410name="L374"> 374sfb-&gs clfb_clearl108s="sr>widatac_fbcbclearl108ef=ivimeof=b-> .c#L329" id="L329" cl10s timeof=b->o/s3c-fb.c#L329" id="L329)  /video/s3c-fb.c#L329" id="L329" cl4( href=iv"40name="L375"> 37547nref="ent"> * @sfb: The main u*drivers/v4(4),4c#L453" id="L453" cl1076=4line"475    10nafdeo/s3c-fb.c#L453" idam _m">ialise colour key controlsam>10n"commstaticrde=s3c_fb_enable" clestruc_4oc_memory(4 - allocat  display memor4 / 384    10nam>10n"co <fhrcrtc"+co,enabld=dr 399    10safbdr 06s=t. 421(0, 
- 1) ne"10name="L422"> 384    10nam>10n"co++m  
ef=datade=ss/videb.c#L329" id="L329" cl10s9="line"10same="L399reg 368
blelower_margas_shadowcon" clcouvariant. 421(0,     10nam>10naveuct3c_fb_enablereg 368
b=lv"+co)s/video/s3o/s3c-fb.c#L329" id="L329 *l8)  /video/s3c-fb.c#L329" id="L329" cl4emory / an>
 451esfb"=ef=iv0xffffff timeof=b->reg 368
blelower_margWKEYCON0368
10navef">sfb->esfb"="L451"> 451esfb"=ef=iv0xffffff timeof=b->reg 368
blelower_margWKEYCON1399    10saWKEYCON1L329)  /video/s3c-fb.c#L329" id="L329" cl4e0, struc_>4in 385   410nam48terrupti hr_timeof=b->bcbsetfrgb_timing"="sr>widatac_fbcbsetfrgb_timingef=ivimeof=b-> .c#L329" id="L329" cl10s)  /video/s3c-fb.c#L329" id="L329" cl4e4),4a>->wi4de=sf48nct (0, {
{register setup, star> acl1077ing m377stasam>10n"commstaticrde=s3c_fb_enable" clestruc_4, 4 42378 384    10nam>10n"co <f=datade=ss/vide"sdr 399    10safbdr 06s=t. 421(0, 
 384    10nam>10n"co++m  -&4atedrivers/video/s3c-fb..4ate.c480    10nam>10navesfb-&gp"399    10sapm0s. 384    10nam>10n"co[. 384    10nam>10n"co]mmstaticrde=s3c_fb_enable" clestruc_49mory /s49"sre->4b->s49tel(0, sfb-&gre42210n2a >ef=datade=ss/videscbprobsl108s="sr>widatac_fbcbprobsl108ef=ivimeof=b-> .c#L329" id="L329" cl10s timeof=b->o/s3c-fb.c#L329" id="L329 timeof=b->"sdr 399    10safbdr 06s=t. 384    10nam>10n"co[. 384    10nam>10n"co], /video/s3c-fb.c#L329" id="L329" cl49074="line4ame="L394"> 394stat9u4ame>s49 class="sref"class="sclass="ssssssssssssssssrelockde=s)s/video/satcriant..
 384    10nam>10n"co]m  /video/s3c-fb.c#L329" id="L329" cl49 href=iv"4.s49TYriant.10n2a  <f0m  win<4a"+cos/video/s3c-fb.c#L3<4a"+>s49 10nam>10n           a hrENOTTY"+cos/video/saev_err> 421 399    10sam>10s"failedL"L3cre77="10name>%d\n"10n     timeof=b->o/s3c-fb.c#L329" id="L329)  /video/s3c-fb.c#L329" id="L329" cl49real_sizr4me="L397"> 397
s49="sref"crtcriant.........378 384    10nam>10n"co &/a>ef  ne"10name="L422"> 384    10nam>10n"co--mmstaticrde=s3c_fb_enable" clestruc_49 4rtc"+co != 0)/video/s3c->4rtc>s49dl" class="sreVIDINTC        a hrENOTTY"+cos/video/sbcbreleassl108s="sr>widatac_fbcbreleassl108ef=ivimeof=b-> .c#L329" id="L329" cl10s timeof=b->atcriant..
 384    10nam>10n"co]m  /video/s3c-fb.c#L329" id="L329" cl49indow poo4ant.s49me="L429"> 429           go"L3.    10namerr_pm_runtimee 399    .4ss=>s490    10nam>10navemm/video/s3c-fb.c#L456" id="L456" cl5e="syncc_f5_enablepm_runtime_ge=5syncd50"sre->(0, sfb-&gplatform_setfdrvdlass="sr>widatac_fplatform_setfdrvdlasef=iv"+co)s/video/s3p"> 399    10sapm>10s-> .c#L329" id="L329" cl10s   /video/s3c-fb.c#L329" id="L329" cl5e3"syncc_f5_me="L394"> 394stat9u5de=sf50 class="sref">sfb->
 399    10sam>10s. * @sfb: The main u*drivers/v5e5"syncc_f5_"+cos/video/s3c-fb.c#L3<5hrcou50 10nam>10n   d="L329   f/video/s3c-fb.c#L428" id="L428" c5<<< 50n    50sam>50sref=.    10namerr_pm_runtimee.sfb-&gpm_runtime_put_argw368
 399    10sam>10s 399    .50nam>509e>sf /video/s3c-fb.c#L329" id="L329" cl5..sfb->pm_runtime_disabl"368
 399    10sam>10s 413
51n3a href="+codreturn =s/video/s3c-fb.c#L5<3"syncc_f59" cl10n4="line"10name="L514"> 51310nam>10n   sfb-&grtcriant.. 421(0,  451has_clks"=c"+c    415   510nam51TYriant.(0, 
widatac_flcd_clke 416}
51 10nam>10n           tritel(0, 
widatac_flcd_clke),
 419wiode=sf5" cla519e>sfb->
widatac_fbus_clke->5sfb-&gclk_put368
widatac_fbus_clke52n3a h.. 424stat50nam>52 class="sref"d="L329rcrtc"+co,enablre42210n2a   /video/s3c-fb.c#L329" id="L329" cl5c0n5="line5 hrcmd"+co)=s/video/s3c-f5.c#L452TYriamm/video/s3c-fb.c#L456" id="L456" cl5c<<);
->.remove() - Cleanup on module3finalisatione1: The platform dev_cs w>{are boundL"L.e 529e>sffdeo/s3c-fb.c#L453" id *e 431    50nam>53sfb" fdeo/s3c-fb.c#L453" id * Shutdown3and then releass3all /a>{re"L378"> that /a>{=s3c_f acl1077edeialisation.e10n"commstaticrde=s3c_fb_enable" clestruc_5.n4="line"5" cl10n4="line"10name="L454"> 453 claslockde="line"10name="L422"__devex">" 421classTY"+cos/video/sbcbremoves="sr>widatac_fbcbremoveef=iva href="+cosfb" class=platform_dev_cs3c-fb.c#L453" iplatform_dev_cs06s="g" class="sref"cp"> 399    10sapm>10s.<5 hrrea"+co=re-gs" class="5refEN53TYria  435 53 class="sref"a href="+cosfb" class=ssref">u32 .ef=datade=ss/videplatform_get_drvdlass="sr>widatac_fplatform_getfdrvdlasef=iv"+co)s/video/s3p"> 399    10sapm>10s 437    50nam>53(0,  384    10nam>10n"cohref="+codv" class="sref">u32  439   510nam53sfb" class="sref">sfb-&gpm_runtime_get_argw368
.. 399    10sam>10s 440    50nam>539e>sf /video/s3c-fb.c#L329" id="L329" cl5gs + <5 hrefb_opede=reg" class="5ref"e54"sre 384    10nam>10n"co <f=datade=ss/videS3C_FB_MAX_WINode=regs" classS3C_FB_MAX_WINe 384    10nam>10n"co++mmstaticrde=s3c_fb_enable" clestruc_5gant.<5nea           <+creadl" c5ass="54c_waef_/10nave.
 384    10nam>10n"co]mmstaticrde=s3c_fb_enable" clestruc_5gc#L329" i5va   (0, sfb-&gbcbreleassl108s="sr>widatac_fbcbreleassl108ef=ivimeof=b-> .c#L329" id="L329" cl10s timeof=b->atcriant..
 384    10nam>10n"co]m  /video/s3c-fb.c#L329" e" clestruc_5gn4="line"5 hruc_set_paa   .<5ruc_blank   sfb-&grtcriant.. 421(0,  451has_clks"=c"+c   10n           tritel(0, 
widatac_flcd_clke.TY"+cos/video/sclk_put368
widatac_flcd_clkesfb->
widatac_fbus_clke(0, <5 uc_ioctrde=sa href=readl5 clas55sfb" class="sref">sfb-&gclk_put368
widatac_fbus_clke.<5"10name="L452"> 452 453stat50nam>55tel(0, sfb-&gpm_runtime_put_argw368
 399    10sam>10ssfb->
 399    10sam>10s.<5ck() - calculat s pixwr c5ockde55nref="ent"> * @sfb: The main u*drivers/v504),5 poochange.drivers/video/53c-fb55 10nam>10n   d="L329   f/video/s3c-fb.c#L428" id="L428" c50tritelsfb->    10saCONFIG_PM_SLEEPref="+code=tmp" class="sref"pm_runtime_5l9"syncc_f5lockitel(0, sflockde="line"10name="L422"bcbsuspen"399    10sabcbsuspen"ef=iva href="+cosfb" class=dev_cs3c-fb.c#L453" idev_cs06s="g" class="sref"c"> 399    10sam>10s 361   510nam56sfb"   399    10sapm>10sef=datade=ss/videto_platform_dev_cs3c-fb.c#L453" ito_platform_dev_csef=iv"+co)s/video/s3"> 399    10sam>10su32 .ef=datade=ss/videplatform_get_drvdlass="sr>widatac_fplatform_getfdrvdlasef=iv"+co)s/video/s3p"> 399    10sapm>10s 364    50nam>56310nam>10n   a href="+cosfb" class=ssref"l108s="sr>widatac_fbcbd="L329 *e"10name="L422"> 384    10nam>10n"cohref="+codv" class="sref">u32 .< 3_n9 clas99"commena> 3_n9n"cohref="+codv" class="sref">u32 ),5sfb-&gpm_runtime_get_argw368
.. 399    10sam>10s 42378 3_n9n"co>ef=datade=ss/videS3C_FB_MAX_WINode=regs" classS3C_FB_MAX_WINe- 1 ne"10name="L422"> 3_n9 clas99"commena> 3_n9n"co>&/a>ef  ne"10name="L422"> 3_n9 clas99"commena> 3_n9n"co--   -&50name="L370"> 370560    10nam>10naveuct3c_fb_enableo/s3c-fb.c#L329" id="L329 efimeof=b->atcriant..
 3_n9 clas99"commena> 3_n9n"co]  /video/s3c-fb.c#L329" id="L329" cl5;
sfb-&go/s3c-fb.c#L329" id="L329) /video/s3c-fb.c#L329" id="L329" cl5;ref="+6"c50name="L372"> 37257c_waef_/10naveeeeeeeeecontinue  /video/s3c-fb.c#L329" id="L329" cl5(0,  374{blank functionL"L3push<10n"commstaticrde=s3c_fb_enable" clestruc_5( href=iv"50name="L375"> 37557TYriant.(0, blanks="sr>widatac_fbcbblankef=iv"+co)s/video/s3FB_BLANK_POWERDOWNode=regs" classFB_BLANK_POWERDOWNl10s timeof=b->> 384    10nam>10n"co-.),5c#L453" id="L453" cl1076=5line"57 class="sref"mm/video/s3c-fb.c#L456" id="L456" cl5oc_memory(5 - allocat  display memor5 /sfb-&grtcriant.. 421(0,  451has_clks"=c"+c  429   ref">sfb-&gclk_disabl"368
widatac_flcd_clke-&5#L453" id="L453" cl108s="5ine"1579e>sf /video/s3c-fb.c#L329" id="L329" cl5emory / an>
sfb-&gclk_disabl"368
widatac_fbus_clkesfb-&gpm_runtime_put_argw368
 399    10sam>10sstruc_>5in 385   510nam58terrupti hr_td="L329   f/video/s3c-fb.c#L428" id="L428" c5e4),5a>->wi5de=sf58nct (0, 5resume84    10nambcbresumeef=iva href="+cosfb" class=dev_cs3c-fb.c#L453" idev_cs06s="g" class="sref"c"> 399    10sam>10s-&5atedrivers/video/s3c-fb..5ate.c580    10naa href="+cosfb" class=platform_dev_cs3c-fb.c#L453" iplatform_dev_cs06s="g" class="sref"cp"> 399    10sapm>10sef=datade=ss/videto_platform_dev_cs3c-fb.c#L453" ito_platform_dev_csef=iv"+co)s/video/s3"> 399    10sam>10ss59"sreu32 .ef=datade=ss/videplatform_get_drvdlass="sr>widatac_fplatform_getfdrvdlasef=iv"+co)s/video/s3p"> 399    10sapm>10splatdlass="sr>widatac_fbcbplatdlas06s="g" class="sref"cp"399    10sapmL329 efimeof=b->atcriant..->s592"sref"crtcria href="+cosfb" class=ssref"l108s="sr>widatac_fbcbd="L329 *e"10name="L422"> 384    10nam>10n"cohref="+codv" class="sref">u32  394stat9u5ame>s59 class="sref" 3_n9 clas99"commena> 3_n9n"cohref="+codv" class="sref">u32 .s59terrupti hr_timeof=b->u="L329" cl1ommenau3tel->reg368
u32 ),5a"+cos/video/s3c-fb.c#L3<5a"+>s59nct  397
s59="sref"crtcriref">sfb-&gpm_runtime_get_argw368
.. 399    10sam>10s5rtc"+co != 0)/video/s3c->5rtc>s59sref="+code=tmp" class="sref"pm_runtime_59indow poo5ant.s59sfb" class="sref">sfb-&gclk_enabl"368
widatac_fbus_clke 399    .5ss=>s599e>sf /video/s3c-fb.c#L329" id="L329" cl6e="syncc_f6_enablepm_runtime_ge=6syncd60"sresfb-&grtcriant.. 421(0,  451has_clks"=c"+c sfb->clk_enabl"368
widatac_flcd_clke-> 394stat9u6de=sf60 class="sref">deo/s3c-fb.c#L453" idam setup gpiL3and output polarity controlsam>10n"commstaticrde=s3c_fb_enable" clestruc_6e4"syncc_f6_/a>.->p"399    10sapm0s..10n   e"10name="L422">sfb"="L451"> 451esfb"=ef=ivref">sfb-&gp"399    10sapm0s.    10savidcon10ssfb-&g .c#L329" id="L329" cl10s9="line"10same="L399reg 368
blelower_margVIDCON1399    10saVIDCON1e 397
 60n    60sam>607class="sref">deo/s3c-fb.c#L453" idam set 329"  clockerunning at under-runam>10n"commstaticrde=s3c_fb_enable" clestruc_6e8<. 42sfb-&grtcriant.. 421(0, widatac_fhas_fixvclkn2a     399    .60nam>600    10nam>10naveuct3c_fb_enablereg368
ef=datade=ss/videread="L451"> 451read=ef=iv"+co)s/video/s3b.c#L329" id="L329" cl10s9="line"10same="L399reg 368
blelower_margVIDCON1399    10saVIDCON10s.
reloc= ~elower_margVIDCON1_VCLK_MASK"> 386}
.10navef">sfb->reg368
|ef=datade=ss/videVIDCON1_VCLK_RUNode=regs" classVIDCON1_VCLK_RUNe 413
61tel(0, sfb-&gosfb"="L451"> 451esfb"=ef=iv"+co)s/video/s3reg368
-> .c#L329" id="L329" cl10s9="line"10same="L399reg 368
blelower_margVIDCON1399    10saVIDCON10s 61310nam>10n   mm/video/s3c-fb.c#L456" id="L456" cl610n5="line610name="L415"> 415   610nam61nref="ent"> * @sfb: The main u*drivers/v615"syncc_f60name="L416"> 416}
61 10nam>10n   fdeo/s3c-fb.c#L453" idam zerL3all 10names before we dL3anything m>10n"commstaticrde=s3c_fb_enable" clestruc_61<< 3_n9n"co>ef  ne"10name="L422"> 3_n9 clas99"commena> 3_n9n"co <f=datade=ss/vidertcriant.. 421(0, 
 3_n9 clas99"commena> 3_n9n"co++mmstaticrde=s3c_fb_enable" clestruc_6ados_shado6con" clar"4),
widatac_fbcbclearl108ef=ivimeof=b-> .c#L329" id="L329" cl10s timeof=b->o/s_n9 clas99"commena> 3_n9n"co)  /video/s3c-fb.c#L329" id="L329" cl6<8< 419wiode=sf6" cla619e>sfb-&g378 3_n9n"co>ef  ne"10name="L422"> 3_n9 clas99"commena> 3_n9n"co <f=datade=ss/vidertcriant.. 421(0, 
- 1 ne"10name="L422"> 3_n9 clas99"commena> 3_n9n"co++m  ->6
ef=datade=ss/videb.c#L329" id="L329" cl10s9="line"10same="L399reg 368
blelower_margas_shadowcon" clcouvariant. 421(0, 10navef">sfb->e/s3c-fb.c#L329" id="L329 efimeof=b->atcriant..
 3_n9 clas99"commena> 3_n9n"co]  /video/s3c-fb.c#L329" id="L329" cl6href="+cod6=reg" class="sref"crtcria6t62tel(0, sfb-&go/s3c-fb.c#L329" id="L329) /video/s3c-fb.c#L329" id="L329" cl60n4="line"60name="L424"> 424stat60nam>62 class="sref"class="ssssssssscontinue  /video/s3c-fb.c#L329" id="L329" cl6c0n5="line6 hrcmd"+co)=s/video/s3c-f6.c#L462nref="ent"> * @sfb: The main u*drivers/v6c<<);
10n           tritel(0, protectl108s="sr>widatac_fbhadow>protectl108ef=ivimeof=b->o/s3c-fb.c#L329" id="L329 t1)  /video/s3c-fb.c#L329" id="L329" cl6->.TY"+cos/video/sreg 368
b=lv"+co)s/video/s3o/s_n9 clas99"commena> 3_n9n"co *l8)  /video/s3c-fb.c#L329" id="L329" cl6. 451esfb"=ef=iv0xffffff timeof=b->reg 368
blelower_margWKEYCON0368
 429   ref">sfb-&gesfb"="L451"> 451esfb"=ef=iv0xffffff timeof=b->reg 368
blelower_margWKEYCON1399    10saWKEYCON1L329)  /video/s3c-fb.c#L329" id="L329" cl6<9< 620    10nam>10naveuct3c_fb_enableshadow>protectl108s="sr>widatac_fbhadow>protectl108ef=ivimeof=b->o/s3c-fb.c#L329" id="L329 t0)  /video/s3c-fb.c#L329" id="L329" cl6031="line"60name="L431"> 431    60nam>63"sresfb-&gscbsetfrgb_timing"="sr>widatac_fbcbsetfrgb_timingef=ivimeof=b-> .c#L329" id="L329" cl10s)  /video/s3c-fb.c#L329" id="L329" cl6.n4="line"6" cl10n4="line"10name="L464"> 463 clasm/video/s3c-fb.c#L456" id="L456" cl6iant.<6 hrrea"+co=re-gs" class="6refEN63terrupti hr_tideo/s3c-fb.c#L453" idam restore m377stasam>10n"commstaticrde=s3c_fb_enable" clestruc_6L428" cl1066="line"10name="L436"> 436 63 class="sref"378 3_n9n"co>ef  ne"10name="L422"> 3_n9 clas99"commena> 3_n9n"co <f=datade=ss/videS3C_FB_MAX_WINode=regs" classS3C_FB_MAX_WINe 3_n9 clas99"commena> 3_n9n"co++m   437    60nam>63="sref"crtcriant.TY"+cos/video/se/s3c-fb.c#L329" id="L329 efimeof=b->atcriant..
 3_n9 clas99"commena> 3_n9n"co]  /video/s3c-fb.c#L329" id="L329" cl6Ldos_shado6hrrea"+cos/video/s3c-fb.c6L329"63dl" class="sreVIDINTCsfb-&go/s3c-fb.c#L329" id="L329) /video/s3c-fb.c#L329" id="L329" cl61039="line610name="L439"> 439   610nam63me="L429"> 429           continue  /video/s3c-fb.c#L329" id="L329" cl6L9"syncc_f60name="L440"> 440    60nam>639e>sf /video/s3c-fb.c#L329" id="L329" cl6gs + <6 hrefb_opede=reg" class="6ref"e64"srewidatac_faev_dbgef=ivrelockde=s)s/video/sp"> 399    10sapm>10s. 399    10sam>10s"resuming 10name>%d\n"10n     timeof=b->o/s_n9 clas99"commena> 3_n9n"co)  /video/s3c-fb.c#L329" id="L329" cl6gant.<6nea           <+creadl" c6ass="64c_waef_/10naveref">sfb-&gscbsetfpar> 421setfparef=ivimeof=b->o/s3c-fb.c#L329" id="L329-.va   (0, .<6ruc_blank   ->pm_runtime_put_argw368
 399    10sam>10ssf /video/s3c-fb.c#L329" id="L329" cl6l(0, <6 uc_ioctrde=sa href=readl6 clas65sfb" #ifdef">sfb->    10saCONFIG_PM_RUNTIMEe>sf /video/s3c-fb.c#L329" id="L329" cl6lant.<6"10name="L452"> 452runtime_suspen"399    10sabcbruntime_suspen"ef=iva href="+cosfb" class=dev_cs3c-fb.c#L453" idev_cs06s="g" class="sref"c"> 399    10sam>10s 453stat60nam>65tel10n   a href="+cosfb" class=platform_dev_cs3c-fb.c#L453" iplatform_dev_cs06s="g" class="sref"cp"> 399    10sapm>10sef=datade=ss/videto_platform_dev_cs3c-fb.c#L453" ito_platform_dev_csef=iv"+co)s/video/s3"> 399    10sam>10s.<6ck() - calculat s pixwr c6ockde65410nam>10n   a href="+cosfb" class=ssref">u32 .ef=datade=ss/videplatform_get_drvdlass="sr>widatac_fplatform_getfdrvdlasef=iv"+co)s/video/s3p"> 399    10sapm>10s),6 poochange.drivers/video/63c-fb65nct sfb-&grtcriant.. 421(0,  451has_clks"=c"+c 
widatac_flcd_clke(0, sfb->
widatac_fbus_clke 361   610nam66sfb"  /video/s3c-fb.c#L329" id="L329" cl61ant.<6mmmp" class="sref"pixclki6el 364    60nam>66 clasm/video/s3c-fb.c#L456" id="L456" cl6a href=iv"6cof=readl" class="srem"sr6telruntime_resume84    10nambcbruntime_resumeef=iva href="+cosfb" class=dev_cs3c-fb.c#L453" idev_cs06s="g" class="sref"c"> 399    10sam>10s),6 399    10sapm>10sef=datade=ss/videto_platform_dev_cs3c-fb.c#L453" ito_platform_dev_csef=iv"+co)s/video/s3"> 399    10sam>10su32 .ef=datade=ss/videplatform_get_drvdlass="sr>widatac_fplatform_getfdrvdlasef=iv"+co)s/video/s3p"> 399    10sapm>10s 42a href="+cosfb" class=bcbplatdlass="sr>widatac_fbcbplatdlas06s="g" class="sref"cp"399    10sapmL329 efimeof=b->atcriant..-&60name="L370"> 370669e>sf /video/s3c-fb.c#L329" id="L329" cl6;
sfb-&gclk_enabl"368
widatac_fbus_clke 37267b" cl /video/s3c-fb.c#L329" id="L329" cl6(0, sfb-&grtcriant.. 421(0,  451has_clks"=c"+c  374sfb-&gclk_enabl"368
widatac_flcd_clke 37567nref="ent"> * @sfb: The main u*drivers/v6(4),6c#L453" id="L453" cl1076=6line"67 10nam>10n   fdeo/s3c-fb.c#L453" idam setup gpiL3and output polarity controlsam>10n"commstaticrde=s3c_fb_enable" clestruc_6oc_memory(6 - allocat  display memor6 /sfb-&gp"399    10sapm0s..sfb-&gesfb"="L451"> 451esfb"=ef=ivref">sfb-&gp"399    10sapm0s.    10savidcon10ssfb-&g .c#L329" id="L329" cl10s9="line"10same="L399reg 368
blelower_margVIDCON1399    10saVIDCON1esfb-&gd="L329   f/video/s3c-fb.c#L428" id="L428" c6emory / an>
struc_>6inlower_margVALID_BPP1 hrcmd"+co)  10saVALID_BPP1 he>sfbvref">sfb-&gVALID_BPPrcmd"+co)  10saVALID_BPPef=iv1) |lelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv2) |lelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv4)  385   610nam68terru#defe" lelower_margVALID_BPP1 h8rcmd"+co)  10saVALID_BPP1 h8e>sfbvref">sfb-&gVALID_BPP1 hrcmd"+co)  10saVALID_BPP1 he>sfb|lelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv8) ),6a>->wi6de=sf68nct (0,  421sfb"+cosfb" class=ssref"ldlas_64xxl108 368
6 429   ctritel(0,  451has_osd_ce="L429"> = 1,-&6atedrivers/video/s3c-fb..6ate.c680    10nam>10navectritel(0,  451osd_size_off   = 0x8,s69"sre(0,     10sapalette_szsre = vref">sfb-&gVALID_BPP1 h8rcmd"+co)  10saVALID_BPP1 h8e>sfb|lelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv16) |->s69tel(0, lower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv18) |lelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv24) , 394stat9u6ame>s69 class="sref"},.s69terrupti hr_t[1] ef ),6a"+cos/video/s3c-fb.c#L3<6a"+>s69 10nam>10n           ctritel(0,  451has_osd_ce="L429"> = 1, 397
s69="sref"crtcriant.ctritel(0,     10sahas_osd_"e="L429"> = 1,6rtc"+co != 0)/video/s3c->6rtc>s69dl" class="sreVIDINTCctritel(0,  451osd_size_off   = 0xc,s69me="L429"> 429   ctritel(0, widatac_fhas_osd_alphse="L42= 1,-&6ss="="L399"> 399    .6ss=>s690    10nam>10navectritel(0,     10sapalette_szsre = vref">sfb-&gVALID_BPP1 h8rcmd"+co)  10saVALID_BPP1 h8e>sfb|lelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv16) |lower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv19) |->(0, lower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv24) |lelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv25) | 394stat9u7de=sf70 class="sref"class="ssssssssseeeeeeeeeeeelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv28) ,.10n   [2] ef  397
 70="sref"crtcriant.ctritel(0,  451has_osd_ce="L429"> = 1,70sam>70dl" class="sreVIDINTCctritel(0,     10sahas_osd_"e="L429"> = 1,. 429   ctritel(0,  451osd_size_off   = 0xc, 399    .70nam>700    10nam>10navectritel(0, widatac_fhas_osd_alphse="L42= 1,..10navectritel(0,  421 413
71tel(0, (0,  421 = vref">sfb-&gVALID_BPP1 h8rcmd"+co)  10saVALID_BPP1 h8e>sfb|lelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv16) | 71 class="sref"class="ssssssssseeeeeeeeeeeelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv18) |lelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv19) | 415   710nam71TYriant.lower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv24) |lelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv25) | 416}
71 10nam>10n           sssssssseeeeeeeeeeeelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv28) ,),
 419 429   ctritel(0,  451has_osd_ce="L429"> = 1,wiode=sf7" cla710    10nam>10navectritel(0, widatac_fhas_osd_alphse="L42= 1,->710navectritel(0,  42172tel(0, (0,  421 = vref">sfb-&gVALID_BPP1 hrcmd"+co)  10saVALID_BPP1 he>sfbb|lelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv16) | 424stat70nam>72 class="sref"class="ssssssssseeeeeeeeeeeelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv18) |lelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv19) |.lower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv24) |lelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv25) |);
10n           sssssssseeeeeeeeeeeelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv28) ,->. 429   ctritel(0,  451has_osd_ce="L429"> = 1, 720    10nam>10navectritel(0, widatac_fhas_osd_alphse="L42= 1, 431    70nam>73"sre(0,     10sapalette_szsre(0,  421 = vref">sfb-&gVALID_BPPrcmd"+co)  10saVALID_BPPef=iv1) |lelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv2) | 473 class="sref"class="ssssssssseeeeeeeeeeeelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv16) |lelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv18) |lower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv24) | 437 73 10nam>10n           sssssssseeeeeeeeeeeelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv25) |eelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv28) , 437    70nam>L4747Ltritelsfb-&gd="L329   f/video/s3c7b.c#L329" 7d="L329" cl61039="line6107ame="73memory / 4eal_sizr"+6osfb"68n    lockde=a href="+cosfb" class=ssref"l108_saria1"> 421sfb"+cos5p class=ssref"ldlas_64xxl108 368 + <6 h7efb_o7ede=reg" classs36-fb.c68dl" class="sr[0] ef .<6ne7     7     <+creadl" c6ass="72me="L429"> 429   ctritel(0,  451has_osd_ce="L429"> = 1, 451osd_size_off   = 0x8, 4690    10nam>10navectritel(0,     10sapalette_szsre.<6ru7_blan74=re-gs" class="7refEN71tel(0, (0,  421 = vref">sfb-&gVALID_BPP1 h8rcmd"+co)  10saVALID_BPP1 h8e>sfb|lelower_margVALID_BPPrcmd"+c3)  10saVALID_BPPef=iv24) | 437 73 10nam>10n           sssssssseeeeeeeeeeeelower_margVALID_BPPrcmd"+1o)  10saVALID_BPPef=iv25) |eelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv16) |
 73 10nam>10n           sssssssseeeeeeeeeeeelower_margVALID_BPPrcmd"+1o)  10saVALID_BPPef=iv18) |lelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv19) |70sam>73 10nam>10n           sssssssseeeeeeeeeeeelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv24) |lelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv25) | 439   610nam63me="L4>10n           sssssssseeeeeeeeeeeelower_margVALID_BPPrcmd"+32)  10saVALID_BPPef=iv28) , 437    70nam>L4747Ltritel(0, <6 u7_ioct75de=reg" classse6s69terrupti hr_t[1] ef .<6"17name=75    <+creadl" c6ass="72me="L429"> 429   ctritel(0,  451has_osd_ce="L429"> = 1,    10sahas_osd_"e="L429"> = 1, 4690    10nam   ctritel(0,  451osd_size_off   = 0xc,.<6ck7) - c75=re-gs" class="7refEN71tel(0, 10navectritel(0, widatac_fhas_osd_alphse="L42= 1,),6 p7ochan75eo/s3c-fb.c#L3<6a"+>s69 10nam>10n    >10navectritel(0,     10sapalette_szsre
 70="sref"crtcriass="srectritel(0,  421 = vref">sfb-&gVALID_BPP1 h8rcmd"+co)  10saVALID_BPP1 h8e>sfb|lelower_margVALID_BPPrcmd"+c3)  10saVALID_BPPef=iv24) |lower_margVALID_BPPrcmd"+1o)  10saVALID_BPPef=iv25) |eelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv16) | 439   610nam63me="L4>10n           sssssssseeeeeeeeeeeelower_margVALID_BPPrcmd"+1o)  10saVALID_BPPef=iv18) |lelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv19) | 63me="L4>10n           sssssssseeeeeeeeeeeelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv24) |lelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv25) | 431    70nam>63me="L4>10n           sssssssseeeeeeeeeeeelower_margVALID_BPPrcmd"+32)  10saVALID_BPPef=iv28) ,.<6mm7p" cl7ss="sref"pixcl  70nam>L4747Ltritel10n   [2] ef  4690    10nam   ctritel(0,  451has_osd_ce="L429"> = 1,    10sahas_osd_"e="L429"> = 1,),6s69 10nam>10n       ctritel(0,  451osd_size_off   = 0xc,
 70="sref"crtcriant.ctritel(0, widatac_fhas_osd_alphse="L42= 1,70sam>70dl" class="sre>10navectritel(0,     10sapalette_szsre 429ss="srectritel(0,  421 = vref">sfb-&gVALID_BPP1 h8rcmd"+co)  10saVALID_BPP1 h8e>sfb|lelower_margVALID_BPPrcmd"+c3)  10saVALID_BPPef=iv24) |-&60n7me="L76"line"10name="L730"> 63me="L4>10n           sssssssseeeeeeeeeeeelower_margVALID_BPPrcmd"+1o)  10saVALID_BPPef=iv25) |eelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv16) | 431    70nam>63me="L4>10n           sssssssseeeeeeeeeeeelower_margVALID_BPPrcmd"+1o)  10saVALID_BPPef=iv18) |lelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv19) |lower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv25) |(0, lower_margVALID_BPPrcmd"+32)  10saVALID_BPPef=iv28) , 394stat9u6ame>s69 class="sref"},),6c#7453" 77eo/s3c-fb.c#L3<6a"+>s69 10nam>10n           ctritel(0,  451has_osd_ce="L429"> = 1,
 70="sref"crtcriant.ctritel(0, widatac_fhas_osd_alphse="L42= 1,70sam>70dl" class="sre>10navectritel(0,     10sapalette_szsre 429ss="srectritel(0,  421 = vref">sfb-&gVALID_BPP1 h8rcmd"+co)  10saVALID_BPP1 h8e>sfb|lelower_margVALID_BPPrcmd"+c3)  10saVALID_BPPef=iv24) | 63me="L4>10n           sssssssseeeeeeeeeeeelower_margVALID_BPPrcmd"+1o)  10saVALID_BPPef=iv25) |eelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv16) | 431    70nam>63me="L4>10n           sssssssseeeeeeeeeeeelower_margVALID_BPPrcmd"+1o)  10saVALID_BPPef=iv18) |lelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv19) |lower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv25) |(0, lower_margVALID_BPPrcmd"+32)  10saVALID_BPPef=iv28) , 394stat9u6ame>s69 class="sref"},),6a>7><78eo/s3c-fb.c#L3<6a"+>s69 10nam>10n           ctritel(0,  451has_osd_ce="L429"> = 1,.ctritel(0, widatac_fhas_osd_alphse="L42= 1,670sam>70dl" class="sre>10navectritel(0,     10sapalette_szsre 429ss="srectritel(0,  421 = vref">sfb-&gVALID_BPP1 h8rcmd"+co)  10saVALID_BPP1 h8e>sfb|lelower_margVALID_BPPrcmd"+c3)  10saVALID_BPPef=iv24) |-&6at7drive7s/video/s3c-fb..6ate.c70tel(0, lower_margVALID_BPPrcmd"+1o)  10saVALID_BPPef=iv25) |eelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv16) |s70tel(0, lower_margVALID_BPPrcmd"+1o)  10saVALID_BPPef=iv18) |lelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv19) |lower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv24) |lelower_margVALID_BPPrcmd"+co)  10saVALID_BPPef=iv25) |-&g7;s69tel(0, lower_margVALID_BPPrcmd"+32)  10saVALID_BPPef=iv28) , 394stat9u6ame>s69 class="sref"},.sfb-&gd="L329   f/video/s3c7e=vaaaaaaa7aitel" clas694),6a"7cos/v79hrwi6de=sf68nct platdla6de=sfosfbspa10ssref"l108_saria1"e>sfb"+co/a>
s=ssref"ldlas_64xxl108 368
spa10lass72dl" class="sr[4] ef 6rt7"+co 7= 0)/video/s3c68me="L429"> 429ssct. 40lass72dl" class="sr[4] ef s69me="L429"> 429a1"e(0, >>>>= 5u6ame>s69 class="sref"},-&6ss7"="L379"> 399    .6ss=>s690    10namef"te(0,ef"te 399   "399    10sapVIDT >blelower_margVIDT >bl> 39u6ame>s69 class="sref"},(0,8doe    10sapWIN >bactritel(0,WIN >bcmd"+0  10saVALID_BPPef=iv28) ,(0,     10sapWINxMAelower_margVWINxMAecmd"+0  10saVALID_BPPef=iv28) ,-&g8;(0,keye    10sapWKEYCONlower_margVWKEYCON> 39u6ame>s69 class="sref"}, 394stat9u7de=sf69 10nam>10n    (0, stat9u7d"399    10sapVIDOS_BPASEelower_margVIDOS_BPASE> 39u6ame>s69 class="sref"},.(0, >>>>= sapalette_szsres69 10nam>10n    bufe_tara>.    10sapVIDW_BUF_STARTelower_margVIDW_BUF_STARTcmd"+0  10saVALID_BPPef=iv28) , 397
 70="sref"crtcriabufe_iz}el(0, 
    10sapVIDW_BUF_SIZEelower_margVIDW_BUF_SIZEcmd"+0  10saVALID_BPPef=iv28) ,6rt8"+co 8= 0)/video/s3c->70sam>70dl" class="srebufe422"bcbruntimebufe422> 399   "399    10sapVIDW_BUF_ENDelower_margVIDW_BUF_ENDcmd"+0  10saVALID_BPPef=iv28) , 399    .70nam>700    10namlette_sitel(0,  40lass72dl" class="sr[4] ef .. 413
55555555s26-fb0x300 10saVALID_BPPef=iv28) , 71 classdr7r""0x320 10saVALID_BPPef=iv28) , 415   710nam71TYriand"7cla0x340 10saVALID_BPPef=iv28) , 416}
9u6ame>s69 class="sref"},s69 class="sref"},70sam>70dl" class="sreVIDIprte(0,VIDIprte>>>>= su6ame>s69 class="sref"}, 419 429(0, >>>>= su6ame>s69 class="sref"}, 437    70nam>L4747Ltritel->7(0, widatac_faev_dbgef4xxl108 368
 class=ssref"ldlas_64xxl108 368
L4747Ltritel(0, widatac_faev_dbgef4xxl108 368
 class=ssref"ldlas_64xxl108 368
L4747Ltritel(0, widatac_faev_dbgef4xxl108 368
 class=ssref"ldlas_64xxl108 368
L4747Ltritel 424st70"sre(0, widatac_faev_dbgef4xxl108 368
 class=ssref"ldlas_64xxl108 368
L4747Ltritel(0, widatac_faev_dbgef4xxl108 368
 class=ssref"ldlas_64xxl108 368
L4747Ltritel);
sfb-&gd="L329   f/video/s3c8e=vaaaaaaa8aitel" clas78><82ruc_i6ame>s69 class="sref"},.platdla6de=sfosfbspa10ssref"l108_saria1"e>sfb"+cos5pc10lelower_marga1"e>sfb"+cos5pc10l"> 40lass72dl" class="sr[4] ef  429ssct. 40lass72dl" class="sr[4] ef  720    10nama1"e(0, >>>>= 5u6ame>s69 class="sref"}, 431    70nam>73"sre(0,ef"te 399   "399    10sapVIDT >blelower_margVIDT >bl> 39u6ame>s69 class="sref"},    10sapWIN >bactritel(0,WIN >bcmd"+0  10saVALID_BPPef=iv28) ,    10sapWINxMAelower_margVWINxMAecmd"+0  10saVALID_BPPef=iv28) , 470"sre(0,keye    10sapWKEYCONlower_margVWKEYCON> 39u6ame>s69 class="sref"},    10sapVIDOS_BPASEelower_margVIDOS_BPASE> 39u6ame>s69 class="sref"}, 437 71tel(0, (0, >>>>= sapalette_szsre.    10sapVIDW_BUF_STARTelower_margVIDW_BUF_STARTcmd"+0  10saVALID_BPPef=iv28) ,70sam>70dl" class="srebufe_iz}el(0, 
    10sapVIDW_BUF_SIZEelower_margVIDW_BUF_SIZEcmd"+0  10saVALID_BPPef=iv28) , 419 429bufe422"bcbruntimebufe422> 399   "399    10sapVIDW_BUF_ENDelower_margVIDW_BUF_ENDcmd"+0  10saVALID_BPPef=iv28) , 370669e>sf /video/s3c-8b.c#L329" 8d="L329" cl6gs + <6 h8efb_o841"> 431    70nam>73"sre(0,  40lass72dl" class="sr[4] ef .<6ne8     8     <+creadl" c6ass="""""""""s36-fb0x2400 10saVALID_BPPef=iv28) , 4""""""""s26-fb0x2c00 10saVALID_BPPef=iv28) ,.<6ru8_blan84=re-gs" class="7refEN""""""""s36-fb0x3000 10saVALID_BPPef=iv28) , 437 73 10namd"7cla0x3400 10saVALID_BPPef=iv28) ,
   70nam>L4747LtritelL4747Ltritel 439   610nam70dl" class="sreVIDIprte(0,VIDIprte>>>>= su6ame>s69 class="sref"}, 720    10nam>10nbl422e(0,VIDIbl422es69 class="sref"},(0, <6 u8_ioct851"> 431    70nam>73"sre(0, >>>>= su6ame>s69 class="sref"},.<6"18name=85s="sref"pixcl  70nam>L4747Ltritel(0, widatac_faev_dbgef4xxl108 368L4747Ltritel 424st70"sre(0, widatac_faev_dbgef4xxl108 368L4747Ltritel.<6ck8) - c85)=s/video/s3c70"sre(0, widatac_faev_dbgef4xxl108 368L4747Ltritel),6 p8ochan85eo/s3c-fb.c#L70"sre(0, widatac_faev_dbgef4xxl108 368L4747Ltritel
(0, widatac_faev_dbgef4xxl108 368L4747Ltritelsfb-&gd="L329   f/video/s3c8b.c#L329" 8d="L329" cl6l039="line6c#8453" 85memory / 4eal_sizr"+6osfb"68n    lockde=a href6de=sfosfb" class=bcbplatdla6de=sfosfbspa10ssref"l108_saria1"e>sfb"+cos5pv21lelower_marga1"e>sfb"+cos5pv21l"> 40lass72dl" class="sr[4] ef . 40lass72dl" class="sr[4] ef .<6mm8p" cl86=readl" class="7re(0, >>>>= 5u6ame>s69 class="sref"},(0,ef"te 399   "399    10sapVIDT >blelower_margVIDT >bl> 39u6ame>s69 class="sref"}, 4690    10nam8doe(0,8doe    10sapWIN >bactritel(0,WIN >bcmd"+0  10saVALID_BPPef=iv28) ,    10sapWINxMAelower_margVWINxMAecmd"+0  10saVALID_BPPef=iv28) ,),6s69 10nam>10n    keye(0,keye    10sapWKEYCONlower_margVWKEYCON> 39u6ame>s69 class="sref"},
 70="sref"crtcria(0, stat9u7d"399    10sapVIDOS_BPASEelower_margVIDOS_BPASE> 39u6ame>s69 class="sref"},70sam>70dl" class="sresize_trf"}el(0, >>>>= sapalette_szsre 429bufe_tara>.    10sapVIDW_BUF_STARTelower_margVIDW_BUF_STARTcmd"+0  10saVALID_BPPef=iv28) ,-&60n8me="L86"line"10name="L730"> 70dl" class="srebufe_iz}el(0, 
    10sapVIDW_BUF_SIZEelower_margVIDW_BUF_SIZEcmd"+0  10saVALID_BPPef=iv28) , 431    70nam>71me="L429"> 429bufe422"bcbruntimebufe422> 399   "399    10sapVIDW_BUF_ENDelower_margVIDW_BUF_ENDcmd"+0  10saVALID_BPPef=iv28) ,(0,  40lass72dl" class="sr[4] ef  4""""""""s36-fb0x2400 10saVALID_BPPef=iv28) ,s""""""""s26-fb0x2c00 10saVALID_BPPef=iv28) ,
 """"""""s36-fb0x3000 10saVALID_BPPef=iv28) ,70sam>""""""""s"7cla0x3400 10saVALID_BPPef=iv28) ,L4747Ltritel-&6#L853" i870"> 370669e>sf /video/s3c-8fb.c#L428"8id="L428" c6emory / 431    70nam>73"sreshaw 3e(0,VIDIshaw 3e 431= su6ame>s69 class="sref"},s69 class="sref"},(0, >>>>= su6ame>s69 class="sref"}, 4690    10namfixvks"itel(0, s69 class="sref"},L4747Ltritel),6a>8><88eo/s3c-fb.c#L70"sre(0, widatac_faev_dbgef4xxl108 368L4747Ltritel(88 397
(0, widatac_faev_dbgef4xxl108 368L4747Ltritel6 4298doritel(0, widatac_faev_dbgef4xxl108 368L4747Ltritel 4298doritel(0, widatac_faev_dbgef4xxl108 368L4747Ltritel-&6at8drive8s/video/s3c-fb70"sre(0, widatac_faev_dbgef4xxl108 368L4747Ltritelsfb-&gd="L329   f/video/s3c8e=vaaaaaaa8aitel" clas69ref="+6"c6#L853" i89"L45310saVALID_BPPef=iv28) ,-&g8;platdla6de=sfosfbspa10ssref"l108_saria1"e>sfb"+coexynos">sfb-&gVALIa1"e>sfb"+coexynos""> 40lass72dl" class="sr[4] ef  424st70"sre. 40lass72dl" class="sr[4] ef .(0, >>>>= 5u6ame>s69 class="sref"},),6a"8cos/v89eo/s3c-fb.c#L3<6a"+>s69 10nam>10n    sf"te(0,ef"te 399   "399    10sapVIDT >blelower_margVIDT >bl> 39u6ame>s69 class="sref"},
 70="sref"crtcria8doe(0,8doe    10sapWIN >bactritel(0,WIN >bcmd"+0  10saVALID_BPPef=iv28) ,6rt8"+co 89 0)/video/s3c->70sam>70dl" class="sre8domatritel(0,     10sapWINxMAelower_margVWINxMAecmd"+0  10saVALID_BPPef=iv28) ,s69me="L429"> 429keye(0,keye    10sapWKEYCONlower_margVWKEYCON> 39u6ame>s69 class="sref"},-&6ss8"="L389"> 399    .6ss=>s690    10nam(0, stat9u7d"399    10sapVIDOS_BPASEelower_margVIDOS_BPASE> 39u6ame>s69 class="sref"},(0, >>>>= sapalette_szsre.    10sapVIDW_BUF_STARTelower_margVIDW_BUF_STARTcmd"+0  10saVALID_BPPef=iv28) ,-&g9;(0, 
    10sapVIDW_BUF_SIZEelower_margVIDW_BUF_SIZEcmd"+0  10saVALID_BPPef=iv28) , 394stat9u7de=sf69 10nam>10n    bufe422"bcbruntimebufe422> 399   "399    10sapVIDW_BUF_ENDelower_margVIDW_BUF_ENDcmd"+0  10saVALID_BPPef=iv28) ,.),6a"9cos/v90eo/s3c-fb.c#L3<6a"+>s69 10nam>10n    lette_sitel(0,  40lass72dl" class="sr[4] ef  397
         s36-fb0x2400 10saVALID_BPPef=iv28) ,6rt9"+co 9= 0)/video/s3c->70sam>        s16-fb0x2800 10saVALID_BPPef=iv28) , 439   610nam63me="L4s26-fb0x2c00 10saVALID_BPPef=iv28) , 399    .70nam>63me="L4s36-fb0x3000 10saVALID_BPPef=iv28) ,..L4747Ltritel 470nam>L4747Ltritel 73"sreshaw 3e(0,VIDIshaw 3e 431= su6ame>s69 class="sref"}, 415   710nam720    10nam>10nbl422e(0,VIDIbl422es69 class="sref"}, 416}
690    10namfixvks"itel(0, s69 class="sref"}, 437    70nam>L4747Ltritel 4298doritel(0, widatac_faev_dbgef4xxl108 368L4747Ltritel 4298doritel(0, widatac_faev_dbgef4xxl108 368L4747Ltritel(0, widatac_faev_dbgef4xxl108 368L4747Ltritel->7(0, widatac_faev_dbgef4xxl108 368L4747Ltritel(0, widatac_faev_dbgef4xxl108 368L4747Ltritelsfb-&gd="L329   f/video/s3c9e3vaaaaaaa9aitel" clas70n4="line"70n9me="L924"> 479e>sfb-&gd="L329   f/video/s3c9e4vaaaaaaa9aitel" clas7c0n5="line7 h9cmd"+9o)=s/veal_sizr"+6osfb"68n    lockde=a href6de=sfosfb" class=bcbplatdla6de=sfosfbspa10ssref"l108_saria1"e>sfb"+coexynos5s=ssref"ldlas_64xxl108 368 40lass72dl" class="sr[4] ef . 40lass72dl" class="sr[4] ef 9><92 397
 70="sref"crtcriaa1"e(0, >>>>= 5u6ame>s69 class="sref"},.70sam>70dl" class="sresf"te(0,ef"te 399   "399    10sapVIDT >blelower_margVIDT >bl> 39u6ame>s69 class="sref"},s69me="L429"> 4298doe(0,8doe    10sapWIN >bactritel(0,WIN >bcmd"+0  10saVALID_BPPef=iv28) , 720    10nam8domatritel(0,     10sapWINxMAelower_margVWINxMAecmd"+0  10saVALID_BPPef=iv28) , 431    70nam>73"sre(0,keye    10sapWKEYCONlower_margVWKEYCON> 39u6ame>s69 class="sref"},    10sapVIDOS_BPASEelower_margVIDOS_BPASE> 39u6ame>s69 class="sref"},(0, >>>>= sapalette_szsre 470"sre.    10sapVIDW_BUF_STARTelower_margVIDW_BUF_STARTcmd"+0  10saVALID_BPPef=iv28) , 437 71tel(0, runtimebufe422> 399   "399    10sapVIDW_BUF_ENDelower_margVIDW_BUF_ENDcmd"+0  10saVALID_BPPef=iv28) ,70sam>70dl" class="srelette_sitel(0,  40lass72dl" class="sr[4] ef  419 399    .70nam>63me="L4s16-fb0x2800 10saVALID_BPPef=iv28) , + <6 h9efb_o941"> 431    70nam>63me="L4s26-fb0x2c00 10saVALID_BPPef=iv28) ,.<6ne9     9     <+creadl" c6ass="""""""""s36-fb0x3000 10saVALID_BPPef=iv28) , 4  70nam>L4747Ltritel.<6ru9_blan94=re-gs" class="7refEN73"sreshaw 3e(0,VIDIshaw 3e 431= su6ame>s69 class="sref"}, 437 720    10nam>10nbl422e(0,VIDIbl422es69 class="sref"},
 690    10namfixvks"itel(0, s69 class="sref"},L4747Ltritel 4298doritel(0, widatac_faev_dbgef4xxl108 368L4747Ltritel(0, widatac_faev_dbgef4xxl108 368L4747Ltritel(0, <6 u9_ioct95code=sfb" cla70"sre(0, widatac_faev_dbgef4xxl108 368L4747Ltritel.<6"19name=95deo/s3c-fb.c#70"sre(0, widatac_faev_dbgef4xxl108 368L4747Ltritel(0, widatac_faev_dbgef4xxl108 368L4747Ltritel 4}679e>sfb-&gd="L329   f/video/s3c9b.c#L329" 9d="el" clas6lant.<6ck9) - c95=re-g10saVALID_BPPef=iv28) ,),6 p9ochan95eo/s3/* S3C2443/S3C2416 style hardware */platdla6de=sfosfbspa10ssref"l108_saria1"e>sfb"+coa1"2443s=ssref"ldlas_64xxl108 368 40lass72dl" class="sr[4] ef  429ssct. 40lass72dl" class="sr[4] ef s69me="L429"> 429a1"e(0, >>>>= 2 70nam>L4747Ltritel 720    10namis_2443s=ssref"ldlas_6is_2443> 399   "3su6ame>s69 class="sref"},s69 class="sref"},.<6mm9p" cl96=readl" class="7re(0,ef"te 399   "30x08u6ame>s69 class="sref"},s69 class="sref"}, 4690    10nam8domatritel(0, ),6s69 10nam>10n    (0, stat9u7d"30x28 10saVALID_BPPef=iv28) ,
 70="sref"crtcria(0, >>>>= s2 70nam>L4747Ltritel70sam>70dl" class="srebufe_tara>.s69 class="sref"}, 429bufe_iz}el(0, 
s69 class="sref"},-&60n9me="L96"line"10name="L730"> 70dl" class="srebufe422"bcbruntimebufe422> 399   "30x7cu6ame>s69 class="sref"},s69 class="sref"}, 40lass72dl" class="sr[4] ef  4""""""""s16-fb0x800 10saVALID_BPPef=iv28) ,),6c#9453" 97eo/s3c-fb.c#L3<6a"+>s73"sre(0, >>>>= su6ame>s69 class="sref"}, 437    70nam>L4747Ltritel 4298doritel(0, wid(r"+6osfb"68n    lockde=a href8do_ssct. 399    .6ss=>s690    10names="srectritel(0,  421    10sapV9"> = vref">sfb-&gVALID_BPP1 h8rcmd"+co)  10saVALID_BPP1 h8e>sfb|lelower_margVALID_BPPrcmd"+c6)  10saVALID_BPPef=iv24) |lelower_margVALID_BPPrcmd"+c4  10saVALID_BPPef=iv28) , 431    70nam>L4747Ltritel(0, wid(r"+6osfb"68n    lockde=a href8do_ssct.sizecitel(0, s69 class="sref"}, 4690    10namsizealphb" class=bcbsizealphb"> 431= su6ame>s69 class="sref"},),6a>9><98eo/s3c-fb.c#L3<6a"+>s69 10nam>10n    ss="srectritel(0,  421    10sapV9"> = vref">sfb-&gVALID_BPP1 h8rcmd"+co)  10saVALID_BPP1 h8e>sfb|lelower_margVALID_BPPrcmd"+c6)  lette_szsrelower_margVALID_BPPrcmd"+19)  lette_szsre670sam>                   0saVALID_BPP1 h8e>sfb|lelower_margVALID_BPPrcmd"+c4   10saVALID_BPPef=iv24) |lelower_margVALID_BPPrcmd"+c5)  lette_szsre 419sfb|lelower_margVALID_BPPrcmd"+c8)  10saVALID_BPPef=iv28) ,-&6at9drive989"> 437    70nam>L4747Ltritelsfb-&gd="L329   f/video/s3c9e=vaaaaaaa9aitel" clas69ref="+6"c6#L953" i99"L45310saVALID_BPPef=iv28) ,-&g9;platdla6de=sfosfbspa10ssref"l108_saria1"e>sfb"+cos5p64xlelower_marga1"e>sfb"+cos5p64xl"> 40lass72dl" class="sr[4] ef  424st70"sre. 40lass72dl" class="sr[4] ef .(0, >>>>= 3 70nam>L4747Ltritel),6a"9cos/v99eo/s3c-fb.c#L3<6a"+>s69 10nam>10n    sf"te(0,ef"te 399   "399    10sapVIDT >blelower_margVIDT >bl> 39u6ame>s69 class="sref"},
 70="sref"crtcria8doe(0,8doe    10sapWIN >bactritel(0,WIN >bcmd"+0  10saVALID_BPPef=iv28) ,6rt9"+co 99 0)/video/s3c->70sam>70dl" class="sre8domatritel(0,     10sapWINxMAelower_margVWINxMAecmd"+0  10saVALID_BPPef=iv28) ,s69me="L429"> 429keye(0,keye    10sapWKEYCONlower_margVWKEYCON> 39u6ame>s69 class="sref"},-&6ss9"="L399"> 399    .6ss=>s690    10nam(0, stat9u7d"399    10sapVIDOS_BPASEelower_margVIDOS_BPASE> 39u6ame>s69 class="sref"},-&6s20e=v>20e=397
 70="sref"crtcria(0, >>>>= spale/pre>(0,doaybame>s69 class="sref"},20e"L453" cl9ss="b70sam>70"sre.    10sapVIDW_BUF_STARTelower_margVIDW_BUF_STARTcmd"+0  10saVALID_BPPef=iv28) ,20e(0, 
    10sapVIDW_BUF_SIZEelower_margVIDW_BUF_SIZEcmd"+0  10saVALID_BPPef=iv28) ,runtimebufe422> 399   "399    10sapVIDW_BUF_ENDelower_margVIDW_BUF_ENDcmd"+0  10saVALID_BPPef=iv28) ,20e=re-g10saVALID_BPPef=iv28) ,),6a20eit>20eeo/s3c-fb.c#L3<6a"+>s69 10nam>10n    lette_sitel(0,  40lass72dl" class="sr[4] ef 20e 397
         s36-fb0x2400 10saVALID_BPPef=iv28) ,6r20eit>20e 0)/video/s3c->70sam>        s16-fb0x2800 10saVALID_BPPef=iv28) , 439   610nam63me="L4s26-fb0x2c00 10saVALID_BPPef=iv28) ,-&6s20eit>20e"> 399    .6ss=>s  70nam>L4747Ltritel.20aire-g10saVALID_BPPef=iv28) ,20a"L453" cl9ss="b70sam>720    10nam>10nbl422e(0,VIDIbl422es69 class="sref"},20afixvks"itel(0, s69 class="sref"},20a> 394stat  70nam>L4747Ltritel20a)=s/video/s3c70"sre(0, widatac_faev_dbgef4xxl108 368L4747Ltritel20aeo/s3c-fb.c#L70"sre(0, widatac_faev_dbgef4xxl108 368L4747Ltritel20a 397
(0, widatac_faev_dbgef4xxl108 368L4747Ltritel20a/vide}679e>sfb-&gd="L329   f/video/s320a8vaaaaaa20aitel" clas7<8<20amemory /20a0"> 4eal_sizr"+6osfb"68n    lockdeplatform_device_i2"bcbruntimeplatform_device_i2spa10ssref"l108_saria1"e>sfbrs/vi_i2ss=ssref"ldlas_64xxl108 rs/vi_i2snassr]0lass72dl" class="sr[4] ef ->7<20ait>20ai397
20a=readl" class="7re(0, "a href"L4747Ltritel20a rs/vi_osfbine"10na= (unsigned long)r>widatac_faev_dbgef4xxl108 368<64xxs=ssref"ldlas_64xxl108 368<64xx> 39u6ame>s69 class="sref"},20a> 394stat  9ss72dl" class="sr[4] ef "a5pc100ref"L4747Ltritel20aeo/s3c-fb.c#L3<6a"+>s69 10nam>10n     rs/vi_osfb" class=bcb rs/vi_osfbine"10na= (unsigned long)r>widatac_faev_dbgef4xxl108 368 39u6ame>s69 class="sref"},20a6 394stat  9ss72dl" class="sr[4] ef 20a 0)/video/s3c->70sam>70dl" class="sreacc_itel(0, "a5pv21lref"L4747Ltritel20a hrENODEV"+coso6ant>s69me="L429"> 429 rs/vi_osfb" class=bcb rs/vi_osfbine"10na= (unsigned long)r>widatac_faev_dbgef4xxl108 368lower_marga1"e>sfb"+cos5pv21l"> 4 70nam>L4747Ltritel20a9 394stat  9ss72dl" class="sr[4] ef 20ai0)/video/s3c->70sam>70dl" class="sreacc_itel(0, "exynos"ref"L4747Ltritel20a=readl" class="7re rs/vi_osfbine"10na= (unsigned long)r>widatac_faev_dbgef4xxl108 368sfb-&gVALIa1"e>sfb"+coexynos""> 4 70nam>L4747Ltritel20a2 394stat  9ss72dl" class="sr[4] ef 20a> 394stat9u7de=sf69 10nam>10n    acc_itel(0, "exynos5ref"L4747Ltritel20a=re-gs" class="7refEN71tel(0,  rs/vi_osfbine"10na= (unsigned long)r>widatac_faev_dbgef4xxl108 368sfb-&gVALIa1"e>sfb"+coexynos5"> 4 70nam>L4747Ltritel20a5 394stat  9ss72dl" class="sr[4] ef 20a 397
 70="sref"crtcriaacc_itel(0, "a h2443ref"L4747Ltritel20a 0)/video/s3c->70sam>70dl" class="sre rs/vi_osfb" class=bcb rs/vi_osfbine"10na= (unsigned long)r>widatac_faev_dbgef4xxl108 368 4 70nam>L4747Ltritel20a8 394stat  9ss72dl" class="sr[4] ef  399    .6ss=>s690    10namacc_itel(0, "a5p64xlref"L4747Ltritel + <6 20d=">20d=0)/video/s3c->70sam>70dl" class="sre rs/vi_osfb" class=bcb rs/vi_osfbine"10na= (unsigned long)r>widatac_faev_dbgef4xxl108 368lower_marga1"e>sfb"+cos5p64xl"> 4 70nam>L4747Ltritel.<6n20d=">20ds="sref"pixcl  70nam>L4747Ltritel20d2 394stat{  70nam>L4747Ltritel20d4"> 4}679e>sfb-&gd="L329   f/video/s320d4vaaaaaa20d="L456" cl6gant.<6r20d=">20d=re-gatac_faev_dbgefMODULE_DEVICE_TABLEelower_margMODULE_DEVICE_TABLEcmd"+b"68n    lockdeplatform"bcbruntimeplatform"> 4 0ssref"l108_saria1"e>sfbrs/vi_i2ss=ssref"ldlas_64xxl108 rs/vi_i2snass)679e>sfb-&gd="L329   f/video/s320d5vaaaaaa20d="L329" cl6g428" cl106<20d=">20d5emory /20d  40lass72dl" class="sr[4] ef 20d 0)/video/s3cssref"l108_sariSET_SYSTEM_SLEEP_PM_OPSs=ssref"ldlas_6SET_SYSTEM_SLEEP_PM_OPScmd"+b"68n    lockde4xxl108susp422"bcbruntime4xxl108susp422"> 4 0ssref"l108_saria1"e>sfresuc_itel(0, sfresuc_nass)s72dl" class="sr[4] ef 20d80)/video/s3cssref"l108_sariSET_RUNTIME_PM_OPSs=ssref"ldlas_6SET_RUNTIME_PM_OPScmd"+b"68n    lockde4xxl108runtime8susp422"bcbruntime4xxl108runtime8susp422"> 4 0ssref"l108_saria1"e>sfruntime8resuc_itel(0, sfruntime8resuc_"> 4 70nam>L4747Ltritel20d"> 399    .70nam>63me="L4s3cssref"l108_sariNULLitel(0, (0, <6 20d=">20d="> 4}679e>sfb-&gd="L329   f/video/s32051vaaaaaa20d="L329" cl6lant.<6"20d=">20d"L45310saVALID_BPPef=iv28) ,20dsfbrs/vis=ssref"ldlas_64xxl108 rs/vi"> 40lass72dl" class="sr[4] ef  424st70"sre(0,  399    ."399    10sap4xxl108probsitel(0,  4 70nam>L4747Ltritel.<6c20d=">20d)=s/video/s3c70"sre(0,     10sap__devexit_tritel(0, (0, L4747Ltritel),6 20d=">20deo/s3c-fb.c#L70"sre(0, 
    10sapa1"e>sfbrs/vi_i2ss=ssref"ldlas_64xxl108 rs/vi_i2snass 70nam>L4747Ltritel20d 397
 40ntime_ge"3ss72dl" class="sr[4] ef "a href"L4747Ltritel20d hrENODEV"+coso6ant>s69me="L429"> 429ownvis=ssref"ldlas_6ownvihrENODpa99    10sapTHIS_MODULEs=ssref"ldlas_6THIS_MODULEnass 70nam>L4747Ltritel20d"> 399    .6ss=>s690    10nampm"bcbruntimepm8>>>>= r>widatac_faev_dbgef4xx108pm_opss=ssref"ldlas_6a1"108pm_ops"> 4 70nam>L4747Ltritel20d=="sref"pixcl  70nam>L4747Ltritel.<6m20d=">20d1"> 4}679e>sfb-&gd="L329   f/video/s32062vaaaaaa20id="L428" c6href="+cod6=20id=>20d3"> 470nam>L4747Ltritel20d3re-gatac_faev_dbgefmodule_platform_dPPef="bcbruntimemodule_platform_dPPef=cmd"+b"68n    lockde4xxl108brs/vis=ssref"ldlas_64xxl108 rs/vi"> 4)679e>sfb-&gd="L329   f/video/s32064vaaaaaa20d="L456" cl6a href=iv"6c20d=">20d=re-g10saVALID_BPPef=iv28) ,"Ben Dooks <ben@simtec.co.uk>"sfb-&gd="L329   f/video/s32066vaaaaaa20aitel" clas6atritel20d6re-gatac_faev_dbgefMODULE_DESCRIPTIONlower_margVMODULE_DESCRIPTIONcmd"+bspanL329" cl_trfng">"Samsung S3C SoC Frl-&gd="sfb-&gd="L329   f/video/s32067vaaaaaa20d="el" clas6ados_shado6<20d=">20d7re-gatac_faev_dbgefMODULE_LICENSEelower_margMODULE_LICENSEcmd"+bspanL329" cl_trfng">"GPL"sfb-&gd="L329   f/video/s32068vaaaaaa20d="L329" cl6h039="line6c20d=">20d8re-gatac_faev_dbgefMODULE_ALIASs=ssref"ldlas_6MODULE_ALIAScmd"+bspanL329" cl_trfng">"platform:a href"sfb-&gd="L329   f/video/s32069vaaaaaa20d="L329" cl6aayb-&6020d=">20d"> 39e/pre>
The original LXR software by the 9e>sfbLXR community"> 4 0this experimental gd="ion by 9e>sfblxi@6aaux.no"> 4. lxi.6aaux.no kindly hosted by 9e>sfbRedpill Laapro AScmd", pro329 r of Laauxzconsultfng and operl_sons services since v99e.