From alanc@sac.sfbay.sun.com Mon Nov  2 11:19:05 2009
Received: from sunmail3mpk.sfbay.sun.com (sunmail3mpk.SFBay.Sun.COM [129.146.11.52])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id nA2JJ5j1019517
	for <psarc-ext@sac.sfbay.sun.com>; Mon, 2 Nov 2009 11:19:05 -0800 (PST)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail3mpk.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.4) with ESMTP id nA2JJ2eY000052;
	Mon, 2 Nov 2009 11:19:04 -0800 (PST)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KSH00207XNRNZ00@brm-avmta-1.central.sun.com>; Mon,
 02 Nov 2009 12:19:03 -0700 (MST)
Received: from dm-sfbay-02.sfbay.sun.com ([129.146.11.31])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KSH0078QXNQE3D0@brm-avmta-1.central.sun.com>; Mon,
 02 Nov 2009 12:19:03 -0700 (MST)
Received: from sac.sfbay.sun.com (sac.SFBay.Sun.COM [129.146.226.132])
	by dm-sfbay-02.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.4)
 with ESMTP id nA2JJ1UT029119; Mon, 02 Nov 2009 11:19:01 -0800 (PST)
Received: from sac.sfbay.sun.com (localhost [127.0.0.1])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id nA2JIxQ8019512; Mon,
 02 Nov 2009 11:18:59 -0800 (PST)
Received: (from alanc@localhost)
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8/Submit) id nA2JIxOE019508; Mon,
 02 Nov 2009 11:18:59 -0800 (PST)
Date: Mon, 02 Nov 2009 11:18:59 -0800 (PST)
From: Alan Coopersmith <alan.coopersmith@sun.com>
Subject: "primary-card" frame buffer driver property [PSARC/2009/596 FastTrack
 timeout 11/09/2009]
To: PSARC-ext@sun.com
Cc: Edward.Shu@sun.com
Message-id: <200911021918.nA2JIxOE019508@sac.sfbay.sun.com>
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
Status: RO
Content-Length: 2561

I am sponsoring this case on behalf of Edward Shu of the x86 video driver
team.  The timeout is set for next Monday, November 9.   The case requests
a patch release binding.   While the case is defined in a platform 
independent manner, the initial implementation will only cover x86 platforms
as SPARC graphics drivers live in another consolidation.

        -Alan Coopersmith-           alan.coopersmith@sun.com
         Sun Microsystems, Inc. - X Window System Engineering

Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI
This information is Copyright 2009 Sun Microsystems
1. Introduction
    1.1. Project/Component Working Name:
	 "primary-card" frame buffer driver property
    1.2. Name of Document Author/Supplier:
	 Author:  Edward Shu
    1.3  Date of This Document:
	02 November, 2009
4. Technical Description

 1.  Summary

   The frame buffer driver property will expose the primary
   device to Xorg server or console driver.  It is particularly
   helpful to the system with two or more graphics card attached.
   For the Xorg server, it must find the primary device to start
   at.  Also, console must start on the primary graphics device
   when it is not directed to non-graphics device.

 2. Discussion

   The frame buffer driver can also use visual ioctl to expose the
   primary graphics card information.  But there are some drawbacks
   for adding the visual ioctl to the frame buffer driver.

   1) It is difficult for the console query code to leverage the
      ioctl interface. Because the code there was bundled with
      "dev_info" pointer instead of standard driver interfaces
      like open, ioctl, etc.

   2) The user land code don't know how many frame buffer driver
      that it should query using the ioctl. It can only enumerate
      the frame buffer device links, like /dev/fb0, fb1, fb2, fb3.
      Most likely, the links will not be extended to fb4 and more.
      But it is not guaranteed.

   So a driver property is used to expose the information.

 3.  Interface table

Interface Name                  Classification          Comments
------------------------------------------------------------------
primary-card driver property    Committed    primary graphics device

Every frame buffer driver will create a "primary-card" for it. And
the value is a boolean value. True on the primary device and false on
the others.


6. Resources and Schedule
    6.4. Steering Committee requested information
   	6.4.1. Consolidation C-team Name:
		ON
    6.5. ARC review type: FastTrack
    6.6. ARC Exposure: open


From gdamore@sun.com Mon Nov  2 19:44:21 2009
Received: from sunmail3mpk.sfbay.sun.com (sunmail3mpk.SFBay.Sun.COM [129.146.11.52])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id nA33iKuD000474
	for <psarc-ext@sac.sfbay.sun.com>; Mon, 2 Nov 2009 19:44:20 -0800 (PST)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail3mpk.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.4) with ESMTP id nA33iJAL025505
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Mon, 2 Nov 2009 19:44:20 -0800 (PST)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KSI00A03L1UKE00@brm-avmta-1.central.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@Sun.COM); Mon, 02 Nov 2009 20:44:18 -0700 (MST)
Received: from sca-es-mail-1.sun.com ([192.18.43.132])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KSI006IZL1TE7E0@brm-avmta-1.central.sun.com> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@Sun.COM); Mon,
 02 Nov 2009 20:44:17 -0700 (MST)
Received: from fe-sfbay-09.sun.com ([192.18.43.129])
	by sca-es-mail-1.sun.com (8.13.7+Sun/8.12.9) with ESMTP id nA33iHEG019084	for
 <PSARC-ext@Sun.COM>; Mon, 02 Nov 2009 19:44:17 -0800 (PST)
Received: from conversion-daemon.fe-sfbay-09.sun.com by fe-sfbay-09.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 id <0KSI00100KX2N200@fe-sfbay-09.sun.com> for PSARC-ext@Sun.COM
 (ORCPT PSARC-ext@Sun.COM); Mon, 02 Nov 2009 19:44:17 -0800 (PST)
Received: from [192.168.251.11] ([unknown] [76.93.15.33])
 by fe-sfbay-09.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 with ESMTPSA id <0KSI00MCXL1SJ210@fe-sfbay-09.sun.com> for PSARC-ext@Sun.COM
 (ORCPT PSARC-ext@Sun.COM); Mon, 02 Nov 2009 19:44:17 -0800 (PST)
Date: Mon, 02 Nov 2009 19:44:16 -0800
From: "Garrett D'Amore" <gdamore@sun.com>
Subject: Re: "primary-card" frame buffer driver property [PSARC/2009/596
 FastTrack timeout 11/09/2009]
In-reply-to: <200911021918.nA2JIxOE019508@sac.sfbay.sun.com>
Sender: Garrett.Damore@sun.com
To: Alan Coopersmith <Alan.Coopersmith@sun.com>
Cc: PSARC-ext@sun.com, Edward.Shu@sun.com
Message-id: <4AEFA710.7070407@sun.com>
MIME-version: 1.0
Content-type: text/plain; CHARSET=US-ASCII; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200911021918.nA2JIxOE019508@sac.sfbay.sun.com>
User-Agent: Thunderbird 2.0.0.22 (X11/20090909)
Status: RO
Content-Length: 3137


