linux/drivers/video/mxc/mxcfb.c File Reference

MXC Frame buffer driver for SDC. More...

Data Structures

struct  mxcfb_info

Defines

#define MXCFB_NAME   "mxc_sdc_fb"

Functions

static int mxcfb_map_video_memory (struct fb_info *fbi, bool use_internal_ram)
static int mxcfb_unmap_video_memory (struct fb_info *fbi)
static struct fb_info * mxcfb_init_fbinfo (struct device *dev, struct fb_ops *ops)
static int mxcfb_probe (struct platform_device *pdev)
int __init mxcfb_init (void)

Variables

static struct fb_ops mxcfb_ops
static struct platform_driver mxcfb_driver

Detailed Description

MXC Frame buffer driver for SDC.


Define Documentation

#define MXCFB_NAME   "mxc_sdc_fb"

Include files

Referenced by mxcfb_probe().


Function Documentation

int __init mxcfb_init ( void   ) 

Main entry function for the framebuffer. The function registers the power management callback functions with the kernel and also registers the MXCFB callback functions with the core Linux framebuffer driver fbmem.c

Returns:
Error code indicating success or failure
static struct fb_info* mxcfb_init_fbinfo ( struct device *  dev,
struct fb_ops *  ops 
) [static, read]

Initializes the framebuffer information pointer. After allocating sufficient memory for the framebuffer structure, the fields are filled with custom information passed in from the configurable structures. This includes information such as bits per pixel, color maps, screen width/height and RGBA offsets.

Returns:
Framebuffer structure initialized with our information

Referenced by mxcfb_probe().

static int mxcfb_map_video_memory ( struct fb_info *  fbi,
bool  use_internal_ram 
) [static]

Allocates the DRAM memory for the frame buffer. This buffer is remapped into a non-cached, non-buffered, memory region to allow palette and pixel writes to occur without flushing the cache. Once this area is remapped, all virtual memory access to the video memory should occur at the new region.

Parameters:
fbi framebuffer information pointer
use_internal_ram flag on whether to use internal RAM for memory
Returns:
Error code indicating success or failure
static int mxcfb_probe ( struct platform_device *  pdev  )  [static]

Probe routine for the framebuffer driver. It is called during the driver binding process. The following functions are performed in this routine: Framebuffer initialization, Memory allocation and mapping, Framebuffer registration, IPU initialization.

Returns:
Appropriate error code to the kernel common code

References ipu_sdc_set_color_key(), ipu_sdc_set_global_alpha(), mxcfb_init_fbinfo(), and MXCFB_NAME.

static int mxcfb_unmap_video_memory ( struct fb_info *  fbi  )  [static]

De-allocates the DRAM memory for the frame buffer.

Parameters:
fbi framebuffer information pointer
Returns:
Error code indicating success or failure

Variable Documentation

struct platform_driver mxcfb_driver [static]
Initial value:
 {
        .driver = {
                   .name = MXCFB_NAME,
                   },
        .probe = mxcfb_probe,
        .suspend = mxcfb_suspend,
        .resume = mxcfb_resume,
}

This structure contains pointers to the power management callback functions.

struct fb_ops mxcfb_ops [static]
Initial value:
 {
        .owner = THIS_MODULE,
        .fb_set_par = mxcfb_set_par,
        .fb_check_var = mxcfb_check_var,
        .fb_setcolreg = mxcfb_setcolreg,
        .fb_pan_display = mxcfb_pan_display,
        .fb_ioctl = mxcfb_ioctl,
        .fb_fillrect = cfb_fillrect,
        .fb_copyarea = cfb_copyarea,
        .fb_imageblit = cfb_imageblit,
        .fb_blank = mxcfb_blank,
}

This structure contains the pointers to the control functions that are invoked by the core framebuffer driver to perform operations like blitting, rectangle filling, copy regions and cursor definition.

footer
©  Freescale Semiconductor, Inc., 2007.  All rights reserved.
Freescale Confidential Proprietary
NDA Required
doxygen