From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758732AbcHDO5a (ORCPT ); Thu, 4 Aug 2016 10:57:30 -0400 Received: from us01smtprelay-2.synopsys.com ([198.182.47.9]:47591 "EHLO smtprelay.synopsys.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756858AbcHDO51 (ORCPT ); Thu, 4 Aug 2016 10:57:27 -0400 Subject: Re: [PATCH 3/3 v3] drm: bridge/dw-hdmi: Move edid reading to .detect() callback To: Russell King - ARM Linux , Jose Abreu References: <1bbffb944fb9ce0363f5544db31baf2a911c1c55.1470306826.git.joabreu@synopsys.com> <20160804104738.GR1041@n2100.armlinux.org.uk> <57A349E8.5040400@synopsys.com> <20160804143102.GU1041@n2100.armlinux.org.uk> CC: , Carlos Palminha , Archit Taneja , David Airlie , Fabio Estevam , Daniel Vetter , Takashi Iwai , Vladimir Zapolskiy , Thierry Reding , From: Jose Abreu Message-ID: <57A357D1.1070900@synopsys.com> Date: Thu, 4 Aug 2016 15:57:21 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0 MIME-Version: 1.0 In-Reply-To: <20160804143102.GU1041@n2100.armlinux.org.uk> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.107.19.32] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Russell, On 04-08-2016 15:31, Russell King - ARM Linux wrote: > On Thu, Aug 04, 2016 at 02:58:00PM +0100, Jose Abreu wrote: >> Hi Russell, >> >> I am not sure if this is a bug in DRM or a bad implementation of >> dw-hdmi. I've seen at least two more drivers that do the edid >> reading at the .detect() callback: nouveau and gma500. This is >> noticeable if while sending video the edid changes like in a >> compliance environment. In the environment that I tested I was >> sending video and swapped an edid that had support for AI packets >> to another one without support and I noticed that although the >> hotplug is generated the edid was not being updated. > The path should be: > > - HPD interrupt > - drm_helper_hpd_irq_event() > - generates uevent to userspace > - output_poll_changed() called > - drm_fb_helper_hotplug_event() > - drm_fb_helper_probe_connector_modes() > - connector->fill_modes() > - drm_helper_probe_single_connector_modes() > - connector_funcs->get_modes() > > Now, if we don't have fbdev emulation, then things won't get much > fruther than output_poll_changed(), and the responsibility for > reading the EDID falls onto userspace. However, as soon as userspace > or the kernel reads the new EDID, that is when any changes in it > should become visible. > > Of course, that should occur in a timely fashion. > Hmm, I am not debugging it right now but I remember that drm_fb_helper_probe_connector_modes() was not being called at the time I set the new EDID but only after I stopped sending video (I was using modetest). Best regards, Jose Miguel Abreu