From sacadmin Thu Mar 18 08:26:45 2010
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 o2IFQjZ2021525;
	Thu, 18 Mar 2010 08:26:45 -0700 (PDT)
Received: (from gd78059@localhost)
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8/Submit) id o2IFQjYt021521;
	Thu, 18 Mar 2010 08:26:45 -0700 (PDT)
Date: Thu, 18 Mar 2010 08:26:45 -0700 (PDT)
From: "Garrett  D'Amore - sun microsystems" <gd78059@sac.sfbay.sun.com>
Message-Id: <201003181526.o2IFQjYt021521@sac.sfbay.sun.com>
To: PSARC-record@sac.sfbay.sun.com
Cc: opensound-discuss@opensolaris.org
Subject: Public Audio DDI [PSARC/2010/096 FastTrack timeout 03/25/2010]
Status: RO
Content-Length: 601

Technical details forthcoming soon, stay tuned.

Template Version: @(#)sac_nextcase 1.69 02/15/10 SMI
This information is Copyright 2010 Sun Microsystems
1. Introduction
    1.1. Project/Component Working Name:
	 Public Audio DDI
    1.2. Name of Document Author/Supplier:
	 Author:  Garrett D'Amore
    1.3  Date of This Document:
	18 March, 2010
4. Technical Description
    See the case directory for more detail

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 Thu Mar 18 08:32:05 2010
Received: from sunmail6brm.central.sun.com (sunmail6brm.Central.Sun.COM [129.147.4.169])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id o2IFW5oo021634
	for <psarc-ext@sac.sfbay.sun.com>; Thu, 18 Mar 2010 08:32:05 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail6brm.central.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.4) with ESMTP id o2IFPP91012329
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Thu, 18 Mar 2010 10:32:00 -0500 (CDT)
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 <0KZH00405HT3SM00@brm-avmta-1.central.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Thu, 18 Mar 2010 09:31:51 -0600 (MDT)
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 <0KZH00G31HT3YJF0@brm-avmta-1.central.sun.com> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Thu,
 18 Mar 2010 09:31:51 -0600 (MDT)
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 o2IFVp6m017117	for
 <PSARC-ext@sun.com>; Thu, 18 Mar 2010 08:31:51 -0700 (PDT)
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 <0KZH00200HM4M800@fe-sfbay-10.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Thu, 18 Mar 2010 08:31:50 -0700 (PDT)
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 <0KZH00BBMHT2GQA0@fe-sfbay-10.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Thu, 18 Mar 2010 08:31:50 -0700 (PDT)
Date: Thu, 18 Mar 2010 08:31:50 -0700
From: "Garrett D'Amore" <gdamore@sun.com>
Subject: PSARC 2010/096 Public Audio DDI
Sender: Garrett.Damore@sun.com
To: PSARC-ext <PSARC-ext@sun.com>
Message-id: <4BA24766.4000308@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
User-Agent: Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.9.1.7) Gecko/20100131
 Lightning/1.0b1 Thunderbird/3.0.1
Status: RO
Content-Length: 9884

Here is my actual proposal.  Note that draft manual pages have been 
placed in the case directory.


Public Audio DDI
----------------

Problem:

Solaris currently has no public DDI for audio drivers.  This makes it
impossible for third parties such as 4Front to provide unbundled audio
drivers.  It also creates a requirement for cross-consolidation contracts
to be used when one consolidation provides a driver.


Solution:

We believe that we have enough experience with the Boomer (PSARC 2008/318)
Audio DDI to raise the commitment level for device drivers; particularly
after the integration of the simplifications that were part of PSARC 
2009/639,
PSARC 2009/689 and PSARC 2009/674.

Note that these interfaces are intended for Solaris Next (Minor binding)
only.  We are not at this time proposing to change or backport the Boomer
implementation to any release of Solaris 10 or earlier.


Details:

In the case materials directory are man pages for the interfaces
that we want to raise to Committed level.  Any interface not covered
by those manual pages will remain Consolidation Private.  (See the
interface table below.)

Note that the AC'97 framework and its interfaces remain at Consolidation
Private for now.  We intend to raise the commitment level of those
as part of a future case.

The original Boomer case supplied manual pages for a number of functions
and entry points.  The manual pages in the materials directory have had
some improvements and clarifications added, but there have also been
some changes to the semantics.  With one minor exception, these changes
reflect the current state of ON as of March 17, 2010.

