1 /*
2 // Copyright (c) 2014 Intel Corporation 
3 //
4 // Licensed under the Apache License, Version 2.0 (the "License");
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 //      http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 */
16 #include <HwcTrace.h>
17 #include <Drm.h>
18 #include <penwell/PnwPrimaryPlane.h>
19 #include <penwell/PnwGrallocBuffer.h>
20 #include <common/PixelFormat.h>
21 
22 namespace android {
23 namespace intel {
24 
PnwPrimaryPlane(int index,int disp)25 PnwPrimaryPlane::PnwPrimaryPlane(int index, int disp)
26     : PnwSpritePlane(index, disp)
27 {
28     CTRACE();
29     mType = PLANE_PRIMARY;
30 }
31 
~PnwPrimaryPlane()32 PnwPrimaryPlane::~PnwPrimaryPlane()
33 {
34     CTRACE();
35 }
36 
setFramebufferTarget(DataBuffer & buf)37 void PnwPrimaryPlane::setFramebufferTarget(DataBuffer& buf)
38 {
39     CTRACE();
40     //TODO: implement penwell frame buffer target flip
41 }
42 
setDataBuffer(uint32_t handle)43 bool PnwPrimaryPlane::setDataBuffer(uint32_t handle)
44 {
45     PnwGrallocBuffer tmpBuf(handle);
46     uint32_t usage;
47 
48     ATRACE("handle = %#x", handle);
49 
50     usage = tmpBuf.getUsage();
51     if (!handle || (GRALLOC_USAGE_HW_FB & usage)) {
52         setFramebufferTarget(tmpBuf);
53         return true;
54     }
55 
56     return DisplayPlane::setDataBuffer(handle);
57 }
58 
assignToDevice(int disp)59 bool PnwPrimaryPlane::assignToDevice(int disp)
60 {
61     return true;
62 }
63 
64 } // namespace intel
65 } // namespace android
66