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: sdcard conversion to bd, EOF blk2scsa 1.2. Name of Document Author/Supplier: Author: Garrett D'Amore 1.3 Date of This Document: 29 November, 2009 4. Technical Description
Background: PSARC 2007/654 introduced blk2scsa, as a common framework for exposing block oriented devices as SCSI logical devices. PSARC 2007/659 introduced a common framework for Secure Digital devices, building upon the blk2scsa framework. PSARC 2009/646 offers a new, simpler, and more performant, alternative to blk2scsa which does not depend on SCSI or the SCSA framework at all. We would like convert the SDcard framework for SD and MMC memory cards to use the new "bd" framework, and EOF the blk2scsa framework at the same time. This case seeks Minor binding. It depends on PSARC 2009/646, which is not yet approved. Architectural Details: In our prototype, we have converted the framework to express a single persistent "bd" target, for each SDcard slot. The slot is a "removable" drive. This implementation has a few notable ramifications: a) We can simplify the SDcard framework quite a bit b) There is no longer a need for a separate "sdcard" pseudo-nexus driver. The "bd" device can appear as a direct child of the SD host driver (e.g. sdhost). The "sdcard" driver will be removed. c) The target device will appear using a cXdYsZ notation, without a a target number. d) Some performance ramifications from using larger transfers will go away. Specifically, we can use large transfers even using the raw device, and not have to fall back to PIO. (Because the bd framework can break the transfers up for us.) e) As we do not currently support SDIO, there is no longer any need to support the use of cfgadm with SDcard. The cfgadm plugin for SDcard can thus be removed. (Note that at this point, we find it unlikely that there will ever be sufficient motivation to implement support for SDIO. While important for certain devices such as mobile hand-sets, SDIO has no place on platforms with a fully capable USB host or Express card implementation. We have designed things in our prototype so that if SDIO support were ever necessary it could be added back in without major architectural changes to the memory card support.) This change will remove the ability to initiate a software reset of the SDcard controller from the command line, but we have found very little reason that such a capability is desirable. f) The sdcard framework itself will be able to eliminate all, or nearly all, of its direct uses of the nexus DDI. (In the event that SDIO support were added later, we would have to reintroduce a lot of NDI interface consumption, though.) As part of this effort, we'd like to remove the blk2scsa layer specified in PSARC 2007/654. There will be no more consumers for it, and the newer bd framework specified in PSARC 2009/646 is superior to it. (The blk2scsa interfaces are all 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: FastTrack 6.6. ARC Exposure: open