"primary-card" is a terrible name -- how about "primary-display" 
instead?  (The primary display may be on the motherboard!)

What is the purpose of this, is it for console support?

How is the decision about whether a display the primary or not made?  Is 
this user-configurable?  Does it access underlying BIOS structures?  
What about in unconventional configurations, such as display mirroring 
or TwinView?

    - Garrett

Alan Coopersmith wrote:
> I am sponsoring this case on behalf of Edward Shu of the x86 video driver
> team.  The timeout is set for next Monday, November 9.   The case requests
> a patch release binding.   While the case is defined in a platform 
> independent manner, the initial implementation will only cover x86 platforms
> as SPARC graphics drivers live in another consolidation.
>
>         -Alan Coopersmith-           alan.coopersmith@sun.com
>          Sun Microsystems, Inc. - X Window System Engineering
>
> Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI
> This information is Copyright 2009 Sun Microsystems
> 1. Introduction
>     1.1. Project/Component Working Name:
> 	 "primary-card" frame buffer driver property
>     1.2. Name of Document Author/Supplier:
> 	 Author:  Edward Shu
>     1.3  Date of This Document:
> 	02 November, 2009
> 4. Technical Description
>
>  1.  Summary
>
>    The frame buffer driver property will expose the primary
>    device to Xorg server or console driver.  It is particularly
>    helpful to the system with two or more graphics card attached.
>    For the Xorg server, it must find the primary device to start
>    at.  Also, console must start on the primary graphics device
>    when it is not directed to non-graphics device.
>
>  2. Discussion
>
>    The frame buffer driver can also use visual ioctl to expose the
>    primary graphics card information.  But there are some drawbacks
>    for adding the visual ioctl to the frame buffer driver.
>
>    1) It is difficult for the console query code to leverage the
>       ioctl interface. Because the code there was bundled with
>       "dev_info" pointer instead of standard driver interfaces
>       like open, ioctl, etc.
>
>    2) The user land code don't know how many frame buffer driver
>       that it should query using the ioctl. It can only enumerate
>       the frame buffer device links, like /dev/fb0, fb1, fb2, fb3.
>       Most likely, the links will not be extended to fb4 and more.
>       But it is not guaranteed.
>
>    So a driver property is used to expose the information.
>
>  3.  Interface table
>
> Interface Name                  Classification          Comments
> ------------------------------------------------------------------
> primary-card driver property    Committed    primary graphics device
>
> Every frame buffer driver will create a "primary-card" for it. And
> the value is a boolean value. True on the primary device and false on
> the others.
>
>
> 6. Resources and Schedule
>     6.4. Steering Committee requested information
>    	6.4.1. Consolidation C-team Name:
> 		ON
>     6.5. ARC review type: FastTrack
>     6.6. ARC Exposure: open
>
>   


From John.M.Martin@sun.com Mon Nov  2 20:30:14 2009
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id nA34UDIc001270
	for <psarc-ext@sac.sfbay.sun.com>; Mon, 2 Nov 2009 20:30:13 -0800 (PST)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id nA34U9t7026643
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Tue, 3 Nov 2009 04:30:12 GMT
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KSI00G01N6B1P00@brm-avmta-1.central.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Mon, 02 Nov 2009 21:30:11 -0700 (MST)
Received: from brmea-mail-2.sun.com ([192.18.98.43])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KSI00BOMN6A3E30@brm-avmta-1.central.sun.com> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Mon,
 02 Nov 2009 21:30:10 -0700 (MST)
Received: from fe-amer-10.sun.com ([192.18.109.80])
	by brmea-mail-2.sun.com (8.13.6+Sun/8.12.9) with ESMTP id nA34U8Ek015206	for
 <PSARC-ext@sun.com>; Tue, 03 Nov 2009 04:30:10 +0000 (GMT)
Received: from conversion-daemon.mail-amer.sun.com by mail-amer.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 id <0KSI00L00N3CGM00@mail-amer.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Mon, 02 Nov 2009 21:30:09 -0700 (MST)
Received: from [192.168.1.13] ([unknown] [76.112.232.250])
 by mail-amer.sun.com (Sun Java(tm) System Messaging Server 7u2-7.04 64bit
 (built Jul  2 2009)) with ESMTPSA id <0KSI009SNN5OHY40@mail-amer.sun.com> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Mon,
 02 Nov 2009 21:29:49 -0700 (MST)
Date: Mon, 02 Nov 2009 23:29:48 -0500
From: John Martin <John.M.Martin@sun.com>
Subject: Re: "primary-card" frame buffer driver property [PSARC/2009/596
 FastTrack timeout 11/09/2009]
In-reply-to: <4AEFA710.7070407@sun.com>
Sender: John.M.Martin@sun.com
To: "Garrett D'Amore" <gdamore@sun.com>
Cc: Alan Coopersmith <Alan.Coopersmith@sun.com>, PSARC-ext@sun.com,
        Edward.Shu@sun.com
Message-id: <4AEFB1BC.20502@sun.com>
MIME-version: 1.0
Content-type: text/plain; CHARSET=US-ASCII; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200911021918.nA2JIxOE019508@sac.sfbay.sun.com>
 <4AEFA710.7070407@sun.com>
User-Agent: Thunderbird 2.0.0.23 (X11/20090929)
Status: RO
Content-Length: 1268

Garrett D'Amore wrote:
>
> "primary-card" is a terrible name -- how about "primary-display" 
> instead?  (The primary display may be on the motherboard!)
>
> What is the purpose of this, is it for console support?
No.  It determines which graphics device on the system should
be used as the default device for X, especially in the case where
there are multiple graphics devices (not displays connected to a
graphics device).

It is independent of the console as the console may be a non-graphics
device.
>
> How is the decision about whether a display the primary or not made?  
> Is this user-configurable?  Does it access underlying BIOS 
> structures?  What about in unconventional configurations, such as 
> display mirroring or TwinView?
This is implementation defined.  On x86, the default graphics device
is the one for which the SBIOS has enabled I/O cycles on the entire
devices path.  Which device is chosen is usually controlled by a
BIOS probe option.  On SPARC, this will be the first graphics
device in the tree which can be controlled by the probe-list words.

Display mirroring or TwinView implies multiple displays
driven of a single graphics device.  Choosing between multiple
displays connected to a single device is not the scope of this project.


From Edward.Shu@sun.com Mon Nov  2 21:02:40 2009
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id nA352dqP001876
	for <psarc-ext@sac.sfbay.sun.com>; Mon, 2 Nov 2009 21:02:39 -0800 (PST)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id nA352Zne015358
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Tue, 3 Nov 2009 05:02:38 GMT
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KSI00D09OOD5M00@nwk-avmta-2.sfbay.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Mon, 02 Nov 2009 21:02:37 -0800 (PST)
Received: from sineb-mail-1.sun.com ([192.18.19.6])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KSI00JY2OOC6ZA0@nwk-avmta-2.sfbay.sun.com> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Mon,
 02 Nov 2009 21:02:37 -0800 (PST)
