OSDN Git Service

drm/i915/pm: drop get_fifo_size vfunc.
authorDave Airlie <airlied@redhat.com>
Tue, 28 Sep 2021 22:57:46 +0000 (01:57 +0300)
committerJani Nikula <jani.nikula@intel.com>
Wed, 29 Sep 2021 05:27:33 +0000 (08:27 +0300)
The i845_update_wm code was always calling the i845 variant,
and the i9xx_update_wm had only a choice between i830 and i9xx
paths, hardly worth the vfunc overhead.

Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/07523b1e46cd10adb2991ed4d2619b542a48c1ce.1632869550.git.jani.nikula@intel.com
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/intel_pm.c

index 004c12a..92850f5 100644 (file)
@@ -330,8 +330,6 @@ struct drm_i915_display_funcs {
                          const struct intel_cdclk_config *cdclk_config,
                          enum pipe pipe);
        int (*bw_calc_min_cdclk)(struct intel_atomic_state *state);
-       int (*get_fifo_size)(struct drm_i915_private *dev_priv,
-                            enum i9xx_plane_id i9xx_plane);
        int (*compute_pipe_wm)(struct intel_atomic_state *state,
                               struct intel_crtc *crtc);
        int (*compute_intermediate_wm)(struct intel_atomic_state *state,
index 97b68bb..0e03097 100644 (file)
@@ -2342,7 +2342,10 @@ static void i9xx_update_wm(struct intel_crtc *unused_crtc)
        else
                wm_info = &i830_a_wm_info;
 
-       fifo_size = dev_priv->display.get_fifo_size(dev_priv, PLANE_A);
+       if (DISPLAY_VER(dev_priv) == 2)
+               fifo_size = i830_get_fifo_size(dev_priv, PLANE_A);
+       else
+               fifo_size = i9xx_get_fifo_size(dev_priv, PLANE_A);
        crtc = intel_get_crtc_for_plane(dev_priv, PLANE_A);
        if (intel_crtc_active(crtc)) {
                const struct drm_display_mode *pipe_mode =
@@ -2369,7 +2372,10 @@ static void i9xx_update_wm(struct intel_crtc *unused_crtc)
        if (DISPLAY_VER(dev_priv) == 2)
                wm_info = &i830_bc_wm_info;
 
-       fifo_size = dev_priv->display.get_fifo_size(dev_priv, PLANE_B);
+       if (DISPLAY_VER(dev_priv) == 2)
+               fifo_size = i830_get_fifo_size(dev_priv, PLANE_B);
+       else
+               fifo_size = i9xx_get_fifo_size(dev_priv, PLANE_B);
        crtc = intel_get_crtc_for_plane(dev_priv, PLANE_B);
        if (intel_crtc_active(crtc)) {
                const struct drm_display_mode *pipe_mode =
@@ -2485,7 +2491,7 @@ static void i845_update_wm(struct intel_crtc *unused_crtc)
        pipe_mode = &crtc->config->hw.pipe_mode;
        planea_wm = intel_calculate_wm(pipe_mode->crtc_clock,
                                       &i845_wm_info,
-                                      dev_priv->display.get_fifo_size(dev_priv, PLANE_A),
+                                      i845_get_fifo_size(dev_priv, PLANE_A),
                                       4, pessimal_latency_ns);
        fwater_lo = intel_uncore_read(&dev_priv->uncore, FW_BLC) & ~0xfff;
        fwater_lo |= (3<<8) | planea_wm;
@@ -8052,15 +8058,11 @@ void intel_init_pm(struct drm_i915_private *dev_priv)
                dev_priv->display.update_wm = i965_update_wm;
        } else if (DISPLAY_VER(dev_priv) == 3) {
                dev_priv->display.update_wm = i9xx_update_wm;
-               dev_priv->display.get_fifo_size = i9xx_get_fifo_size;
        } else if (DISPLAY_VER(dev_priv) == 2) {
-               if (INTEL_NUM_PIPES(dev_priv) == 1) {
+               if (INTEL_NUM_PIPES(dev_priv) == 1)
                        dev_priv->display.update_wm = i845_update_wm;
-                       dev_priv->display.get_fifo_size = i845_get_fifo_size;
-               } else {
+               else
                        dev_priv->display.update_wm = i9xx_update_wm;
-                       dev_priv->display.get_fifo_size = i830_get_fifo_size;
-               }
        } else {
                drm_err(&dev_priv->drm,
                        "unexpected fall-through in %s\n", __func__);