Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935738AbcJQQfI (ORCPT ); Mon, 17 Oct 2016 12:35:08 -0400 Received: from iolanthe.rowland.org ([192.131.102.54]:41598 "HELO iolanthe.rowland.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S932313AbcJQQe6 (ORCPT ); Mon, 17 Oct 2016 12:34:58 -0400 Date: Mon, 17 Oct 2016 12:34:56 -0400 (EDT) From: Alan Stern X-X-Sender: stern@iolanthe.rowland.org To: Ulf Hansson cc: linux-mmc , "linux-kernel@vger.kernel.org" , Ritesh Raj Sarraf , Oliver Neukum , USB list , Roger Tseng , Wei WANG Subject: Re: [PATCH 0/6] mmc/memstick: rtsx_usb: Fix runtime PM issues In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3209 Lines: 75 On Mon, 17 Oct 2016, Ulf Hansson wrote: > On 13 October 2016 at 13:37, Ulf Hansson wrote: > > The rtsx_usb_sdmmc (mmc/sd) and rtsx_usb_ms (memstick) devices are interfacing > > an rtsx_usb device (managed by an mfd driver) while communicating with the > > cards. The mmc/sd and memstick devices are children of the usb device. > > > > Issues has been reported [1] for rtsx, which have been investigated, discussed, > > fixed, tested, etc, particularly when using mmc/sd cards. During the > > investigation, some changes was proposed and tested successfully. In this > > series I have picked up these changes and created some proper patches with > > change-logs. > > > > It turned out that most of the problems was related to the runtime PM > > deployment in the memstick and the mmc/sd driver, which are fixed in this > > series. > > > > A couple of more issues were also discussed [2], which needs to be fixed as > > well. Although they are out of scope for this series, so we will have to look > > into those at a later point. Here's a brief summary of these leftovers: > > > > *) > > It seems reasonable to turn off autosuspend for usb devices and instead rely on > > the usb device's children to deal with autosuspend. The reason is simply that > > the children has better knowledge of when using autosuspend makes sense. > > > > **) > > Polling card detect mode is used both for mmc/sd and memstick. Because of the > > lack of synchronization between the polling attempts for these subsystems, the > > usb device may be powered on for unnecessary long intervals, thus we are > > wasting power. > > > > Besides the above changes, I folded in a change in the mmc core which improves > > the behaviour for mmc hosts using MMC_CAP2_NO_PRESCAN_POWERUP, which is the > > case for the rtsx_usb_sdmmc driver. This change should improve the boot time > > with ~100ms per rtsx_usb_sdmmc device. > > > > Finally, as I couldn't find an active maintainer for the memstick > > subsystem/driver and because the author of the drivers can be reached, I > > volunteer to take this all through my mmc tree. Please tell me if that is > > problem to any of you. > > > > [1] > > https://www.spinics.net/lists/linux-usb/msg146998.html > > [2] > > https://www.spinics.net/lists/linux-mmc/msg39235.html > > > > > > Alan Stern (1): > > memstick: rtsx_usb_ms: Runtime resume the device when polling for > > cards > > > > Ulf Hansson (5): > > mmc: rtsx_usb_sdmmc: Avoid keeping the device runtime resumed when > > unused > > mmc: rtsx_usb_sdmmc: Handle runtime PM while changing the led > > memstick: rtsx_usb_ms: Manage runtime PM when accessing the device > > mmc: rtsx_usb_sdmmc: Enable runtime PM autosuspend > > mmc: core: Don't power off the card when starting the host > > > > drivers/memstick/host/rtsx_usb_ms.c | 6 ++++++ > > drivers/mmc/core/core.c | 9 ++++----- > > drivers/mmc/host/rtsx_usb_sdmmc.c | 10 +++++----- > > 3 files changed, 15 insertions(+), 10 deletions(-) > > > > -- > > 1.9.1 > > > > Patch 1->4 applied for fixes. Holding patch 5->6 for a while, as they > are intended for next! Thanks for taking care of all these updates. Alan Stern