* audio_dev_suspend.9f          -- New man page  (see PSARC 2009/689)
* audio_engine_playahead.9e     -- New man page (see PSARC 2009/639)
* audio_engine_qlen.9e          -- New man page (see PSARC 2009/639)
* audio_engine_ops.9s           -- added members (see PSARC 2009/639)
* audio_engine_produce.9f       -- Removed (see PSARC 2009/674)
* audio_engine_open.9e          -- Simplified arg list (see PSARC 2009/674)
* audio_engine_set_private.9f   -- New man page (was 
audio_dev_set_private.9f)
* audio_dev_add_control.9f      -- Added audio_dev_add_soft_volume, returns
                                    void. (In ON returns useless int.)

Please pay special attention to audio_dev_add_soft_volume() (in the
audio_dev_add_control.9f manual page) -- it represents a new interface
that has not been reviewed before.  In the current tree it is present
and returns an int; we are proposing to change the return type to void.
(That is the only change to the actual code that this case proposes.)

Also note that not all possible values of control names or flags are
documented.  The specific list of supported audio controls is provided
in audio_dev_add_control.9f.  See also the interface table below.


Interface Table

Exported Interfaces

Name                            Commitment      Comments
---------------------------------------------------------------------------
<sys/audio/audio_driver.h>      Committed       Header file for audio 
drivers
drv/audio                       Committed       Link dependency for drivers
ENGINE_OUTPUT_CAP               Committed       See audio_engine_alloc(9F)
ENGINE_INPUT_CAP                Committed       See audio_engine_alloc(9F)
ENGINE_INPUT                    Committed       See audio_engine_open(9E)
ENGINE_OUTPUT                   Committed       See audio_engine_open(9E)
audio_init_ops()                Committed       Functions for drivers to 
call
audio_fini_ops()                Committed               "       "
audio_dev_alloc()               Committed               "       "
audio_dev_set_description()     Committed               "       "
audio_dev_set_version()         Committed               "       "
audio_dev_add_info()            Committed               "       "
audio_engine_alloc()            Committed               "       "
audio_engine_free()             Committed               "       "
audio_engine_get_private()      Committed               "       "
audio_engine_set_private()      Committed               "       "
audio_dev_add_engine()          Committed               "       "
audio_dev_remove_engine()       Committed               "       "
audio_dev_register()            Committed               "       "
audio_dev_unregister()          Committed               "       "
audio_dev_suspend()             Committed               "       "
audio_dev_resume()              Committed               "       "
audio_dev_warn()                Committed               "       "
audio_dev_add_control()         Committed               "       "
audio_dev_del_control()         Committed               "       "
audio_dev_update_controls()     Committed               "       "
audio_dev_add_soft_volume()     Committed               "       "
audio_control_read()            Committed               "       "
audio_control_write()           Committed               "       "
struct audio_engine_ops         Committed       Driver supplied engine info
AUDIO_ENGINE_VERSION            Committed       See audio_engine_ops(9S)
audio_engine_open()             Committed       Driver supplied entry point
audio_engine_close()            Committed               "       "
audio_engine_start()            Committed               "       "
audio_engine_stop()             Committed               "       "
audio_engine_count()            Committed               "       "
audio_engine_format()           Committed               "       "
audio_engine_channels()         Committed               "       "
audio_engine_rate()             Committed               "       "
audio_engine_sync()             Committed               "       "
audio_engine_qlen()             Committed               "       "
audio_engine_chinfo()           Committed               "       "
audio_engine_playahead()        Committed               "       "
struct audio_ctrl_desc          Committed       Driver supplied control info
AUDIO_CTRL_ID_VOLUME            Committed       Audio control name
AUDIO_CTRL_ID_LINEOUT           Committed               "       "
AUDIO_CTRL_ID_FRONT             Committed               "       "
AUDIO_CTRL_ID_REAR              Committed               "       "
AUDIO_CTRL_ID_HEADPHONE         Committed               "       "
AUDIO_CTRL_ID_CENTER            Committed               "       "
AUDIO_CTRL_ID_LFE               Committed               "       "
AUDIO_CTRL_ID_SPEAKER           Committed               "       "
AUDIO_CTRL_ID_MIC               Committed               "       "
AUDIO_CTRL_ID_CD                Committed               "       "
AUDIO_CTRL_ID_LINEIN            Committed               "       "
AUDIO_CTRL_ID_RECGAIN           Committed               "       "
AUDIO_CTRL_ID_MONGAIN           Committed               "       "
AUDIO_CTRL_ID_RECSRC            Committed               "       "
AUDIO_CTRL_TYPE_BOOLEAN         Committed       Audio control type
AUDIO_CTRL_TYPE_STEREO          Committed               "       "
AUDIO_CTRL_TYPE_MONO            Committed               "       "
AUDIO_CTRL_TYPE_ENUM            Committed               "       "
AUDIO_CTRL_FLAG_READABLE        Committed       Audio control flag
AUDIO_CTRL_FLAG_WRITEABLE       Committed               "       "
AUDIO_CTRL_FLAG_RW              Committed               "       "
AUDIO_CTRL_FLAG_MAINVOL         Committed               "       "
AUDIO_CTRL_FLAG_PCMVOL          Committed               "       "
AUDIO_CTRL_FLAG_RECVOL          Committed               "       "
AUDIO_CTRL_FLAG_MONVOL          Committed               "       "
AUDIO_CTRL_FLAG_PLAY            Committed               "       "
AUDIO_CTRL_FLAG_REC             Committed               "       "
AUDIO_CTRL_FLAG_MONITOR         Committed               "       "
AUDIO_CTRL_FLAG_MULTI           Committed               "       "
AUDIO_PORT_MIC                  Committed       Audio port name
AUDIO_PORT_CD                   Committed               "       "
AUDIO_PORT_VIDEO                Committed               "       "
AUDIO_PORT_AUX1OUT              Committed               "       "
AUDIO_PORT_AUX2OUT              Committed               "       "
AUDIO_PORT_LINEOUT              Committed               "       "
AUDIO_PORT_LINEIN               Committed               "       "
AUDIO_PORT_AUX1IN               Committed               "       "
AUDIO_PORT_AUX2IN               Committed               "       "
AUDIO_PORT_HEADPHONES           Committed               "       "
AUDIO_PORT_SPDIFIN              Committed               "       "
AUDIO_PORT_SPDIFOUT             Committed               "       "
AUDIO_PORT_DIGOUT               Committed               "       "
AUDIO_PORT_DIGIN                Committed               "       "
AUDIO_PORT_HDMI                 Committed               "       "
AUDIO_VALUE_ON                  Committed       Audio enumeration value
AUDIO_VALUE_OFF                 Committed               "       "
AUDIO_VALUE_VERYLOW             Committed               "       "
AUDIO_VALUE_LOW                 Committed               "       "
AUDIO_VALUE_MEDIUM              Committed               "       "
AUDIO_VALUE_HIGH                Committed               "       "
AUDIO_VALUE_VERYHIGH            Committed               "       "
audio_ctrl_desc_t               Committed       Convenience typedef
audio_engine_ops_t              Committed       Convenience typedef
audio_ctrl_wr_t                 Committed       Control accessor typedef
audio_ctrl_rd_t                 Committed       Control accessor typedef
audio_ctrl_t                    Committed       Opaque type handle
audio_dev_t                     Committed               "       "
audio_engine_t                  Committed               "       "


