From gd78059@sac.sfbay.sun.com Mon Dec  1 18:24:44 2008
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 mB22OiS8006175
	for <psarc-ext@sac.sfbay.sun.com>; Mon, 1 Dec 2008 18:24:44 -0800 (PST)
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.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id mB22OgXm015679;
	Mon, 1 Dec 2008 18:24:44 -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 <0KB800C0H9D06S00@nwk-avmta-1.sfbay.Sun.COM>; Mon,
 01 Dec 2008 18:24:36 -0800 (PST)
Received: from dm-sfbay-01.sfbay.sun.com ([129.145.155.118])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KB8004AB9D02E60@nwk-avmta-1.sfbay.Sun.COM>; Mon,
 01 Dec 2008 18:24:36 -0800 (PST)
Received: from sac.sfbay.sun.com (new-sac.SFBay.Sun.COM [129.146.175.65])
	by dm-sfbay-01.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2)
 with ESMTP id mB22Oakg019740; Mon, 01 Dec 2008 18:24:36 -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 mB22OY8D006170; Mon,
 01 Dec 2008 18:24:34 -0800 (PST)
Received: (from gd78059@localhost)
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8/Submit) id mB22OY2u006166; Mon,
 01 Dec 2008 18:24:34 -0800 (PST)
Date: Mon, 01 Dec 2008 18:24:34 -0800 (PST)
From: "Garrett D'Amore - sun microsystems" <gd78059@sac.sfbay.sun.com>
Subject: SDcard Framework Suspend & Resume [PSARC/2008/742 Self Review]
To: PSARC-ext@sun.com
Message-id: <200812020224.mB22OY2u006166@sac.sfbay.sun.com>
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
Status: RO
Content-Length: 1933


The following automatic case addresses a need for a pair of new functions
required to fix a suspend/resume bug in the SDcard framework.  If anyone
has any questions, or feels the case should be "promoted" to a fast track
or (heaven forbid!) a full case, please don't hesitate to ask.

Note that case seeks patch binding for SDcard, and that the affected
interfaces are Consolidation Private.

	-- Garrett

Template Version: @(#)sac_nextcase %I% %G% SMI
This information is Copyright 2008 Sun Microsystems
1. Introduction
    1.1. Project/Component Working Name:
	 SDcard Framework Suspend & Resume
    1.2. Name of Document Author/Supplier:
	 Author:  Garrett D'Amore
    1.3  Date of This Document:
	01 December, 2008
4. Technical Description

SDcard Framework Suspend & Resume

Problem:

The SDcard framework (PSARC 2007/659 and PSARC 2008/001) needs to handle
DDI_SUSPEND and DDI_RESUME events within the framework, in order to ensure
that background kernel threads (specifically the master slot processing
thread) does not wind up getting dispatched while the the host adapter is
suspended.  (Note that kernel threads, unlike user threads, are suspended
*after* devices, and resumed *before* devices.)


Solution:

We add two new functions for SDcard adapters to call:

void sda_host_suspend(sda_host_t *);
void sda_host_resume(sda_host_t *);

The physical driver will call these functions before suspending, and after
resuming (respectively) the underlying hardware.  The SDA framework guarantees
that none of the driver's entry points (at least the ones registered with
the SDA framework) will be called in between sda_host_suspend() and the
sda_host_resume() calls.

As with the other SDA support routines, these are Consolidation Private.

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


