All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Pandiyan, Dhinakaran" <dhinakaran.pandiyan@intel.com>
To: "Vivi, Rodrigo" <rodrigo.vivi@intel.com>
Cc: "intel-gfx@lists.freedesktop.org" <intel-gfx@lists.freedesktop.org>
Subject: Re: [PATCH] drm/i915: Introduce intel_hdp_pin.
Date: Thu, 10 Aug 2017 04:44:29 +0000	[thread overview]
Message-ID: <1502341510.28740.44.camel@dk-H97M-D3H> (raw)
In-Reply-To: <20170802192610.8675-1-rodrigo.vivi@intel.com>

On Wed, 2017-08-02 at 12:26 -0700, Rodrigo Vivi wrote:
> The idea is to have an unique place to decide the pin-port
> per platform.
> 
> So let's create this function now without any functional
> change. 

This seems to change the behavior when port A is not eDP.

> Just adding together code from hdmi and dp together.
> 
> v2: Add missing pin for port A.
> 
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> ---
>  drivers/gpu/drm/i915/i915_drv.h      |  1 +
>  drivers/gpu/drm/i915/intel_dp.c      |  8 ++------
>  drivers/gpu/drm/i915/intel_hdmi.c    | 19 +------------------
>  drivers/gpu/drm/i915/intel_hotplug.c | 26 ++++++++++++++++++++++++++
>  4 files changed, 30 insertions(+), 24 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 5c2c7a677e96..c038717ad739 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -3148,6 +3148,7 @@ void intel_hpd_init(struct drm_i915_private *dev_priv);
>  void intel_hpd_init_work(struct drm_i915_private *dev_priv);
>  void intel_hpd_cancel_work(struct drm_i915_private *dev_priv);
>  enum port intel_hpd_port(enum hpd_pin pin);
> +enum hpd_pin intel_hpd_pin(enum port port);
>  bool intel_hpd_disable(struct drm_i915_private *dev_priv, enum hpd_pin pin);
>  void intel_hpd_enable(struct drm_i915_private *dev_priv, enum hpd_pin pin);
>  
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index d4e6128f3b3a..126783752c6d 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -5906,26 +5906,22 @@ intel_dp_init_connector_port_info(struct intel_digital_port *intel_dig_port)
>  	struct intel_encoder *encoder = &intel_dig_port->base;
>  	struct intel_dp *intel_dp = &intel_dig_port->dp;
>  
> +	encoder->hpd_pin = intel_hpd_pin(intel_dig_port->port);
> +
>  	switch (intel_dig_port->port) {
>  	case PORT_A:
> -		encoder->hpd_pin = HPD_PORT_A;
>  		intel_dp->aux_power_domain = POWER_DOMAIN_AUX_A;
>  		break;
>  	case PORT_B:
> -		encoder->hpd_pin = HPD_PORT_B;
>  		intel_dp->aux_power_domain = POWER_DOMAIN_AUX_B;
>  		break;
>  	case PORT_C:
> -		encoder->hpd_pin = HPD_PORT_C;
>  		intel_dp->aux_power_domain = POWER_DOMAIN_AUX_C;
>  		break;
>  	case PORT_D:
> -		encoder->hpd_pin = HPD_PORT_D;
>  		intel_dp->aux_power_domain = POWER_DOMAIN_AUX_D;
>  		break;
>  	case PORT_E:
> -		encoder->hpd_pin = HPD_PORT_E;
> -
>  		/* FIXME: Check VBT for actual wiring of PORT E */
>  		intel_dp->aux_power_domain = POWER_DOMAIN_AUX_D;
>  		break;
> diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
> index 5609976539bf..dcd14c71a989 100644
> --- a/drivers/gpu/drm/i915/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/intel_hdmi.c
> @@ -1921,24 +1921,7 @@ void intel_hdmi_init_connector(struct intel_digital_port *intel_dig_port,
>  		connector->ycbcr_420_allowed = true;
>  
>  	intel_hdmi->ddc_bus = intel_hdmi_ddc_pin(dev_priv, port);
> -
> -	switch (port) {
> -	case PORT_B:
> -		intel_encoder->hpd_pin = HPD_PORT_B;
> -		break;
> -	case PORT_C:
> -		intel_encoder->hpd_pin = HPD_PORT_C;
> -		break;
> -	case PORT_D:
> -		intel_encoder->hpd_pin = HPD_PORT_D;
> -		break;
> -	case PORT_E:
> -		intel_encoder->hpd_pin = HPD_PORT_E;
> -		break;
> -	default:
> -		MISSING_CASE(port);
> -		return;
> -	}
> +	intel_encoder->hpd_pin = intel_hpd_pin(port);

Instead of returning early for port A, this will go ahead and attach the
HDMI encoder to the connector. However, I don't know likely  we'll have
a vbt that says port A supports both DP and HDMI but not eDP. 

>  
>  	if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) {
>  		intel_hdmi->write_infoframe = vlv_write_infoframe;
> diff --git a/drivers/gpu/drm/i915/intel_hotplug.c b/drivers/gpu/drm/i915/intel_hotplug.c
> index 5982c47586e7..7b1cf30a3e9b 100644
> --- a/drivers/gpu/drm/i915/intel_hotplug.c
> +++ b/drivers/gpu/drm/i915/intel_hotplug.c
> @@ -101,6 +101,32 @@ enum port intel_hpd_port(enum hpd_pin pin)
>  	}
>  }
>  
> +/**
> + * intel_hpd_pin - return pin hard associated with certain port.
> + * @port: the hpd port to get associated pin
> + *
> + * Return pin that is associatade with @port and HDP_NONE if no pin is
> + * hard associated with that @port.
> + */
> +enum hpd_pin intel_hpd_pin(enum port port)
> +{
> +	switch (port) {
> +	case PORT_A:
> +		return HPD_PORT_A;
> +	case PORT_B:
> +		return HPD_PORT_B;
> +	case PORT_C:
> +		return HPD_PORT_C;
> +	case PORT_D:
> +		return HPD_PORT_D;
> +	case PORT_E:
> +		return HPD_PORT_E;
> +	default:
> +		MISSING_CASE(port);
> +		return HPD_NONE;
> +	}
> +}
> +
>  #define HPD_STORM_DETECT_PERIOD		1000
>  #define HPD_STORM_REENABLE_DELAY	(2 * 60 * 1000)
>  
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2017-08-10  4:44 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-02 17:20 [PATCH 1/2] drm/i915: Simplify hpd pin to port Rodrigo Vivi
2017-08-02 17:21 ` [PATCH 2/2] drm/i915: Introduce intel_hdp_pin Rodrigo Vivi
2017-08-02 19:26   ` [PATCH] " Rodrigo Vivi
2017-08-10  4:44     ` Pandiyan, Dhinakaran [this message]
2017-08-10 21:23       ` Rodrigo Vivi
2017-08-10 23:24         ` Pandiyan, Dhinakaran
2017-08-11 18:26           ` [PATCH 1/2] drm/i915: Simplify hpd pin to port Rodrigo Vivi
2017-08-11 18:26             ` [PATCH 2/2] drm/i915: Introduce intel_hpd_pin function Rodrigo Vivi
2017-08-11 18:55               ` Rodrigo Vivi
2017-08-02 17:45 ` ✗ Fi.CI.BAT: failure for series starting with [1/2] drm/i915: Simplify hpd pin to port Patchwork
2017-08-02 19:50 ` ✗ Fi.CI.BAT: failure for series starting with [1/2] drm/i915: Simplify hpd pin to port (rev2) Patchwork
2017-08-10  5:22 ` [PATCH 1/2] drm/i915: Simplify hpd pin to port Pandiyan, Dhinakaran
2017-08-11 18:49 ` ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: Simplify hpd pin to port (rev4) 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=1502341510.28740.44.camel@dk-H97M-D3H \
    --to=dhinakaran.pandiyan@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=rodrigo.vivi@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.