From mboxrd@z Thu Jan 1 00:00:00 1970 From: Aaron Plattner Subject: Re: [RFC] drm + i915 DP MST code preview Date: Wed, 7 May 2014 09:46:19 -0700 Message-ID: <536A635B.2050909@nvidia.com> References: <1399005585-2396-1-git-send-email-airlied@gmail.com> <20140502085206.GB21695@nuc-i3427.alporthouse.com> <20140503090028.GB9420@nuc-i3427.alporthouse.com> <5369DDD5.5010906@nvidia.com> <20140507080734.GR5730@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: Received: from hqemgate15.nvidia.com (hqemgate15.nvidia.com [216.228.121.64]) by gabe.freedesktop.org (Postfix) with ESMTP id 782826E73B for ; Wed, 7 May 2014 09:46:20 -0700 (PDT) In-Reply-To: <20140507080734.GR5730@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: dri-devel List-Id: dri-devel@lists.freedesktop.org On 05/07/2014 01:07 AM, Daniel Vetter wrote: > On Wed, May 07, 2014 at 12:16:37AM -0700, Aaron Plattner wrote: >> On 05/03/2014 02:00 AM, Chris Wilson wrote: >>> On Sat, May 03, 2014 at 07:08:02AM +1000, Dave Airlie wrote: >>>> On 2 May 2014 18:52, Chris Wilson wrote: >>>>> On Fri, May 02, 2014 at 02:39:37PM +1000, Dave Airlie wrote: >>>> the GUID is only on DP 1.2 devices, so you don't get one for ever >>>> port, also GUIDs are wiped on powerdown on most devices, default GUID >>>> is 0 except where devices have USB hubs as well, so it probably >>>> doesn't make much sense to bother exposing them directly. >>> >>> Ok. It looks like if we do attempt to maintain persistent naming, we need >>> to do it in the kernel anyway. That is to make sure that a downstream >>> device always has the same type-id upon reconnection - at least for the >>> lifetime of module. Or maybe the output name is irrelevant for >>> preserving extended desktop configurations? >> >> Dunno if it helps, but for roughly similar reasons we ended up naming the >> outputs based on their topology paths in the NVIDIA driver. So for example >> a port named DP-3 that has a Dell UP2414Q attached will show up as two >> outputs named DP-3.1 and DP-3.8 since its internal bridge uses downstream >> ports 1 and 8. This has worked out fairly well in practice. >> >> Here's how I described it in the README: >> >> When DisplayPort 1.2 branch devices are present, display >> devices will be created with type- and connector-based names >> that are based on how they are connected to the branch device >> tree. For example, if a connector named DP-2 has a branch >> device attached and a DisplayPort device is connected to the >> branch device's first downstream port, a display device named >> DP-2.1 might be created. If another branch device is >> connected between the first branch device and the display >> device, the name might be DP-2.1.1. >> >> To avoid cluttering the output list, DisplayPort 1.2 devices >> can be deleted when they are no longer connected and are not >> named in any MetaModes. This behavior can be enabled with the >> DeleteUnusedDP12Displays option. >> >> http://us.download.nvidia.com/XFree86/Linux-x86/337.19/README/displaydevicenames.html > > I'm unclear how you name non-DP branch devices. Do they show up as > DP-2.1-HDMI or something similar? Or do you just keep the DP-2.1 name but > set the connector type to HDMI? I don't have any branches that support passive adapters on downstream ports, so I'm not sure what happens with those. > In general I think your prosoal of adding branch downstream ports to name > MST connectors sounds really good. The kms object ids will still be > random, but at least if users connect the same topology to the same ports > we should have stable names. Yeah, the RandR output XIDs work the same way. > And of course userspace can still check the EDID serial. > -Daniel