Received: from fe-apac-05.sun.com
 (fe-apac-05.sun.com [192.18.19.176] (may be forged))
	by sineb-mail-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id nA352avH017798	for
 <PSARC-ext@sun.com>; Tue, 03 Nov 2009 05:02:36 +0000 (GMT)
Received: from conversion-daemon.mail-apac.sun.com by mail-apac.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 id <0KSI00100OLPCW00@mail-apac.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Tue, 03 Nov 2009 13:02:36 +0800 (SGT)
Received: from [129.158.218.35] ([unknown] [129.158.218.35])
 by mail-apac.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 with ESMTPSA id <0KSI004CIOOAOPG0@mail-apac.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Tue, 03 Nov 2009 13:02:35 +0800 (SGT)
Date: Tue, 03 Nov 2009 13:00:01 +0800
From: Edward Shu <Edward.Shu@sun.com>
Subject: Re: "primary-card" frame buffer driver property [PSARC/2009/596
 FastTrack timeout 11/09/2009]
In-reply-to: <4AEFB1BC.20502@sun.com>
Sender: Edward.Shu@sun.com
To: John Martin <John.M.Martin@sun.com>
Cc: "Garrett D'Amore" <gdamore@sun.com>,
        Alan Coopersmith <Alan.Coopersmith@sun.com>, PSARC-ext@sun.com
Message-id: <4AEFB8D1.5080403@sun.com>
MIME-version: 1.0
Content-type: text/plain; CHARSET=US-ASCII; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200911021918.nA2JIxOE019508@sac.sfbay.sun.com>
 <4AEFA710.7070407@sun.com> <4AEFB1BC.20502@sun.com>
User-Agent: Thunderbird 2.0.0.9 (X11/20080213)
Status: RO
Content-Length: 1160

John Martin :
>>
>> How is the decision about whether a display the primary or not made?  
>> Is this user-configurable?  Does it access underlying BIOS 
>> structures?  What about in unconventional configurations, such as 
>> display mirroring or TwinView?
> This is implementation defined.  On x86, the default graphics device
> is the one for which the SBIOS has enabled I/O cycles on the entire
> devices path.  Which device is chosen is usually controlled by a
> BIOS probe option.  On SPARC, this will be the first graphics
> device in the tree which can be controlled by the probe-list words.
>
> Display mirroring or TwinView implies multiple displays
> driven of a single graphics device.  Choosing between multiple
> displays connected to a single device is not the scope of this project. 
Display mirroring and TwinView are highly device and vendor specific. 
So different vendors get different solutions.  It is out of the scope of 
this project.


-- 
Best Regards,
Ming.

------------------------------------------
-Edward Shu 				  	
-Solaris x86 Engineering, Sun Microsystems
-tele: +86-10-62673100
__________________________________________



From gdamore@sun.com Tue Nov  3 06:49:53 2009
Received: from sunmail3mpk.sfbay.sun.com (sunmail3mpk.SFBay.Sun.COM [129.146.11.52])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id nA3EnrfC022316
	for <psarc-ext@sac.sfbay.sun.com>; Tue, 3 Nov 2009 06:49:53 -0800 (PST)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail3mpk.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.4) with ESMTP id nA3Enkqc016206
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Tue, 3 Nov 2009 06:49:53 -0800 (PST)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KSJ00C1BFV3G100@brm-avmta-1.central.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Tue, 03 Nov 2009 07:49:51 -0700 (MST)
Received: from sca-es-mail-2.sun.com ([192.18.43.133])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KSJ00H76FV37JB0@brm-avmta-1.central.sun.com> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Tue,
 03 Nov 2009 07:49:51 -0700 (MST)
Received: from fe-sfbay-09.sun.com ([192.18.43.129])
	by sca-es-mail-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id nA3EnouT013241	for
 <PSARC-ext@sun.com>; Tue, 03 Nov 2009 06:49:51 -0800 (PST)
Received: from conversion-daemon.fe-sfbay-09.sun.com by fe-sfbay-09.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 id <0KSJ00300FJ1WA00@fe-sfbay-09.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Tue, 03 Nov 2009 06:49:50 -0800 (PST)
Received: from [192.168.251.11] ([unknown] [76.93.15.33])
 by fe-sfbay-09.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 with ESMTPSA id <0KSJ00BJCFV1MU60@fe-sfbay-09.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Tue, 03 Nov 2009 06:49:50 -0800 (PST)
Date: Tue, 03 Nov 2009 06:49:49 -0800
From: "Garrett D'Amore" <gdamore@sun.com>
Subject: Re: "primary-card" frame buffer driver property [PSARC/2009/596
 FastTrack timeout 11/09/2009]
In-reply-to: <4AEFB1BC.20502@sun.com>
Sender: Garrett.Damore@sun.com
To: John Martin <John.M.Martin@sun.com>
Cc: Alan Coopersmith <Alan.Coopersmith@sun.com>, PSARC-ext@sun.com,
        Edward.Shu@sun.com
Message-id: <4AF0430D.7070008@sun.com>
MIME-version: 1.0
Content-type: text/plain; CHARSET=US-ASCII; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200911021918.nA2JIxOE019508@sac.sfbay.sun.com>
 <4AEFA710.7070407@sun.com> <4AEFB1BC.20502@sun.com>
User-Agent: Thunderbird 2.0.0.22 (X11/20090909)
Status: RO
Content-Length: 1671

John Martin wrote:
> Garrett D'Amore wrote:
>>
>> "primary-card" is a terrible name -- how about "primary-display" 
>> instead?  (The primary display may be on the motherboard!)
>>
>> What is the purpose of this, is it for console support?
> No.  It determines which graphics device on the system should
> be used as the default device for X, especially in the case where
> there are multiple graphics devices (not displays connected to a
> graphics device).

I'm assuming that this is only used when no explicit configuration is 
present?

>
> It is independent of the console as the console may be a non-graphics
> device.

Okay, thanks for the clarification.  I still think "primary-card" is a 
bad name... although you might argue "primary-display" is also bad.   
How about "primary-controller" or "primary-display-controller" ?

>>
>> How is the decision about whether a display the primary or not made?  
>> Is this user-configurable?  Does it access underlying BIOS 
>> structures?  What about in unconventional configurations, such as 
>> display mirroring or TwinView?
> This is implementation defined.  On x86, the default graphics device
> is the one for which the SBIOS has enabled I/O cycles on the entire
> devices path.  Which device is chosen is usually controlled by a
> BIOS probe option.  On SPARC, this will be the first graphics
> device in the tree which can be controlled by the probe-list words.
>
> Display mirroring or TwinView implies multiple displays
> driven of a single graphics device.  Choosing between multiple
> displays connected to a single device is not the scope of this project.
>
Okay, that makes sense.  Thanks.

    - Garrett


