Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp2137098rwb; Thu, 17 Nov 2022 07:03:40 -0800 (PST) X-Google-Smtp-Source: AA0mqf7X1E09/S1UuLwpzQLDC1zJAQ30HkPhJmp1GSl0VmkMCM98sBPUQvSEYFm899mGQ1r4LZxc X-Received: by 2002:a50:ed97:0:b0:467:9384:a7be with SMTP id h23-20020a50ed97000000b004679384a7bemr2578043edr.141.1668697420489; Thu, 17 Nov 2022 07:03:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668697420; cv=none; d=google.com; s=arc-20160816; b=JVS/PTVtlcx+Tq7HtLgXoMQQNnG4IV4KEeTPMtgvEOn1Y2embHQA0wlUhpdFe5TH76 ddFVYvu01XezFL6OZth6NFzu+aXIGb1mh7ctr6gd7cYRMI5EdRcpIZ50Qk7id2Rt95m7 2sHDgrsUdMWcnq3eAARV8M67QqV1A0gLjckve7NunaGTwae8OuICLE0LZk8F+wKUTMt2 INxOgAS3wovQmj0QgIRxVuTrKX8W2KFQLUc9uhL72YAVmPjkbVq7Qe9DKW7sXH5aa5iU UzuTHMVt2rJsi803mt9aoX9GSmWzDmQ3aeGk+N1VN0D06phcJzKONRtgZ6jadZsWqJS8 pTOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to :organization:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:dkim-signature; bh=POvFSME29TQJCRhXoBPg5ZnYdDayYZIj9lybtPaIknI=; b=X0D114/RlceDu4VhysgHNcyQ5FE+pllKa7KboWCmFa7S9/6NrbX8R3yWiRNa/9zCtq PnSXKbpjNuboJt4RfT3VyDLCL+25hqMVlZUI0Drw3d318pn4LyoM27rYhSJyvPHiuULY ERI0VKzK8xBbOz65bvDlXHwt1tKxUcvniBf914idqfUgt190lKLPr6YbWpsS2f0diFIk cDEDA5NKtc92KTFQCfduJQBdoa5jCrP8AYhQSjmsN3joFqqiMBqq3FQGHSSBkuYolxg/ p1BDPeSB7nFYvKm+Lnig33r2LSr6Y6ujttqFBe0V1iSSlCk4xHZKXUaHLBHD61or+Dxz a8Qw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=fGo0UaYm; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z15-20020a17090655cf00b0078db8fe2834si537347ejp.245.2022.11.17.07.03.14; Thu, 17 Nov 2022 07:03:40 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=fGo0UaYm; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239776AbiKQO0n (ORCPT + 92 others); Thu, 17 Nov 2022 09:26:43 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54304 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240401AbiKQO0f (ORCPT ); Thu, 17 Nov 2022 09:26:35 -0500 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 933D8DF57; Thu, 17 Nov 2022 06:26:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1668695194; x=1700231194; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=5zDt62jKaPmUxNOHlqS/4inY9i4lNmmKkepcagEkf6g=; b=fGo0UaYmc27rsmN5AAbJTYx6DQwt3QZdRsgMOAd7t/EpAFLm+8zHEW1j ikBZ+qO238MMqhNMIEJIoIepsQ1aasQCpv+4KLL6kWyBtp8s1dqMv0Q8c c6HS6kKObD8z+Cz7bPuTL3RE/zK9u9AjGqJP5Sjd5VfCpoH+jMsMjY/+1 f3NwWGmeOlktYOcgV8N0bFula87Yj45Mhsia8iGGckSnmVrGMP2xZug6X 3T8mRWrYjXZzniBvQ5scmRGbwSfbaqivYngx0SVKCjneqqyr9OltyhQyy DtdIgICDrN2N7kIHyLSevepdqmYGvq2NYE8/xpg3MVY4ZasPv7IQ0a8yo w==; X-IronPort-AV: E=McAfee;i="6500,9779,10534"; a="314010475" X-IronPort-AV: E=Sophos;i="5.96,171,1665471600"; d="scan'208";a="314010475" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Nov 2022 06:26:34 -0800 X-IronPort-AV: E=McAfee;i="6500,9779,10534"; a="703350915" X-IronPort-AV: E=Sophos;i="5.96,171,1665471600"; d="scan'208";a="703350915" Received: from ahunter6-mobl1.ger.corp.intel.com (HELO [10.0.2.15]) ([10.252.35.99]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Nov 2022 06:26:32 -0800 Message-ID: Date: Thu, 17 Nov 2022 16:26:27 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0 Thunderbird/102.5.0 Subject: Re: [PATCH] mmc: core: Fix ambiguous TRIM and DISCARD arg Content-Language: en-US To: =?UTF-8?Q?Christian_L=c3=b6hle?= , "ulf.hansson@linaro.org" Cc: "linux-mmc@vger.kernel.org" , "linux-kernel@vger.kernel.org" References: <6373cfb97ef24ccfb5236c721f263f1b@hyperstone.com> From: Adrian Hunter Organization: Intel Finland Oy, Registered Address: PL 281, 00181 Helsinki, Business Identity Code: 0357606 - 4, Domiciled in Helsinki In-Reply-To: <6373cfb97ef24ccfb5236c721f263f1b@hyperstone.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A, RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE, SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 17/11/22 12:51, Christian Löhle wrote: > Clean up the MMC_TRIM_ARGS define that became ambiguous with > DISCARD introduction. > While at it fix one usage where MMC_TRIM_ARGS falsely included > DISCARD, too. > > Fixes: b3bf915308ca ("mmc: core: new discard feature support at eMMC v4.5") > A blank line is unusual here > Signed-off-by: Christian Loehle One nitpick below otherwise: Acked-by: Adrian Hunter > --- > Previously submitted as mmc: core: Do not require secure trim for discard > drivers/mmc/core/core.c | 10 ++++++++-- > include/linux/mmc/mmc.h | 2 +- > 2 files changed, 9 insertions(+), 3 deletions(-) > > diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c > index 95fa8fb1d45f..7ce26dbd5879 100644 > --- a/drivers/mmc/core/core.c > +++ b/drivers/mmc/core/core.c > @@ -1478,6 +1478,11 @@ void mmc_init_erase(struct mmc_card *card) > card->pref_erase = 0; > } > > +static bool is_trim_arg(unsigned int arg) > +{ > + return (arg & MMC_TRIM_OR_DISCARD_ARGS) && arg != MMC_DISCARD_ARG; > +} > + > static unsigned int mmc_mmc_erase_timeout(struct mmc_card *card, > unsigned int arg, unsigned int qty) > { > @@ -1760,7 +1765,7 @@ int mmc_erase(struct mmc_card *card, unsigned int from, unsigned int nr, > !(card->ext_csd.sec_feature_support & EXT_CSD_SEC_ER_EN)) > return -EOPNOTSUPP; > > - if (mmc_card_mmc(card) && (arg & MMC_TRIM_ARGS) && > + if (mmc_card_mmc(card) && is_trim_arg(arg) && > !(card->ext_csd.sec_feature_support & EXT_CSD_SEC_GB_CL_EN)) > return -EOPNOTSUPP; > > @@ -1790,7 +1795,8 @@ int mmc_erase(struct mmc_card *card, unsigned int from, unsigned int nr, > * identified by the card->eg_boundary flag. > */ > rem = card->erase_size - (from % card->erase_size); > - if ((arg & MMC_TRIM_ARGS) && (card->eg_boundary) && (nr > rem)) { > + if ((arg & MMC_TRIM_OR_DISCARD_ARGS) && (card->eg_boundary) && > + (nr > rem)) { Parenthesis are not needed around "card->eg_boundary)" nor "nr > rem" If you take them out, then the line doesn't need wrapping either. > err = mmc_do_erase(card, from, from + rem - 1, arg); > from += rem; > if ((err) || (to <= from)) > diff --git a/include/linux/mmc/mmc.h b/include/linux/mmc/mmc.h > index 9c50bc40f8ff..6f7993803ee7 100644 > --- a/include/linux/mmc/mmc.h > +++ b/include/linux/mmc/mmc.h > @@ -451,7 +451,7 @@ static inline bool mmc_ready_for_data(u32 status) > #define MMC_SECURE_TRIM1_ARG 0x80000001 > #define MMC_SECURE_TRIM2_ARG 0x80008000 > #define MMC_SECURE_ARGS 0x80000000 > -#define MMC_TRIM_ARGS 0x00008001 > +#define MMC_TRIM_OR_DISCARD_ARGS 0x00008003 > > #define mmc_driver_type_mask(n) (1 << (n)) >