Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/i915/dsi: Fill BLLPs with blanking packets if requested

TGL/ADL DSI can be configured to fill all BLLPs with blanking
packets. Currently we enable that always, but the VBT actually
tells us whether this is desired or not. Hook that up.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patch.msgid.link/20260326111814.9800-5-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com>

+9 -5
+5 -4
drivers/gpu/drm/i915/display/icl_dsi.c
··· 765 765 } 766 766 } 767 767 768 - if (DISPLAY_VER(display) >= 12) { 769 - if (is_vid_mode(intel_dsi)) 770 - tmp |= BLANKING_PACKET_ENABLE; 771 - } 768 + if (DISPLAY_VER(display) >= 12 && 769 + is_vid_mode(intel_dsi) && intel_dsi->blanking_pkt) 770 + tmp |= BLANKING_PACKET_ENABLE; 771 + else 772 + tmp &= ~BLANKING_PACKET_ENABLE; 772 773 773 774 /* program DSI operation mode */ 774 775 if (is_vid_mode(intel_dsi)) {
+1 -1
drivers/gpu/drm/i915/display/icl_dsi_regs.h
··· 232 232 #define CALIBRATION_DISABLED (0x0 << 4) 233 233 #define CALIBRATION_ENABLED_INITIAL_ONLY (0x2 << 4) 234 234 #define CALIBRATION_ENABLED_INITIAL_PERIODIC (0x3 << 4) 235 - #define BLANKING_PACKET_ENABLE (1 << 2) 235 + #define BLANKING_PACKET_ENABLE (1 << 2) /* tgl+ */ 236 236 #define S3D_ORIENTATION_LANDSCAPE (1 << 1) 237 237 #define EOTP_DISABLED (1 << 0) 238 238
+1
drivers/gpu/drm/i915/display/intel_dsi.h
··· 80 80 /* NON_BURST_SYNC_PULSE, NON_BURST_SYNC_EVENTS, or BURST_MODE */ 81 81 int video_mode; 82 82 83 + bool blanking_pkt; 83 84 bool eot_pkt; 84 85 bool clock_stop; 85 86
+2
drivers/gpu/drm/i915/display/intel_dsi_vbt.c
··· 718 718 "burst" : "<unknown>"); 719 719 drm_printf(&p, "Burst mode ratio %d\n", intel_dsi->burst_mode_ratio); 720 720 drm_printf(&p, "Reset timer %d\n", intel_dsi->rst_timer_val); 721 + drm_printf(&p, "Blanking packets during BLLP %s\n", str_enabled_disabled(intel_dsi->blanking_pkt)); 721 722 drm_printf(&p, "EoT packet %s\n", str_enabled_disabled(intel_dsi->eot_pkt)); 722 723 drm_printf(&p, "Clock stop during BLLP %s\n", str_enabled_disabled(intel_dsi->clock_stop)); 723 724 drm_printf(&p, "Mode %s\n", intel_dsi->operation_mode ? "command" : "video"); ··· 771 770 772 771 drm_dbg_kms(display->drm, "\n"); 773 772 773 + intel_dsi->blanking_pkt = mipi_config->blanking_packets_during_bllp; 774 774 intel_dsi->eot_pkt = !mipi_config->eot_pkt_disabled; 775 775 intel_dsi->clock_stop = mipi_config->enable_clk_stop; 776 776 intel_dsi->lane_count = mipi_config->lane_cnt + 1;