From John.M.Martin@sun.com Tue Nov  3 08:21:36 2009
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id nA3GLaQ2024787
	for <psarc-ext@sac.sfbay.sun.com>; Tue, 3 Nov 2009 08:21:36 -0800 (PST)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id nA3GLZBa047570
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Tue, 3 Nov 2009 09:21:35 -0700 (MST)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KSJ00C09K3Z7J00@nwk-avmta-2.sfbay.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Tue, 03 Nov 2009 08:21:35 -0800 (PST)
Received: from brmea-mail-1.sun.com ([192.18.98.31])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KSJ00840K3ZEE50@nwk-avmta-2.sfbay.sun.com> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Tue,
 03 Nov 2009 08:21:35 -0800 (PST)
Received: from fe-amer-10.sun.com ([192.18.109.80])
	by brmea-mail-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id nA3GLYYZ016120	for
 <PSARC-ext@sun.com>; Tue, 03 Nov 2009 16:21:34 +0000 (GMT)
Received: from conversion-daemon.mail-amer.sun.com by mail-amer.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 id <0KSJ00M00JAMT300@mail-amer.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Tue, 03 Nov 2009 09:21:34 -0700 (MST)
Received: from [192.168.1.13] ([unknown] [76.112.232.250])
 by mail-amer.sun.com (Sun Java(tm) System Messaging Server 7u2-7.04 64bit
 (built Jul  2 2009)) with ESMTPSA id <0KSJ00DIHK3S8WG0@mail-amer.sun.com> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Tue,
 03 Nov 2009 09:21:28 -0700 (MST)
Date: Tue, 03 Nov 2009 11:21:27 -0500
From: John Martin <John.M.Martin@sun.com>
Subject: Re: "primary-card" frame buffer driver property [PSARC/2009/596
 FastTrack timeout 11/09/2009]
In-reply-to: <4AF0430D.7070008@sun.com>
Sender: John.M.Martin@sun.com
To: "Garrett D'Amore" <gdamore@sun.com>
Cc: Alan Coopersmith <Alan.Coopersmith@sun.com>, PSARC-ext@sun.com,
        Edward.Shu@sun.com
Message-id: <4AF05887.5030202@sun.com>
MIME-version: 1.0
Content-type: text/plain; CHARSET=US-ASCII; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200911021918.nA2JIxOE019508@sac.sfbay.sun.com>
 <4AEFA710.7070407@sun.com> <4AEFB1BC.20502@sun.com> <4AF0430D.7070008@sun.com>
User-Agent: Thunderbird 2.0.0.23 (X11/20090929)
Status: RO
Content-Length: 1261

Garrett D'Amore wrote:
> John Martin wrote:
>> Garrett D'Amore wrote:
>>>
>>> "primary-card" is a terrible name -- how about "primary-display" 
>>> instead?  (The primary display may be on the motherboard!)
>>>
>>> What is the purpose of this, is it for console support?
>> No.  It determines which graphics device on the system should
>> be used as the default device for X, especially in the case where
>> there are multiple graphics devices (not displays connected to a
>> graphics device).
>
> I'm assuming that this is only used when no explicit configuration is 
> present?
Correct.  It is not needed when:

1. There is a single GPU in the system.

or

2.. There are multiple GPUs,  /etc/X11/xorg.conf exists *and*
the device section for the graphics card has the BusID enumeration.

>
>>
>> It is independent of the console as the console may be a non-graphics
>> device.
>
> Okay, thanks for the clarification.  I still think "primary-card" is a 
> bad name... although you might argue "primary-display" is also bad.   
> How about "primary-controller" or "primary-display-controller" ?
I would like to avoid "display" in the name just so we don't confuse
the implementation for a display connected to a graphics card.  I'm
OK with primary-controller.


From gdamore@sun.com Tue Nov  3 08:26:54 2009
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id nA3GQrgI024968
	for <psarc-ext@sac.sfbay.sun.com>; Tue, 3 Nov 2009 08:26:54 -0800 (PST)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id nA3GQqDe024149
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Tue, 3 Nov 2009 16:26:52 GMT
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KSJ0084LKCP8700@nwk-avmta-1.sfbay.Sun.COM> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Tue, 03 Nov 2009 08:26:49 -0800 (PST)
Received: from sca-es-mail-2.sun.com ([192.18.43.133])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KSJ003ZWKCMTC40@nwk-avmta-1.sfbay.Sun.COM> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Tue,
 03 Nov 2009 08:26:47 -0800 (PST)
Received: from fe-sfbay-10.sun.com ([192.18.43.129])
	by sca-es-mail-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id nA3GQkFM021423	for
 <PSARC-ext@sun.com>; Tue, 03 Nov 2009 08:26:46 -0800 (PST)
Received: from conversion-daemon.fe-sfbay-10.sun.com by fe-sfbay-10.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 id <0KSJ00100K2BXD00@fe-sfbay-10.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Tue, 03 Nov 2009 08:26:46 -0800 (PST)
Received: from [192.168.251.11] ([unknown] [76.93.15.33])
 by fe-sfbay-10.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 with ESMTPSA id <0KSJ007EWKCAFPD0@fe-sfbay-10.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Tue, 03 Nov 2009 08:26:34 -0800 (PST)
Date: Tue, 03 Nov 2009 08:26:34 -0800
From: "Garrett D'Amore" <gdamore@sun.com>
Subject: Re: "primary-card" frame buffer driver property [PSARC/2009/596
 FastTrack timeout 11/09/2009]
In-reply-to: <4AF05887.5030202@sun.com>
Sender: Garrett.Damore@sun.com
To: John Martin <John.M.Martin@sun.com>
Cc: Alan Coopersmith <Alan.Coopersmith@sun.com>, PSARC-ext@sun.com,
        Edward.Shu@sun.com
Message-id: <4AF059BA.7010002@sun.com>
MIME-version: 1.0
Content-type: text/plain; CHARSET=US-ASCII; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200911021918.nA2JIxOE019508@sac.sfbay.sun.com>
 <4AEFA710.7070407@sun.com> <4AEFB1BC.20502@sun.com> <4AF0430D.7070008@sun.com>
 <4AF05887.5030202@sun.com>
User-Agent: Thunderbird 2.0.0.22 (X11/20090909)
Status: RO
Content-Length: 1425

John Martin wrote:
> Garrett D'Amore wrote:
>> John Martin wrote:
>>> Garrett D'Amore wrote:
>>>>
>>>> "primary-card" is a terrible name -- how about "primary-display" 
>>>> instead?  (The primary display may be on the motherboard!)
>>>>
>>>> What is the purpose of this, is it for console support?
>>> No.  It determines which graphics device on the system should
>>> be used as the default device for X, especially in the case where
>>> there are multiple graphics devices (not displays connected to a
>>> graphics device).
>>
>> I'm assuming that this is only used when no explicit configuration is 
>> present?
> Correct.  It is not needed when:
>
> 1. There is a single GPU in the system.
>
> or
>
> 2.. There are multiple GPUs,  /etc/X11/xorg.conf exists *and*
> the device section for the graphics card has the BusID enumeration.
>
>>
>>>
>>> It is independent of the console as the console may be a non-graphics
>>> device.
>>
>> Okay, thanks for the clarification.  I still think "primary-card" is 
>> a bad name... although you might argue "primary-display" is also 
>> bad.   How about "primary-controller" or "primary-display-controller" ?
> I would like to avoid "display" in the name just so we don't confuse
> the implementation for a display connected to a graphics card.  I'm
> OK with primary-controller.
>