From sebastien.roy@oracle.com Wed Mar 24 07:04:38 2010
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 o2OE4cxq024912
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 24 Mar 2010 07:04:38 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.4) with ESMTP id o2OE4bL7010596;
	Wed, 24 Mar 2010 08:04:37 -0600 (MDT)
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 <0KZS0070PHRPOA00@brm-avmta-1.central.sun.com>; Wed,
 24 Mar 2010 08:04:37 -0600 (MDT)
Received: from sca-ea-mail-2.sun.com ([192.18.43.25])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KZS007F6HRN0WD0@brm-avmta-1.central.sun.com>; Wed,
 24 Mar 2010 08:04:36 -0600 (MDT)
Received: from acsinet15.oracle.com (acsinet15.oracle.com [141.146.126.227])
	by sca-ea-mail-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id o2OE4ZWa001853;
 Wed, 24 Mar 2010 14:04:35 +0000 (GMT)
Received: from acsmt353.oracle.com (acsmt353.oracle.com [141.146.40.153])
	by acsinet15.oracle.com (Switch-3.4.2/Switch-3.4.1)
 with ESMTP id o2O5BoGZ028206; Wed, 24 Mar 2010 14:04:30 +0000 (GMT)
Received: from abhmt007.oracle.com by acsmt354.oracle.com	with ESMTP id
 106961121269439469; Wed, 24 Mar 2010 07:04:29 -0700
Received: from [129.148.174.103] (/129.148.174.103)
	by default (Oracle Beehive Gateway v4.0)	with ESMTP ; Wed,
 24 Mar 2010 07:04:29 -0700
Date: Wed, 24 Mar 2010 10:01:37 -0400
From: Sebastien Roy <sebastien.roy@oracle.com>
Subject: Re: PSARC 2010/096 Public Audio DDI
In-reply-to: <4BA24766.4000308@sun.com>
To: "Garrett D'Amore" <gdamore@sun.com>
Cc: PSARC-ext <PSARC-ext@sun.com>
Message-id: <4BAA1B41.90708@oracle.com>
MIME-version: 1.0
Content-type: text/plain; charset=ISO-8859-1; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
X-Source-IP: acsmt353.oracle.com [141.146.40.153]
X-Auth-Type: Internal IP
X-CT-RefId: str=0001.0A0B0209.4BAA1BF3.0070:SCFMA4539814,ss=1,fgs=0
References: <4BA24766.4000308@sun.com>
User-Agent: Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.9.1.8) Gecko/20100302
 Lightning/1.0b1 Thunderbird/3.0.2
Status: RO
Content-Length: 449

Garrett,

The only question I have on this case is how versioning works.  Are 
there provisions in the API to handle drivers compiled on an older 
version by either failing gracefully or by transparently handling 
multiple versions?  I can't tell from the materials if the 
audio_dev_set_version() function is meant to be relevant to this 
question as I didn't find the documentation for that function in this 
case nor in prior Boomer cases.

-Seb

From gdamore@sun.com Wed Mar 24 08:02:21 2010
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 o2OF2KSl025793
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 24 Mar 2010 08:02:21 -0700 (PDT)
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.4) with ESMTP id o2OF2Icf060030
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Wed, 24 Mar 2010 09:02:20 -0600 (MDT)
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 <0KZS0001JKFV4X00@nwk-avmta-2.sfbay.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Wed, 24 Mar 2010 08:02:19 -0700 (PDT)
Received: from sca-es-mail-2.sun.com ([192.18.43.133])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KZS00COSKFVGME0@nwk-avmta-2.sfbay.sun.com> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Wed,
 24 Mar 2010 08:02:19 -0700 (PDT)
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 o2OF2Jsq004397	for
 <PSARC-ext@sun.com>; Wed, 24 Mar 2010 08:02:19 -0700 (PDT)
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 <0KZS00800K99VI00@fe-sfbay-10.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Wed, 24 Mar 2010 08:02:19 -0700 (PDT)
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 <0KZS00ATYKFTKR00@fe-sfbay-10.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Wed, 24 Mar 2010 08:02:17 -0700 (PDT)
Date: Wed, 24 Mar 2010 08:02:16 -0700
From: "Garrett D'Amore" <gdamore@sun.com>
Subject: Re: PSARC 2010/096 Public Audio DDI
In-reply-to: <4BAA1B41.90708@oracle.com>
Sender: Garrett.Damore@sun.com
To: Sebastien Roy <sebastien.roy@oracle.com>
Cc: PSARC-ext <PSARC-ext@sun.com>
Message-id: <4BAA2978.4030602@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: <4BA24766.4000308@sun.com> <4BAA1B41.90708@oracle.com>
User-Agent: Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.9.1.7) Gecko/20100131
 Lightning/1.0b1 Thunderbird/3.0.1
Status: RO
Content-Length: 1149

On 03/24/10 07:01 AM, Sebastien Roy wrote:
> Garrett,
>
> The only question I have on this case is how versioning works.  Are 
> there provisions in the API to handle drivers compiled on an older 
> version by either failing gracefully or by transparently handling 
> multiple versions?  I can't tell from the materials if the 
> audio_dev_set_version() function is meant to be relevant to this 
> question as I didn't find the documentation for that function in this 
> case nor in prior Boomer cases.
>
> -Seb


Right now the framework just ensures that the version number matches.  
Conceivably in the future this could be used to detect the need for, and 
enablement of, a compatibility layer perhaps like the GLDv2 used to do 
for GLDv0 drivers.  More likely, it would be used in a manner like the 
devops version to detect when the ops structure grows new fields.

