blob: b4334b7c193dad79580e5b5e52a112a53a61bcc3 [file] [log] [blame]
Dileep Marchyaf9ba4852014-10-24 19:56:57 -07001/*
Uday Kiran Pichika5e656b22018-05-15 18:48:24 +05302* Copyright (c) 2014 - 2018, The Linux Foundation. All rights reserved.
Dileep Marchyaf9ba4852014-10-24 19:56:57 -07003*
Ramkumar Radhakrishnan7ebf0342015-01-20 15:00:46 -08004* Redistribution and use in source and binary forms, with or without
5* modification, are permitted provided that the following conditions are
6* met:
7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above
10* copyright notice, this list of conditions and the following
11* disclaimer in the documentation and/or other materials provided
12* with the distribution.
13* * Neither the name of The Linux Foundation nor the names of its
14* contributors may be used to endorse or promote products derived
15* from this software without specific prior written permission.
Dileep Marchyaf9ba4852014-10-24 19:56:57 -070016*
Ramkumar Radhakrishnan7ebf0342015-01-20 15:00:46 -080017* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
18* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
20* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
21* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
24* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
26* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
27* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Dileep Marchyaf9ba4852014-10-24 19:56:57 -070028*/
29
30#ifndef __DEBUG_H__
31#define __DEBUG_H__
32
Manoj Kumar AVM4746f242015-01-06 20:25:22 -080033#include <stdint.h>
Dileep Marchya2d586442018-03-09 16:42:40 +053034#include <debug_handler.h>
Dileep Marchya73d002e2015-05-08 18:58:33 -070035#include <core/sdm_types.h>
Tatenda Chipeperekwa299b0302015-05-27 15:42:49 -070036#include <core/display_interface.h>
Uday Kiran Pichika5e656b22018-05-15 18:48:24 +053037#include <display_properties.h>
Dileep Marchyab61346f2014-11-06 14:36:19 -080038
Dileep Marchya73d002e2015-05-08 18:58:33 -070039namespace sdm {
Dileep Marchyaf9ba4852014-10-24 19:56:57 -070040
Dileep Marchya2d586442018-03-09 16:42:40 +053041using display::DebugHandler;
42
Dileep Marchyaf9ba4852014-10-24 19:56:57 -070043class Debug {
44 public:
Dileep Marchya2d586442018-03-09 16:42:40 +053045 static inline DebugHandler* Get() { return DebugHandler::Get(); }
Naseer Ahmedb3b0a332015-06-05 19:14:32 -040046 static int GetSimulationFlag();
srikanth rajagopalan5d320c62017-06-05 21:08:57 -070047 static bool GetExternalResolution(char *val);
Dileep Marchyab06308d2017-02-13 09:45:01 +053048 static void GetIdleTimeoutMs(uint32_t *active_ms, uint32_t *inactive_ms);
Siddharth Zaveri918435f2016-01-12 01:05:14 -050049 static int GetBootAnimLayerCount();
Ken Zhange2605ea2015-02-02 10:17:45 -050050 static bool IsRotatorDownScaleDisabled();
51 static bool IsDecimationDisabled();
Tatenda Chipeperekwa299b0302015-05-27 15:42:49 -070052 static int GetMaxPipesPerMixer(DisplayType display_type);
Rajavenu Kyatham8c305cc2017-03-16 20:17:26 +053053 static int GetMaxUpscale();
Tatenda Chipeperekwa299b0302015-05-27 15:42:49 -070054 static bool IsVideoModeEnabled();
Sushil Chauhanb5e45c42015-06-12 16:50:26 -070055 static bool IsRotatorUbwcDisabled();
Ramkumar Radhakrishnan34508112015-05-28 19:02:05 -070056 static bool IsRotatorSplitDisabled();
Dileep Marchya511fb6d2015-07-06 11:37:06 -070057 static bool IsScalarDisabled();
Sushil Chauhanee1fc7e2015-07-09 17:43:21 -070058 static bool IsUbwcTiledFrameBuffer();
Ramkumar Radhakrishnan14a1fc62016-07-14 20:29:12 -070059 static bool IsAVRDisabled();
Ray Zhangf2ecade2016-08-12 21:50:53 +080060 static bool IsExtAnimDisabled();
Pullakavi Srinivasc1a71ca2017-02-21 11:54:42 +053061 static bool IsPartialSplitDisabled();
Sushil Chauhan3d66b2b2017-07-14 13:24:39 -070062 static bool IsSrcSplitPreferred();
Ramkumar Radhakrishnand3b4c062016-10-06 18:12:21 -070063 static DisplayError GetMixerResolution(uint32_t *width, uint32_t *height);
Anjaneya Prasad Musunuri0a481102017-07-08 11:17:55 +053064 static DisplayError GetReducedConfig(uint32_t *num_vig_pipes, uint32_t *num_dma_pipes);
Prabhanjan Kandulaa61a5f82016-08-10 18:42:19 +053065 static int GetExtMaxlayers();
Dileep Marchya2d586442018-03-09 16:42:40 +053066 static DisplayError GetProperty(const char *property_name, char *value);
67 static DisplayError GetProperty(const char *property_name, int *value);
Dileep Marchyaf9ba4852014-10-24 19:56:57 -070068};
69
Dileep Marchya73d002e2015-05-08 18:58:33 -070070} // namespace sdm
Dileep Marchyaf9ba4852014-10-24 19:56:57 -070071
72#endif // __DEBUG_H__
73