Re: [PATCH] drm/i915: Fix the HDMI hot plug disconnection failure (v4)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 28 Nov 2018, Guang Bai <guang.bai@xxxxxxxxx> wrote:
> On some GEN9 platforms, slowly unplugging (wiggling) the HDMI cable makes
> the kernel to believe the HDMI display is still connected. This is because
> the HDMI DDC lines are disconnected a little bit later after the hot-plug
> interrupt triggered thus an immediate edid fetch can be made. This problem
> has been identified by more than one customer recently. Use digital
> port live states to authorize the edid read at HDMI detection point will
> ensure most of the display related software states updated and rest of them
> will be renewed accordingly when the port is connected.
>
> v2: Fix the formatting issue
> v3: Use digital port states to authorize the edid read
> v4: Add comments on issue histories and rationale of the fix (Chris W)

You're not answering Chris Wilson's question.

Why do you think the problems we've historically had with live status
are no longer a problem? We've tried and reverted live status checks at
least twice before because of regressions. Why do you think this time
there won't be regressions? Why do you think this patch makes forward
progress?

I've *repeatedly* said from the beginning that I am very sceptical of
using live status because we've been burned by it so many times
before. I don't much care to repeat this anymore.


BR,
Jani.


>
> Cc: Jani Nikula <jani.nikula@xxxxxxxxx>
> Cc: Chris Chiu <chiu@xxxxxxxxxxxx>
> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
> Signed-off-by: Guang Bai <guang.bai@xxxxxxxxx>
> ---
>  drivers/gpu/drm/i915/intel_hdmi.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
> index e2c6a2b..8cf7c78 100644
> --- a/drivers/gpu/drm/i915/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/intel_hdmi.c
> @@ -1929,7 +1929,7 @@ intel_hdmi_detect(struct drm_connector *connector, bool force)
>  
>  	intel_display_power_get(dev_priv, POWER_DOMAIN_GMBUS);
>  
> -	if (IS_ICELAKE(dev_priv) &&
> +	if ((IS_ICELAKE(dev_priv) || IS_GEN9_BC(dev_priv)) &&
>  	    !intel_digital_port_connected(encoder))
>  		goto out;

-- 
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux