From acae8df0e654f10e7233ce6fd85795e7467fbaf4 Mon Sep 17 00:00:00 2001 From: Cosmin Tanislav Date: Fri, 24 Sep 2021 19:40:14 +0300 Subject: [PATCH] techpack: display: expose requesting fod hbm for primary display Change-Id: I4900293fe44df9edc09e7e1948f8a7de1c3d6197 --- include/drm/dsi_display_fod.h | 10 ++++++++++ techpack/display/msm/dsi/dsi_display.c | 17 +++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 include/drm/dsi_display_fod.h diff --git a/include/drm/dsi_display_fod.h b/include/drm/dsi_display_fod.h new file mode 100644 index 000000000000..98e59311703d --- /dev/null +++ b/include/drm/dsi_display_fod.h @@ -0,0 +1,10 @@ +// SPDX-License-Identifier: GPL-2.0-only + +#include + +#ifndef DSI_DISPLAY_H +#define DSI_DISPLAY_H + +void dsi_display_primary_request_fod_hbm(bool status); + +#endif // DSI_DISPLAY_H diff --git a/techpack/display/msm/dsi/dsi_display.c b/techpack/display/msm/dsi/dsi_display.c index 93f4ae534b93..faae8409be0e 100644 --- a/techpack/display/msm/dsi/dsi_display.c +++ b/techpack/display/msm/dsi/dsi_display.c @@ -10,6 +10,7 @@ #include #include +#include #include "msm_drv.h" #include "sde_connector.h" @@ -41,6 +42,9 @@ #define SEC_PANEL_NAME_MAX_LEN 256 u8 dbgfs_tx_cmd_buf[SZ_4K]; + +struct dsi_display *primary_display; + static char dsi_display_primary[MAX_CMDLINE_PARAM_LEN]; static char dsi_display_secondary[MAX_CMDLINE_PARAM_LEN]; static struct dsi_display_boot_param boot_displays[MAX_DSI_ACTIVE_DISPLAY] = { @@ -6028,6 +6032,17 @@ static void dsi_display_firmware_display(const struct firmware *fw, DSI_DEBUG("success\n"); } +static struct dsi_display *dsi_display_get_primary(void) { + return primary_display; +} + +void dsi_display_primary_request_fod_hbm(bool status) +{ + struct dsi_display *display = dsi_display_get_primary(); + dsi_panel_request_fod_hbm(display->panel, status); +} +EXPORT_SYMBOL(dsi_display_primary_request_fod_hbm); + int dsi_display_dev_probe(struct platform_device *pdev) { struct dsi_display *display = NULL; @@ -6130,6 +6145,8 @@ int dsi_display_dev_probe(struct platform_device *pdev) goto end; } + primary_display = display; + return 0; end: if (display)