From: Jani Nikula <jani.nikula@linux.intel.com>
To: Ville Syrjala <ville.syrjala@linux.intel.com>,
intel-gfx@lists.freedesktop.org
Subject: Re: [Intel-gfx] [PATCH 08/11] drm/i915: Replace bxt_clk_div with struct dpll
Date: Fri, 04 Mar 2022 13:41:07 +0200 [thread overview]
Message-ID: <87pmn22be4.fsf@intel.com> (raw)
In-Reply-To: <20220301173128.6988-9-ville.syrjala@linux.intel.com>
On Tue, 01 Mar 2022, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> bxt_clk_div is basically the same as struct dpll. Just use the latter.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 50 ++++++-------------
> 1 file changed, 16 insertions(+), 34 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dpll_mgr.c b/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
> index 4a82e630cbec..58e9d5960bc6 100644
> --- a/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
> +++ b/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
> @@ -2080,75 +2080,57 @@ static bool bxt_ddi_pll_get_hw_state(struct drm_i915_private *dev_priv,
> return ret;
> }
>
> -/* bxt clock parameters */
> -struct bxt_clk_div {
> - int clock;
> - u32 p1;
> - u32 p2;
> - u32 m2;
> - u32 n;
> -
> - int vco;
> -};
> -
> /* pre-calculated values for DP linkrates */
> -static const struct bxt_clk_div bxt_dp_clk_val[] = {
> - { .clock = 162000, .p1 = 4, .p2 = 2, .n = 1,
> +static const struct dpll bxt_dp_clk_val[] = {
> + { .dot = 162000, .p1 = 4, .p2 = 2, .n = 1,
> .m2 = 0x819999a /* .m2_int = 32, m2_frac = 1677722 */ },
> - { .clock = 270000, .p1 = 4, .p2 = 1, .n = 1,
> + { .dot = 270000, .p1 = 4, .p2 = 1, .n = 1,
> .m2 = 0x6c00000 /* .m2_int = 27, m2_frac = 0 */ },
> - { .clock = 540000, .p1 = 2, .p2 = 1, .n = 1,
> + { .dot = 540000, .p1 = 2, .p2 = 1, .n = 1,
> .m2 = 0x6c00000 /* .m2_int = 27, m2_frac = 0 */ },
> - { .clock = 216000, .p1 = 3, .p2 = 2, .n = 1,
> + { .dot = 216000, .p1 = 3, .p2 = 2, .n = 1,
> .m2 = 0x819999a /* .m2_int = 32, m2_frac = 1677722 */ },
> - { .clock = 243000, .p1 = 4, .p2 = 1, .n = 1,
> + { .dot = 243000, .p1 = 4, .p2 = 1, .n = 1,
> .m2 = 0x6133333 /* .m2_int = 24, m2_frac = 1258291 */ },
> - { .clock = 324000, .p1 = 4, .p2 = 1, .n = 1,
> + { .dot = 324000, .p1 = 4, .p2 = 1, .n = 1,
> .m2 = 0x819999a /* .m2_int = 32, m2_frac = 1677722 */ },
> - { .clock = 432000, .p1 = 3, .p2 = 1, .n = 1,
> + { .dot = 432000, .p1 = 3, .p2 = 1, .n = 1,
> .m2 = 0x819999a /* .m2_int = 32, m2_frac = 1677722 */ },
> };
>
> static bool
> bxt_ddi_hdmi_pll_dividers(struct intel_crtc_state *crtc_state,
> - struct bxt_clk_div *clk_div)
> + struct dpll *clk_div)
> {
> struct drm_i915_private *i915 = to_i915(crtc_state->uapi.crtc->dev);
> struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> - struct dpll best_clock;
>
> /* Calculate HDMI div */
> /*
> * FIXME: tie the following calculation into
> * i9xx_crtc_compute_clock
> */
> - if (!bxt_find_best_dpll(crtc_state, &best_clock)) {
> + if (!bxt_find_best_dpll(crtc_state, clk_div)) {
> drm_dbg(&i915->drm, "no PLL dividers found for clock %d pipe %c\n",
> crtc_state->port_clock,
> pipe_name(crtc->pipe));
> return false;
> }
>
> - clk_div->p1 = best_clock.p1;
> - clk_div->p2 = best_clock.p2;
> - drm_WARN_ON(&i915->drm, best_clock.m1 != 2);
> - clk_div->n = best_clock.n;
> - clk_div->m2 = best_clock.m2;
> -
> - clk_div->vco = best_clock.vco;
> + drm_WARN_ON(&i915->drm, clk_div->m1 != 2);
>
> return true;
> }
>
> static void bxt_ddi_dp_pll_dividers(struct intel_crtc_state *crtc_state,
> - struct bxt_clk_div *clk_div)
> + struct dpll *clk_div)
> {
> int clock = crtc_state->port_clock;
> int i;
>
> *clk_div = bxt_dp_clk_val[0];
> for (i = 0; i < ARRAY_SIZE(bxt_dp_clk_val); ++i) {
> - if (bxt_dp_clk_val[i].clock == clock) {
> + if (bxt_dp_clk_val[i].dot == clock) {
> *clk_div = bxt_dp_clk_val[i];
> break;
> }
> @@ -2158,7 +2140,7 @@ static void bxt_ddi_dp_pll_dividers(struct intel_crtc_state *crtc_state,
> }
>
> static bool bxt_ddi_set_dpll_hw_state(struct intel_crtc_state *crtc_state,
> - const struct bxt_clk_div *clk_div)
> + const struct dpll *clk_div)
> {
> struct drm_i915_private *i915 = to_i915(crtc_state->uapi.crtc->dev);
> struct intel_dpll_hw_state *dpll_hw_state = &crtc_state->dpll_hw_state;
> @@ -2230,7 +2212,7 @@ static bool bxt_ddi_set_dpll_hw_state(struct intel_crtc_state *crtc_state,
> static bool
> bxt_ddi_dp_set_dpll_hw_state(struct intel_crtc_state *crtc_state)
> {
> - struct bxt_clk_div clk_div = {};
> + struct dpll clk_div = {};
>
> bxt_ddi_dp_pll_dividers(crtc_state, &clk_div);
>
> @@ -2240,7 +2222,7 @@ bxt_ddi_dp_set_dpll_hw_state(struct intel_crtc_state *crtc_state)
> static bool
> bxt_ddi_hdmi_set_dpll_hw_state(struct intel_crtc_state *crtc_state)
> {
> - struct bxt_clk_div clk_div = {};
> + struct dpll clk_div = {};
>
> bxt_ddi_hdmi_pll_dividers(crtc_state, &clk_div);
--
Jani Nikula, Intel Open Source Graphics Center
next prev parent reply other threads:[~2022-03-04 11:41 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-01 17:31 [Intel-gfx] [PATCH 00/11] drm/i915: Clean up some dpll stuff Ville Syrjala
2022-03-01 17:31 ` [Intel-gfx] [PATCH 01/11] drm/i915: Nuke skl_wrpll_context_init() Ville Syrjala
2022-03-04 11:10 ` Jani Nikula
2022-03-01 17:31 ` [Intel-gfx] [PATCH 02/11] drm/i915: Move a bunch of stuff into rodata from the stack Ville Syrjala
2022-03-04 11:13 ` Jani Nikula
2022-03-01 17:31 ` [Intel-gfx] [PATCH 03/11] drm/i915: Clean up some struct/array initializers Ville Syrjala
2022-03-04 11:14 ` Jani Nikula
2022-03-01 17:31 ` [Intel-gfx] [PATCH 04/11] drm/i915: Store the /5 target clock in sturct dpll on vlv/chv Ville Syrjala
2022-03-01 17:31 ` [Intel-gfx] [PATCH 05/11] drm/i915: Remove bxt m2_frac_en Ville Syrjala
2022-03-04 11:19 ` Jani Nikula
2022-03-01 17:31 ` [Intel-gfx] [PATCH 06/11] drm/i915: Use designated initializers for bxt_dp_clk_val[] Ville Syrjala
2022-03-04 11:20 ` Jani Nikula
2022-03-01 17:31 ` [Intel-gfx] [PATCH 07/11] drm/i915: Store the m2 divider as a whole in bxt_clk_div Ville Syrjala
2022-03-04 11:36 ` Jani Nikula
2022-03-07 18:02 ` Ville Syrjälä
2022-03-01 17:31 ` [Intel-gfx] [PATCH 08/11] drm/i915: Replace bxt_clk_div with struct dpll Ville Syrjala
2022-03-04 11:41 ` Jani Nikula [this message]
2022-03-01 17:31 ` [Intel-gfx] [PATCH 09/11] drm/i915: Replace hand rolled bxt vco calculation with chv_calc_dpll_params() Ville Syrjala
2022-03-01 17:44 ` [Intel-gfx] [PATCH v2 " Ville Syrjala
2022-03-01 17:31 ` [Intel-gfx] [PATCH 10/11] drm/i915: Populate bxt/glk DPLL clock limits a bit more Ville Syrjala
2022-03-01 17:31 ` [Intel-gfx] [PATCH 11/11] drm/i915: Remove struct dp_link_dpll Ville Syrjala
2022-03-01 23:01 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Clean up some dpll stuff (rev2) Patchwork
2022-03-02 3:33 ` [Intel-gfx] ✓ Fi.CI.IGT: " 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=87pmn22be4.fsf@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=ville.syrjala@linux.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.