dp_debug.h (1834B)
1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* 3 * Copyright (c) 2017-2020, The Linux Foundation. All rights reserved. 4 */ 5 6#ifndef _DP_DEBUG_H_ 7#define _DP_DEBUG_H_ 8 9#include "dp_panel.h" 10#include "dp_link.h" 11 12/** 13 * struct dp_debug 14 * @debug_en: specifies whether debug mode enabled 15 * @vdisplay: used to filter out vdisplay value 16 * @hdisplay: used to filter out hdisplay value 17 * @vrefresh: used to filter out vrefresh value 18 * @tpg_state: specifies whether tpg feature is enabled 19 */ 20struct dp_debug { 21 bool debug_en; 22 int aspect_ratio; 23 int vdisplay; 24 int hdisplay; 25 int vrefresh; 26}; 27 28#if defined(CONFIG_DEBUG_FS) 29 30/** 31 * dp_debug_get() - configure and get the DisplayPlot debug module data 32 * 33 * @dev: device instance of the caller 34 * @panel: instance of panel module 35 * @usbpd: instance of usbpd module 36 * @link: instance of link module 37 * @connector: double pointer to display connector 38 * @minor: pointer to drm minor number after device registration 39 * return: pointer to allocated debug module data 40 * 41 * This function sets up the debug module and provides a way 42 * for debugfs input to be communicated with existing modules 43 */ 44struct dp_debug *dp_debug_get(struct device *dev, struct dp_panel *panel, 45 struct dp_usbpd *usbpd, struct dp_link *link, 46 struct drm_connector *connector, 47 struct drm_minor *minor); 48 49/** 50 * dp_debug_put() 51 * 52 * Cleans up dp_debug instance 53 * 54 * @dp_debug: instance of dp_debug 55 */ 56void dp_debug_put(struct dp_debug *dp_debug); 57 58#else 59 60static inline 61struct dp_debug *dp_debug_get(struct device *dev, struct dp_panel *panel, 62 struct dp_usbpd *usbpd, struct dp_link *link, 63 struct drm_connector *connector, struct drm_minor *minor) 64{ 65 return ERR_PTR(-EINVAL); 66} 67 68static inline void dp_debug_put(struct dp_debug *dp_debug) 69{ 70} 71 72#endif /* defined(CONFIG_DEBUG_FS) */ 73 74#endif /* _DP_DEBUG_H_ */