Until we have a need for an incompatible interface change, I can't know 
for sure exactly how versioning will work, but only speculate.  The 
version number for now is just a way to enable this some basic insurance 
against whatever the future may hold for now.

     - Garrett

From sebastien.roy@oracle.com Wed Mar 24 08:23:21 2010
Received: from sunmail6brm.central.sun.com (sunmail6brm.Central.Sun.COM [129.147.4.169])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id o2OFNL0c026371
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 24 Mar 2010 08:23:21 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail6brm.central.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.4) with ESMTP id o2OFNI8I012679;
	Wed, 24 Mar 2010 10:23:20 -0500 (CDT)
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 <0KZS00115LEW6900@nwk-avmta-2.sfbay.sun.com>; Wed,
 24 Mar 2010 08:23:20 -0700 (PDT)
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 <0KZS000JCLEUBM10@nwk-avmta-2.sfbay.sun.com>; Wed,
 24 Mar 2010 08:23:18 -0700 (PDT)
Received: from acsinet15.oracle.com (acsinet15.oracle.com [141.146.126.227])
	by brmea-mail-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id o2OFNIp9026096; Wed,
 24 Mar 2010 15:23:18 +0000 (GMT)
Received: from acsmt355.oracle.com (acsmt355.oracle.com [141.146.40.155])
	by acsinet15.oracle.com (Switch-3.4.2/Switch-3.4.1)
 with ESMTP id o2NIRKL3027805; Wed, 24 Mar 2010 15:23:16 +0000 (GMT)
Received: from abhmt002.oracle.com by acsmt354.oracle.com	with ESMTP id
 107208931269444136; Wed, 24 Mar 2010 08:22:16 -0700
Received: from [129.148.174.103] (/129.148.174.103)
	by default (Oracle Beehive Gateway v4.0)	with ESMTP ; Wed,
 24 Mar 2010 08:22:15 -0700
Date: Wed, 24 Mar 2010 11:19:22 -0400
From: Sebastien Roy <sebastien.roy@oracle.com>
Subject: Re: PSARC 2010/096 Public Audio DDI
In-reply-to: <4BAA2978.4030602@sun.com>
To: "Garrett D'Amore" <gdamore@sun.com>
Cc: PSARC-ext <PSARC-ext@sun.com>
Message-id: <4BAA2D7A.6050505@oracle.com>
MIME-version: 1.0
Content-type: text/plain; charset=ISO-8859-1; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
X-Source-IP: acsmt355.oracle.com [141.146.40.155]
X-Auth-Type: Internal IP
X-CT-RefId: str=0001.0A090204.4BAA2E65.00C8:SCFMA4539814,ss=1,fgs=0
References: <4BA24766.4000308@sun.com> <4BAA1B41.90708@oracle.com>
 <4BAA2978.4030602@sun.com>
User-Agent: Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.9.1.8) Gecko/20100302
 Lightning/1.0b1 Thunderbird/3.0.2
Status: RO
Content-Length: 1339

On 03/24/10 11:02 AM, Garrett D'Amore wrote:
> On 03/24/10 07:01 AM, Sebastien Roy wrote:
>> Garrett,
>>
>> The only question I have on this case is how versioning works. Are
>> there provisions in the API to handle drivers compiled on an older
>> version by either failing gracefully or by transparently handling
>> multiple versions? I can't tell from the materials if the
>> audio_dev_set_version() function is meant to be relevant to this
>> question as I didn't find the documentation for that function in this
>> case nor in prior Boomer cases.
>>
>> -Seb
>
>
> Right now the framework just ensures that the version number matches.
> Conceivably in the future this could be used to detect the need for, and
> enablement of, a compatibility layer perhaps like the GLDv2 used to do
> for GLDv0 drivers. More likely, it would be used in a manner like the
> devops version to detect when the ops structure grows new fields.
>
> Until we have a need for an incompatible interface change, I can't know
> for sure exactly how versioning will work, but only speculate. The
> version number for now is just a way to enable this some basic insurance
> against whatever the future may hold for now.

That's fine, but where is this version number?  I hinted above that I 
thought that there was some documentation missing.  Did I miss it?

-Seb

