Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
omap_dmm_tiler.h File Reference
#include <plat/cpu.h>
#include "omap_drv.h"
#include "tcm.h"

Go to the source code of this file.

Data Structures

struct  pat_area
 
struct  tiler_block
 

Macros

#define SLOT_WIDTH_BITS   6
 
#define SLOT_HEIGHT_BITS   6
 
#define CONT_WIDTH_BITS   14
 
#define CONT_HEIGHT_BITS   13
 
#define TILER_PAGE   (1 << (SLOT_WIDTH_BITS + SLOT_HEIGHT_BITS))
 
#define TILER_WIDTH   (1 << (CONT_WIDTH_BITS - SLOT_WIDTH_BITS))
 
#define TILER_HEIGHT   (1 << (CONT_HEIGHT_BITS - SLOT_HEIGHT_BITS))
 
#define MASK_XY_FLIP   (1 << 31)
 
#define MASK_Y_INVERT   (1 << 30)
 
#define MASK_X_INVERT   (1 << 29)
 
#define SHIFT_ACC_MODE   27
 
#define MASK_ACC_MODE   3
 
#define MASK(bits)   ((1 << (bits)) - 1)
 
#define TILVIEW_8BIT   0x60000000u
 
#define TILVIEW_16BIT   (TILVIEW_8BIT + VIEW_SIZE)
 
#define TILVIEW_32BIT   (TILVIEW_16BIT + VIEW_SIZE)
 
#define TILVIEW_PAGE   (TILVIEW_32BIT + VIEW_SIZE)
 
#define TILVIEW_END   (TILVIEW_PAGE + VIEW_SIZE)
 
#define TIL_ADDR(x, orient, a)   ((u32) (x) | (orient) | ((a) << SHIFT_ACC_MODE))
 

Enumerations

enum  tiler_fmt {
  TILFMT_8BIT = 0, TILFMT_16BIT, TILFMT_32BIT, TILFMT_PAGE,
  TILFMT_NFORMATS
}
 

Functions

int tiler_pin (struct tiler_block *block, struct page **pages, uint32_t npages, uint32_t roll, bool wait)
 
int tiler_unpin (struct tiler_block *block)
 
struct tiler_blocktiler_reserve_2d (enum tiler_fmt fmt, uint16_t w, uint16_t h, uint16_t align)
 
struct tiler_blocktiler_reserve_1d (size_t size)
 
int tiler_release (struct tiler_block *block)
 
dma_addr_t tiler_ssptr (struct tiler_block *block)
 
dma_addr_t tiler_tsptr (struct tiler_block *block, uint32_t orient, uint32_t x, uint32_t y)
 
uint32_t tiler_stride (enum tiler_fmt fmt, uint32_t orient)
 
size_t tiler_size (enum tiler_fmt fmt, uint16_t w, uint16_t h)
 
size_t tiler_vsize (enum tiler_fmt fmt, uint16_t w, uint16_t h)
 
void tiler_align (enum tiler_fmt fmt, uint16_t *w, uint16_t *h)
 
bool dmm_is_initialized (void)
 

Variables

struct platform_driver omap_dmm_driver
 

Macro Definition Documentation

#define CONT_HEIGHT_BITS   13

Definition at line 50 of file omap_dmm_tiler.h.

#define CONT_WIDTH_BITS   14

Definition at line 49 of file omap_dmm_tiler.h.

#define MASK (   bits)    ((1 << (bits)) - 1)

Definition at line 75 of file omap_dmm_tiler.h.

#define MASK_ACC_MODE   3

Definition at line 73 of file omap_dmm_tiler.h.

#define MASK_X_INVERT   (1 << 29)

Definition at line 71 of file omap_dmm_tiler.h.

#define MASK_XY_FLIP   (1 << 31)

Definition at line 69 of file omap_dmm_tiler.h.

#define MASK_Y_INVERT   (1 << 30)

Definition at line 70 of file omap_dmm_tiler.h.

#define SHIFT_ACC_MODE   27

Definition at line 72 of file omap_dmm_tiler.h.

