Skip to content

Commit 2ab8b45

Browse files
Shobhit Kumardanvet
Shobhit Kumar
authored andcommitted
drm/i915: Add support for Generic MIPI panel driver
This driver makes use of the generic panel information from the VBT. Panel information is classified into two - panel configuration and panel power sequence which is unique to each panel. The generic driver uses the panel configuration and sequence parsed from VBT block #52 and #53 v2: Address review comments by Jani - Move all of the things in driver c file from header - Make all functions static - Make use of video/mipi_display.c instead of redefining - Null checks during sequence execution v3: Address review comments by Damien - Rename the panel driver file as intel_dsi_panel_vbt.c - Fix style changes as suggested - Correct comments for lp->hs and hs->lp count calculations - General updating comments to have more clarity - using max() instead of ternary operator - Fix names (ui_num, ui_den) while using UI in calculations - compute max of lp_to_hs switch and hs_to_lp switch while computing hs_lp_switch_count Signed-off-by: Shobhit Kumar <[email protected]> Reviewed-by: Damien Lespiau <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
1 parent d6e3cca commit 2ab8b45

File tree

4 files changed

+597
-0
lines changed

4 files changed

+597
-0
lines changed

drivers/gpu/drm/i915/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ i915-y += dvo_ch7017.o \
6262
intel_dsi_cmd.o \
6363
intel_dsi.o \
6464
intel_dsi_pll.o \
65+
intel_dsi_panel_vbt.o \
6566
intel_dvo.o \
6667
intel_hdmi.o \
6768
intel_i2c.o \

drivers/gpu/drm/i915/intel_dsi.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,11 @@
3535

3636
/* the sub-encoders aka panel drivers */
3737
static const struct intel_dsi_device intel_dsi_devices[] = {
38+
{
39+
.panel_id = MIPI_DSI_GENERIC_PANEL_ID,
40+
.name = "vbt-generic-dsi-vid-mode-display",
41+
.dev_ops = &vbt_generic_dsi_display_ops,
42+
},
3843
};
3944

4045
static void band_gap_reset(struct drm_i915_private *dev_priv)

drivers/gpu/drm/i915/intel_dsi.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,4 +133,6 @@ static inline struct intel_dsi *enc_to_intel_dsi(struct drm_encoder *encoder)
133133
extern void vlv_enable_dsi_pll(struct intel_encoder *encoder);
134134
extern void vlv_disable_dsi_pll(struct intel_encoder *encoder);
135135

136+
extern struct intel_dsi_dev_ops vbt_generic_dsi_display_ops;
137+
136138
#endif /* _INTEL_DSI_H */

0 commit comments

Comments
 (0)