linux-stable/drivers/gpu/drm/i915/display
Ville Syrjälä 092706786e drm/i915: Introduce intel_panel_{fixed,downclock}_mode()
Abstract away the details on where we store the fixed/downclock
modes, and also how we select them. Will be useful for static
DRRS (aka. allowing the user to select the refresh rate for the
panel).

We pass in the user requested mode to intel_panel_fixed_mode()
so that in the future it may try to match the refresh rate.
And intel_panel_downclock_mode() gets passed the adjusted_mode
we actually chose to use so that it may find a suitable lower
resresh rate variant.

v2: Hook it up for all encoders
    s/fixed_mode/adjusted_mode/ in intel_panel_downclock_mode() (Jani)
    Elaborate on the choice or arguments for the functions (Jani)

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220311172428.14685-7-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
2022-03-15 00:14:00 +02:00
..
dvo_ch7xxx.c
dvo_ch7017.c
dvo_ivch.c
dvo_ns2501.c
dvo_sil164.c
dvo_tfp410.c
g4x_dp.c drm/i915: Remove struct dp_link_dpll 2022-03-10 11:07:32 +02:00
g4x_dp.h
g4x_hdmi.c drm/i915/trace: split out display trace to a separate file 2021-12-09 11:21:46 +02:00
g4x_hdmi.h drm/i915: Only include i915_reg.h from .c files 2022-02-02 07:59:54 -08:00
hsw_ips.c drm/i915: Extract hsw_ips_get_config() 2022-02-09 21:51:56 +02:00
hsw_ips.h drm/i915: Extract hsw_ips_get_config() 2022-02-09 21:51:56 +02:00
i9xx_plane.c drm/i915: Make most pre-skl primary plane registers unlocked 2022-02-24 17:51:51 +02:00
i9xx_plane.h
icl_dsi.c drm/i915/dsi: Pass fixed_mode to *_dsi_add_properties() 2022-03-15 00:12:43 +02:00
icl_dsi.h drm/i915/dsi: split out icl_dsi.h 2021-11-23 13:11:42 +02:00
icl_dsi_regs.h drm/i915/reg: split out icl_dsi_regs.h 2022-02-21 12:06:15 +02:00
intel_acpi.c drm/i915: Free the returned object of acpi_evaluate_dsm() 2021-10-13 13:41:16 +03:00
intel_acpi.h drm/i915: Associate ACPI connector nodes with connector entries (v2) 2021-09-09 12:59:07 +02:00
intel_atomic.c drm/i915: Fix the async flip wm0/ddb optimization 2022-03-03 18:20:27 +02:00
intel_atomic.h drm/i915: Clean up the bigjoiner state copy logic 2022-02-11 22:42:23 +02:00
intel_atomic_plane.c drm/i915: Make the PIPESRC rect relative to the entire bigjoiner area 2022-03-10 11:05:24 +02:00
intel_atomic_plane.h drm/i915: Introduce intel_crtc_planes_update_arm() 2022-02-18 08:42:28 +02:00
intel_audio.c drm/i915: s/intel_get_first_crtc/intel_first_crtc/ 2021-12-09 16:18:30 +02:00
intel_audio.h drm/i915/audio: rename intel_init_audio_hooks to intel_audio_hooks_init 2021-11-05 13:05:14 +02:00
intel_backlight.c drm/i915: Use str_enabled_disabled() 2022-03-02 08:48:20 -08:00
intel_backlight.h drm/i915/backlight: mass rename functions to have intel_backlight_ prefix 2021-08-26 10:40:41 +03:00
intel_bios.c drm/i915: Polish drrs type enum 2022-03-10 17:04:25 +02:00
intel_bios.h
intel_bw.c drm/i915: Extract intel_bw_check_data_rate() 2022-02-23 13:31:50 +02:00
intel_bw.h drm/i915: Widen the QGV point mask 2022-02-16 15:04:28 +02:00
intel_cdclk.c drm/i915: Move MCHBAR registers to their own header 2022-02-16 12:29:47 -08:00
intel_cdclk.h drm/i915/cdclk: update intel_dump_cdclk_config() logging 2022-01-24 15:20:21 +02:00
intel_color.c drm/i915: Make the CHV CGM CSC register writes lockless 2022-02-18 17:27:31 +02:00
intel_color.h
intel_combo_phy.c drm/i915: Move combo PHY registers to their own header 2022-01-11 14:03:25 -08:00
intel_combo_phy.h
intel_combo_phy_regs.h drm/i915: Move combo PHY registers to their own header 2022-01-11 14:03:25 -08:00
intel_connector.c drm/i915/debugfs: pass intel_connector to intel_connector_debugfs_add() 2021-10-01 13:45:37 +03:00
intel_connector.h
intel_crt.c drm/i915/display: remove intel_wait_for_vblank() 2021-12-02 13:45:29 +02:00
intel_crt.h drm/i915: Only include i915_reg.h from .c files 2022-02-02 07:59:54 -08:00
intel_crtc.c drm/i915: Fix the async flip wm0/ddb optimization 2022-03-03 18:20:27 +02:00
intel_crtc.h drm/i915: s/intel_get_first_crtc/intel_first_crtc/ 2021-12-09 16:18:30 +02:00
intel_cursor.c drm/i915: Make the PIPESRC rect relative to the entire bigjoiner area 2022-03-10 11:05:24 +02:00
intel_cursor.h
intel_ddi.c drm/i915: Use str_enable_disable() 2022-03-02 08:48:18 -08:00
intel_ddi.h drm/i915: Only include i915_reg.h from .c files 2022-02-02 07:59:54 -08:00
intel_ddi_buf_trans.c drm/i915/display/adlp: Update eDP voltage swing table 2022-03-14 13:44:51 -07:00
intel_ddi_buf_trans.h drm/i915: Shrink {icl_mg,tgl_dkl}_phy_ddi_buf_trans 2021-10-14 18:45:59 +03:00
intel_de.h drm/i915: Only include i915_reg.h from .c files 2022-02-02 07:59:54 -08:00
intel_display.c drm/i915: Program MSA timing delay on ilk/snb/ivb 2022-03-10 17:03:56 +02:00
intel_display.h drm/i915: Relocate a few more pch transcoder bits 2022-03-04 18:24:19 +02:00
intel_display_debugfs.c drm/i915: Nuke dev_priv->drrs.type 2022-03-15 00:13:31 +02:00
intel_display_debugfs.h drm/i915/debugfs: pass intel_connector to intel_connector_debugfs_add() 2021-10-01 13:45:37 +03:00
intel_display_power.c drm/i915: Use str_enable_disable() 2022-03-02 08:48:18 -08:00
intel_display_power.h drm/i915: Move intel_display_power_well_is_enabled() to intel_display_power_well.c 2022-02-28 17:03:33 +02:00
intel_display_power_well.c drm/i915: Move intel_display_power_well_is_enabled() to intel_display_power_well.c 2022-02-28 17:03:33 +02:00
intel_display_power_well.h drm/i915: Move intel_display_power_well_is_enabled() to intel_display_power_well.c 2022-02-28 17:03:33 +02:00
intel_display_trace.c drm/i915/trace: split out display trace to a separate file 2021-12-09 11:21:46 +02:00
intel_display_trace.h drm/i915: Use str_on_off() 2022-03-02 08:48:23 -08:00
intel_display_types.h drm/i915: Program MSA timing delay on ilk/snb/ivb 2022-03-10 17:03:56 +02:00
intel_dmc.c drm/i915/dmc: Update DMC to v2.16 on ADL-P 2022-03-04 08:20:08 -08:00
intel_dmc.h drm/i915: Only include i915_reg.h from .c files 2022-02-02 07:59:54 -08:00
intel_dp.c drm/i915: Introduce intel_panel_{fixed,downclock}_mode() 2022-03-15 00:14:00 +02:00
intel_dp.h drm/i915: Only include i915_reg.h from .c files 2022-02-02 07:59:54 -08:00
intel_dp_aux.c drm/i915/dp: make intel_dp_pack_aux() static again 2022-01-13 15:20:48 +02:00
intel_dp_aux.h drm/i915/dp: make intel_dp_pack_aux() static again 2022-01-13 15:20:48 +02:00
intel_dp_aux_backlight.c Linux 5.16-rc5 2021-12-14 10:24:28 +01:00
intel_dp_aux_backlight.h
intel_dp_hdcp.c drm/dp: Move public DisplayPort headers into dp/ 2022-01-17 11:25:44 +01:00
intel_dp_hdcp.h
intel_dp_link_training.c drm/i915/dp: remove accidental static on what should be a local variable 2022-02-18 10:02:33 +02:00
intel_dp_link_training.h Merge tag 'drm-intel-gt-next-2022-02-17' of git://anongit.freedesktop.org/drm/drm-intel into drm-intel-next 2022-02-23 15:03:51 -05:00
intel_dp_mst.c drm/i915/mst: update slot information for 128b/132b 2022-02-11 11:35:37 +02:00
intel_dp_mst.h drm/i915/mst: abstract intel_dp_mst_source_support() 2021-10-08 13:14:25 +03:00
intel_dpio_phy.c drm/i915: split out vlv sideband to a separate file 2021-10-14 12:22:55 +03:00
intel_dpio_phy.h drm/i915: De-wrapper bxt_ddi_phy_set_signal_levels() 2021-10-04 12:43:01 +03:00
intel_dpll.c drm/i915: Populate bxt/glk DPLL clock limits a bit more 2022-03-10 11:07:32 +02:00
intel_dpll.h drm/i915/dpll: add intel_dpll_crtc_compute_clock() 2022-02-09 13:39:43 +02:00
intel_dpll_mgr.c drm/i915: Replace hand rolled bxt vco calculation with chv_calc_dpll_params() 2022-03-10 11:07:32 +02:00
intel_dpll_mgr.h drm/i915/display/tgl+: Implement new PLL programming step 2022-02-18 06:35:44 -08:00
intel_dpt.c drm/i915/dg2: Use I915_BO_ALLOC_CONTIGUOUS flag for DPT 2022-03-03 16:37:10 +02:00
intel_dpt.h drm/i915: Restore memory mapping for DPT FBs across system suspend/resume 2021-11-03 11:07:24 +02:00
intel_drrs.c drm/i915: Introduce intel_panel_{fixed,downclock}_mode() 2022-03-15 00:14:00 +02:00
intel_drrs.h drm/i915: Constify intel_drrs_init() args 2022-03-10 17:03:25 +02:00
intel_dsb.c drm/i915: split out i915_gem_internal.h from i915_drv.h 2022-02-11 12:52:50 +02:00
intel_dsb.h drm/i915: Only include i915_reg.h from .c files 2022-02-02 07:59:54 -08:00
intel_dsi.c drm/i915: Introduce intel_panel_{fixed,downclock}_mode() 2022-03-15 00:14:00 +02:00
intel_dsi.h drm/i915/dsi: disassociate VBT video transfer mode from register values 2022-02-21 12:06:06 +02:00
intel_dsi_dcs_backlight.c drm/i915/dsi: transmit brightness command in HS state 2021-11-11 11:51:58 +02:00
intel_dsi_dcs_backlight.h
intel_dsi_vbt.c drm/i915: Use str_enabled_disabled() 2022-03-02 08:48:20 -08:00
intel_dsi_vbt.h drm/i915/dsi: split out intel_dsi_vbt.h 2021-11-23 13:11:13 +02:00
intel_dvo.c drm/i915: Introduce intel_panel_{fixed,downclock}_mode() 2022-03-15 00:14:00 +02:00
intel_dvo.h
intel_dvo_dev.h drm/i915: Only include i915_reg.h from .c files 2022-02-02 07:59:54 -08:00
intel_fb.c drm/i915/dg2: Tile 4 plane format support 2022-02-24 17:34:48 +02:00
intel_fb.h drm/i915/dg2: Tile 4 plane format support 2022-02-24 17:34:48 +02:00
intel_fb_pin.c Merge tag 'drm-intel-gt-next-2022-02-17' of git://anongit.freedesktop.org/drm/drm-intel into drm-intel-next 2022-02-23 15:03:51 -05:00
intel_fb_pin.h drm/i915/display: move pin/unpin fb/plane code to a new file. 2021-10-12 12:58:40 +03:00
intel_fbc.c drm/i915: Use str_yes_no() 2022-03-02 08:48:13 -08:00
intel_fbc.h drm/i915/fbc: Register per-crtc debugfs files 2021-12-15 17:02:40 +02:00
intel_fbdev.c Merge tag 'drm-intel-gt-next-2022-02-17' of git://anongit.freedesktop.org/drm/drm-intel into drm-intel-next 2022-02-23 15:03:51 -05:00
intel_fbdev.h drm/i915/fbdev: add intel_fbdev_framebuffer() helper 2022-02-17 10:01:21 +02:00
intel_fdi.c drm/i915: Use str_on_off() 2022-03-02 08:48:23 -08:00
intel_fdi.h drm/i915: Move intel_ddi_fdi_post_disable() to fdi code 2021-10-19 09:40:13 +03:00
intel_fifo_underrun.c drm/i915/trace: split out display trace to a separate file 2021-12-09 11:21:46 +02:00
intel_fifo_underrun.h
intel_frontbuffer.c drm/i915/trace: split out display trace to a separate file 2021-12-09 11:21:46 +02:00
intel_frontbuffer.h drm/i915/fb: reduce include dependencies 2021-12-13 12:04:59 +02:00
intel_global_state.c
intel_global_state.h
intel_gmbus.c drm/i915/gmbus: use to_intel_gmbus() instead of open coding 2022-03-07 11:23:55 +02:00
intel_gmbus.h drm/i915: Remove unused intel_gmbus_set_speed() function 2021-12-16 16:17:01 +01:00
intel_hdcp.c drm/i915: Move intel_display_power_well_is_enabled() to intel_display_power_well.c 2022-02-28 17:03:33 +02:00
intel_hdcp.h
intel_hdmi.c drm/i915: Use str_yes_no() 2022-03-02 08:48:13 -08:00
intel_hdmi.h drm/i915/dp: Reuse intel_hdmi_tmds_clock() 2022-02-11 22:36:00 +02:00
intel_hotplug.c drm/i915/hpd: hide struct intel_hotplug_funcs 2022-02-09 13:39:35 +02:00
intel_hotplug.h
intel_lpe_audio.c drm/i915/audio: name the audio sub-struct in drm_i915_private 2021-11-05 13:04:48 +02:00
intel_lpe_audio.h
intel_lspcon.c Merge tag 'drm-intel-gt-next-2022-02-17' of git://anongit.freedesktop.org/drm/drm-intel into drm-intel-next 2022-02-23 15:03:51 -05:00
intel_lspcon.h
intel_lvds.c drm/i915: Introduce intel_panel_{fixed,downclock}_mode() 2022-03-15 00:14:00 +02:00
intel_lvds.h drm/i915: Only include i915_reg.h from .c files 2022-02-02 07:59:54 -08:00
intel_opregion.c drm/i915/opregion: debug log about Mailbox #2 for backlight 2022-02-11 09:54:46 +02:00
intel_opregion.h drm/i915/opregion: add support for mailbox #5 EDID 2021-12-31 12:13:54 +02:00
intel_overlay.c drm/i915: Make the PIPESRC rect relative to the entire bigjoiner area 2022-03-10 11:05:24 +02:00
intel_overlay.h
intel_panel.c drm/i915: Introduce intel_panel_{fixed,downclock}_mode() 2022-03-15 00:14:00 +02:00
intel_panel.h drm/i915: Introduce intel_panel_{fixed,downclock}_mode() 2022-03-15 00:14:00 +02:00
intel_pch_display.c drm/i915: Relocate a few more pch transcoder bits 2022-03-04 18:24:19 +02:00
intel_pch_display.h drm/i915: Relocate a few more pch transcoder bits 2022-03-04 18:24:19 +02:00
intel_pch_refclk.c drm/i915: Move PCH refclock stuff into its own file 2021-10-19 09:36:22 +03:00
intel_pch_refclk.h drm/i915: Move PCH refclock stuff into its own file 2021-10-19 09:36:22 +03:00
intel_pipe_crc.c
intel_pipe_crc.h
intel_plane_initial.c drm/i915/dg2: Tile 4 plane format support 2022-02-24 17:34:48 +02:00
intel_plane_initial.h drm/i915/display: refactor initial plane config to a separate file 2021-10-12 12:58:33 +03:00
intel_pps.c drm/i915/pps: convert to drm device based logging 2022-01-24 15:20:02 +02:00
intel_pps.h drm/i915/pps: move pps (panel) modeset asserts to intel_pps.c 2021-10-01 10:48:59 +03:00
intel_psr.c drm/i915/display: Allow users to disable PSR2 2022-03-03 05:50:47 -08:00
intel_psr.h drm/i915/psr: avoid intel_frontbuffer.h include with declaration 2021-12-13 12:04:54 +02:00
intel_qp_tables.c
intel_qp_tables.h
intel_quirks.c drm/i915/display: stop including i915_drv.h from intel_display_types.h 2021-12-03 11:46:33 +02:00
intel_quirks.h
intel_sdvo.c drm/i915: Introduce intel_panel_{fixed,downclock}_mode() 2022-03-15 00:14:00 +02:00
intel_sdvo.h drm/i915: Only include i915_reg.h from .c files 2022-02-02 07:59:54 -08:00
intel_sdvo_regs.h
intel_snps_phy.c drm/i915/dg2: Skip output init on PHY calibration failure 2022-02-24 17:16:51 -08:00
intel_snps_phy.h drm/i915: Nuke useless .set_signal_levels() wrappers 2021-10-04 12:42:55 +03:00
intel_snps_phy_regs.h drm/i915: Move SNPS PHY registers to their own header 2022-01-11 14:03:25 -08:00
intel_sprite.c drm/i915: Use str_yes_no() 2022-03-02 08:48:13 -08:00
intel_sprite.h drm/i915: Move function prototypes to the correct header 2021-10-21 22:22:58 +03:00
intel_tc.c drm/i915: Disconnect PHYs left connected by BIOS on disabled ports 2022-02-18 12:39:20 +02:00
intel_tc.h drm/i915/tc: Fix TypeC PHY connect/disconnect logic on ADL-P 2021-09-29 23:58:04 +03:00
intel_tc_phy_regs.h drm/i915: Drop unused _PORT3 and _PORT4 TC phy register offsets 2022-01-11 14:03:26 -08:00
intel_tv.c drm/i915/trace: split out display trace to a separate file 2021-12-09 11:21:46 +02:00
intel_tv.h
intel_vbt_defs.h drm/i915: update new TMDS clock setting defined by VBT 2022-03-03 13:04:39 +02:00
intel_vdsc.c drm/i915: Eliminate bigjoiner boolean 2022-03-04 18:24:19 +02:00
intel_vdsc.h drm/i915: Change bigjoiner state tracking to use the pipe bitmask 2022-02-15 14:41:05 +02:00
intel_vga.c drm/i915/vga: switch to use VGA definitions from video/vga.h 2022-02-02 17:14:40 +02:00
intel_vga.h
intel_vrr.c drm/i915: Move framestart_delay to crtc_state 2022-03-04 18:24:18 +02:00
intel_vrr.h drm/i915: Do vblank evasion correctly if vrr push has already been sent 2021-11-18 22:31:15 +02:00
skl_scaler.c drm/i915: Start tracking PIPESRC as a drm_rect 2022-03-04 18:24:19 +02:00
skl_scaler.h
skl_universal_plane.c drm/i915: Eliminate bigjoiner boolean 2022-03-04 18:24:19 +02:00
skl_universal_plane.h
vlv_dsi.c drm/i915/dsi: Pass fixed_mode to *_dsi_add_properties() 2022-03-15 00:12:43 +02:00
vlv_dsi.h drm/i915/dsi: split out vlv_dsi.h 2021-11-23 13:11:39 +02:00
vlv_dsi_pll.c drm/i915/dsi: use min_t() to make code cleaner 2022-03-09 10:32:42 +02:00
vlv_dsi_pll.h drm/i915/dsi: split out vlv_dsi_pll.h 2021-11-23 13:11:36 +02:00
vlv_dsi_pll_regs.h drm/i915/reg: split out vlv_dsi_regs.h and vlv_dsi_pll_regs.h 2022-02-21 12:06:10 +02:00
vlv_dsi_regs.h drm/i915/reg: split out vlv_dsi_regs.h and vlv_dsi_pll_regs.h 2022-02-21 12:06:10 +02:00