#define SLOT_HEIGHT_BITS   6

Definition at line 46 of file omap_dmm_tiler.h.

#define SLOT_WIDTH_BITS   6

Definition at line 45 of file omap_dmm_tiler.h.

#define TIL_ADDR (   x,
  orient,
  a 
)    ((u32) (x) | (orient) | ((a) << SHIFT_ACC_MODE))

Definition at line 84 of file omap_dmm_tiler.h.

#define TILER_HEIGHT   (1 << (CONT_HEIGHT_BITS - SLOT_HEIGHT_BITS))

Definition at line 55 of file omap_dmm_tiler.h.

#define TILER_PAGE   (1 << (SLOT_WIDTH_BITS + SLOT_HEIGHT_BITS))

Definition at line 53 of file omap_dmm_tiler.h.

#define TILER_WIDTH   (1 << (CONT_WIDTH_BITS - SLOT_WIDTH_BITS))

Definition at line 54 of file omap_dmm_tiler.h.

#define TILVIEW_16BIT   (TILVIEW_8BIT + VIEW_SIZE)

Definition at line 78 of file omap_dmm_tiler.h.

#define TILVIEW_32BIT   (TILVIEW_16BIT + VIEW_SIZE)

Definition at line 79 of file omap_dmm_tiler.h.

#define TILVIEW_8BIT   0x60000000u

Definition at line 77 of file omap_dmm_tiler.h.

#define TILVIEW_END   (TILVIEW_PAGE + VIEW_SIZE)

Definition at line 81 of file omap_dmm_tiler.h.

#define TILVIEW_PAGE   (TILVIEW_32BIT + VIEW_SIZE)

Definition at line 80 of file omap_dmm_tiler.h.

Enumeration Type Documentation

enum tiler_fmt
Enumerator:
TILFMT_8BIT 
TILFMT_16BIT 
TILFMT_32BIT 
TILFMT_PAGE 
TILFMT_NFORMATS 

Definition at line 23 of file omap_dmm_tiler.h.

Function Documentation

bool dmm_is_initialized ( void  )

Definition at line 508 of file omap_dmm_tiler.c.

void tiler_align ( enum tiler_fmt  fmt,
uint16_t w,
uint16_t h 
)

Definition at line 479 of file omap_dmm_tiler.c.

int tiler_pin ( struct tiler_block block,
struct page **  pages,
uint32_t  npages,
uint32_t  roll,
bool  wait 
)

Definition at line 309 of file omap_dmm_tiler.c.

int tiler_release ( struct tiler_block block)

Definition at line 388 of file omap_dmm_tiler.c.

struct tiler_block* tiler_reserve_1d ( size_t  size)
read

Definition at line 364 of file omap_dmm_tiler.c.

struct tiler_block* tiler_reserve_2d ( enum tiler_fmt  fmt,
uint16_t  w,
uint16_t  h,
uint16_t  align 
)
read

Definition at line 330 of file omap_dmm_tiler.c.

size_t tiler_size ( enum tiler_fmt  fmt,
uint16_t  w,
uint16_t  h 
)

Definition at line 496 of file omap_dmm_tiler.c.

dma_addr_t tiler_ssptr ( struct tiler_block block)

Definition at line 459 of file omap_dmm_tiler.c.

uint32_t tiler_stride ( enum tiler_fmt  fmt,
uint32_t  orient 
)

Definition at line 486 of file omap_dmm_tiler.c.

dma_addr_t tiler_tsptr ( struct tiler_block block,
uint32_t  orient,
uint32_t  x,
uint32_t  y 
)

Definition at line 468 of file omap_dmm_tiler.c.

int tiler_unpin ( struct tiler_block block)

Definition at line 322 of file omap_dmm_tiler.c.

size_t tiler_vsize ( enum tiler_fmt  fmt,
uint16_t  w,
uint16_t  h 
)

Definition at line 502 of file omap_dmm_tiler.c.

Variable Documentation

struct platform_driver omap_dmm_driver

Definition at line 900 of file omap_dmm_tiler.c.