All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@linux.intel.com>
To: Mika Kuoppala <mika.kuoppala@linux.intel.com>,
	intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH] drm/i915: Don't fallback to ddc probe if downstream port is dummy
Date: Tue, 10 Sep 2013 20:01:06 +0300	[thread overview]
Message-ID: <878uz4zk4t.fsf@intel.com> (raw)
In-Reply-To: <1378821618-5903-1-git-send-email-mika.kuoppala@intel.com>

On Tue, 10 Sep 2013, Mika Kuoppala <mika.kuoppala@linux.intel.com> wrote:
> If branch device advertise dummy enough sink, bail out early
> trusting to sink count instead of falling back to ddc probe
> which is deemed to fail.
>
> References: https://bugs.freedesktop.org/show_bug.cgi?id=60263
> Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
> ---
>  drivers/gpu/drm/i915/intel_dp.c |    8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 8c70a83..703767e 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -2786,9 +2786,15 @@ intel_dp_detect_dpcd(struct intel_dp *intel_dp)
>  	if (!(dpcd[DP_DOWNSTREAMPORT_PRESENT] & DP_DWN_STRM_PORT_PRESENT))
>  		return connector_status_connected;
>  
> +	/* Analog or other */
> +#define DP_PORT_TYPE_DUMMY 0x2
> +
>  	/* If we're HPD-aware, SINK_COUNT changes dynamically */
>  	hpd = !!(intel_dp->downstream_ports[0] & DP_DS_PORT_HPD);
> -	if (hpd) {
> +
> +	/* ...and if the downstream port type is dummy enough
> +	 * dont fall into ddc probe as it will fail */
> +	if (hpd || dpcd[DP_DOWNSTREAMPORT_PRESENT] & DP_PORT_TYPE_DUMMY) {
>  		uint8_t reg;
>  		if (!intel_dp_aux_native_read_retry(intel_dp, DP_SINK_COUNT,
>  						    &reg, 1))

I only started really looking into the patch, and the DP spec, now that
I tricked you into submitting it to the ml... thanks for the patch, but
I'm afraid this isn't the right thing to do. :/

The original comment above, "If we're HPD-aware, SINK_COUNT changes
dynamically", is correct, but misleading. AFAICT we can, and should,
just always read SINK_COUNT on branch devices. It should work, but it
only changes dynamically for HPD capable devices.

Further, the original code checks for HPD in ->downstream_ports, but
that's only available (and initialized!) if DPCD rev is > 0x10. That's
not checked.

Fixing this doesn't give us full support for branch devices, but would
be a baby step forward. Want to do it or shall I?

Cheers,
Jani.

  reply	other threads:[~2013-09-10 17:03 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-10 14:00 [PATCH] drm/i915: Don't fallback to ddc probe if downstream port is dummy Mika Kuoppala
2013-09-10 17:01 ` Jani Nikula [this message]
2013-09-11  7:41   ` Mika Kuoppala

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=878uz4zk4t.fsf@intel.com \
    --to=jani.nikula@linux.intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=mika.kuoppala@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.