Okay, it sounds like we have converged then.  +1 on this version of the 
proposal.

    - Garrett


From Edward.Shu@sun.com Tue Nov  3 16:56:47 2009
Received: from sunmail2sca.sfbay.sun.com (sunmail2sca.SFBay.Sun.COM [129.145.155.234])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id nA40ulOq005814
	for <psarc-ext@sac.sfbay.sun.com>; Tue, 3 Nov 2009 16:56:47 -0800 (PST)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail2sca.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.4) with ESMTP id nA40uk3h000288
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Tue, 3 Nov 2009 16:56:47 -0800 (PST)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KSK002037YMW800@nwk-avmta-1.sfbay.Sun.COM> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@Sun.COM); Tue, 03 Nov 2009 16:56:46 -0800 (PST)
Received: from sineb-mail-1.sun.com ([192.18.19.6])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KSK005Y37YKMMB0@nwk-avmta-1.sfbay.Sun.COM> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@Sun.COM); Tue,
 03 Nov 2009 16:56:45 -0800 (PST)
Received: from fe-apac-05.sun.com
 (fe-apac-05.sun.com [192.18.19.176] (may be forged))
	by sineb-mail-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id nA40ui6Q021034	for
 <PSARC-ext@Sun.COM>; Wed, 04 Nov 2009 00:56:44 +0000 (GMT)
Received: from conversion-daemon.mail-apac.sun.com by mail-apac.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 id <0KSK00A007S1ZA00@mail-apac.sun.com> for PSARC-ext@Sun.COM
 (ORCPT PSARC-ext@Sun.COM); Wed, 04 Nov 2009 08:56:44 +0800 (SGT)
Received: from [129.158.218.35] ([unknown] [129.158.218.35])
 by mail-apac.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 with ESMTPSA id <0KSK007DL7YJNSB0@mail-apac.sun.com> for PSARC-ext@Sun.COM
 (ORCPT PSARC-ext@Sun.COM); Wed, 04 Nov 2009 08:56:44 +0800 (SGT)
Date: Wed, 04 Nov 2009 08:54:07 +0800
From: Edward Shu <Edward.Shu@sun.com>
Subject: Re: "primary-controller" frame buffer driver property [PSARC/2009/596
 FastTrack timeout 11/09/2009]
In-reply-to: <200911021918.nA2JIxOE019508@sac.sfbay.sun.com>
Sender: Edward.Shu@sun.com
To: PSARC-ext@sun.com
Cc: Alan Coopersmith <Alan.Coopersmith@sun.com>
Message-id: <4AF0D0AF.2040704@sun.com>
MIME-version: 1.0
Content-type: text/plain; charset=GB2312
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200911021918.nA2JIxOE019508@sac.sfbay.sun.com>
User-Agent: Thunderbird 2.0.0.9 (X11/20080213)
Status: RO
Content-Length: 4848

I updated the name of the property based on the discussion above.
------------------------------------------------------------------
1. Introduction
    1.1. Project/Component Working Name:
	 "primary-controller" frame buffer driver property
    1.2. Name of Document Author/Supplier:
	 Author:  Edward Shu
    1.3  Date of This Document:
	02 November, 2009
4. Technical Description

 1.  Summary

   The frame buffer driver property will expose the primary
   device to Xorg server or console driver.  It is particularly
   helpful to the system with two or more graphics card attached.
   For the Xorg server, it must find the primary device to start
   at.  Also, console must start on the primary graphics device
   when it is not directed to non-graphics device.

 2. Discussion

   The frame buffer driver can also use visual ioctl to expose the
   primary graphics card information.  But there are some drawbacks
   for adding the visual ioctl to the frame buffer driver.

   1) It is difficult for the console query code to leverage the
      ioctl interface. Because the code there was bundled with
      "dev_info" pointer instead of standard driver interfaces
      like open, ioctl, etc.

   2) The user land code don't know how many frame buffer driver
      that it should query using the ioctl. It can only enumerate
      the frame buffer device links, like /dev/fb0, fb1, fb2, fb3.
      Most likely, the links will not be extended to fb4 and more.
      But it is not guaranteed.

   So a driver property is used to expose the information.

 3.  Interface table

Interface Name                  Classification          Comments
------------------------------------------------------------------
primary-controller driver property    Committed    primary graphics device

Every frame buffer driver will create a "primary-controller" for it. And
the value is a boolean value. True on the primary device and false on
the others.


Alan Coopersmith:
> I am sponsoring this case on behalf of Edward Shu of the x86 video driver
> team.  The timeout is set for next Monday, November 9.   The case requests
> a patch release binding.   While the case is defined in a platform 
> independent manner, the initial implementation will only cover x86 platforms
> as SPARC graphics drivers live in another consolidation.
>
>         -Alan Coopersmith-           alan.coopersmith@sun.com
>          Sun Microsystems, Inc. - X Window System Engineering
>
> Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI
> This information is Copyright 2009 Sun Microsystems
> 1. Introduction
>     1.1. Project/Component Working Name:
> 	 "primary-card" frame buffer driver property
>     1.2. Name of Document Author/Supplier:
> 	 Author:  Edward Shu
>     1.3  Date of This Document:
> 	02 November, 2009
> 4. Technical Description
>
>  1.  Summary
>
>    The frame buffer driver property will expose the primary
>    device to Xorg server or console driver.  It is particularly
>    helpful to the system with two or more graphics card attached.
>    For the Xorg server, it must find the primary device to start
>    at.  Also, console must start on the primary graphics device
>    when it is not directed to non-graphics device.
>
>  2. Discussion
>
>    The frame buffer driver can also use visual ioctl to expose the
>    primary graphics card information.  But there are some drawbacks
>    for adding the visual ioctl to the frame buffer driver.
>
>    1) It is difficult for the console query code to leverage the
>       ioctl interface. Because the code there was bundled with
>       "dev_info" pointer instead of standard driver interfaces
>       like open, ioctl, etc.
>
>    2) The user land code don't know how many frame buffer driver
>       that it should query using the ioctl. It can only enumerate
>       the frame buffer device links, like /dev/fb0, fb1, fb2, fb3.
>       Most likely, the links will not be extended to fb4 and more.
>       But it is not guaranteed.
>
>    So a driver property is used to expose the information.
>
>  3.  Interface table
>
> Interface Name                  Classification          Comments
> ------------------------------------------------------------------
> primary-card driver property    Committed    primary graphics device
>
> Every frame buffer driver will create a "primary-card" for it. And
> the value is a boolean value. True on the primary device and false on
> the others.
>
>
> 6. Resources and Schedule
>     6.4. Steering Committee requested information
>    	6.4.1. Consolidation C-team Name:
> 		ON
>     6.5. ARC review type: FastTrack
>     6.6. ARC Exposure: open
>
>   


