blob: 01af2e13ae517aa3a543f3ada3794118c7a529e2 [file] [log] [blame]
Naseer Ahmed29a26812012-06-14 00:56:20 -07001/*
2 * Copyright (C) 2008 The Android Open Source Project
Duy Truong73d36df2013-02-09 20:33:23 -08003 * Copyright (c) 2012, The Linux Foundation. All rights reserved.
Naseer Ahmed29a26812012-06-14 00:56:20 -07004 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18#ifndef FB_PRIV_H
19#define FB_PRIV_H
20#include <linux/fb.h>
Naseer Ahmed32aa90f2012-10-01 18:45:13 -040021#include <linux/msm_mdp.h>
Naseer Ahmed29a26812012-06-14 00:56:20 -070022
23#define NUM_FRAMEBUFFERS_MIN 2
Naseer Ahmed00fd6a52012-07-03 21:23:12 -070024#define NUM_FRAMEBUFFERS_MAX 3
Naseer Ahmed29a26812012-06-14 00:56:20 -070025
26#define NO_SURFACEFLINGER_SWAPINTERVAL
27#define COLOR_FORMAT(x) (x & 0xFFF) // Max range for colorFormats is 0 - FFF
28
Naseer Ahmed29a26812012-06-14 00:56:20 -070029struct private_handle_t;
30
Naseer Ahmed29a26812012-06-14 00:56:20 -070031enum {
32 // flag to indicate we'll post this buffer
33 PRIV_USAGE_LOCKED_FOR_POST = 0x80000000,
34 PRIV_MIN_SWAP_INTERVAL = 0,
35 PRIV_MAX_SWAP_INTERVAL = 1,
36};
37
Naseer Ahmed29a26812012-06-14 00:56:20 -070038struct private_module_t {
39 gralloc_module_t base;
Naseer Ahmed29a26812012-06-14 00:56:20 -070040 struct private_handle_t* framebuffer;
41 uint32_t fbFormat;
42 uint32_t flags;
43 uint32_t numBuffers;
44 uint32_t bufferMask;
45 pthread_mutex_t lock;
Naseer Ahmed88318162012-07-13 07:16:20 -070046 private_handle_t *currentBuffer;
Naseer Ahmed29a26812012-06-14 00:56:20 -070047 struct fb_var_screeninfo info;
Naseer Ahmed32aa90f2012-10-01 18:45:13 -040048 struct mdp_display_commit commit;
Naseer Ahmed29a26812012-06-14 00:56:20 -070049 struct fb_fix_screeninfo finfo;
50 float xdpi;
51 float ydpi;
52 float fps;
53 uint32_t swapInterval;
Naseer Ahmed29a26812012-06-14 00:56:20 -070054 uint32_t currentOffset;
Naseer Ahmed29a26812012-06-14 00:56:20 -070055};
56
57
58
59#endif /* FB_PRIV_H */