@@ -3444,6 +3444,7 @@ static u8 hsw_panel_transcoders(struct drm_i915_private *i915)
static u8 hsw_enabled_transcoders(struct intel_crtc *crtc)
{
+ struct intel_display *display = to_intel_display(crtc);
struct drm_device *dev = crtc->base.dev;
struct drm_i915_private *dev_priv = to_i915(dev);
u8 panel_transcoder_mask = hsw_panel_transcoders(dev_priv);
@@ -3501,7 +3502,7 @@ static u8 hsw_enabled_transcoders(struct intel_crtc *crtc)
enabled_transcoders |= BIT(cpu_transcoder);
/* joiner secondary -> consider the primary pipe's transcoder as well */
- intel_joiner_enabled_pipes(dev_priv, &primary_pipes, &secondary_pipes);
+ intel_joiner_enabled_pipes(display, &primary_pipes, &secondary_pipes);
if (secondary_pipes & BIT(crtc->pipe)) {
cpu_transcoder = (enum transcoder)
intel_joiner_find_primary_pipe(crtc->pipe, primary_pipes, secondary_pipes);
@@ -86,16 +86,17 @@ u8 intel_joiner_supported_pipes(struct drm_i915_private *i915)
return pipes & DISPLAY_RUNTIME_INFO(i915)->pipe_mask;
}
-void intel_joiner_enabled_pipes(struct drm_i915_private *dev_priv,
+void intel_joiner_enabled_pipes(struct intel_display *display,
u8 *primary_pipes, u8 *secondary_pipes)
{
+ struct drm_i915_private *i915 = to_i915(display->drm);
struct intel_crtc *crtc;
*primary_pipes = 0;
*secondary_pipes = 0;
- for_each_intel_crtc_in_pipe_mask(&dev_priv->drm, crtc,
- intel_joiner_supported_pipes(dev_priv)) {
+ for_each_intel_crtc_in_pipe_mask(&i915->drm, crtc,
+ intel_joiner_supported_pipes(i915)) {
intel_dss_get_compressed_joiner_pipes(crtc,
primary_pipes,
secondary_pipes);
@@ -106,7 +107,7 @@ void intel_joiner_enabled_pipes(struct drm_i915_private *dev_priv,
}
/* Joiner pipes should always be consecutive primary and secondary */
- drm_WARN(&dev_priv->drm, *secondary_pipes != *primary_pipes << 1,
+ drm_WARN(display->drm, *secondary_pipes != *primary_pipes << 1,
"Joiner misconfigured (primary pipes 0x%x, secondary pipes 0x%x)\n",
*primary_pipes, *secondary_pipes);
}
@@ -144,12 +145,12 @@ u8 intel_joiner_find_secondary_pipes(enum pipe pipe, u8 primary_pipes, u8 second
void intel_joiner_get_config(struct intel_crtc_state *crtc_state)
{
+ struct intel_display *display = to_intel_display(crtc_state);
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
- struct drm_i915_private *i915 = to_i915(crtc->base.dev);
u8 primary_pipes, secondary_pipes;
enum pipe pipe = crtc->pipe;
- intel_joiner_enabled_pipes(i915, &primary_pipes, &secondary_pipes);
+ intel_joiner_enabled_pipes(display, &primary_pipes, &secondary_pipes);
if (((primary_pipes | secondary_pipes) & BIT(pipe)) == 0)
return;
@@ -13,6 +13,7 @@ struct drm_display_mode;
struct drm_i915_private;
struct intel_atomic_state;
struct intel_crtc_state;
+struct intel_display;
enum pipe intel_joiner_get_primary_pipe(const struct intel_crtc_state *crtc_state);
int intel_joiner_get_num_pipes(const struct intel_crtc_state *crtc_state);
@@ -21,7 +22,7 @@ void intel_joiner_adjust_timings(const struct intel_crtc_state *crtc_state,
void intel_joiner_compute_pipe_src(struct intel_crtc_state *crtc_state);
void intel_joiner_adjust_pipe_src(struct intel_crtc_state *crtc_state);
u8 intel_joiner_supported_pipes(struct drm_i915_private *i915);
-void intel_joiner_enabled_pipes(struct drm_i915_private *dev_priv,
+void intel_joiner_enabled_pipes(struct intel_display *display,
u8 *primary_pipes, u8 *secondary_pipes);
enum pipe intel_joiner_find_primary_pipe(enum pipe pipe, u8 primary_pipes, u8 secondary_pipes);
u8 intel_joiner_find_secondary_pipes(enum pipe pipe, u8 primary_pipes, u8 secondary_pipes);
Replace struct drm_i915_private with struct intel_display in the helper intel_joiner_enabled_pipes and its callers. Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com> --- drivers/gpu/drm/i915/display/intel_display.c | 3 ++- drivers/gpu/drm/i915/display/intel_joiner.c | 13 +++++++------ drivers/gpu/drm/i915/display/intel_joiner.h | 3 ++- 3 files changed, 11 insertions(+), 8 deletions(-)