#11772 NORM 1.75-ha: SKU199 eMMC doesn't support eMMC SLEEP command.

Zarro Boogs per Child bugtracker at laptop.org
Wed Apr 11 23:57:21 EDT 2012


#11772: SKU199 eMMC doesn't support eMMC SLEEP command.
--------------------------+-------------------------------------------------
 Reporter:  cjb           |                 Owner:  wad          
     Type:  defect        |                Status:  new          
 Priority:  normal        |             Milestone:  1.75-hardware
Component:  not assigned  |               Version:  not specified
 Keywords:                |           Next_action:  never set    
 Verified:  0             |   Deployment_affected:               
Blockedby:                |              Blocking:               
--------------------------+-------------------------------------------------
 On upgrading to the 3.3 kernel we saw a new suspend crash in the MMC
 layer.  The SKU119 laptops have eMMCs that identify as "SEM04G", which I
 think is a Sandisk model, and identify as supporting eMMC 4.41 in their
 ext_csd table.  The eMMC 4.41 spec defines a SLEEP_AWAKE command (CMD5)
 for increased power saving (you send SLEEP and it ignores further commands
 until AWAKE), and in 3.3 we send this command to the eMMC on the way into
 suspend, and send AWAKE on the way out of resume.  The code for suspend
 is:

 {{{
         cmd.opcode = MMC_SLEEP_AWAKE;
         cmd.arg = card->rca << 16;
         if (sleep)
                 cmd.arg |= 1 << 15;

         cmd.flags = MMC_RSP_R1B | MMC_CMD_AC;
         err = mmc_wait_for_cmd(host, &cmd, 0);
 }}}

 When this command is sent to the eMMC on my SKU199 1.75, a command timeout
 fires and the chip stops responding completely.  I (and the code) would
 expect a command response before sleep is entered.

 (This is not very urgent, because I've added a quirk to our kernel to
 avoid sending these commands.)

-- 
Ticket URL: <http://dev.laptop.org/ticket/11772>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system


More information about the Bugs mailing list