All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@linux.intel.com>
To: Paulo Zanoni <przanoni@gmail.com>, intel-gfx@lists.freedesktop.org
Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Subject: Re: [PATCH 03/18] drm/i915: simplify intel_crtc_driving_pch
Date: Thu, 25 Oct 2012 14:13:54 +0300	[thread overview]
Message-ID: <87ehkmn6rx.fsf@intel.com> (raw)
In-Reply-To: <1351024208-3489-4-git-send-email-przanoni@gmail.com>

On Tue, 23 Oct 2012, Paulo Zanoni <przanoni@gmail.com> wrote:
> From: Paulo Zanoni <paulo.r.zanoni@intel.com>
>
> By forking Ironlake and Haswell functions. The only callers are
> {ironlake,haswell}_crtc_enable anyway, and this way we won't need to
> add other checks on the Haswell version for the next gens.
>
> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
> ---
>  drivers/gpu/drm/i915/intel_display.c | 31 +++++++++++--------------------
>  1 file changed, 11 insertions(+), 20 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index a90da35..0c4e9c5 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -2849,7 +2849,7 @@ static void intel_crtc_wait_for_pending_flips(struct drm_crtc *crtc)
>  	mutex_unlock(&dev->struct_mutex);
>  }
>  
> -static bool intel_crtc_driving_pch(struct drm_crtc *crtc)
> +static bool ironlake_crtc_driving_pch(struct drm_crtc *crtc)
>  {
>  	struct drm_device *dev = crtc->dev;
>  	struct intel_encoder *intel_encoder;
> @@ -2859,23 +2859,6 @@ static bool intel_crtc_driving_pch(struct drm_crtc *crtc)
>  	 * must be driven by its own crtc; no sharing is possible.
>  	 */
>  	for_each_encoder_on_crtc(dev, crtc, intel_encoder) {
> -
> -		/* On Haswell, LPT PCH handles the VGA connection via FDI, and Haswell
> -		 * CPU handles all others */
> -		if (IS_HASWELL(dev)) {
> -			/* It is still unclear how this will work on PPT, so throw up a warning */
> -			WARN_ON(!HAS_PCH_LPT(dev));
> -
> -			if (intel_encoder->type == INTEL_OUTPUT_ANALOG) {
> -				DRM_DEBUG_KMS("Haswell detected DAC encoder, assuming is PCH\n");
> -				return true;
> -			} else {
> -				DRM_DEBUG_KMS("Haswell detected encoder %d, assuming is CPU\n",
> -					      intel_encoder->type);
> -				return false;
> -			}
> -		}
> -
>  		switch (intel_encoder->type) {
>  		case INTEL_OUTPUT_EDP:
>  			if (!intel_encoder_is_pch_edp(&intel_encoder->base))
> @@ -2887,6 +2870,14 @@ static bool intel_crtc_driving_pch(struct drm_crtc *crtc)
>  	return true;
>  }
>  
> +static bool haswell_crtc_driving_pch(struct drm_crtc *crtc)
> +{
> +	if (intel_pipe_has_type(crtc, INTEL_OUTPUT_ANALOG))
> +		return true;
> +	else
> +		return false;
> +}

Nitpick, this could be written just:

	return intel_pipe_has_type(crtc, INTEL_OUTPUT_ANALOG);

A pedantic observation: the previous version in intel_crtc_driving_pch
unconditionally stopped at the first encoder on the crtc on HSW, this
one checks that *none* of the encoders has type INTEL_OUTPUT_ANALOG
before it returns false. It doesn't matter either way, does it?

Reviewed-by: Jani Nikula <jani.nikula@intel.com>


> +
>  /* Program iCLKIP clock to the desired frequency */
>  static void lpt_program_iclkip(struct drm_crtc *crtc)
>  {
> @@ -3215,7 +3206,7 @@ static void ironlake_crtc_enable(struct drm_crtc *crtc)
>  			I915_WRITE(PCH_LVDS, temp | LVDS_PORT_EN);
>  	}
>  
> -	is_pch_port = intel_crtc_driving_pch(crtc);
> +	is_pch_port = ironlake_crtc_driving_pch(crtc);
>  
>  	if (is_pch_port) {
>  		ironlake_fdi_pll_enable(intel_crtc);
> @@ -3293,7 +3284,7 @@ static void haswell_crtc_enable(struct drm_crtc *crtc)
>  	intel_crtc->active = true;
>  	intel_update_watermarks(dev);
>  
> -	is_pch_port = intel_crtc_driving_pch(crtc);
> +	is_pch_port = haswell_crtc_driving_pch(crtc);
>  
>  	if (is_pch_port) {
>  		ironlake_fdi_pll_enable(intel_crtc);
> -- 
> 1.7.11.4
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2012-10-25 11:08 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-23 20:29 [PATCH 00/18] Haswell eDP enablement v3 Paulo Zanoni
2012-10-23 20:29 ` [PATCH 01/18] drm/i915: fork a Haswell version of ironlake_crtc_{enable, disable} Paulo Zanoni
2012-10-24 13:15   ` Rodrigo Vivi
2012-10-25 11:03   ` Jani Nikula
2012-10-23 20:29 ` [PATCH 02/18] drm/i915: fix the checks inside Ironlake/Haswell crtc enable/disable Paulo Zanoni
2012-10-24 13:18   ` Rodrigo Vivi
2012-10-24 13:31   ` Paulo Zanoni
2012-10-23 20:29 ` [PATCH 03/18] drm/i915: simplify intel_crtc_driving_pch Paulo Zanoni
2012-10-25 11:13   ` Jani Nikula [this message]
2012-10-25 12:04     ` Paulo Zanoni
2012-10-25 12:37   ` Paulo Zanoni
2012-10-23 20:29 ` [PATCH 04/18] drm/i915: don't call Haswell PCH code when we can't or don't need Paulo Zanoni
2012-10-25 12:18   ` Jani Nikula
2012-10-23 20:29 ` [PATCH 05/18] drm/i915: add TRANSCODER_EDP Paulo Zanoni
2012-10-24 14:50   ` Lespiau, Damien
2012-10-24 16:33     ` Paulo Zanoni
2012-10-24 16:43       ` Daniel Vetter
2012-10-24 17:59   ` Paulo Zanoni
2012-10-25 10:23     ` Lespiau, Damien
2012-10-23 20:29 ` [PATCH 06/18] drm/i915: convert PIPE_CLK_SEL to transcoder Paulo Zanoni
2012-10-24 14:55   ` Lespiau, Damien
2012-10-23 20:29 ` [PATCH 07/18] drm/i915: convert DDI_FUNC_CTL " Paulo Zanoni
2012-10-24 15:12   ` Lespiau, Damien
2012-10-24 15:30   ` Lespiau, Damien
2012-10-24 16:44     ` Paulo Zanoni
2012-10-24 18:06   ` Paulo Zanoni
2012-10-25 10:24     ` Lespiau, Damien
2012-10-23 20:29 ` [PATCH 08/18] drm/i915: check TRANSCODER_EDP on intel_modeset_setup_hw_state Paulo Zanoni
2012-10-24 12:38   ` Daniel Vetter
2012-10-24 15:45     ` Lespiau, Damien
2012-10-24 15:50       ` Daniel Vetter
2012-10-24 18:09   ` Paulo Zanoni
2012-10-25 10:26     ` Lespiau, Damien
2012-10-23 20:29 ` [PATCH 09/18] drm/i915: convert PIPECONF to use transcoder instead of pipe Paulo Zanoni
2012-10-25 11:12   ` Lespiau, Damien
2012-10-23 20:30 ` [PATCH 10/18] drm/i915: convert PIPE_MSA_MISC to transcoder Paulo Zanoni
2012-10-25 11:09   ` Lespiau, Damien
2012-10-23 20:30 ` [PATCH 11/18] drm/i915: convert CPU M/N timings " Paulo Zanoni
2012-10-25 11:10   ` Lespiau, Damien
2012-10-23 20:30 ` [PATCH 12/18] drm/i915: convert pipe timing definitions " Paulo Zanoni
2012-10-25 11:12   ` Lespiau, Damien
2012-10-23 20:30 ` [PATCH 13/18] drm/i915: implement workaround for VTOTAL when using TRANSCODER_EDP Paulo Zanoni
2012-10-23 20:44   ` Daniel Vetter
2012-10-24 13:34   ` Paulo Zanoni
2012-10-24 15:24     ` Rodrigo Vivi
2012-10-23 20:30 ` [PATCH 14/18] drm/i915: select the correct pipe " Paulo Zanoni
2012-10-24 13:58   ` Rodrigo Vivi
2012-10-23 20:30 ` [PATCH 15/18] drm/i915: set the correct eDP aux channel clock divider on DDI Paulo Zanoni
2012-10-24 14:07   ` Rodrigo Vivi
2012-10-23 20:30 ` [PATCH 16/18] drm/i915: set/unset the DDI eDP backlight Paulo Zanoni
2012-10-24 14:11   ` Rodrigo Vivi
2012-10-24 14:22   ` Daniel Vetter
2012-10-24 14:43     ` Paulo Zanoni
2012-10-23 20:30 ` [PATCH 17/18] drm/i915: turn the eDP DDI panel on/off Paulo Zanoni
2012-10-24 15:20   ` Rodrigo Vivi
2012-10-23 20:30 ` [PATCH 18/18] drm/i915: enable DDI eDP Paulo Zanoni
2012-10-24 14:24   ` Rodrigo Vivi
2012-10-25 20:17     ` Daniel Vetter
2012-10-24 13:31 ` [PATCH 02-1/18] drm/i915: fix checks inside ironlake_crtc_{enable, disable} Paulo Zanoni
2012-10-24 13:32   ` [PATCH 02-2/18] drm/i915: fix checks inside haswell_crtc_{enable, disable} Paulo Zanoni
2012-10-25 11:07     ` Jani Nikula
2012-10-25 11:04   ` [PATCH 02-1/18] drm/i915: fix checks inside ironlake_crtc_{enable, disable} Jani Nikula

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=87ehkmn6rx.fsf@intel.com \
    --to=jani.nikula@linux.intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=paulo.r.zanoni@intel.com \
    --cc=przanoni@gmail.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.