Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751537AbeABTYj convert rfc822-to-8bit (ORCPT + 1 other); Tue, 2 Jan 2018 14:24:39 -0500 Received: from mail.fireflyinternet.com ([109.228.58.192]:52299 "EHLO fireflyinternet.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751315AbeABTYi (ORCPT ); Tue, 2 Jan 2018 14:24:38 -0500 X-Default-Received-SPF: pass (skip=forwardok (res=PASS)) x-ip-name=78.156.65.138; Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8BIT To: Rodrigo Vivi , =?utf-8?q?Stefan_Br=C3=BCns?= From: Chris Wilson In-Reply-To: <20180102191218.53beopvnxsg2etmg@intel.com> Cc: "David Airlie" , intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org References: <20180102191218.53beopvnxsg2etmg@intel.com> Message-ID: <151492106622.21495.250228197580562391@mail.alporthouse.com> User-Agent: alot/0.3.6 Subject: Re: [Intel-gfx] [PATCH v2] drm/i915: Try EDID bitbanging on HDMI after failed read Date: Tue, 02 Jan 2018 19:24:26 +0000 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: Quoting Rodrigo Vivi (2018-01-02 19:12:18) > On Sun, Dec 31, 2017 at 10:34:54PM +0000, Stefan BrĂ¼ns wrote: > > + edid = drm_get_edid(connector, i2c); > > + > > + if (!edid && !intel_gmbus_is_forced_bit(i2c)) { > > + DRM_DEBUG_KMS("HDMI GMBUS EDID read failed, retry using GPIO bit-banging\n"); > > + intel_gmbus_force_bit(i2c, true); > > + edid = drm_get_edid(connector, i2c); > > + intel_gmbus_force_bit(i2c, false); > > + } > > Approach seems fine for this case. > I just wonder what would be the risks of forcing this bit and edid read when nothing is present on the other end? Should be no more risky than using GMBUS as the bit-banging is the underlying HW protocol; it should just be adding an extra delay to the disconnected probe. Offset against the chance that it fixes detection of borderline devices. I would say that given the explanation above, the question is why not apply it universally? (Bonus points for including the explanation as comments.) -Chris