Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755531AbcCBB3q (ORCPT ); Tue, 1 Mar 2016 20:29:46 -0500 Received: from mailout3.samsung.com ([203.254.224.33]:59694 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755432AbcCBB3k (ORCPT ); Tue, 1 Mar 2016 20:29:40 -0500 X-AuditID: cbfee691-f79766d0000012b6-e1-56d641fad870 Message-id: <56D641FA.8010606@samsung.com> Date: Wed, 02 Mar 2016 10:29:30 +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 , Ulf Hansson Cc: linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org Subject: Re: [PATCH] mmc: dw_mmc-rockchip: fix failing to mount partition with "discard" References: <1456816373-32518-1-git-send-email-shawn.lin@rock-chips.com> In-reply-to: <1456816373-32518-1-git-send-email-shawn.lin@rock-chips.com> Content-type: text/plain; charset=windows-1252 Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprAIsWRmVeSWpSXmKPExsWyRsSkUPe347UwgwfHGS0u75rDZnHkfz+j xacH/5kt7jxZz2pxfG24A6vHnWt72Dw2L6n3+DtrP4vH501yASxRXDYpqTmZZalF+nYJXBkX ry9lLfjMW3Hw8hbGBsa13F2MnBwSAiYSq5csZ4WwxSQu3FvP1sXIxSEksIJRYkHXBEaYoncb LrBDJGYxSmxc9BOq6gGjxKn/DSwgVbwCWhJv999mBrFZBFQllr29DGazCehIbP92nAnEFhUI k3iwbi8rRL2gxI/J98B6RQT8JLbu2MoGYjMLJEq8P3YBrF5YIEri0ZlJQHM4gJZ5SLTe9gUJ cwp4StzfeIkFJMwsoCdx/6IWRKe8xOY1b5lBTpMQ2MUu0b1oA9Q5AhLfJh8Cq5cQkJXYdIAZ 4i9JiYMrbrBMYBSbheSgWQhTZyGZuoCReRWjaGpBckFxUnqRqV5xYm5xaV66XnJ+7iZGYESd /vds4g7G+wesDzEKcDAq8fAKfLgaJsSaWFZcmXuI0RToiInMUqLJ+cC4zSuJNzQ2M7IwNTE1 NjK3NFMS59WR/hksJJCeWJKanZpakFoUX1Sak1p8iJGJg1OqgZFDgLFWXtBLbaXF3boH3UJX uGKcN15J2LtFSMdN+V3HnHkn/2wq+H/A7N+Ec5rrHRI3qG9+W3PVSvT/U+9/Fu8OpEo8OFi2 wNky/FTFukWz/7mW1TRN9DkUylnW6uzRd0aqP/7uyg1NCb5a2u9l59nl566qafZrNF/DFxk7 QWvSrzuvCt7nPlNiKc5INNRiLipOBABe3sQ5owIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrLIsWRmVeSWpSXmKPExsVy+t9jQd1fjtfCDBbPt7K4vGsOm8WR//2M Fp8e/Ge2uPNkPavF8bXhDqwed67tYfPYvKTe4++s/SwenzfJBbBENTDaZKQmpqQWKaTmJeen ZOal2yp5B8c7x5uaGRjqGlpamCsp5CXmptoqufgE6Lpl5gCtVVIoS8wpBQoFJBYXK+nbYZoQ GuKmawHTGKHrGxIE12NkgAYS1jBmXLy+lLXgM2/FwctbGBsY13J3MXJySAiYSLzbcIEdwhaT uHBvPVsXIxeHkMAsRomNi35COQ8YJU79b2ABqeIV0JJ4u/82M4jNIqAqseztZTCbTUBHYvu3 40wgtqhAmMSDdXtZIeoFJX5MvgfWKyLgJ7F1x1Y2EJtZIFHi/bELYPXCAlESj85MAprDAbTM Q6L1ti9ImFPAU+L+xkssIGFmAT2J+xe1IDrlJTavecs8gRHoSIQFsxCqZiGpWsDIvIpRIrUg uaA4KT3XMC+1XK84Mbe4NC9dLzk/dxMjOGqfSe1gPLjL/RCjAAejEg9vxqerYUKsiWXFlbmH GCU4mJVEeOc4XAsT4k1JrKxKLcqPLyrNSS0+xGgKDIGJzFKiyfnAhJJXEm9obGJmZGlkbmhh ZGyuJM77+P+6MCGB9MSS1OzU1ILUIpg+Jg5OqQbGBNG2PxavO88vvB3h6+fM6rSz5bTAhWgn 7her1kptYdz7T/z8bq3V0yvaP5udjoiPc5t3M3AJk5xsU8X93D/nZF9UnzvJ2WJ+8lpvofSF pLZuwfSvK0MZZs0+at/qPGlTjey9LdybXcIOnMh6nbDn/p7Qxo4C5WY1VrfzrhkVq9uZ/64P nSWvxFKckWioxVxUnAgAsJz1b/ACAAA= 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: 1726 Lines: 51 Hi Shawn. On 03/01/2016 04:12 PM, Shawn Lin wrote: > Without MMC_CAP_ERASE support, we fail to mount partition > with "discard" option since mmc_queue_setup_discard is limited > for checking mmc_can_erase. Without doing mmc_queue_setup_discard, > blk_queue_discard fails to test QUEUE_FLAG_DISCARD flag, so we get > the following log from f2fs(actually similar to other file system): > > mounting with "discard" option, but the device does not support discard We can enable MMC_CAP_ERASE by default, since other SoC also needs this capability. I had sent some patch for enabling by default, but at that time i didn't remember why not enabled by default. I will check that reason..and share the information. Best Regards, Jaehoon Chung > > Signed-off-by: Shawn Lin > --- > > drivers/mmc/host/dw_mmc-rockchip.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/drivers/mmc/host/dw_mmc-rockchip.c b/drivers/mmc/host/dw_mmc-rockchip.c > index 84e50f3..2eda118 100644 > --- a/drivers/mmc/host/dw_mmc-rockchip.c > +++ b/drivers/mmc/host/dw_mmc-rockchip.c > @@ -234,11 +234,20 @@ static int dw_mci_rockchip_init(struct dw_mci *host) > return 0; > } > > +/* Common capabilities of RK3288 SoC */ > +static unsigned long dw_mci_rk3288_dwmmc_caps[4] = { > + MMC_CAP_ERASE, > + MMC_CAP_ERASE, > + MMC_CAP_ERASE, > + MMC_CAP_ERASE, > +}; > + > static const struct dw_mci_drv_data rk2928_drv_data = { > .init = dw_mci_rockchip_init, > }; > > static const struct dw_mci_drv_data rk3288_drv_data = { > + .caps = dw_mci_rk3288_dwmmc_caps, > .set_ios = dw_mci_rk3288_set_ios, > .execute_tuning = dw_mci_rk3288_execute_tuning, > .parse_dt = dw_mci_rk3288_parse_dt, >