blob: e2eba6ab8286a17b60842fb8dc9b7ed22dbc52c2 [file] [log] [blame]
Naseer Ahmed29a26812012-06-14 00:56:20 -07001/*
2 * Copyright (C) 2008 The Android Open Source Project
Arun Kumar K.R6c85f052014-01-21 21:47:41 -08003 * Copyright (c) 2012-2014, 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;
Saurabh Shah8f0ea6f2014-05-19 16:48:53 -070044 uint32_t bufferMask;
Naseer Ahmed29a26812012-06-14 00:56:20 -070045 pthread_mutex_t lock;
Naseer Ahmed29a26812012-06-14 00:56:20 -070046 struct fb_var_screeninfo info;
47 struct fb_fix_screeninfo finfo;
48 float xdpi;
49 float ydpi;
50 float fps;
51 uint32_t swapInterval;
Naseer Ahmed29a26812012-06-14 00:56:20 -070052};
53
54
55
56#endif /* FB_PRIV_H */