-- 
Best Regards,
Ming.

------------------------------------------
-Edward Shu 				  	
-Solaris x86 Engineering, Sun Microsystems
-tele: +86-10-62673100
__________________________________________



From Eric.Sultan@sun.com Wed Nov  4 14:40:53 2009
Received: from sunmail4.singapore.sun.com (sunmail4.Singapore.Sun.COM [129.158.71.19])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id nA4Meqa1015290
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 4 Nov 2009 14:40:53 -0800 (PST)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail4.singapore.sun.com (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id nA4Mekqn001353
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Thu, 5 Nov 2009 06:40:51 +0800 (SGT)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KSL00A09WC0VL00@nwk-avmta-1.sfbay.Sun.COM> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Wed, 04 Nov 2009 14:40:48 -0800 (PST)
Received: from brmea-mail-2.sun.com ([192.18.98.43])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KSL00K3WWC0V580@nwk-avmta-1.sfbay.Sun.COM> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Wed,
 04 Nov 2009 14:40:48 -0800 (PST)
Received: from fe-amer-09.sun.com ([192.18.109.79])
	by brmea-mail-2.sun.com (8.13.6+Sun/8.12.9) with ESMTP id nA4MemBx007447	for
 <PSARC-ext@sun.com>; Wed, 04 Nov 2009 22:40:48 +0000 (GMT)
Received: from conversion-daemon.mail-amer.sun.com by mail-amer.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 id <0KSL00B00TMMBQ00@mail-amer.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Wed, 04 Nov 2009 15:40:48 -0700 (MST)
Received: from sunray4.SFBay.Sun.COM ([unknown] [10.6.102.104])
 by mail-amer.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 with ESMTPSA id <0KSL00D4AWBHH6A0@mail-amer.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Wed, 04 Nov 2009 15:40:31 -0700 (MST)
Date: Wed, 04 Nov 2009 14:40:29 -0800
From: Eric Sultan <Eric.Sultan@sun.com>
Subject: Re: "primary-card" frame buffer driver property [PSARC/2009/596
 FastTrack timeout 11/09/2009]
In-reply-to: <200911021918.nA2JIxOE019508@sac.sfbay.sun.com>
Sender: Eric.Sultan@sun.com
To: Alan Coopersmith <Alan.Coopersmith@sun.com>
Cc: PSARC-ext@sun.com, Edward.Shu@sun.com
Reply-to: Eric.Sultan@sun.com
Message-id: <4AF202DD.8040609@Sun.COM>
MIME-version: 1.0
Content-type: text/plain; CHARSET=US-ASCII; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200911021918.nA2JIxOE019508@sac.sfbay.sun.com>
User-Agent: Thunderbird 2.0.0.9 (X11/20080119)
Status: RO
Content-Length: 861


How does a device driver know that it's a primary device? 

There's no harm, is there, if a driver fails to publish this property?

One of the emails said that on SPARC the default graphics device is the 
first graphics device found that can be controlled by the probe-list 
words.  Do I assume correctly that this isn't necessarily so, for 
example when the console device is a graphics device specified by the 
OpenBoot NVRAM parameter output-device?


>  3.  Interface table
>
> Interface Name                  Classification          Comments
> ------------------------------------------------------------------
> primary-card driver property    Committed    primary graphics device
>
> Every frame buffer driver will create a "primary-card" for it. And
> the value is a boolean value. True on the primary device and false on
> the others.
>   

  -- Eric

From John.M.Martin@Sun.COM Wed Nov  4 15:43:29 2009
Received: from sunmail4.singapore.sun.com (sunmail4.Singapore.Sun.COM [129.158.71.19])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id nA4NhRNG016948
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 4 Nov 2009 15:43:27 -0800 (PST)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail4.singapore.sun.com (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id nA4NhQPB001850
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Thu, 5 Nov 2009 07:43:26 +0800 (SGT)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KSL00H01Z8DIK00@nwk-avmta-2.sfbay.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@Sun.COM); Wed, 04 Nov 2009 15:43:25 -0800 (PST)
Received: from brmea-mail-2.sun.com ([192.18.98.43])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KSL00AMZZ8CP550@nwk-avmta-2.sfbay.sun.com> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@Sun.COM); Wed,
 04 Nov 2009 15:43:25 -0800 (PST)
Received: from fe-amer-10.sun.com ([192.18.109.80])
	by brmea-mail-2.sun.com (8.13.6+Sun/8.12.9) with ESMTP id nA4NhOKY000775	for
 <PSARC-ext@Sun.COM>; Wed, 04 Nov 2009 23:43:24 +0000 (GMT)
Received: from conversion-daemon.mail-amer.sun.com by mail-amer.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 id <0KSL00E00Z3G8E00@mail-amer.sun.com> for PSARC-ext@Sun.COM
 (ORCPT PSARC-ext@Sun.COM); Wed, 04 Nov 2009 16:43:24 -0700 (MST)
Received: from [192.168.1.13] ([unknown] [76.112.232.250])
 by mail-amer.sun.com (Sun Java(tm) System Messaging Server 7u2-7.04 64bit
 (built Jul  2 2009)) with ESMTPSA id <0KSL00EOPZ8CZNF0@mail-amer.sun.com> for
 PSARC-ext@Sun.COM (ORCPT PSARC-ext@Sun.COM); Wed,
 04 Nov 2009 16:43:24 -0700 (MST)
Date: Wed, 04 Nov 2009 18:43:24 -0500
From: John Martin <John.M.Martin@Sun.COM>
Subject: Re: "primary-card" frame buffer driver property [PSARC/2009/596
 FastTrack timeout 11/09/2009]
In-reply-to: <4AF202DD.8040609@Sun.COM>
Sender: John.M.Martin@Sun.COM
To: Eric.Sultan@Sun.COM
Cc: PSARC-ext@Sun.COM
Message-id: <4AF2119C.60703@sun.com>
MIME-version: 1.0
Content-type: text/plain; CHARSET=US-ASCII; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200911021918.nA2JIxOE019508@sac.sfbay.sun.com>
 <4AF202DD.8040609@Sun.COM>
User-Agent: Thunderbird 2.0.0.23 (X11/20090929)
Status: RO
Content-Length: 1266

Eric Sultan wrote:
>
> How does a device driver know that it's a primary device?
It doesn't, really, nor is it required for this project.  This project
only provides identification of the primary graphics controller to
user space.  We didn't make it an implementation requirement this
property existed prior to the first attach so that the driver could
query.

There are tricks on both the SPARC and x86 platforms for the
character driver to figure this out.
> There's no harm, is there, if a driver fails to publish this property?
Correct, nor is the character driver bound to the graphics controller
responsible for publishing this property.
>
> One of the emails said that on SPARC the default graphics device is 
> the first graphics device found that can be controlled by the 
> probe-list words.  Do I assume correctly that this isn't necessarily 
> so, for example when the console device is a graphics device specified 
> by the OpenBoot NVRAM parameter output-device?
>
I thought I wrote that in the context of the console output device
being something other than one of the graphics controllers but now
that I've reread it, I didn't make that clear.  In the case where the 
graphics
controller is the console output device, it is also the primary device.


