All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Shrivastava, Shubhangi" <shubhangi.shrivastava@intel.com>
To: "intel-gfx@lists.freedesktop.org"
	<intel-gfx@lists.freedesktop.org>,
	"Vetter, Daniel" <daniel.vetter@intel.com>
Subject: Re: [PATCH 5/5] drm/i915: force full detect on sink count change
Date: Thu, 24 Mar 2016 12:21:35 +0000	[thread overview]
Message-ID: <B9E6BA090016E748A0B4047CFFA99C32090A8E88@BGSMSX101.gar.corp.intel.com> (raw)
In-Reply-To: <1453300598.2594.41.camel@gmail.com>

Hi Daniel,

Is something else required for this patch series (5 patches) to be merged?

Thanks and Regards,
Shubhangi Shrivastava.

-----Original Message-----
From: Ander Conselvan De Oliveira [mailto:conselvan2@gmail.com] 
Sent: Wednesday, January 20, 2016 8:07 PM
To: Shrivastava, Shubhangi <shubhangi.shrivastava@intel.com>; intel-gfx@lists.freedesktop.org
Subject: Re: [Intel-gfx] [PATCH 5/5] drm/i915: force full detect on sink count change

On Tue, 2016-01-19 at 16:07 +0530, Shubhangi Shrivastava wrote:
> This patch checks for changes in sink count between short pulse hpds 
> and forces full detect when there is a change.
> 
> This will allow both detection of hotplug and unplug of panels through 
> dongles that give only short pulse for such events.
> 
> v2: changed variable type from u8 to bool (Jani)
>     return immediately if perform_full_detect is set(Siva)
> 
> v3: changed method of determining full detection from using
>     pointer to return code (Siva)
> 
> v4: changed comments to indicate meaning of return value of
>     intel_dp_short_pulse and explain the use of return value
>     from intel_dp_get_dpcd in intel_dp_short_pulse (Ander)
> 
> Tested-by: Nathan D Ciobanu <nathan.d.ciobanu@intel.com>
> Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com>
> Signed-off-by: Shubhangi Shrivastava <shubhangi.shrivastava@intel.com>

Reviewed-by: Ander Conselvan de Oliveira <conselvan2@gmail.com>

