Commit 8219ab6d authored by Jani Nikula's avatar Jani Nikula

drm/i915: move max_dotclk_freq to display substruct

The info is related to display, and should be placed under
i915->display.
Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Acked-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/ea012aa72c93f3d436ccacf8f75683757d144b82.1712599670.git.jani.nikula@intel.com
parent ded402c7
...@@ -3438,13 +3438,13 @@ void intel_update_max_cdclk(struct drm_i915_private *dev_priv) ...@@ -3438,13 +3438,13 @@ void intel_update_max_cdclk(struct drm_i915_private *dev_priv)
dev_priv->display.cdclk.max_cdclk_freq = dev_priv->display.cdclk.hw.cdclk; dev_priv->display.cdclk.max_cdclk_freq = dev_priv->display.cdclk.hw.cdclk;
} }
dev_priv->max_dotclk_freq = intel_compute_max_dotclk(dev_priv); dev_priv->display.cdclk.max_dotclk_freq = intel_compute_max_dotclk(dev_priv);
drm_dbg(&dev_priv->drm, "Max CD clock rate: %d kHz\n", drm_dbg(&dev_priv->drm, "Max CD clock rate: %d kHz\n",
dev_priv->display.cdclk.max_cdclk_freq); dev_priv->display.cdclk.max_cdclk_freq);
drm_dbg(&dev_priv->drm, "Max dotclock rate: %d kHz\n", drm_dbg(&dev_priv->drm, "Max dotclock rate: %d kHz\n",
dev_priv->max_dotclk_freq); dev_priv->display.cdclk.max_dotclk_freq);
} }
/** /**
...@@ -3618,7 +3618,7 @@ static int i915_cdclk_info_show(struct seq_file *m, void *unused) ...@@ -3618,7 +3618,7 @@ static int i915_cdclk_info_show(struct seq_file *m, void *unused)
seq_printf(m, "Current CD clock frequency: %d kHz\n", i915->display.cdclk.hw.cdclk); seq_printf(m, "Current CD clock frequency: %d kHz\n", i915->display.cdclk.hw.cdclk);
seq_printf(m, "Max CD clock frequency: %d kHz\n", i915->display.cdclk.max_cdclk_freq); seq_printf(m, "Max CD clock frequency: %d kHz\n", i915->display.cdclk.max_cdclk_freq);
seq_printf(m, "Max pixel clock frequency: %d kHz\n", i915->max_dotclk_freq); seq_printf(m, "Max pixel clock frequency: %d kHz\n", i915->display.cdclk.max_dotclk_freq);
return 0; return 0;
} }
......
...@@ -348,7 +348,7 @@ intel_crt_mode_valid(struct drm_connector *connector, ...@@ -348,7 +348,7 @@ intel_crt_mode_valid(struct drm_connector *connector,
{ {
struct drm_device *dev = connector->dev; struct drm_device *dev = connector->dev;
struct drm_i915_private *dev_priv = to_i915(dev); struct drm_i915_private *dev_priv = to_i915(dev);
int max_dotclk = dev_priv->max_dotclk_freq; int max_dotclk = dev_priv->display.cdclk.max_dotclk_freq;
enum drm_mode_status status; enum drm_mode_status status;
int max_clock; int max_clock;
......
...@@ -2419,7 +2419,7 @@ static int intel_crtc_compute_pipe_mode(struct intel_crtc_state *crtc_state) ...@@ -2419,7 +2419,7 @@ static int intel_crtc_compute_pipe_mode(struct intel_crtc_state *crtc_state)
struct drm_i915_private *i915 = to_i915(crtc->base.dev); struct drm_i915_private *i915 = to_i915(crtc->base.dev);
struct drm_display_mode *adjusted_mode = &crtc_state->hw.adjusted_mode; struct drm_display_mode *adjusted_mode = &crtc_state->hw.adjusted_mode;
struct drm_display_mode *pipe_mode = &crtc_state->hw.pipe_mode; struct drm_display_mode *pipe_mode = &crtc_state->hw.pipe_mode;
int clock_limit = i915->max_dotclk_freq; int clock_limit = i915->display.cdclk.max_dotclk_freq;
/* /*
* Start with the adjusted_mode crtc timings, which * Start with the adjusted_mode crtc timings, which
...@@ -2443,7 +2443,7 @@ static int intel_crtc_compute_pipe_mode(struct intel_crtc_state *crtc_state) ...@@ -2443,7 +2443,7 @@ static int intel_crtc_compute_pipe_mode(struct intel_crtc_state *crtc_state)
*/ */
if (intel_crtc_supports_double_wide(crtc) && if (intel_crtc_supports_double_wide(crtc) &&
pipe_mode->crtc_clock > clock_limit) { pipe_mode->crtc_clock > clock_limit) {
clock_limit = i915->max_dotclk_freq; clock_limit = i915->display.cdclk.max_dotclk_freq;
crtc_state->double_wide = true; crtc_state->double_wide = true;
} }
} }
...@@ -7795,7 +7795,7 @@ void intel_setup_outputs(struct drm_i915_private *dev_priv) ...@@ -7795,7 +7795,7 @@ void intel_setup_outputs(struct drm_i915_private *dev_priv)
static int max_dotclock(struct drm_i915_private *i915) static int max_dotclock(struct drm_i915_private *i915)
{ {
int max_dotclock = i915->max_dotclk_freq; int max_dotclock = i915->display.cdclk.max_dotclk_freq;
/* icl+ might use bigjoiner */ /* icl+ might use bigjoiner */
if (DISPLAY_VER(i915) >= 11) if (DISPLAY_VER(i915) >= 11)
......
...@@ -345,6 +345,7 @@ struct intel_display { ...@@ -345,6 +345,7 @@ struct intel_display {
struct intel_global_obj obj; struct intel_global_obj obj;
unsigned int max_cdclk_freq; unsigned int max_cdclk_freq;
unsigned int max_dotclk_freq;
unsigned int skl_preferred_vco_freq; unsigned int skl_preferred_vco_freq;
} cdclk; } cdclk;
......
...@@ -1210,7 +1210,7 @@ bool intel_dp_need_bigjoiner(struct intel_dp *intel_dp, ...@@ -1210,7 +1210,7 @@ bool intel_dp_need_bigjoiner(struct intel_dp *intel_dp,
if (!intel_dp_can_bigjoiner(intel_dp)) if (!intel_dp_can_bigjoiner(intel_dp))
return false; return false;
return clock > i915->max_dotclk_freq || hdisplay > 5120 || return clock > i915->display.cdclk.max_dotclk_freq || hdisplay > 5120 ||
connector->force_bigjoiner_enable; connector->force_bigjoiner_enable;
} }
...@@ -1224,7 +1224,7 @@ intel_dp_mode_valid(struct drm_connector *_connector, ...@@ -1224,7 +1224,7 @@ intel_dp_mode_valid(struct drm_connector *_connector,
const struct drm_display_mode *fixed_mode; const struct drm_display_mode *fixed_mode;
int target_clock = mode->clock; int target_clock = mode->clock;
int max_rate, mode_rate, max_lanes, max_link_clock; int max_rate, mode_rate, max_lanes, max_link_clock;
int max_dotclk = dev_priv->max_dotclk_freq; int max_dotclk = dev_priv->display.cdclk.max_dotclk_freq;
u16 dsc_max_compressed_bpp = 0; u16 dsc_max_compressed_bpp = 0;
u8 dsc_slice_count = 0; u8 dsc_slice_count = 0;
enum drm_mode_status status; enum drm_mode_status status;
......
...@@ -1285,7 +1285,7 @@ intel_dp_mst_mode_valid_ctx(struct drm_connector *connector, ...@@ -1285,7 +1285,7 @@ intel_dp_mst_mode_valid_ctx(struct drm_connector *connector,
struct drm_dp_mst_topology_mgr *mgr = &intel_dp->mst_mgr; struct drm_dp_mst_topology_mgr *mgr = &intel_dp->mst_mgr;
struct drm_dp_mst_port *port = intel_connector->port; struct drm_dp_mst_port *port = intel_connector->port;
const int min_bpp = 18; const int min_bpp = 18;
int max_dotclk = to_i915(connector->dev)->max_dotclk_freq; int max_dotclk = to_i915(connector->dev)->display.cdclk.max_dotclk_freq;
int max_rate, mode_rate, max_lanes, max_link_clock; int max_rate, mode_rate, max_lanes, max_link_clock;
int ret; int ret;
bool dsc = false, bigjoiner = false; bool dsc = false, bigjoiner = false;
......
...@@ -64,7 +64,7 @@ enum drm_mode_status intel_dsi_mode_valid(struct drm_connector *connector, ...@@ -64,7 +64,7 @@ enum drm_mode_status intel_dsi_mode_valid(struct drm_connector *connector,
struct intel_connector *intel_connector = to_intel_connector(connector); struct intel_connector *intel_connector = to_intel_connector(connector);
const struct drm_display_mode *fixed_mode = const struct drm_display_mode *fixed_mode =
intel_panel_fixed_mode(intel_connector, mode); intel_panel_fixed_mode(intel_connector, mode);
int max_dotclk = to_i915(connector->dev)->max_dotclk_freq; int max_dotclk = to_i915(connector->dev)->display.cdclk.max_dotclk_freq;
enum drm_mode_status status; enum drm_mode_status status;
drm_dbg_kms(&dev_priv->drm, "\n"); drm_dbg_kms(&dev_priv->drm, "\n");
......
...@@ -223,7 +223,7 @@ intel_dvo_mode_valid(struct drm_connector *_connector, ...@@ -223,7 +223,7 @@ intel_dvo_mode_valid(struct drm_connector *_connector,
struct intel_dvo *intel_dvo = intel_attached_dvo(connector); struct intel_dvo *intel_dvo = intel_attached_dvo(connector);
const struct drm_display_mode *fixed_mode = const struct drm_display_mode *fixed_mode =
intel_panel_fixed_mode(connector, mode); intel_panel_fixed_mode(connector, mode);
int max_dotclk = to_i915(connector->base.dev)->max_dotclk_freq; int max_dotclk = to_i915(connector->base.dev)->display.cdclk.max_dotclk_freq;
int target_clock = mode->clock; int target_clock = mode->clock;
enum drm_mode_status status; enum drm_mode_status status;
......
...@@ -1993,7 +1993,7 @@ intel_hdmi_mode_valid(struct drm_connector *connector, ...@@ -1993,7 +1993,7 @@ intel_hdmi_mode_valid(struct drm_connector *connector,
struct drm_i915_private *dev_priv = intel_hdmi_to_i915(hdmi); struct drm_i915_private *dev_priv = intel_hdmi_to_i915(hdmi);
enum drm_mode_status status; enum drm_mode_status status;
int clock = mode->clock; int clock = mode->clock;
int max_dotclk = to_i915(connector->dev)->max_dotclk_freq; int max_dotclk = to_i915(connector->dev)->display.cdclk.max_dotclk_freq;
bool has_hdmi_sink = intel_has_hdmi_sink(hdmi, connector->state); bool has_hdmi_sink = intel_has_hdmi_sink(hdmi, connector->state);
bool ycbcr_420_only; bool ycbcr_420_only;
enum intel_output_format sink_format; enum intel_output_format sink_format;
......
...@@ -392,7 +392,7 @@ intel_lvds_mode_valid(struct drm_connector *_connector, ...@@ -392,7 +392,7 @@ intel_lvds_mode_valid(struct drm_connector *_connector,
struct drm_i915_private *i915 = to_i915(connector->base.dev); struct drm_i915_private *i915 = to_i915(connector->base.dev);
const struct drm_display_mode *fixed_mode = const struct drm_display_mode *fixed_mode =
intel_panel_fixed_mode(connector, mode); intel_panel_fixed_mode(connector, mode);
int max_pixclk = to_i915(connector->base.dev)->max_dotclk_freq; int max_pixclk = to_i915(connector->base.dev)->display.cdclk.max_dotclk_freq;
enum drm_mode_status status; enum drm_mode_status status;
status = intel_cpu_transcoder_mode_valid(i915, mode); status = intel_cpu_transcoder_mode_valid(i915, mode);
......
...@@ -1944,7 +1944,7 @@ intel_sdvo_mode_valid(struct drm_connector *connector, ...@@ -1944,7 +1944,7 @@ intel_sdvo_mode_valid(struct drm_connector *connector,
struct intel_sdvo_connector *intel_sdvo_connector = struct intel_sdvo_connector *intel_sdvo_connector =
to_intel_sdvo_connector(connector); to_intel_sdvo_connector(connector);
bool has_hdmi_sink = intel_has_hdmi_sink(intel_sdvo_connector, connector->state); bool has_hdmi_sink = intel_has_hdmi_sink(intel_sdvo_connector, connector->state);
int max_dotclk = i915->max_dotclk_freq; int max_dotclk = i915->display.cdclk.max_dotclk_freq;
enum drm_mode_status status; enum drm_mode_status status;
int clock = mode->clock; int clock = mode->clock;
......
...@@ -962,7 +962,7 @@ intel_tv_mode_valid(struct drm_connector *connector, ...@@ -962,7 +962,7 @@ intel_tv_mode_valid(struct drm_connector *connector,
{ {
struct drm_i915_private *i915 = to_i915(connector->dev); struct drm_i915_private *i915 = to_i915(connector->dev);
const struct tv_mode *tv_mode = intel_tv_mode_find(connector->state); const struct tv_mode *tv_mode = intel_tv_mode_find(connector->state);
int max_dotclk = i915->max_dotclk_freq; int max_dotclk = i915->display.cdclk.max_dotclk_freq;
enum drm_mode_status status; enum drm_mode_status status;
status = intel_cpu_transcoder_mode_valid(i915, mode); status = intel_cpu_transcoder_mode_valid(i915, mode);
......
...@@ -252,7 +252,6 @@ struct drm_i915_private { ...@@ -252,7 +252,6 @@ struct drm_i915_private {
unsigned int fsb_freq, mem_freq, is_ddr3; unsigned int fsb_freq, mem_freq, is_ddr3;
unsigned int max_dotclk_freq;
unsigned int hpll_freq; unsigned int hpll_freq;
unsigned int czclk_freq; unsigned int czclk_freq;
......
...@@ -497,9 +497,6 @@ struct xe_device { ...@@ -497,9 +497,6 @@ struct xe_device {
/* For pcode */ /* For pcode */
struct mutex sb_lock; struct mutex sb_lock;
/* Should be in struct intel_display */
u32 max_dotclk_freq;
union { union {
/* only to allow build, not used functionally */ /* only to allow build, not used functionally */
u32 irq_mask; u32 irq_mask;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment