Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751146AbdFTHar (ORCPT ); Tue, 20 Jun 2017 03:30:47 -0400 Received: from galahad.ideasonboard.com ([185.26.127.97]:49301 "EHLO galahad.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750863AbdFTHap (ORCPT ); Tue, 20 Jun 2017 03:30:45 -0400 From: Laurent Pinchart To: Archit Taneja Cc: Eric Anholt , dri-devel@lists.freedesktop.org, Andrzej Hajda , Thierry Reding , Rob Herring , Mark Rutland , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 1/7] drm/bridge: Support hotplugging panel-bridge. Date: Tue, 20 Jun 2017 10:31:19 +0300 Message-ID: <1625582.5PxmiBkabx@avalon> User-Agent: KMail/4.14.10 (Linux/4.9.16-gentoo; KDE/4.14.32; x86_64; ; ) In-Reply-To: <8e148170-b626-b426-3c94-b93d2746f4ce@codeaurora.org> References: <20170615204130.19255-1-eric@anholt.net> <871sqkouvr.fsf@eliezer.anholt.net> <8e148170-b626-b426-3c94-b93d2746f4ce@codeaurora.org> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1975 Lines: 43 Hi Archit, On Tuesday 20 Jun 2017 09:18:00 Archit Taneja wrote: > On 06/16/2017 08:13 PM, Eric Anholt wrote: > > Archit Taneja writes: > >> On 06/16/2017 02:11 AM, Eric Anholt wrote: > >>> If the panel-bridge is being set up after the drm_mode_config_reset(), > >>> then the connector's state would never get initialized, and we'd > >>> dereference the NULL in the hotplug path. We also need to register > >>> the connector, so that userspace can get at it. > >> > >> Shouldn't the KMS driver make sure the panel-bridge is set up before > >> drm_mode_config_reset? Is it the case when we're inserting the > >> panel-bridge driver as a module? > >> > >> > >> All the connectors that have been added are registered automatically > >> when drm_dev_register() is called by the KMS driver. Registering a > >> connector in the middle of setting up our driver is prone to race > >> conditions if the userspace decides to use them immediately. > > > > Yeah, this is fixing initializing panel_bridge at DSI host_attach time, > > which in the case of a panel module that creates the DSI device > > (adv7533-style, like you said I should use as a reference) will be after > > drm_mode_config_reset() and drm_dev_register(). > > Okay. In the case of the msm kms driver, we defer probe until the > adv7533 module is inserted, only then we proceed to drm_mode_config_reset() > and drm_dev_register(). I assumed this was the general practice followed by > most kms drivers. I.,e the kms driver defers probe until all connector > related modules are inserted, and only then proceed to create a drm device. I'd love to see support for a more dynamic approach that would allow registering outputs at runtime. Until that's implemented, however, I agree with your statement, drivers should wait until all components are available before registering the DRM device. > Feedback from others on this would be appreciated, though. -- Regards, Laurent Pinchart