Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
arm
plat-omap
include
plat
vrfb.h
Go to the documentation of this file.
1
/*
2
* VRFB Rotation Engine
3
*
4
* Copyright (C) 2009 Nokia Corporation
5
* Author: Tomi Valkeinen <
[email protected]
>
6
*
7
* This program is free software; you can redistribute it and/or modify
8
* it under the terms of the GNU General Public License version 2 as
9
* published by the Free Software Foundation.
10
*
11
* This program is distributed in the hope that it will be useful, but
12
* WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License along
17
* with this program; if not, write to the Free Software Foundation, Inc.,
18
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19
*/
20
21
#ifndef __OMAP_VRFB_H__
22
#define __OMAP_VRFB_H__
23
24
#define OMAP_VRFB_LINE_LEN 2048
25
26
struct
vrfb
{
27
u8
context
;
28
void
__iomem
*
vaddr
[4];
29
unsigned
long
paddr
[4];
30
u16
xres
;
31
u16
yres
;
32
u16
xoffset
;
33
u16
yoffset
;
34
u8
bytespp
;
35
bool
yuv_mode
;
36
};
37
38
#ifdef CONFIG_OMAP2_VRFB
39
extern
int
omap_vrfb_request_ctx
(
struct
vrfb
*
vrfb
);
40
extern
void
omap_vrfb_release_ctx
(
struct
vrfb
*
vrfb
);
41
extern
void
omap_vrfb_adjust_size
(
u16
*
width
,
u16
*
height
,
42
u8
bytespp);
43
extern
u32
omap_vrfb_min_phys_size
(
u16
width
,
u16
height
,
u8
bytespp);
44
extern
u16
omap_vrfb_max_height
(
u32
phys_size,
u16
width
,
u8
bytespp);
45
extern
void
omap_vrfb_setup
(
struct
vrfb
*
vrfb
,
unsigned
long
paddr
,
46
u16
width
,
u16
height
,
47
unsigned
bytespp,
bool
yuv_mode);
48
extern
int
omap_vrfb_map_angle
(
struct
vrfb
*
vrfb
,
u16
height
,
u8
rot
);
49
extern
void
omap_vrfb_restore_context
(
void
);
50
51
#else
52
static
inline
int
omap_vrfb_request_ctx
(
struct
vrfb
*
vrfb
) {
return
0; }
53
static
inline
void
omap_vrfb_release_ctx
(
struct
vrfb
*
vrfb
) {}
54
static
inline
void
omap_vrfb_adjust_size
(
u16
*
width
,
u16
*
height
,
55
u8
bytespp) {}
56
static
inline
u32
omap_vrfb_min_phys_size
(
u16
width
,
u16
height
,
u8
bytespp)
57
{
return
0; }
58
static
inline
u16
omap_vrfb_max_height
(
u32
phys_size,
u16
width
,
u8
bytespp)
59
{
return
0; }
60
static
inline
void
omap_vrfb_setup
(
struct
vrfb
*
vrfb
,
unsigned
long
paddr
,
61
u16
width
,
u16
height
,
unsigned
bytespp,
bool
yuv_mode) {}
62
static
inline
int
omap_vrfb_map_angle
(
struct
vrfb
*
vrfb
,
u16
height
,
u8
rot
)
63
{
return
0; }
64
static
inline
void
omap_vrfb_restore_context
(
void
) {}
65
#endif
66
#endif
/* __VRFB_H */
Generated on Thu Jan 10 2013 13:03:19 for Linux Kernel by
1.8.2