From: Damien Lespiau <damien.lespiau@intel.com>
To: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Intel Graphics Development <intel-gfx@lists.freedesktop.org>
Subject: Re: [PATCH 56/66] drm/i915: Move ddi_pll_sel into the pipe config
Date: Tue, 20 May 2014 11:36:06 +0100 [thread overview]
Message-ID: <20140520103606.GE12931@strange.amr.corp.intel.com> (raw)
In-Reply-To: <1398376542-27825-57-git-send-email-daniel.vetter@ffwll.ch>
On Thu, Apr 24, 2014 at 11:55:32PM +0200, Daniel Vetter wrote:
> Just boring sed job for preparation.
>
> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
We want want a ddi structure to gather all the DDI config fields later
down the road.
Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
--
Damien
> ---
> drivers/gpu/drm/i915/intel_crt.c | 4 ++--
> drivers/gpu/drm/i915/intel_ddi.c | 30 +++++++++++++++---------------
> drivers/gpu/drm/i915/intel_drv.h | 5 +++--
> 3 files changed, 20 insertions(+), 19 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c
> index c4b1b1f82d01..beffae116f05 100644
> --- a/drivers/gpu/drm/i915/intel_crt.c
> +++ b/drivers/gpu/drm/i915/intel_crt.c
> @@ -186,8 +186,8 @@ static void hsw_fdi_link_train(struct drm_crtc *crtc)
> I915_WRITE(_FDI_RXA_CTL, rx_ctl_val);
>
> /* Configure Port Clock Select */
> - I915_WRITE(PORT_CLK_SEL(PORT_E), intel_crtc->ddi_pll_sel);
> - WARN_ON(intel_crtc->ddi_pll_sel != PORT_CLK_SEL_SPLL);
> + I915_WRITE(PORT_CLK_SEL(PORT_E), intel_crtc->config.ddi_pll_sel);
> + WARN_ON(intel_crtc->config.ddi_pll_sel != PORT_CLK_SEL_SPLL);
>
> /* Start the training iterating through available voltages and emphasis,
> * testing each value twice. */
> diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
> index 534cdb42e788..2adcc917806e 100644
> --- a/drivers/gpu/drm/i915/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/intel_ddi.c
> @@ -262,7 +262,7 @@ void intel_ddi_put_crtc_pll(struct drm_crtc *crtc)
> struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
> uint32_t val;
>
> - switch (intel_crtc->ddi_pll_sel) {
> + switch (intel_crtc->config.ddi_pll_sel) {
> case PORT_CLK_SEL_WRPLL1:
> plls->wrpll1_refcount--;
> if (plls->wrpll1_refcount == 0) {
> @@ -288,7 +288,7 @@ void intel_ddi_put_crtc_pll(struct drm_crtc *crtc)
> WARN(plls->wrpll1_refcount < 0, "Invalid WRPLL1 refcount\n");
> WARN(plls->wrpll2_refcount < 0, "Invalid WRPLL2 refcount\n");
>
> - intel_crtc->ddi_pll_sel = PORT_CLK_SEL_NONE;
> + intel_crtc->config.ddi_pll_sel = PORT_CLK_SEL_NONE;
> }
>
> #define LC_FREQ 2700
> @@ -623,13 +623,13 @@ bool intel_ddi_pll_select(struct intel_crtc *intel_crtc)
>
> switch (intel_dp->link_bw) {
> case DP_LINK_BW_1_62:
> - intel_crtc->ddi_pll_sel = PORT_CLK_SEL_LCPLL_810;
> + intel_crtc->config.ddi_pll_sel = PORT_CLK_SEL_LCPLL_810;
> break;
> case DP_LINK_BW_2_7:
> - intel_crtc->ddi_pll_sel = PORT_CLK_SEL_LCPLL_1350;
> + intel_crtc->config.ddi_pll_sel = PORT_CLK_SEL_LCPLL_1350;
> break;
> case DP_LINK_BW_5_4:
> - intel_crtc->ddi_pll_sel = PORT_CLK_SEL_LCPLL_2700;
> + intel_crtc->config.ddi_pll_sel = PORT_CLK_SEL_LCPLL_2700;
> break;
> default:
> DRM_ERROR("Link bandwidth %d unsupported\n",
> @@ -673,16 +673,16 @@ bool intel_ddi_pll_select(struct intel_crtc *intel_crtc)
>
> if (reg == WRPLL_CTL1) {
> plls->wrpll1_refcount++;
> - intel_crtc->ddi_pll_sel = PORT_CLK_SEL_WRPLL1;
> + intel_crtc->config.ddi_pll_sel = PORT_CLK_SEL_WRPLL1;
> } else {
> plls->wrpll2_refcount++;
> - intel_crtc->ddi_pll_sel = PORT_CLK_SEL_WRPLL2;
> + intel_crtc->config.ddi_pll_sel = PORT_CLK_SEL_WRPLL2;
> }
>
> } else if (type == INTEL_OUTPUT_ANALOG) {
> DRM_DEBUG_KMS("Using SPLL on pipe %c\n",
> pipe_name(pipe));
> - intel_crtc->ddi_pll_sel = PORT_CLK_SEL_SPLL;
> + intel_crtc->config.ddi_pll_sel = PORT_CLK_SEL_SPLL;
> } else {
> WARN(1, "Invalid DDI encoder type %d\n", type);
> return false;
> @@ -710,10 +710,10 @@ void intel_ddi_pll_enable(struct intel_crtc *crtc)
> BUILD_BUG_ON(enable_bit != SPLL_PLL_ENABLE);
> BUILD_BUG_ON(enable_bit != WRPLL_PLL_ENABLE);
>
> - switch (crtc->ddi_pll_sel) {
> + switch (crtc->config.ddi_pll_sel) {
> case PORT_CLK_SEL_WRPLL1:
> case PORT_CLK_SEL_WRPLL2:
> - if (crtc->ddi_pll_sel == PORT_CLK_SEL_WRPLL1) {
> + if (crtc->config.ddi_pll_sel == PORT_CLK_SEL_WRPLL1) {
> pll_name = "WRPLL1";
> reg = WRPLL_CTL1;
> refcount = plls->wrpll1_refcount;
> @@ -1035,14 +1035,14 @@ void intel_ddi_setup_hw_pll_state(struct drm_device *dev)
> to_intel_crtc(dev_priv->pipe_to_crtc_mapping[pipe]);
>
> if (!intel_crtc->active) {
> - intel_crtc->ddi_pll_sel = PORT_CLK_SEL_NONE;
> + intel_crtc->config.ddi_pll_sel = PORT_CLK_SEL_NONE;
> continue;
> }
>
> - intel_crtc->ddi_pll_sel = intel_ddi_get_crtc_pll(dev_priv,
> + intel_crtc->config.ddi_pll_sel = intel_ddi_get_crtc_pll(dev_priv,
> pipe);
>
> - switch (intel_crtc->ddi_pll_sel) {
> + switch (intel_crtc->config.ddi_pll_sel) {
> case PORT_CLK_SEL_WRPLL1:
> dev_priv->ddi_plls.wrpll1_refcount++;
> break;
> @@ -1098,8 +1098,8 @@ static void intel_ddi_pre_enable(struct intel_encoder *intel_encoder)
> intel_edp_panel_on(intel_dp);
> }
>
> - WARN_ON(crtc->ddi_pll_sel == PORT_CLK_SEL_NONE);
> - I915_WRITE(PORT_CLK_SEL(port), crtc->ddi_pll_sel);
> + WARN_ON(crtc->config.ddi_pll_sel == PORT_CLK_SEL_NONE);
> + I915_WRITE(PORT_CLK_SEL(port), crtc->config.ddi_pll_sel);
>
> if (type == INTEL_OUTPUT_DISPLAYPORT || type == INTEL_OUTPUT_EDP) {
> struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
> index 77414333804a..e1d079fe47ea 100644
> --- a/drivers/gpu/drm/i915/intel_drv.h
> +++ b/drivers/gpu/drm/i915/intel_drv.h
> @@ -307,6 +307,9 @@ struct intel_crtc_config {
> /* Selected dpll when shared or DPLL_ID_PRIVATE. */
> enum intel_dpll_id shared_dpll;
>
> + /* PORT_CLK_SEL for DDI ports. */
> + uint32_t ddi_pll_sel;
> +
> /* Actual register state of the dpll, for shared dpll cross-checking. */
> struct intel_dpll_hw_state dpll_hw_state;
>
> @@ -393,8 +396,6 @@ struct intel_crtc {
> struct intel_crtc_config *new_config;
> bool new_enabled;
>
> - uint32_t ddi_pll_sel;
> -
> /* reset counter value when the last flip was submitted */
> unsigned int reset_counter;
>
> --
> 1.8.1.4
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2014-05-20 10:36 UTC|newest]
Thread overview: 121+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-24 21:54 [PATCH 00/66] runtime pm for DPMS Daniel Vetter
2014-04-24 21:54 ` [PATCH 01/66] drm/i915: Make encoder->mode_set callbacks optional Daniel Vetter
2014-04-24 21:54 ` [PATCH 02/66] drm/i915/dvo: Remove ->mode_set callback Daniel Vetter
2014-04-24 21:54 ` [PATCH 03/66] drm/i915/tv: extract set_tv_mode_timings Daniel Vetter
2014-04-24 21:54 ` [PATCH 04/66] drm/i915/tv: extract set_color_conversion Daniel Vetter
2014-04-24 21:54 ` [PATCH 05/66] drm/i915/tv: De-magic device check Daniel Vetter
2014-04-24 21:54 ` [PATCH 06/66] drm/i915/tv: Rip out pipe-disabling nonsense from ->mode_set Daniel Vetter
2014-04-24 21:54 ` [PATCH 07/66] drm/i915/tv: Remove ->mode_set callback Daniel Vetter
2014-04-24 21:54 ` [PATCH 08/66] drm/i915/crt: " Daniel Vetter
2014-04-24 21:54 ` [PATCH 09/66] drm/i915/sdvo: " Daniel Vetter
2014-04-24 21:54 ` [PATCH 10/66] drm/i915/hdmi: Enable hdmi mode on g4x, too Daniel Vetter
2014-04-24 21:54 ` [PATCH 11/66] drm/i915: Track hdmi mode in the pipe config Daniel Vetter
2014-04-24 21:54 ` [PATCH 12/66] drm/i915/sdvo: Use pipe_config->limited_color_range consistently Daniel Vetter
2014-04-24 21:54 ` [PATCH 13/66] drm/i915: state readout and cross checking for limited_color_range Daniel Vetter
2014-04-24 21:54 ` [PATCH 14/66] drm/i915/sdvo: use config->has_hdmi_sink Daniel Vetter
2014-04-24 21:54 ` [PATCH 15/66] drm/i915: Simplify audio handling on DDI ports Daniel Vetter
2014-04-24 21:54 ` [PATCH 16/66] drm/i915: Track has_audio in the pipe config Daniel Vetter
2014-04-24 21:54 ` [PATCH 17/66] drm/i915/dp: Move port A pll setup to g4x_pre_enable_dp Daniel Vetter
2014-04-24 21:54 ` [PATCH 18/66] drm/i915/dp: Remove ->mode_set callback Daniel Vetter
2014-04-24 21:54 ` [PATCH 19/66] drm/i915/hdmi: Remove redundant IS_VLV checks Daniel Vetter
2014-04-24 21:54 ` [PATCH 20/66] drm/i915/hdmi: Remove ->mode_set callback Daniel Vetter
2014-04-24 21:54 ` [PATCH 21/66] drm/i915/lvds: " Daniel Vetter
2014-04-24 21:54 ` [PATCH 22/66] drm/i915/ddi: " Daniel Vetter
2014-04-24 21:54 ` [PATCH 23/66] drm/i915/dsi: " Daniel Vetter
2014-05-20 11:59 ` Kumar, Shobhit
2014-05-20 12:07 ` Daniel Vetter
2014-04-24 21:55 ` [PATCH 24/66] drm/i915: Stop calling encoder->mode_set Daniel Vetter
2014-05-16 10:04 ` Daniel Vetter
2014-04-24 21:55 ` [PATCH 25/66] drm/i915: Make ->update_primary_plane infallible Daniel Vetter
2014-04-24 21:55 ` [PATCH 26/66] drm/i915: More cargo-culted locking for intel_update_fbc Daniel Vetter
2014-04-24 21:55 ` [PATCH 27/66] drm/i915: Sprinkle intel_edp_psr_update over crtc_enable/disable Daniel Vetter
2014-04-24 21:55 ` [PATCH 28/66] drm/i915: Inline set_base into crtc_mode_set Daniel Vetter
2014-04-24 21:55 ` [PATCH 29/66] drm/i915: Move fb pinning into __intel_set_mode Daniel Vetter
2014-04-24 21:55 ` [PATCH 30/66] drm/i915: Shovel hw setup code out of i9xx_crtc_mode_set Daniel Vetter
2014-04-24 21:55 ` [PATCH 31/66] drm/i915: Move lowfreq_avail around a bit in ilk/hsw_crtc_mode_set Daniel Vetter
2014-04-24 21:55 ` [PATCH 32/66] drm/i915: Shovel hw setup code out of ilk_crtc_mode_set Daniel Vetter
2014-04-24 21:55 ` [PATCH 33/66] drm/i915: Shovel hw setup code out of hsw_crtc_mode_set Daniel Vetter
2014-04-24 21:55 ` [PATCH 34/66] drm/i915: Extract i9xx_set_pll_dividers Daniel Vetter
2014-04-24 21:55 ` [PATCH 35/66] drm/i915: Extract vlv_prepare_pll Daniel Vetter
2014-04-24 21:55 ` [PATCH 36/66] drm/i915: Only update shared dpll state when needed Daniel Vetter
2014-05-20 10:18 ` Damien Lespiau
2014-05-20 11:17 ` Daniel Vetter
2014-04-24 21:55 ` [PATCH 37/66] drm/i915: Extract intel_prepare_shared_dpll Daniel Vetter
2014-05-20 10:28 ` Damien Lespiau
2014-04-24 21:55 ` [PATCH 38/66] drm/i915: s/ironlake_/intel_ for the enable_share_dpll function Daniel Vetter
2014-05-20 10:29 ` Damien Lespiau
2014-05-20 13:16 ` Daniel Vetter
2014-04-24 21:55 ` [PATCH 39/66] drm/i915: Check hw state in assert_can_disable_lcpll Daniel Vetter
2014-05-22 18:10 ` Paulo Zanoni
2014-05-22 19:26 ` Daniel Vetter
2014-05-22 20:10 ` Daniel Vetter
2014-04-24 21:55 ` [PATCH 40/66] drm/i915: Remove spll_refcount for hsw Daniel Vetter
2014-05-22 18:41 ` Paulo Zanoni
2014-05-22 19:41 ` Daniel Vetter
2014-04-24 21:55 ` [PATCH 41/66] drm/i915: Clean up WRPLL/SPLL #defines Daniel Vetter
2014-05-22 18:29 ` Paulo Zanoni
2014-04-24 21:55 ` [PATCH 42/66] drm/i915: Make intel_wait_for_pipe_off static Daniel Vetter
2014-05-22 18:36 ` Paulo Zanoni
2014-04-24 21:55 ` [PATCH 43/66] drm/i915: Disable pipe before ports on ilk Daniel Vetter
2014-05-22 19:25 ` Paulo Zanoni
2014-05-22 20:26 ` Daniel Vetter
2014-04-24 21:55 ` [PATCH 44/66] drm/i915: Pass port explicitly to intel_ddi_get_hw_state Daniel Vetter
2014-05-22 19:38 ` Paulo Zanoni
2014-05-22 20:30 ` Daniel Vetter
2014-04-24 21:55 ` [PATCH 45/66] drm/i915: Unexport intel_ddi_connector_get_hw_state Daniel Vetter
2014-05-22 20:13 ` Paulo Zanoni
2014-05-22 20:49 ` [PATCH] " Daniel Vetter
2014-04-24 21:55 ` [PATCH 46/66] drm/i915: Move hsw_fdi_link_train into intel_crt.c Daniel Vetter
2014-05-22 20:28 ` Paulo Zanoni
2014-05-22 21:57 ` Daniel Vetter
2014-05-27 17:31 ` Jesse Barnes
2014-05-27 18:00 ` Daniel Vetter
2014-04-24 21:55 ` [PATCH 47/66] drm/i915: Move pch fifo underrun report enabling to hsw_crt_pre_enable Daniel Vetter
2014-05-22 20:38 ` Paulo Zanoni
2014-05-22 22:03 ` Daniel Vetter
2014-04-24 21:55 ` [PATCH 48/66] drm/i915: Move the SPLL enabling into hsw_crt_pre_enable Daniel Vetter
2014-04-24 21:55 ` [PATCH 49/66] drm/i915: Move lpt_pch_enable int hsw_crt_enable Daniel Vetter
2014-04-24 21:55 ` [PATCH 50/66] drm/i915: Move the pch fifo underrun handling into hsw_crt_disable Daniel Vetter
2014-04-24 21:55 ` [PATCH 51/66] drm/i915: Move lpt_disable_pch_transcoder into the hsw crt encoder Daniel Vetter
2014-04-24 21:55 ` [PATCH 52/66] drm/i915: Move pch fifo underrun report re-enabling into hsw_crt_post_disable Daniel Vetter
2014-04-24 21:55 ` [PATCH 53/66] drm/i915: Move the hsw fdi disabling " Daniel Vetter
2014-04-24 21:55 ` [PATCH 54/66] drm/i915: Move SPLL " Daniel Vetter
2014-04-24 21:55 ` [PATCH 55/66] drm/i915: Add a debugfs file for the shared dpll state Daniel Vetter
2014-05-20 10:33 ` Damien Lespiau
2014-04-24 21:55 ` [PATCH 56/66] drm/i915: Move ddi_pll_sel into the pipe config Daniel Vetter
2014-05-20 10:36 ` Damien Lespiau [this message]
2014-04-24 21:55 ` [PATCH 57/66] drm/i915: State readout and cross-checking for ddi_pll_sel Daniel Vetter
2014-05-20 10:47 ` Damien Lespiau
2014-05-20 11:24 ` Daniel Vetter
2014-04-24 21:55 ` [PATCH 58/66] drm/i915: Precompute static ddi_pll_sel values in encoders Daniel Vetter
2014-05-20 10:56 ` Damien Lespiau
2014-05-20 11:27 ` Daniel Vetter
2014-04-24 21:55 ` [PATCH 59/66] drm/i915: Basic shared dpll support for WRPLLs Daniel Vetter
2014-05-20 11:06 ` Damien Lespiau
2014-04-24 21:55 ` [PATCH 60/66] drm/i915: Document that the pll->mode_set hook is optional Daniel Vetter
2014-05-20 11:08 ` Damien Lespiau
2014-04-24 21:55 ` [PATCH 61/66] drm/i915: State readout support for WRPLLs Daniel Vetter
2014-05-20 11:16 ` Damien Lespiau
2014-04-24 21:55 ` [PATCH 62/66] drm/i915: ->disable hook " Daniel Vetter
2014-05-20 11:20 ` Damien Lespiau
2014-04-24 21:55 ` [PATCH 63/66] drm/i915: ->enable " Daniel Vetter
2014-05-20 11:29 ` Damien Lespiau
2014-04-24 21:55 ` [PATCH 64/66] drm/i915: Switch to common shared dpll framework " Daniel Vetter
2014-05-20 11:38 ` Damien Lespiau
2014-04-24 21:55 ` [PATCH 65/66] drm/i915: Only touch WRPLL hw state in enable/disable hooks Daniel Vetter
2014-05-20 11:39 ` Damien Lespiau
2014-04-24 21:55 ` [PATCH 66/66] drm/i915: runtime PM support for DPMS Daniel Vetter
2014-05-16 21:48 ` Jesse Barnes
2014-05-16 22:19 ` Daniel Vetter
2014-05-16 22:23 ` Jesse Barnes
2014-05-23 14:00 ` Paulo Zanoni
2014-06-02 16:09 ` Daniel Vetter
2014-04-25 8:45 ` [PATCH 00/66] runtime pm " Daniel Vetter
2014-04-30 15:36 ` Shobhit Kumar
2014-04-30 17:29 ` Daniel Vetter
2014-04-30 16:38 ` Imre Deak
2014-04-30 17:30 ` Daniel Vetter
2014-05-16 8:39 ` Naresh Kumar Kachhi
2014-05-17 4:37 ` Akash Goel
2014-05-07 13:49 ` Imre Deak
2014-05-20 11:52 ` Kumar, Shobhit
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=20140520103606.GE12931@strange.amr.corp.intel.com \
--to=damien.lespiau@intel.com \
--cc=daniel.vetter@ffwll.ch \
--cc=intel-gfx@lists.freedesktop.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox