From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Jani Nikula <jani.nikula@intel.com>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [Intel-gfx] [PATCH 1/4] drm/i915/cdclk: move intel_atomic_check_cdclk() to intel_cdclk.c
Date: Thu, 9 Dec 2021 19:45:51 +0200 [thread overview]
Message-ID: <YbJAzzZF2wYF7b5i@intel.com> (raw)
In-Reply-To: <43ad4d437121f43d76c790ac5d4d131743d58988.1639068649.git.jani.nikula@intel.com>
On Thu, Dec 09, 2021 at 06:51:22PM +0200, Jani Nikula wrote:
> Rename to intel_cdclk_atomic_check() and make
> intel_cdclk_bw_calc_min_cdclk() static.
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_cdclk.c | 55 +++++++++++++++++++-
> drivers/gpu/drm/i915/display/intel_cdclk.h | 3 +-
> drivers/gpu/drm/i915/display/intel_display.c | 55 +-------------------
> 3 files changed, 57 insertions(+), 56 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c
> index 639a64733f61..a216a350006d 100644
> --- a/drivers/gpu/drm/i915/display/intel_cdclk.c
> +++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
> @@ -24,6 +24,7 @@
> #include <linux/time.h>
>
> #include "intel_atomic.h"
> +#include "intel_atomic_plane.h"
> #include "intel_audio.h"
> #include "intel_bw.h"
> #include "intel_cdclk.h"
> @@ -68,7 +69,7 @@ void intel_cdclk_get_cdclk(struct drm_i915_private *dev_priv,
> dev_priv->cdclk_funcs->get_cdclk(dev_priv, cdclk_config);
> }
>
> -int intel_cdclk_bw_calc_min_cdclk(struct intel_atomic_state *state)
> +static int intel_cdclk_bw_calc_min_cdclk(struct intel_atomic_state *state)
> {
> struct drm_i915_private *dev_priv = to_i915(state->base.dev);
> return dev_priv->cdclk_funcs->bw_calc_min_cdclk(state);
> @@ -2629,6 +2630,58 @@ intel_atomic_get_cdclk_state(struct intel_atomic_state *state)
> return to_intel_cdclk_state(cdclk_state);
> }
>
> +int intel_cdclk_atomic_check(struct intel_atomic_state *state,
> + bool *need_cdclk_calc)
> +{
> + struct drm_i915_private *i915 = to_i915(state->base.dev);
> + const struct intel_cdclk_state *old_cdclk_state;
> + const struct intel_cdclk_state *new_cdclk_state;
> + struct intel_plane_state *plane_state;
> + struct intel_bw_state *new_bw_state;
> + struct intel_plane *plane;
> + int min_cdclk = 0;
> + enum pipe pipe;
> + int ret;
> + int i;
> +
> + /*
> + * active_planes bitmask has been updated, and potentially affected
> + * planes are part of the state. We can now compute the minimum cdclk
> + * for each plane.
> + */
> + for_each_new_intel_plane_in_state(state, plane, plane_state, i) {
> + ret = intel_plane_calc_min_cdclk(state, plane, need_cdclk_calc);
> + if (ret)
> + return ret;
> + }
> +
> + old_cdclk_state = intel_atomic_get_old_cdclk_state(state);
> + new_cdclk_state = intel_atomic_get_new_cdclk_state(state);
> +
> + if (new_cdclk_state &&
> + old_cdclk_state->force_min_cdclk != new_cdclk_state->force_min_cdclk)
> + *need_cdclk_calc = true;
> +
> + ret = intel_cdclk_bw_calc_min_cdclk(state);
> + if (ret)
> + return ret;
> +
> + new_bw_state = intel_atomic_get_new_bw_state(state);
> +
> + if (!new_cdclk_state || !new_bw_state)
> + return 0;
> +
> + for_each_pipe(i915, pipe) {
> + min_cdclk = max(new_cdclk_state->min_cdclk[pipe], min_cdclk);
> +
> + /* Currently do this change only if we need to increase */
> + if (new_bw_state->min_cdclk > min_cdclk)
> + *need_cdclk_calc = true;
> + }
> +
> + return 0;
> +}
> +
> int intel_cdclk_init(struct drm_i915_private *dev_priv)
> {
> struct intel_cdclk_state *cdclk_state;
> diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.h b/drivers/gpu/drm/i915/display/intel_cdclk.h
> index 89ca59c46102..bb3a778c506b 100644
> --- a/drivers/gpu/drm/i915/display/intel_cdclk.h
> +++ b/drivers/gpu/drm/i915/display/intel_cdclk.h
> @@ -71,7 +71,8 @@ void intel_dump_cdclk_config(const struct intel_cdclk_config *cdclk_config,
> int intel_modeset_calc_cdclk(struct intel_atomic_state *state);
> void intel_cdclk_get_cdclk(struct drm_i915_private *dev_priv,
> struct intel_cdclk_config *cdclk_config);
> -int intel_cdclk_bw_calc_min_cdclk(struct intel_atomic_state *state);
> +int intel_cdclk_atomic_check(struct intel_atomic_state *state,
> + bool *need_cdclk_calc);
> struct intel_cdclk_state *
> intel_atomic_get_cdclk_state(struct intel_atomic_state *state);
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 576196ff7da1..578f50bd6ab7 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -7554,59 +7554,6 @@ static int intel_atomic_check_planes(struct intel_atomic_state *state)
> return 0;
> }
>
> -static int intel_atomic_check_cdclk(struct intel_atomic_state *state,
> - bool *need_cdclk_calc)
> -{
> - struct drm_i915_private *dev_priv = to_i915(state->base.dev);
> - const struct intel_cdclk_state *old_cdclk_state;
> - const struct intel_cdclk_state *new_cdclk_state;
> - struct intel_plane_state *plane_state;
> - struct intel_bw_state *new_bw_state;
> - struct intel_plane *plane;
> - int min_cdclk = 0;
> - enum pipe pipe;
> - int ret;
> - int i;
> - /*
> - * active_planes bitmask has been updated, and potentially
> - * affected planes are part of the state. We can now
> - * compute the minimum cdclk for each plane.
> - */
> - for_each_new_intel_plane_in_state(state, plane, plane_state, i) {
> - ret = intel_plane_calc_min_cdclk(state, plane, need_cdclk_calc);
> - if (ret)
> - return ret;
> - }
> -
> - old_cdclk_state = intel_atomic_get_old_cdclk_state(state);
> - new_cdclk_state = intel_atomic_get_new_cdclk_state(state);
> -
> - if (new_cdclk_state &&
> - old_cdclk_state->force_min_cdclk != new_cdclk_state->force_min_cdclk)
> - *need_cdclk_calc = true;
> -
> - ret = intel_cdclk_bw_calc_min_cdclk(state);
> - if (ret)
> - return ret;
> -
> - new_bw_state = intel_atomic_get_new_bw_state(state);
> -
> - if (!new_cdclk_state || !new_bw_state)
> - return 0;
> -
> - for_each_pipe(dev_priv, pipe) {
> - min_cdclk = max(new_cdclk_state->min_cdclk[pipe], min_cdclk);
> -
> - /*
> - * Currently do this change only if we need to increase
> - */
> - if (new_bw_state->min_cdclk > min_cdclk)
> - *need_cdclk_calc = true;
> - }
> -
> - return 0;
> -}
> -
> static int intel_atomic_check_crtcs(struct intel_atomic_state *state)
> {
> struct intel_crtc_state *crtc_state;
> @@ -8055,7 +8002,7 @@ static int intel_atomic_check(struct drm_device *dev,
> if (ret)
> goto fail;
>
> - ret = intel_atomic_check_cdclk(state, &any_ms);
> + ret = intel_cdclk_atomic_check(state, &any_ms);
> if (ret)
> goto fail;
>
> --
> 2.30.2
--
Ville Syrjälä
Intel
next prev parent reply other threads:[~2021-12-09 17:45 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-09 16:51 [Intel-gfx] [PATCH 0/4] drm/i915/cdclk: improve abstractions Jani Nikula
2021-12-09 16:51 ` [Intel-gfx] [PATCH 1/4] drm/i915/cdclk: move intel_atomic_check_cdclk() to intel_cdclk.c Jani Nikula
2021-12-09 17:45 ` Ville Syrjälä [this message]
2021-12-09 16:51 ` [Intel-gfx] [PATCH 2/4] drm/i915/cdclk: un-inline intel_cdclk_state functions Jani Nikula
2021-12-09 17:54 ` Ville Syrjälä
2021-12-09 18:38 ` Jani Nikula
2021-12-09 16:51 ` [Intel-gfx] [PATCH 3/4] drm/i915/cdclk: hide struct intel_cdclk_vals Jani Nikula
2021-12-09 17:46 ` Ville Syrjälä
2021-12-09 16:51 ` [Intel-gfx] [PATCH 4/4] drm/i915/cdclk: turn around i915_drv.h and intel_cdclk.h dependency Jani Nikula
2021-12-09 17:55 ` Ville Syrjälä
2021-12-09 17:57 ` [Intel-gfx] [PATCH 0/4] drm/i915/cdclk: improve abstractions Ville Syrjälä
2021-12-10 4:00 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
2021-12-10 4:01 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2021-12-10 4:30 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2021-12-10 15:03 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YbJAzzZF2wYF7b5i@intel.com \
--to=ville.syrjala@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=jani.nikula@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.