Browse Source

disp: msm: dsi: Add a new function to get drm_panel

A new API to get drm_panel from dsi_display.
The drm_panel was defined as a member of drm_connector.
When doing connector initialize, can set drm_panel to
drm_connector. So this API is needed to get drm_panel
from dsi_dsiplay.

Change-Id: I0ec9de5a9407085048a8fef421b7b28d466085ed
Signed-off-by: Yuan Zhao <[email protected]>
Yuan Zhao 6 năm trước cách đây
mục cha
commit
df6d76968e
2 tập tin đã thay đổi với 19 bổ sung0 xóa
  1. 10 0
      msm/dsi/dsi_display.c
  2. 9 0
      msm/dsi/dsi_display.h

+ 10 - 0
msm/dsi/dsi_display.c

@@ -5537,6 +5537,16 @@ static struct mipi_dsi_host_ops dsi_host_ext_ops = {
 	.transfer = dsi_host_transfer,
 };
 
+struct drm_panel *dsi_display_get_drm_panel(struct dsi_display * display)
+{
+	if (!display || !display->panel) {
+		pr_err("invalid param(s)\n");
+		return NULL;
+	}
+
+	return &display->panel->drm_panel;
+}
+
 int dsi_display_drm_ext_bridge_init(struct dsi_display *display,
 		struct drm_encoder *encoder, struct drm_connector *connector)
 {

+ 9 - 0
msm/dsi/dsi_display.h

@@ -585,6 +585,15 @@ int dsi_display_set_tpg_state(struct dsi_display *display, bool enable);
 int dsi_display_clock_gate(struct dsi_display *display, bool enable);
 int dsi_dispaly_static_frame(struct dsi_display *display, bool enable);
 
+/**
+ * dsi_display_get_drm_panel() - get drm_panel from display.
+ * @display:            Handle to display.
+ * Get drm_panel which was inclued in dsi_display's dsi_panel.
+ *
+ * Return: drm_panel/NULL.
+ */
+struct drm_panel *dsi_display_get_drm_panel(struct dsi_display *display);
+
 /**
  * dsi_display_enable_event() - enable interrupt based connector event
  * @connector:          Pointer to drm connector structure