From Edward.Shu@sun.com Wed Nov  4 16:56:21 2009
Received: from sunmail4.singapore.sun.com (sunmail4.Singapore.Sun.COM [129.158.71.19])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id nA50uKWt019035
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 4 Nov 2009 16:56:21 -0800 (PST)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail4.singapore.sun.com (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id nA50uI7b009766
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Thu, 5 Nov 2009 08:56:19 +0800 (SGT)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KSM00E032LTWL00@brm-avmta-1.central.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Wed, 04 Nov 2009 17:56:17 -0700 (MST)
Received: from sineb-mail-1.sun.com ([192.18.19.6])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KSM00LBP2LS7OA0@brm-avmta-1.central.sun.com> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Wed,
 04 Nov 2009 17:56:17 -0700 (MST)
Received: from fe-apac-05.sun.com
 (fe-apac-05.sun.com [192.18.19.176] (may be forged))
	by sineb-mail-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id nA50uG6J014572	for
 <PSARC-ext@sun.com>; Thu, 05 Nov 2009 00:56:16 +0000 (GMT)
Received: from conversion-daemon.mail-apac.sun.com by mail-apac.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 id <0KSM00L002F3SP00@mail-apac.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Thu, 05 Nov 2009 08:56:16 +0800 (SGT)
Received: from [129.158.218.35] ([unknown] [129.158.218.35])
 by mail-apac.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 with ESMTPSA id <0KSM008IR2LQMDE0@mail-apac.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Thu, 05 Nov 2009 08:56:16 +0800 (SGT)
Date: Thu, 05 Nov 2009 08:53:40 +0800
From: Edward Shu <Edward.Shu@sun.com>
Subject: Re: "primary-card" frame buffer driver property [PSARC/2009/596
 FastTrack timeout 11/09/2009]
In-reply-to: <4AF202DD.8040609@Sun.COM>
Sender: Edward.Shu@sun.com
To: Eric.Sultan@sun.com
Cc: Alan Coopersmith <Alan.Coopersmith@sun.com>, PSARC-ext@sun.com
Message-id: <4AF22214.3000500@sun.com>
MIME-version: 1.0
Content-type: text/plain; CHARSET=US-ASCII; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200911021918.nA2JIxOE019508@sac.sfbay.sun.com>
 <4AF202DD.8040609@Sun.COM>
User-Agent: Thunderbird 2.0.0.9 (X11/20080213)
Status: RO
Content-Length: 1765

Eric Sultan:
>
> How does a device driver know that it's a primary device?
> There's no harm, is there, if a driver fails to publish this property?
On x86, the default graphics device is the one for which the SBIOS
has enabled I/O cycles on the entire devices path.   Only Xorg(libpciaccess)
on X86 requires this property now.   And this case make this property name
a generic one for the future  work  on SPARC.
  If the driver fails to publish this property,  the will lead to Xorg 
can not
start on the system with two and more graphics controller attached.

>
> One of the emails said that on SPARC the default graphics device is 
> the first graphics device found that can be controlled by the 
> probe-list words.  Do I assume correctly that this isn't necessarily 
> so, for example when the console device is a graphics device specified 
> by the OpenBoot NVRAM parameter output-device?
Console device and the primary controller is not necessary the same,  
though in most case they are the same.   As we discussed above,  
Xorg(libpciaccess)
is not fully ready yet and the implementation of this property will be 
in the future work.
>
>
>>  3.  Interface table
>>
>> Interface Name                  Classification          Comments
>> ------------------------------------------------------------------
>> primary-card driver property    Committed    primary graphics device
>>
>> Every frame buffer driver will create a "primary-card" for it. And
>> the value is a boolean value. True on the primary device and false on
>> the others.
>>   
>
>  -- Eric


-- 
Best Regards,
Ming.

------------------------------------------
-Edward Shu 				  	
-Solaris x86 Engineering, Sun Microsystems
-tele: +86-10-62673100
__________________________________________



From Edward.Shu@sun.com Wed Nov  4 21:46:07 2009
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id nA55k6OJ023659
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 4 Nov 2009 21:46:06 -0800 (PST)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id nA55k18N002643
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Thu, 5 Nov 2009 05:46:05 GMT
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KSM00009G0TN900@brm-avmta-1.central.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@Sun.COM); Wed, 04 Nov 2009 22:46:05 -0700 (MST)
Received: from sineb-mail-2.sun.com ([192.18.19.7])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KSM00JPVG0RP210@brm-avmta-1.central.sun.com> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@Sun.COM); Wed,
 04 Nov 2009 22:46:04 -0700 (MST)
Received: from fe-apac-06.sun.com
 (fe-apac-06.sun.com [192.18.19.177] (may be forged))
	by sineb-mail-2.sun.com (8.13.6+Sun/8.12.9) with ESMTP id nA55k3xr015964	for
 <PSARC-ext@Sun.COM>; Thu, 05 Nov 2009 05:46:03 +0000 (GMT)
Received: from conversion-daemon.mail-apac.sun.com by mail-apac.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 id <0KSM00800FX0CX00@mail-apac.sun.com> for PSARC-ext@Sun.COM
 (ORCPT PSARC-ext@Sun.COM); Thu, 05 Nov 2009 13:46:03 +0800 (SGT)
Received: from [129.158.218.35] ([unknown] [129.158.218.35])
 by mail-apac.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 with ESMTPSA id <0KSM00KL3G0PRY10@mail-apac.sun.com> for PSARC-ext@Sun.COM
 (ORCPT PSARC-ext@Sun.COM); Thu, 05 Nov 2009 13:46:02 +0800 (SGT)