From gdamore@sun.com Wed Mar 24 08:31:24 2010
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 o2OFVNvT026423
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 24 Mar 2010 08:31:23 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail3mpk.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.4) with ESMTP id o2OFVK15013057
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Wed, 24 Mar 2010 08:31:23 -0700 (PDT)
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 <0KZS0053JLRT0N00@nwk-avmta-1.sfbay.Sun.COM> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Wed, 24 Mar 2010 08:31:05 -0700 (PDT)
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 <0KZS009DJLRS4N90@nwk-avmta-1.sfbay.Sun.COM> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Wed,
 24 Mar 2010 08:31:04 -0700 (PDT)
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 o2OFV43t010896	for
 <PSARC-ext@sun.com>; Wed, 24 Mar 2010 08:31:04 -0700 (PDT)
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 <0KZS00100LGLLL00@fe-sfbay-09.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Wed, 24 Mar 2010 08:31:04 -0700 (PDT)
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 <0KZS00183LRRSY80@fe-sfbay-09.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Wed, 24 Mar 2010 08:31:03 -0700 (PDT)
Date: Wed, 24 Mar 2010 08:31:03 -0700
From: "Garrett D'Amore" <gdamore@sun.com>
Subject: Re: PSARC 2010/096 Public Audio DDI
In-reply-to: <4BAA2D7A.6050505@oracle.com>
Sender: Garrett.Damore@sun.com
To: Sebastien Roy <sebastien.roy@oracle.com>
Cc: PSARC-ext <PSARC-ext@sun.com>
Message-id: <4BAA3037.1010504@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: <4BA24766.4000308@sun.com> <4BAA1B41.90708@oracle.com>
 <4BAA2978.4030602@sun.com> <4BAA2D7A.6050505@oracle.com>
User-Agent: Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.9.1.7) Gecko/20100131
 Lightning/1.0b1 Thunderbird/3.0.1
Status: RO
Content-Length: 980

On 03/24/10 08:19 AM, Sebastien Roy wrote:
>
>>
>> Right now the framework just ensures that the version number matches.
>> Conceivably in the future this could be used to detect the need for, and
>> enablement of, a compatibility layer perhaps like the GLDv2 used to do
>> for GLDv0 drivers. More likely, it would be used in a manner like the
>> devops version to detect when the ops structure grows new fields.
>>
>> Until we have a need for an incompatible interface change, I can't know
>> for sure exactly how versioning will work, but only speculate. The
>> version number for now is just a way to enable this some basic insurance
>> against whatever the future may hold for now.
>
>
> That's fine, but where is this version number?  I hinted above that I 
> thought that there was some documentation missing.  Did I miss it?

If you look in audio_engine_ops.9s in the case materials, you'll see 
audio_engine_version is the first member of the structure.

     - Garrett



From sebastien.roy@oracle.com Wed Mar 24 08:53:49 2010
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 o2OFrnXd026666
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 24 Mar 2010 08:53:49 -0700 (PDT)
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 o2OFrm9A007517;
	Wed, 24 Mar 2010 08:53:48 -0700 (PDT)
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 <0KZS00A3ZMTOHO00@nwk-avmta-1.sfbay.Sun.COM>; Wed,
 24 Mar 2010 08:53:48 -0700 (PDT)
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 <0KZS0097VMTM4QB0@nwk-avmta-1.sfbay.Sun.COM>; Wed,
 24 Mar 2010 08:53:47 -0700 (PDT)
Received: from rcsinet15.oracle.com (rcsinet15.oracle.com [148.87.113.117])
	by brmea-mail-2.sun.com (8.13.6+Sun/8.12.9) with ESMTP id o2OFrka0019824; Wed,
 24 Mar 2010 15:53:46 +0000 (GMT)
Received: from acsmt355.oracle.com (acsmt355.oracle.com [141.146.40.155])
	by rcsinet15.oracle.com (Switch-3.4.2/Switch-3.4.1)
 with ESMTP id o2OFrjw0015510; Wed, 24 Mar 2010 15:53:45 +0000 (GMT)
Received: from abhmt014.oracle.com by acsmt354.oracle.com	with ESMTP id
 107303561269446021; Wed, 24 Mar 2010 08:53:41 -0700
Received: from [129.148.174.103] (/129.148.174.103)
	by default (Oracle Beehive Gateway v4.0)	with ESMTP ; Wed,
 24 Mar 2010 08:53:41 -0700
