Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
intel_overlay.c File Reference
#include <drm/drmP.h>
#include <drm/i915_drm.h>
#include "i915_drv.h"
#include "i915_reg.h"
#include "intel_drv.h"

Go to the source code of this file.

Data Structures

struct  overlay_registers
 
struct  intel_overlay
 
struct  put_image_params
 

Macros

#define IMAGE_MAX_WIDTH   2048
 
#define IMAGE_MAX_HEIGHT   2046 /* 2 * 1023 */
 
#define IMAGE_MAX_WIDTH_LEGACY   1024
 
#define IMAGE_MAX_HEIGHT_LEGACY   1088
 
#define OCMD_TILED_SURFACE   (0x1<<19)
 
#define OCMD_MIRROR_MASK   (0x3<<17)
 
#define OCMD_MIRROR_MODE   (0x3<<17)
 
#define OCMD_MIRROR_HORIZONTAL   (0x1<<17)
 
#define OCMD_MIRROR_VERTICAL   (0x2<<17)
 
#define OCMD_MIRROR_BOTH   (0x3<<17)
 
#define OCMD_BYTEORDER_MASK   (0x3<<14) /* zero for YUYV or FOURCC YUY2 */
 
#define OCMD_UV_SWAP   (0x1<<14) /* YVYU */
 
#define OCMD_Y_SWAP   (0x2<<14) /* UYVY or FOURCC UYVY */
 
#define OCMD_Y_AND_UV_SWAP   (0x3<<14) /* VYUY */
 
#define OCMD_SOURCE_FORMAT_MASK   (0xf<<10)
 
#define OCMD_RGB_888   (0x1<<10) /* not in i965 Intel docs */
 
#define OCMD_RGB_555   (0x2<<10) /* not in i965 Intel docs */
 
#define OCMD_RGB_565   (0x3<<10) /* not in i965 Intel docs */
 
#define OCMD_YUV_422_PACKED   (0x8<<10)
 
#define OCMD_YUV_411_PACKED   (0x9<<10) /* not in i965 Intel docs */
 
#define OCMD_YUV_420_PLANAR   (0xc<<10)
 
#define OCMD_YUV_422_PLANAR   (0xd<<10)
 
#define OCMD_YUV_410_PLANAR   (0xe<<10) /* also 411 */
 
#define OCMD_TVSYNCFLIP_PARITY   (0x1<<9)
 
#define OCMD_TVSYNCFLIP_ENABLE   (0x1<<7)
 
#define OCMD_BUF_TYPE_MASK   (0x1<<5)
 
#define OCMD_BUF_TYPE_FRAME   (0x0<<5)
 
#define OCMD_BUF_TYPE_FIELD   (0x1<<5)
 
#define OCMD_TEST_MODE   (0x1<<4)
 
#define OCMD_BUFFER_SELECT   (0x3<<2)
 
#define OCMD_BUFFER0   (0x0<<2)
 
#define OCMD_BUFFER1   (0x1<<2)
 
#define OCMD_FIELD_SELECT   (0x1<<2)
 
#define OCMD_FIELD0   (0x0<<1)
 
#define OCMD_FIELD1   (0x1<<1)
 
#define OCMD_ENABLE   (0x1<<0)
 
#define OCONF_PIPE_MASK   (0x1<<18)
 
#define OCONF_PIPE_A   (0x0<<18)
 
#define OCONF_PIPE_B   (0x1<<18)
 
#define OCONF_GAMMA2_ENABLE   (0x1<<16)
 
#define OCONF_CSC_MODE_BT601   (0x0<<5)
 
#define OCONF_CSC_MODE_BT709   (0x1<<5)
 
#define OCONF_CSC_BYPASS   (0x1<<4)
 
#define OCONF_CC_OUT_8BIT   (0x1<<3)
 
#define OCONF_TEST_MODE   (0x1<<2)
 
#define OCONF_THREE_LINE_BUFFER   (0x1<<0)
 
#define OCONF_TWO_LINE_BUFFER   (0x0<<0)
 
#define DST_KEY_ENABLE   (0x1<<31)
 
#define CLK_RGB24_MASK   0x0
 
#define CLK_RGB16_MASK   0x070307
 
#define CLK_RGB15_MASK   0x070707
 
#define CLK_RGB8I_MASK   0xffffff
 
#define RGB16_TO_COLORKEY(c)   (((c & 0xF800) << 8) | ((c & 0x07E0) << 5) | ((c & 0x001F) << 3))
 
#define RGB15_TO_COLORKEY(c)   (((c & 0x7c00) << 9) | ((c & 0x03E0) << 6) | ((c & 0x001F) << 3))
 