> ---
>  drivers/gpu/drm/i915/intel_dp.c | 33 
> +++++++++++++++++++++++++++------
>  1 file changed, 27 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_dp.c 
> b/drivers/gpu/drm/i915/intel_dp.c index cdf4919..120d263 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -4325,12 +4325,19 @@ intel_dp_check_link_status(struct intel_dp *intel_dp)
>   *  2. Configure link according to Receiver Capabilities
>   *  3. Use Link Training from 2.5.3.3 and 3.5.1.3
>   *  4. Check link status on receipt of hot-plug interrupt
> + *
> + * intel_dp_short_pulse -  handles short pulse interrupts
> + * when full detection is not required.
> + * Returns %true if short pulse is handled and full detection
> + * is NOT required and %false otherwise.
>   */
> -static void
> +static bool
>  intel_dp_short_pulse(struct intel_dp *intel_dp)  {
>  	struct drm_device *dev = intel_dp_to_dev(intel_dp);
>  	u8 sink_irq_vector;
> +	u8 old_sink_count = intel_dp->sink_count;
> +	bool ret;
>  
>  	/*
>  	 * Clearing compliance test variables to allow capturing @@ -4340,9 
> +4347,17 @@ intel_dp_short_pulse(struct intel_dp *intel_dp)
>  	intel_dp->compliance_test_type = 0;
>  	intel_dp->compliance_test_data = 0;
>  
> -	/* Now read the DPCD to see if it's actually running */
> -	if (!intel_dp_get_dpcd(intel_dp)) {
> -		return;
> +	/*
> +	 * Now read the DPCD to see if it's actually running
> +	 * If the current value of sink count doesn't match with
> +	 * the value that was stored earlier or dpcd read failed
> +	 * we need to do full detection
> +	 */
> +	ret = intel_dp_get_dpcd(intel_dp);
> +
> +	if ((old_sink_count != intel_dp->sink_count) || !ret) {
> +		/* No need to proceed if we are going to do full detect */
> +		return false;
>  	}
>  
>  	/* Try to read the source of the interrupt */ @@ -4362,6 +4377,8 @@ 
> intel_dp_short_pulse(struct intel_dp *intel_dp)
>  	drm_modeset_lock(&dev->mode_config.connection_mutex, NULL);
>  	intel_dp_check_link_status(intel_dp);
>  	drm_modeset_unlock(&dev->mode_config.connection_mutex);
> +
> +	return true;
>  }
>  
>  /* XXX this is probably wrong for multiple downstream ports */ @@ 
> -5086,8 +5103,12 @@ intel_dp_hpd_pulse(struct intel_digital_port 
> *intel_dig_port, bool long_hpd)
>  			}
>  		}
>  
> -		if (!intel_dp->is_mst)
> -			intel_dp_short_pulse(intel_dp);
> +		if (!intel_dp->is_mst) {
> +			if (!intel_dp_short_pulse(intel_dp)) {
> +				intel_dp_long_pulse(intel_dp
> ->attached_connector);
> +				goto put_power;
> +			}
> +		}
>  	}
>  
>  	ret = IRQ_HANDLED;
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2016-03-24 12:21 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-19 10:37 [PATCH 1/5] drm/i915: Splitting intel_dp_detect Shubhangi Shrivastava
2016-01-19 10:37 ` [PATCH 2/5] drm/i915: Cleaning up intel_dp_hpd_pulse Shubhangi Shrivastava
2016-01-20  9:23   ` Ander Conselvan De Oliveira
2016-01-26 13:22   ` Ander Conselvan De Oliveira
2016-01-29  9:01     ` Shubhangi Shrivastava
2016-01-29 12:03       ` Ander Conselvan De Oliveira
2016-02-01  6:20         ` Thulasimani, Sivakumar
2016-02-01  9:13           ` Ander Conselvan De Oliveira
2016-11-17 22:01             ` Chris Wilson
2016-11-18  9:41               ` Ander Conselvan De Oliveira
2016-11-18  9:51                 ` Chris Wilson
2016-01-19 10:37 ` [PATCH 3/5] drm/i915: Reorganizing intel_dp_check_link_status Shubhangi Shrivastava
2016-01-20  9:46   ` Ander Conselvan De Oliveira
2016-01-19 10:37 ` [PATCH 4/5] drm/i915: Save sink_count for tracking changes to it and read sink_count dpcd always Shubhangi Shrivastava
2016-01-20 14:31   ` Ander Conselvan De Oliveira
2016-01-19 10:37 ` [PATCH 5/5] drm/i915: force full detect on sink count change Shubhangi Shrivastava
2016-01-20 14:36   ` Ander Conselvan De Oliveira
2016-03-24 12:21     ` Shrivastava, Shubhangi [this message]
2016-03-30 11:09       ` Ander Conselvan De Oliveira
2016-03-31 13:31         ` Shubhangi Shrivastava
2016-01-19 11:20 ` ✗ Fi.CI.BAT: warning for series starting with [1/5] drm/i915: Splitting intel_dp_detect Patchwork
2016-01-20  9:11 ` [PATCH 1/5] " Ander Conselvan De Oliveira
  -- strict thread matches above, loose matches on Subject: below --
2016-03-30 12:35 Shubhangi Shrivastava
2016-03-30 12:35 ` [PATCH 5/5] drm/i915: force full detect on sink count change Shubhangi Shrivastava
2016-02-16 11:52 [PATCH 1/5] drm/i915: Splitting intel_dp_detect Shubhangi Shrivastava
2016-02-16 11:52 ` [PATCH 5/5] drm/i915: force full detect on sink count change Shubhangi Shrivastava
2016-02-10  9:04 [PATCH 1/5] drm/i915: Splitting intel_dp_detect Shubhangi Shrivastava
2016-02-10  9:04 ` [PATCH 5/5] drm/i915: force full detect on sink count change Shubhangi Shrivastava
2016-02-01 11:42 [PATCH 1/5] drm/i915: Splitting intel_dp_detect Shubhangi Shrivastava
2016-02-01 11:42 ` [PATCH 5/5] drm/i915: force full detect on sink count change Shubhangi Shrivastava
2016-01-19 10:20 [PATCH 1/5] drm/i915: Splitting intel_dp_detect Shubhangi Shrivastava
2016-01-19 10:21 ` [PATCH 5/5] drm/i915: force full detect on sink count change Shubhangi Shrivastava

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=B9E6BA090016E748A0B4047CFFA99C32090A8E88@BGSMSX101.gar.corp.intel.com \
    --to=shubhangi.shrivastava@intel.com \
    --cc=daniel.vetter@intel.com \
    --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 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.