From: Thomas Richter <richter@rus.uni-stuttgart.de>
To: ville.syrjala@linux.intel.com, intel-gfx@lists.freedesktop.org,
Daniel Vetter <daniel@ffwll.ch>
Subject: Re: [PATCH 04/16] drm/i915: Pass intel_crtc to intel_disable_pipe() and intel_wait_for_pipe_off()
Date: Fri, 15 Aug 2014 15:27:37 +0200 [thread overview]
Message-ID: <53EE0AC9.1040109@rus.uni-stuttgart.de> (raw)
In-Reply-To: <1408054928-24141-5-git-send-email-ville.syrjala@linux.intel.com>
On 15.08.2014 00:21, ville.syrjala@linux.intel.com wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Just pass the intel_crtc around instead of dev_priv+pipe.
>
> Also make intel_wait_for_pipe_off() static since it's only used in
> intel_display.c.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Tested-by: Thomas Richter <richter@rus.uni-stuttgart.de>
> ---
> drivers/gpu/drm/i915/intel_display.c | 37 +++++++++++++++++-------------------
> drivers/gpu/drm/i915/intel_drv.h | 1 -
> 2 files changed, 17 insertions(+), 21 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 3813526..e7175ce 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -913,8 +913,7 @@ static bool pipe_dsl_stopped(struct drm_device *dev, enum pipe pipe)
>
> /*
> * intel_wait_for_pipe_off - wait for pipe to turn off
> - * @dev: drm device
> - * @pipe: pipe to wait for
> + * @crtc: crtc whose pipe to wait for
> *
> * After disabling a pipe, we can't wait for vblank in the usual way,
> * spinning on the vblank interrupt status bit, since we won't actually
> @@ -928,11 +927,12 @@ static bool pipe_dsl_stopped(struct drm_device *dev, enum pipe pipe)
> * ends up stopping at the start of the next frame).
> *
> */
> -void intel_wait_for_pipe_off(struct drm_device *dev, int pipe)
> +static void intel_wait_for_pipe_off(struct intel_crtc *crtc)
> {
> + struct drm_device *dev = crtc->base.dev;
> struct drm_i915_private *dev_priv = dev->dev_private;
> - enum transcoder cpu_transcoder = intel_pipe_to_cpu_transcoder(dev_priv,
> - pipe);
> + enum transcoder cpu_transcoder = crtc->config.cpu_transcoder;
> + enum pipe pipe = crtc->pipe;
>
> if (INTEL_INFO(dev)->gen >= 4) {
> int reg = PIPECONF(cpu_transcoder);
> @@ -1981,21 +1981,19 @@ static void intel_enable_pipe(struct intel_crtc *crtc)
>
> /**
> * intel_disable_pipe - disable a pipe, asserting requirements
> - * @dev_priv: i915 private structure
> - * @pipe: pipe to disable
> - *
> - * Disable @pipe, making sure that various hardware specific requirements
> - * are met, if applicable, e.g. plane disabled, panel fitter off, etc.
> + * @crtc: crtc whose pipes is to be disabled
> *
> - * @pipe should be %PIPE_A or %PIPE_B.
> + * Disable the pipe of @crtc, making sure that various hardware
> + * specific requirements are met, if applicable, e.g. plane
> + * disabled, panel fitter off, etc.
> *
> * Will wait until the pipe has shut down before returning.
> */
> -static void intel_disable_pipe(struct drm_i915_private *dev_priv,
> - enum pipe pipe)
> +static void intel_disable_pipe(struct intel_crtc *crtc)
> {
> - enum transcoder cpu_transcoder = intel_pipe_to_cpu_transcoder(dev_priv,
> - pipe);
> + struct drm_i915_private *dev_priv = crtc->base.dev->dev_private;
> + enum transcoder cpu_transcoder = crtc->config.cpu_transcoder;
> + enum pipe pipe = crtc->pipe;
> int reg;
> u32 val;
>
> @@ -2017,7 +2015,7 @@ static void intel_disable_pipe(struct drm_i915_private *dev_priv,
> return;
>
> I915_WRITE(reg, val & ~PIPECONF_ENABLE);
> - intel_wait_for_pipe_off(dev_priv->dev, pipe);
> + intel_wait_for_pipe_off(crtc);
> }
>
> /*
> @@ -4115,7 +4113,7 @@ static void ironlake_crtc_disable(struct drm_crtc *crtc)
> if (intel_crtc->config.has_pch_encoder)
> intel_set_pch_fifo_underrun_reporting(dev, pipe, false);
>
> - intel_disable_pipe(dev_priv, pipe);
> + intel_disable_pipe(intel_crtc);
>
> if (intel_crtc->config.dp_encoder_is_mst)
> intel_ddi_set_vc_payload_alloc(crtc, false);
> @@ -4167,7 +4165,6 @@ static void haswell_crtc_disable(struct drm_crtc *crtc)
> struct drm_i915_private *dev_priv = dev->dev_private;
> struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
> struct intel_encoder *encoder;
> - int pipe = intel_crtc->pipe;
> enum transcoder cpu_transcoder = intel_crtc->config.cpu_transcoder;
>
> if (!intel_crtc->active)
> @@ -4182,7 +4179,7 @@ static void haswell_crtc_disable(struct drm_crtc *crtc)
>
> if (intel_crtc->config.has_pch_encoder)
> intel_set_pch_fifo_underrun_reporting(dev, TRANSCODER_A, false);
> - intel_disable_pipe(dev_priv, pipe);
> + intel_disable_pipe(intel_crtc);
>
> intel_ddi_disable_transcoder_func(dev_priv, cpu_transcoder);
>
> @@ -4769,7 +4766,7 @@ static void i9xx_crtc_disable(struct drm_crtc *crtc)
> */
> intel_wait_for_vblank(dev, pipe);
>
> - intel_disable_pipe(dev_priv, pipe);
> + intel_disable_pipe(intel_crtc);
>
> i9xx_pfit_disable(intel_crtc);
>
> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
> index 3abc915..6c8303e 100644
> --- a/drivers/gpu/drm/i915/intel_drv.h
> +++ b/drivers/gpu/drm/i915/intel_drv.h
> @@ -826,7 +826,6 @@ intel_wait_for_vblank(struct drm_device *dev, int pipe)
> {
> drm_wait_one_vblank(dev, pipe);
> }
> -void intel_wait_for_pipe_off(struct drm_device *dev, int pipe);
> int ironlake_get_lanes_required(int target_clock, int link_bw, int bpp);
> void vlv_wait_port_ready(struct drm_i915_private *dev_priv,
> struct intel_digital_port *dport);
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2014-08-15 13:27 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-14 22:21 [PATCH 00/16] drm/i915: 830M/ns201 fixes again ville.syrjala
2014-08-14 22:21 ` [PATCH 01/16] drm/i915: Fix gen2 planes B and C max watermark value ville.syrjala
2014-08-15 13:25 ` Thomas Richter
2014-08-14 22:21 ` [PATCH 02/16] drm/i915: Disable trickle feed for gen2/3 ville.syrjala
2014-08-14 22:21 ` [PATCH 03/16] drm/i915: Idle unused rings on gen2/3 during init/resume ville.syrjala
2014-08-14 22:21 ` [PATCH 04/16] drm/i915: Pass intel_crtc to intel_disable_pipe() and intel_wait_for_pipe_off() ville.syrjala
2014-08-15 13:27 ` Thomas Richter [this message]
2014-08-14 22:21 ` [PATCH v3 05/16] drm/i915: Disable double wide even when leaving the pipe on ville.syrjala
2014-08-15 13:28 ` Thomas Richter
2014-08-14 22:21 ` [PATCH 06/16] drm/i915: ns2501 is on DVOB ville.syrjala
2014-08-15 13:29 ` Thomas Richter
2014-08-14 22:21 ` [PATCH 07/16] drm/i915: Enable DVO between mode_set and dpms hooks ville.syrjala
2014-08-15 13:29 ` Thomas Richter
2014-08-14 22:22 ` [PATCH 08/16] drm/i915: Don't call DVO mode_set hook on DPMS changes ville.syrjala
2014-08-15 13:30 ` Thomas Richter
2014-08-14 22:22 ` [PATCH 09/16] drm/i915: Kill useless ns2501_dump_regs ville.syrjala
2014-08-15 13:08 ` Thomas Richter
2014-08-15 13:31 ` Thomas Richter
2014-08-14 22:22 ` [PATCH 10/16] drm/i915: Rewrite ns2501 driver a bit ville.syrjala
2014-08-15 13:13 ` Thomas Richter
2014-08-15 13:32 ` Thomas Richter
2014-08-14 22:22 ` [PATCH 11/16] drm/i915: Init important ns2501 registers ville.syrjala
2014-08-15 13:18 ` Thomas Richter
2014-08-15 13:33 ` Thomas Richter
2014-09-01 8:42 ` Daniel Vetter
2014-08-14 22:22 ` [PATCH 12/16] drm/i915: Check pixel clock in ns2501 mode_valid hook ville.syrjala
2014-08-15 13:19 ` Thomas Richter
2014-08-15 13:33 ` Thomas Richter
2014-08-14 22:22 ` [PATCH 13/16] drm/i915: Fix DVO 2x clock enable on 830M ville.syrjala
2014-08-15 13:34 ` Thomas Richter
2014-09-01 8:46 ` Daniel Vetter
2014-09-05 18:52 ` [PATCH v2 " ville.syrjala
2014-09-08 7:33 ` Daniel Vetter
2014-08-14 22:22 ` [PATCH 14/16] Revert "drm/i915: Nuke pipe A quirk on i830M" ville.syrjala
2014-08-15 13:36 ` Thomas Richter
2014-08-14 22:22 ` [PATCH v2 15/16] drm/i915: Add pipe B force quirk for 830M ville.syrjala
2014-08-15 13:37 ` Thomas Richter
2014-08-14 22:22 ` [PATCH 16/16] drm/i915: Preserve VGACNTR bits from the BIOS ville.syrjala
2014-08-15 13:39 ` Thomas Richter
2014-08-15 7:57 ` [PATCH 00/16] drm/i915: 830M/ns201 fixes again Ville Syrjälä
[not found] ` <53EE59E8.7030101@rus.uni-stuttgart.de>
[not found] ` <20140816181342.GU4193@intel.com>
2014-08-16 18:25 ` S6010 - brightness adjustment not available Thomas Richter
2014-08-16 20:34 ` Ville Syrjälä
2014-09-01 8:53 ` [PATCH 00/16] drm/i915: 830M/ns201 fixes again Daniel Vetter
2014-09-05 18:54 ` [PATCH] drm/i915: Limit the watermark to at least 8 entries on gen2/3 ville.syrjala
2014-09-05 19:03 ` Thomas Richter
2014-09-06 17:33 ` Ville Syrjälä
2014-09-06 17:50 ` Thomas Richter
2014-09-08 7:39 ` Daniel Vetter
2014-09-08 7:41 ` Thomas Richter
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=53EE0AC9.1040109@rus.uni-stuttgart.de \
--to=richter@rus.uni-stuttgart.de \
--cc=daniel@ffwll.ch \
--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.