#define OFC_UPDATE   0x1
 
#define N_HORIZ_Y_TAPS   5
 
#define N_VERT_Y_TAPS   3
 
#define N_HORIZ_UV_TAPS   3
 
#define N_VERT_UV_TAPS   3
 
#define N_PHASES   17
 
#define MAX_TAPS   5
 
#define FP_SHIFT   12
 
#define FRACT_MASK   0xfff
 

Functions

int intel_overlay_switch_off (struct intel_overlay *overlay)
 
int intel_overlay_put_image (struct drm_device *dev, void *data, struct drm_file *file_priv)
 
int intel_overlay_attrs (struct drm_device *dev, void *data, struct drm_file *file_priv)
 
void intel_setup_overlay (struct drm_device *dev)
 
void intel_cleanup_overlay (struct drm_device *dev)
 

Variables

struct overlay_registers __attribute__
 

Macro Definition Documentation

#define CLK_RGB15_MASK   0x070707

Definition at line 96 of file intel_overlay.c.

#define CLK_RGB16_MASK   0x070307

Definition at line 95 of file intel_overlay.c.

#define CLK_RGB24_MASK   0x0

Definition at line 94 of file intel_overlay.c.

#define CLK_RGB8I_MASK   0xffffff

Definition at line 97 of file intel_overlay.c.

#define DST_KEY_ENABLE   (0x1<<31)

Definition at line 93 of file intel_overlay.c.

#define FP_SHIFT   12
#define FRACT_MASK   0xfff
#define IMAGE_MAX_HEIGHT   2046 /* 2 * 1023 */

Definition at line 39 of file intel_overlay.c.

#define IMAGE_MAX_HEIGHT_LEGACY   1088

Definition at line 42 of file intel_overlay.c.

#define IMAGE_MAX_WIDTH   2048

Definition at line 38 of file intel_overlay.c.

#define IMAGE_MAX_WIDTH_LEGACY   1024

Definition at line 41 of file intel_overlay.c.

#define MAX_TAPS   5

Definition at line 113 of file intel_overlay.c.

#define N_HORIZ_UV_TAPS   3

Definition at line 110 of file intel_overlay.c.

#define N_HORIZ_Y_TAPS   5

Definition at line 108 of file intel_overlay.c.

#define N_PHASES   17

Definition at line 112 of file intel_overlay.c.

#define N_VERT_UV_TAPS   3

Definition at line 111 of file intel_overlay.c.

#define N_VERT_Y_TAPS   3

Definition at line 109 of file intel_overlay.c.

#define OCMD_BUF_TYPE_FIELD   (0x1<<5)

Definition at line 69 of file intel_overlay.c.

#define OCMD_BUF_TYPE_FRAME   (0x0<<5)

Definition at line 68 of file intel_overlay.c.

#define OCMD_BUF_TYPE_MASK   (0x1<<5)

Definition at line 67 of file intel_overlay.c.

#define OCMD_BUFFER0   (0x0<<2)

Definition at line 72 of file intel_overlay.c.

#define OCMD_BUFFER1   (0x1<<2)

Definition at line 73 of file intel_overlay.c.

#define OCMD_BUFFER_SELECT   (0x3<<2)

Definition at line 71 of file intel_overlay.c.

#define OCMD_BYTEORDER_MASK   (0x3<<14) /* zero for YUYV or FOURCC YUY2 */

Definition at line 52 of file intel_overlay.c.

#define OCMD_ENABLE   (0x1<<0)

Definition at line 77 of file intel_overlay.c.

#define OCMD_FIELD0   (0x0<<1)

Definition at line 75 of file intel_overlay.c.

#define OCMD_FIELD1   (0x1<<1)

Definition at line 76 of file intel_overlay.c.

#define OCMD_FIELD_SELECT   (0x1<<2)

Definition at line 74 of file intel_overlay.c.

#define OCMD_MIRROR_BOTH   (0x3<<17)

Definition at line 51 of file intel_overlay.c.

#define OCMD_MIRROR_HORIZONTAL   (0x1<<17)

Definition at line 49 of file intel_overlay.c.

#define OCMD_MIRROR_MASK   (0x3<<17)

Definition at line 47 of file intel_overlay.c.

#define OCMD_MIRROR_MODE   (0x3<<17)

Definition at line 48 of file intel_overlay.c.

#define OCMD_MIRROR_VERTICAL   (0x2<<17)

Definition at line 50 of file intel_overlay.c.

#define OCMD_RGB_555   (0x2<<10) /* not in i965 Intel docs */