Date: Thu, 05 Nov 2009 13:43:26 +0800
From: Edward Shu <Edward.Shu@sun.com>
Subject: Re: "primary-card" frame buffer driver property [PSARC/2009/596
 FastTrack timeout 11/09/2009](resent it per Alan's request)
In-reply-to: <200911021918.nA2JIxOE019508@sac.sfbay.sun.com>
Sender: Edward.Shu@sun.com
To: Alan Coopersmith <Alan.Coopersmith@sun.com>
Cc: PSARC-ext@sun.com
Message-id: <4AF265FE.70305@sun.com>
MIME-version: 1.0
Content-type: text/plain; charset=GB2312
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200911021918.nA2JIxOE019508@sac.sfbay.sun.com>
User-Agent: Thunderbird 2.0.0.9 (X11/20080213)
Status: RO
Content-Length: 4850

I updated the name of the property based on the discussion above.
------------------------------------------------------------------
1. Introduction
    1.1. Project/Component Working Name:
	 "primary-controller" frame buffer driver property
    1.2. Name of Document Author/Supplier:
	 Author:  Edward Shu
    1.3  Date of This Document:
	02 November, 2009
4. Technical Description

 1.  Summary

   The frame buffer driver property will expose the primary
   device to Xorg server or console driver.  It is particularly
   helpful to the system with two or more graphics card attached.
   For the Xorg server, it must find the primary device to start
   at.  Also, console must start on the primary graphics device
   when it is not directed to non-graphics device.

 2. Discussion

   The frame buffer driver can also use visual ioctl to expose the
   primary graphics card information.  But there are some drawbacks
   for adding the visual ioctl to the frame buffer driver.

   1) It is difficult for the console query code to leverage the
      ioctl interface. Because the code there was bundled with
      "dev_info" pointer instead of standard driver interfaces
      like open, ioctl, etc.

   2) The user land code don't know how many frame buffer driver
      that it should query using the ioctl. It can only enumerate
      the frame buffer device links, like /dev/fb0, fb1, fb2, fb3.
      Most likely, the links will not be extended to fb4 and more.
      But it is not guaranteed.

   So a driver property is used to expose the information.

 3.  Interface table

Interface Name                  Classification          Comments
------------------------------------------------------------------
primary-controller driver property    Committed    primary graphics device

Every frame buffer driver will create a "primary-controller" for it. And
the value is a boolean value. True on the primary device and false on
the others.




Alan Coopersmith:
> I am sponsoring this case on behalf of Edward Shu of the x86 video driver
> team.  The timeout is set for next Monday, November 9.   The case requests
> a patch release binding.   While the case is defined in a platform 
> independent manner, the initial implementation will only cover x86 platforms
> as SPARC graphics drivers live in another consolidation.
>
>         -Alan Coopersmith-           alan.coopersmith@sun.com
>          Sun Microsystems, Inc. - X Window System Engineering
>
> Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI
> This information is Copyright 2009 Sun Microsystems
> 1. Introduction
>     1.1. Project/Component Working Name:
> 	 "primary-card" frame buffer driver property
>     1.2. Name of Document Author/Supplier:
> 	 Author:  Edward Shu
>     1.3  Date of This Document:
> 	02 November, 2009
> 4. Technical Description
>
>  1.  Summary
>
>    The frame buffer driver property will expose the primary
>    device to Xorg server or console driver.  It is particularly
>    helpful to the system with two or more graphics card attached.
>    For the Xorg server, it must find the primary device to start
>    at.  Also, console must start on the primary graphics device
>    when it is not directed to non-graphics device.
>
>  2. Discussion
>
>    The frame buffer driver can also use visual ioctl to expose the
>    primary graphics card information.  But there are some drawbacks
>    for adding the visual ioctl to the frame buffer driver.
>
>    1) It is difficult for the console query code to leverage the
>       ioctl interface. Because the code there was bundled with
>       "dev_info" pointer instead of standard driver interfaces
>       like open, ioctl, etc.
>
>    2) The user land code don't know how many frame buffer driver
>       that it should query using the ioctl. It can only enumerate
>       the frame buffer device links, like /dev/fb0, fb1, fb2, fb3.
>       Most likely, the links will not be extended to fb4 and more.
>       But it is not guaranteed.
>
>    So a driver property is used to expose the information.
>
>  3.  Interface table
>
> Interface Name                  Classification          Comments
> ------------------------------------------------------------------
> primary-card driver property    Committed    primary graphics device
>
> Every frame buffer driver will create a "primary-card" for it. And
> the value is a boolean value. True on the primary device and false on
> the others.
>
>
> 6. Resources and Schedule
>     6.4. Steering Committee requested information
>    	6.4.1. Consolidation C-team Name:
> 		ON
>     6.5. ARC review type: FastTrack
>     6.6. ARC Exposure: open
>
>   


-- 
Best Regards,
Ming.

------------------------------------------
-Edward Shu 				  	
-Solaris x86 Engineering, Sun Microsystems
-tele: +86-10-62673100
__________________________________________



From Alan.Coopersmith@sun.com Mon Nov  9 18:46:15 2009
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id nAA2kEb9020852
	for <psarc-ext@sac.sfbay.sun.com>; Mon, 9 Nov 2009 18:46:14 -0800 (PST)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id nAA2k2Ye001858
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Tue, 10 Nov 2009 02:46:13 GMT
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KSV0030JH0YAD00@brm-avmta-1.central.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@Sun.COM); Mon, 09 Nov 2009 19:46:10 -0700 (MST)
Received: from sca-es-mail-1.sun.com ([192.18.43.132])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KSV00JATH0XN7C0@brm-avmta-1.central.sun.com> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@Sun.COM); Mon,
 09 Nov 2009 19:46:09 -0700 (MST)
Received: from fe-sfbay-09.sun.com ([192.18.43.129])
	by sca-es-mail-1.sun.com (8.13.7+Sun/8.12.9) with ESMTP id nAA2k8qJ022435	for
 <PSARC-ext@Sun.COM>; Mon, 09 Nov 2009 18:46:08 -0800 (PST)
Received: from conversion-daemon.fe-sfbay-09.sun.com by fe-sfbay-09.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 id <0KSV00800GQSR300@fe-sfbay-09.sun.com> for PSARC-ext@Sun.COM
 (ORCPT PSARC-ext@Sun.COM); Mon, 09 Nov 2009 18:46:08 -0800 (PST)
Received: from [129.145.155.53] ([unknown] [129.145.155.53])
 by fe-sfbay-09.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 with ESMTPSA id <0KSV006N8H0WY0C0@fe-sfbay-09.sun.com> for PSARC-ext@Sun.COM
 (ORCPT PSARC-ext@Sun.COM); Mon, 09 Nov 2009 18:46:08 -0800 (PST)
Date: Mon, 09 Nov 2009 18:46:08 -0800
From: Alan Coopersmith <Alan.Coopersmith@sun.com>
Subject: Re: "primary-controller" frame buffer driver property [PSARC/2009/596
 FastTrack timeout 11/09/2009]
In-reply-to: <200911021918.nA2JIxOE019508@sac.sfbay.sun.com>
Sender: Alan.Coopersmith@sun.com
To: PSARC-ext@sun.com
Cc: Edward.Shu@sun.com
Message-id: <4AF8D3F0.8000002@sun.com>
MIME-version: 1.0
Content-type: text/plain; CHARSET=US-ASCII
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
X-Enigmail-Version: 0.95.1
References: <200911021918.nA2JIxOE019508@sac.sfbay.sun.com>
User-Agent: Thunderbird 2.0.0.22 (X11/20090720)
Status: RO
Content-Length: 388

Alan Coopersmith wrote:
> I am sponsoring this case on behalf of Edward Shu of the x86 video driver
> team.  The timeout is set for next Monday, November 9. 

Since this case has converged, and gotten it's +1, and there are no remaining
issues, it is now closed approved.

-- 
	-Alan Coopersmith-           alan.coopersmith@sun.com
	 Sun Microsystems, Inc. - X Window System Engineering