Date: Wed, 24 Mar 2010 11:50:48 -0400
From: Sebastien Roy <sebastien.roy@oracle.com>
Subject: Re: PSARC 2010/096 Public Audio DDI
In-reply-to: <4BAA3037.1010504@sun.com>
To: "Garrett D'Amore" <gdamore@sun.com>
Cc: PSARC-ext <PSARC-ext@sun.com>
Message-id: <4BAA34D8.7000900@oracle.com>
MIME-version: 1.0
Content-type: text/plain; charset=ISO-8859-1; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
X-Source-IP: acsmt355.oracle.com [141.146.40.155]
X-Auth-Type: Internal IP
X-CT-RefId: str=0001.0A090205.4BAA358A.0010:SCFMA4539814,ss=1,fgs=0
References: <4BA24766.4000308@sun.com> <4BAA1B41.90708@oracle.com>
 <4BAA2978.4030602@sun.com> <4BAA2D7A.6050505@oracle.com>
 <4BAA3037.1010504@sun.com>
User-Agent: Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.9.1.8) Gecko/20100302
 Lightning/1.0b1 Thunderbird/3.0.2
Status: RO
Content-Length: 1259

On 03/24/10 11:31 AM, Garrett D'Amore wrote:
> On 03/24/10 08:19 AM, Sebastien Roy wrote:
>>
>>>
>>> Right now the framework just ensures that the version number matches.
>>> Conceivably in the future this could be used to detect the need for, and
>>> enablement of, a compatibility layer perhaps like the GLDv2 used to do
>>> for GLDv0 drivers. More likely, it would be used in a manner like the
>>> devops version to detect when the ops structure grows new fields.
>>>
>>> Until we have a need for an incompatible interface change, I can't know
>>> for sure exactly how versioning will work, but only speculate. The
>>> version number for now is just a way to enable this some basic insurance
>>> against whatever the future may hold for now.
>>
>>
>> That's fine, but where is this version number? I hinted above that I
>> thought that there was some documentation missing. Did I miss it?
>
> If you look in audio_engine_ops.9s in the case materials, you'll see
> audio_engine_version is the first member of the structure.

Ah, I see thanks.  Also (FYI), the reason I missed the description of 
audio_dev_set_version() in your materials is because there's a typo in 
audio_dev_set_description.9f (where it's called audio_dev_version()).

Anyway, +1.

-Seb

From gdamore@sun.com Wed Mar 24 09:28:05 2010
Received: from sunmail6brm.central.sun.com (sunmail6brm.Central.Sun.COM [129.147.4.169])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id o2OGS5UU028001
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 24 Mar 2010 09:28:05 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail6brm.central.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.4) with ESMTP id o2OGS4xH027355
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Wed, 24 Mar 2010 11:28:05 -0500 (CDT)
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 <0KZS0041FOESVJ00@nwk-avmta-2.sfbay.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@SUN.COM); Wed, 24 Mar 2010 09:28:04 -0700 (PDT)
Received: from sca-es-mail-1.sun.com ([192.18.43.132])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KZS000YNOERBK60@nwk-avmta-2.sfbay.sun.com> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@SUN.COM); Wed,
 24 Mar 2010 09:28:03 -0700 (PDT)
Received: from fe-sfbay-10.sun.com ([192.18.43.129])
	by sca-es-mail-1.sun.com (8.13.7+Sun/8.12.9) with ESMTP id o2OGS3JQ009364	for
 <PSARC-ext@SUN.COM>; Wed, 24 Mar 2010 09:28:03 -0700 (PDT)
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 <0KZS00500O1LM800@fe-sfbay-10.sun.com> for PSARC-ext@SUN.COM
 (ORCPT PSARC-ext@SUN.COM); Wed, 24 Mar 2010 09:28:03 -0700 (PDT)
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 <0KZS001HLOEMXD90@fe-sfbay-10.sun.com> for PSARC-ext@SUN.COM
 (ORCPT PSARC-ext@SUN.COM); Wed, 24 Mar 2010 09:28:03 -0700 (PDT)
Date: Wed, 24 Mar 2010 09:27:58 -0700
From: "Garrett D'Amore" <gdamore@sun.com>
Subject: Re: PSARC 2010/096 Public Audio DDI
In-reply-to: <4BAA34D8.7000900@oracle.com>
Sender: Garrett.Damore@sun.com
To: Sebastien Roy <sebastien.roy@oracle.com>
Cc: PSARC-ext <PSARC-ext@sun.com>
Message-id: <4BAA3D8E.1090202@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: <4BA24766.4000308@sun.com> <4BAA1B41.90708@oracle.com>
 <4BAA2978.4030602@sun.com> <4BAA2D7A.6050505@oracle.com>
 <4BAA3037.1010504@sun.com> <4BAA34D8.7000900@oracle.com>
