Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755751AbcCCMI0 (ORCPT ); Thu, 3 Mar 2016 07:08:26 -0500 Received: from mailout3.samsung.com ([203.254.224.33]:34427 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751564AbcCCMIX (ORCPT ); Thu, 3 Mar 2016 07:08:23 -0500 X-AuditID: cbfee68d-f79646d000001355-56-56d829350187 Message-id: <56D82934.3040205@samsung.com> Date: Thu, 03 Mar 2016 21:08:20 +0900 From: Jaehoon Chung User-Agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-version: 1.0 To: Shawn Lin , Adrian Hunter , Ulf Hansson Cc: Michal Simek , soren.brinkmann@xilinx.com, linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [RFC PATCH 1/4] mmc: core: add cap-enhanced-strobe support References: <1456972557-7994-1-git-send-email-shawn.lin@rock-chips.com> <1456972585-8036-1-git-send-email-shawn.lin@rock-chips.com> In-reply-to: <1456972585-8036-1-git-send-email-shawn.lin@rock-chips.com> Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrAIsWRmVeSWpSXmKPExsWyRsSkRNdU80aYwcVVPBYnn6xhs7i8aw6b xZH//YwW715GWNx5sp7V4uaOzewWx9eGO7B7LN7zksnjzrU9bB5/Z+1n8fi8Sc5j7+ffLAGs UVw2Kak5mWWpRfp2CVwZT0+2shYcEK9o/rqQqYFxtnAXIyeHhICJxNG5K9khbDGJC/fWs3Ux cnEICaxglFh/8ywbTNHpaStYIRKzGCW23Wtmh3AeMEqcXH8LrIpXQEvizb0/LCA2i4CqxOmZ m5hAbDYBHYnt346D2aICYRIP1u1lhagXlPgx+R5QPQeHiEClxKUOD5CZzAKNjBJfzy1mBIkL C7hLzG8VhNjVyiixaccEsDmcAh4SKyacZgKpYRZQl5gyJRckzCwgL7F5zVtmkHoJgWvsErcu nGCHuEdA4tvkQ2C7JARkJTYdYIZ4TFLi4IobLBMYxWYhuWgWwtRZSKYuYGRexSiaWpBcUJyU XmSoV5yYW1yal66XnJ+7iREYcaf/PevdwXj7gPUhRgEORiUe3hsN18OEWBPLiitzDzGaAh0x kVlKNDkfGNd5JfGGxmZGFqYmpsZG5pZmSuK8ilI/g4UE0hNLUrNTUwtSi+KLSnNSiw8xMnFw SjUw8rapL7/F+Ll5yv7rkqrFQjt9zbXSziuUXt+wd/vhlNxVZ9lu/A2dX7xPW+axu7vDNt7S gDxxrl/z5Vbl3/Z70XRX8pPxpZdH/+S22conXdI+alC3O3ma/pu9cWnlO7//lWT/8NtodsPk 2AePXNzUeM69PHTz0MKWzjWxlxOPWSjaXe3L3dfQrMRSnJFoqMVcVJwIAPQNSXmzAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrLIsWRmVeSWpSXmKPExsVy+t9jQV1TzRthBr+uMFucfLKGzeLyrjls Fkf+9zNavHsZYXHnyXpWi5s7NrNbHF8b7sDusXjPSyaPO9f2sHn8nbWfxePzJjmPvZ9/swSw RjUw2mSkJqakFimk5iXnp2TmpdsqeQfHO8ebmhkY6hpaWpgrKeQl5qbaKrn4BOi6ZeYAXaGk UJaYUwoUCkgsLlbSt8M0ITTETdcCpjFC1zckCK7HyAANJKxhzHh6spW14IB4RfPXhUwNjLOF uxg5OSQETCROT1vBCmGLSVy4t56ti5GLQ0hgFqPEtnvN7BDOA0aJk+tvsYFU8QpoSby594cF xGYRUJU4PXMTE4jNJqAjsf3bcTBbVCBM4sG6vawQ9YISPybfA6rn4BARqJS41OEBMpNZoJFR 4uu5xYwgcWEBd4n5rYIQu1oZJTbtmAA2h1PAQ2LFhNNMIDXMAuoSU6bkgoSZBeQlNq95yzyB EehKhA2zEKpmIalawMi8ilEitSC5oDgpPdcoL7Vcrzgxt7g0L10vOT93EyM4qp9J72A8vMv9 EKMAB6MSD++NhuthQqyJZcWVuYcYJTiYlUR43yneCBPiTUmsrEotyo8vKs1JLT7EaAoMgonM UqLJ+cCEk1cSb2hsYmZkaWRuaGFkbK4kzvv4/7owIYH0xJLU7NTUgtQimD4mDk6pBsYVcUUz pQM7HjCsn5E5zSrzmNKl9TWW4m07rwf07urdIDzn0tMP01QmduhX7VvRv/N9XWiOIcuh5x9M vk3ly/o8NfH35J9lhR5+4bNXzRSZu2OFcttXHcEj0WndHXs3FKkzfen/0JddWzmb6eqOgDtH dK65R80rnZFw7sIVf87mjFsGH+b3G3QosRRnJBpqMRcVJwIA3WeMbAADAAA= DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2934 Lines: 72 Hi Shawn, On 03/03/2016 11:36 AM, Shawn Lin wrote: > This patch introduce cap-enhanced-strobe for platforms which > want to enable enhanced strobe function from DT if the mmc host > controller claims to support enhanced strobe. I don't know why need to add the capability and property. > > Signed-off-by: Shawn Lin > > --- > > Documentation/devicetree/bindings/mmc/mmc.txt | 1 + > drivers/mmc/core/host.c | 2 ++ > include/linux/mmc/host.h | 6 ++++++ > 3 files changed, 9 insertions(+) > > diff --git a/Documentation/devicetree/bindings/mmc/mmc.txt b/Documentation/devicetree/bindings/mmc/mmc.txt > index ed23b9b..51ec979 100644 > --- a/Documentation/devicetree/bindings/mmc/mmc.txt > +++ b/Documentation/devicetree/bindings/mmc/mmc.txt > @@ -39,6 +39,7 @@ Optional properties: > - cap-power-off-card: powering off the card is safe > - cap-mmc-hw-reset: eMMC hardware reset is supported > - cap-sdio-irq: enable SDIO IRQ signalling on this interface > +- cap-enhanced-strobe: enable enhanced strobe function for emmc v5.1+ > - full-pwr-cycle: full power cycle of the card is supported > - mmc-ddr-1_8v: eMMC high-speed DDR mode(1.8V I/O) is supported > - mmc-ddr-1_2v: eMMC high-speed DDR mode(1.2V I/O) is supported > diff --git a/drivers/mmc/core/host.c b/drivers/mmc/core/host.c > index 1d94607..b49d786 100644 > --- a/drivers/mmc/core/host.c > +++ b/drivers/mmc/core/host.c > @@ -270,6 +270,8 @@ int mmc_of_parse(struct mmc_host *host) > host->caps |= MMC_CAP_HW_RESET; > if (of_property_read_bool(np, "cap-sdio-irq")) > host->caps |= MMC_CAP_SDIO_IRQ; > + if (of_property_read_bool(np, "cap-enhanced-strobe")) > + host->caps |= MMC_CAP_ENHANCED_STROBE; > if (of_property_read_bool(np, "full-pwr-cycle")) > host->caps2 |= MMC_CAP2_FULL_PWR_CYCLE; > if (of_property_read_bool(np, "keep-power-in-suspend")) > diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h > index 8dd4d29..2a292b3 100644 > --- a/include/linux/mmc/host.h > +++ b/include/linux/mmc/host.h > @@ -264,6 +264,7 @@ struct mmc_host { > #define MMC_CAP_DRIVER_TYPE_A (1 << 23) /* Host supports Driver Type A */ > #define MMC_CAP_DRIVER_TYPE_C (1 << 24) /* Host supports Driver Type C */ > #define MMC_CAP_DRIVER_TYPE_D (1 << 25) /* Host supports Driver Type D */ > +#define MMC_CAP_ENHANCED_STROBE (1 << 20) /* Host supports enhanced strobe */ Need to fix ordering. > #define MMC_CAP_CMD23 (1 << 30) /* CMD23 supported. */ > #define MMC_CAP_HW_RESET (1 << 31) /* Hardware reset */ > > @@ -469,6 +470,11 @@ static inline int mmc_host_uhs(struct mmc_host *host) > MMC_CAP_UHS_DDR50); > } > > +static inline int mmc_host_enhanced_strobe(struct mmc_host *host) > +{ > + return host->caps & MMC_CAP_ENHANCED_STROBE; > +} > + > static inline int mmc_host_packed_wr(struct mmc_host *host) > { > return host->caps2 & MMC_CAP2_PACKED_WR; >