Definition at line 58 of file intel_overlay.c.

#define OCMD_RGB_565   (0x3<<10) /* not in i965 Intel docs */

Definition at line 59 of file intel_overlay.c.

#define OCMD_RGB_888   (0x1<<10) /* not in i965 Intel docs */

Definition at line 57 of file intel_overlay.c.

#define OCMD_SOURCE_FORMAT_MASK   (0xf<<10)

Definition at line 56 of file intel_overlay.c.

#define OCMD_TEST_MODE   (0x1<<4)

Definition at line 70 of file intel_overlay.c.

#define OCMD_TILED_SURFACE   (0x1<<19)

Definition at line 46 of file intel_overlay.c.

#define OCMD_TVSYNCFLIP_ENABLE   (0x1<<7)

Definition at line 66 of file intel_overlay.c.

#define OCMD_TVSYNCFLIP_PARITY   (0x1<<9)

Definition at line 65 of file intel_overlay.c.

#define OCMD_UV_SWAP   (0x1<<14) /* YVYU */

Definition at line 53 of file intel_overlay.c.

#define OCMD_Y_AND_UV_SWAP   (0x3<<14) /* VYUY */

Definition at line 55 of file intel_overlay.c.

#define OCMD_Y_SWAP   (0x2<<14) /* UYVY or FOURCC UYVY */

Definition at line 54 of file intel_overlay.c.

#define OCMD_YUV_410_PLANAR   (0xe<<10) /* also 411 */

Definition at line 64 of file intel_overlay.c.

#define OCMD_YUV_411_PACKED   (0x9<<10) /* not in i965 Intel docs */

Definition at line 61 of file intel_overlay.c.

#define OCMD_YUV_420_PLANAR   (0xc<<10)

Definition at line 62 of file intel_overlay.c.

#define OCMD_YUV_422_PACKED   (0x8<<10)

Definition at line 60 of file intel_overlay.c.

#define OCMD_YUV_422_PLANAR   (0xd<<10)

Definition at line 63 of file intel_overlay.c.

#define OCONF_CC_OUT_8BIT   (0x1<<3)

Definition at line 87 of file intel_overlay.c.

#define OCONF_CSC_BYPASS   (0x1<<4)

Definition at line 86 of file intel_overlay.c.

#define OCONF_CSC_MODE_BT601   (0x0<<5)

Definition at line 84 of file intel_overlay.c.

#define OCONF_CSC_MODE_BT709   (0x1<<5)

Definition at line 85 of file intel_overlay.c.

#define OCONF_GAMMA2_ENABLE   (0x1<<16)

Definition at line 83 of file intel_overlay.c.

#define OCONF_PIPE_A   (0x0<<18)

Definition at line 81 of file intel_overlay.c.

#define OCONF_PIPE_B   (0x1<<18)

Definition at line 82 of file intel_overlay.c.

#define OCONF_PIPE_MASK   (0x1<<18)

Definition at line 80 of file intel_overlay.c.

#define OCONF_TEST_MODE   (0x1<<2)

Definition at line 88 of file intel_overlay.c.

#define OCONF_THREE_LINE_BUFFER   (0x1<<0)

Definition at line 89 of file intel_overlay.c.

#define OCONF_TWO_LINE_BUFFER   (0x0<<0)

Definition at line 90 of file intel_overlay.c.

#define OFC_UPDATE   0x1

Definition at line 105 of file intel_overlay.c.

#define RGB15_TO_COLORKEY (   c)    (((c & 0x7c00) << 9) | ((c & 0x03E0) << 6) | ((c & 0x001F) << 3))

Definition at line 101 of file intel_overlay.c.

#define RGB16_TO_COLORKEY (   c)    (((c & 0xF800) << 8) | ((c & 0x07E0) << 5) | ((c & 0x001F) << 3))

Definition at line 99 of file intel_overlay.c.

Function Documentation

void intel_cleanup_overlay ( struct drm_device dev)

Definition at line 1397 of file intel_overlay.c.

int intel_overlay_attrs ( struct drm_device dev,
void data,
struct drm_file *  file_priv 
)

Definition at line 1228 of file intel_overlay.c.

int intel_overlay_put_image ( struct drm_device dev,
void data,
struct drm_file *  file_priv 
)

Definition at line 1028 of file intel_overlay.c.

int intel_overlay_switch_off ( struct intel_overlay overlay)

Definition at line 789 of file intel_overlay.c.

void intel_setup_overlay ( struct drm_device dev)

Definition at line 1315 of file intel_overlay.c.

Variable Documentation