Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755673AbcC2BRt (ORCPT ); Mon, 28 Mar 2016 21:17:49 -0400 Received: from mailout3.samsung.com ([203.254.224.33]:42306 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755613AbcC2BRp (ORCPT ); Mon, 28 Mar 2016 21:17:45 -0400 X-AuditID: cbfee691-f795a6d0000012b5-5a-56f9d7b6dfed Message-id: <56F9D7B6.1070108@samsung.com> Date: Tue, 29 Mar 2016 10:17:42 +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+NgFupnkeLIzCtJLcpLzFFi42JZI2JSoLvt+s8wg3dTtS0u75rDZnHkfz+j xacH/5kt7jxZz2pxfG24A6vHnWt72Dw2L6n3+DtrP4vH501yASxRXDYpqTmZZalF+nYJXBkP 5x9kLVjDU9HyZTZbA2M3VxcjB4eEgInElkdFXYycQKaYxIV769m6GLk4hARWMEq07NzDDpEw kVjyZQkTRGIpo8SG+89ZIZwHjBITZzexglTxCmhJbLu7iRHEZhFQlWhY3g/WzSagI7H923Em EFtUIEziwbq9UPWCEj8m32MBsUUE/CS27tjKBmIzCyRKvD92AaxeWCBK4tGZScwglwoJeEi0 3vYFCXMKeErc33iJBSTMLKAncf+iFkSnvMTmNW+ZQU6TENjFLvHwXyMrxDkCEt8mH2KBeFhW YtMBZoi/JCUOrrjBMoFRbBaSg2YhTJ2FZOoCRuZVjKKpBckFxUnpRaZ6xYm5xaV56XrJ+bmb GIHxdPrfs4k7GO8fsD7EKMDBqMTDy7DgZ5gQa2JZcWXuIUZToCMmMkuJJucDozavJN7Q2MzI wtTE1NjI3NJMSZxXR/pnsJBAemJJanZqakFqUXxRaU5q8SFGJg5OqQbGUl7hmPWMhzv+nMpJ 8hRfcsdeekZL6zWNg4FHjq2YbbXSpvPpk6B1e+YETThTxs/0Onmlc79O7Z8DXKd+BX722HEh 0e+MhYPpHt9CtjKBo+fWHrv24LbmGZ5dTkUWny9MU4tYWxuV5GEm+onh3dQDj6OesOwLmmui m3+1zpt1We2xVJbN975kKrEUZyQaajEXFScCACuSOwSiAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrLIsWRmVeSWpSXmKPExsVy+t9jAd1t13+GGdz5rmZxedccNosj//sZ LT49+M9scefJelaL42vDHVg97lzbw+axeUm9x99Z+1k8Pm+SC2CJamC0yUhNTEktUkjNS85P ycxLt1XyDo53jjc1MzDUNbS0MFdSyEvMTbVVcvEJ0HXLzAFaq6RQlphTChQKSCwuVtK3wzQh NMRN1wKmMULXNyQIrsfIAA0krGHMeDj/IGvBGp6Kli+z2RoYu7m6GDk5JARMJJZ8WcIEYYtJ XLi3nq2LkYtDSGApo8SG+89ZIZwHjBITZzexglTxCmhJbLu7iRHEZhFQlWhY3s8OYrMJ6Ehs /3YcbJKoQJjEg3V7oeoFJX5MvscCYosI+Els3bGVDcRmFkiUeH/sAli9sECUxKMzk5i7GDmA lnlItN72BQlzCnhK3N94iQUkzCygJ3H/ohZEp7zE5jVvmScwCsxCsmAWQtUsJFULGJlXMUqk FiQXFCel5xrlpZbrFSfmFpfmpesl5+duYgRH7TPpHYyHd7kfYhTgYFTi4WVY8DNMiDWxrLgy 9xCjBAezkghvyzWgEG9KYmVValF+fFFpTmrxIUZTYAhMZJYSTc4HJpS8knhDYxMzI0sjc0ML I2NzJXHex//XhQkJpCeWpGanphakFsH0MXFwSjUwChyenvlBT63iN4ef+M07M6IDfxV4Shoa rlvkOcnR/V5g1ppIHaNX+i53Txx6tzs9YM4V040Vicsr+adps1tuefd/tnYA206m1x+ZPz++ k3f74dEXy17vPfr6z5S5OYVPLx/+JPDKt9b5isxB9b1hau15vWxLP/tePmFj8mNvtk5GwILO fAn3K0osxRmJhlrMRcWJAJxx7y7wAgAA 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: 1529 Lines: 49 Hi Shawn, Sorry for applying late. Applied on my repository. Best Regards, Jaehoon Chung 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 > > 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, >