User-Agent: Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.9.1.7) Gecko/20100131
 Lightning/1.0b1 Thunderbird/3.0.1
Status: RO
Content-Length: 1559

On 03/24/10 08:50 AM, Sebastien Roy wrote:
> On 03/24/10 11:31 AM, Garrett D'Amore wrote:
>> On 03/24/10 08:19 AM, Sebastien Roy wrote:
>>>
>>>>
>>>> Right now the framework just ensures that the version number matches.
>>>> Conceivably in the future this could be used to detect the need 
>>>> for, and
>>>> enablement of, a compatibility layer perhaps like the GLDv2 used to do
>>>> for GLDv0 drivers. More likely, it would be used in a manner like the
>>>> devops version to detect when the ops structure grows new fields.
>>>>
>>>> Until we have a need for an incompatible interface change, I can't 
>>>> know
>>>> for sure exactly how versioning will work, but only speculate. The
>>>> version number for now is just a way to enable this some basic 
>>>> insurance
>>>> against whatever the future may hold for now.
>>>
>>>
>>> That's fine, but where is this version number? I hinted above that I
>>> thought that there was some documentation missing. Did I miss it?
>>
>> If you look in audio_engine_ops.9s in the case materials, you'll see
>> audio_engine_version is the first member of the structure.
>
> Ah, I see thanks.  Also (FYI), the reason I missed the description of 
> audio_dev_set_version() in your materials is because there's a typo in 
> audio_dev_set_description.9f (where it's called audio_dev_version()).
>
> Anyway, +1.
>
> -Seb

Thanks for the catch.  "audio_dev_set_version" is intended for human 
readable information about the device, and has nothing to do with 
interface versioning.  Hopefully that was clear.

     - Garrett


From gdamore@sun.com Wed Mar 24 10:29:04 2010
Received: from sunmail6brm.central.sun.com (sunmail6brm.Central.Sun.COM [129.147.4.169])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id o2OHT43h001456
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 24 Mar 2010 10:29:04 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail6brm.central.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.4) with ESMTP id o2OHT03A009527
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Wed, 24 Mar 2010 12:29:04 -0500 (CDT)
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 <0KZS0080DR847O00@nwk-avmta-2.sfbay.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@SUN.COM); Wed, 24 Mar 2010 10:28:52 -0700 (PDT)
Received: from sca-es-mail-1.sun.com ([192.18.43.132])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KZS000W8R84BEB0@nwk-avmta-2.sfbay.sun.com> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@SUN.COM); Wed,
 24 Mar 2010 10:28:52 -0700 (PDT)
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 o2OHSqiT026223	for
 <PSARC-ext@SUN.COM>; Wed, 24 Mar 2010 10:28:52 -0700 (PDT)
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 <0KZS00J00R1GV900@fe-sfbay-09.sun.com> for PSARC-ext@SUN.COM
 (ORCPT PSARC-ext@SUN.COM); Wed, 24 Mar 2010 10:28:52 -0700 (PDT)
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 <0KZS00B42R83XA90@fe-sfbay-09.sun.com> for PSARC-ext@SUN.COM
 (ORCPT PSARC-ext@SUN.COM); Wed, 24 Mar 2010 10:28:52 -0700 (PDT)
Date: Wed, 24 Mar 2010 10:28:51 -0700
From: "Garrett D'Amore" <gdamore@sun.com>
Subject: Re: PSARC 2010/096 Public Audio DDI
In-reply-to: <4BAA34D8.7000900@oracle.com>
Sender: Garrett.Damore@sun.com
To: Sebastien Roy <sebastien.roy@oracle.com>
Cc: PSARC-ext <PSARC-ext@sun.com>
Message-id: <4BAA4BD3.7090408@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: <4BA24766.4000308@sun.com> <4BAA1B41.90708@oracle.com>
 <4BAA2978.4030602@sun.com> <4BAA2D7A.6050505@oracle.com>
 <4BAA3037.1010504@sun.com> <4BAA34D8.7000900@oracle.com>
User-Agent: Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.9.1.7) Gecko/20100131
 Lightning/1.0b1 Thunderbird/3.0.1
Status: RO
Content-Length: 56

This case was approved at PSARC today.

     - Garrett


