Received: by 2002:ab2:7855:0:b0:1f9:5764:f03e with SMTP id m21csp210091lqp; Wed, 22 May 2024 02:05:10 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVrvXCl5na3HX4IxC+IpFY9dIDXyt7Og+HdcoLATFB6AqNDFGOKMYwXEZXja/DHIT/twb225fSbDKE2eqcxPPWX0NI+K96x3kELkPGEuQ== X-Google-Smtp-Source: AGHT+IETvsLN4v6XRpBv/A4NZ97RDYdiAuoer7WH+45U94mL9Fn4km7RaVoUrYcRNfHvVxvRG+fC X-Received: by 2002:a05:620a:b0f:b0:790:9dee:5ee5 with SMTP id af79cd13be357-7949940943cmr135890085a.2.1716368710343; Wed, 22 May 2024 02:05:10 -0700 (PDT) Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id af79cd13be357-7947d3c6ba6si906919385a.222.2024.05.22.02.05.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 May 2024 02:05:10 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-185967-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20230601 header.b=lBtN5xmN; arc=fail (body hash mismatch); spf=pass (google.com: domain of linux-kernel+bounces-185967-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-185967-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 0C67D1C20CB5 for ; Wed, 22 May 2024 09:05:10 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 175EF8060A; Wed, 22 May 2024 09:04:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="lBtN5xmN" Received: from mail-ua1-f53.google.com (mail-ua1-f53.google.com [209.85.222.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4AE188004F; Wed, 22 May 2024 09:04:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.53 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716368696; cv=none; b=byxMnhyNqYk+n6Pcec4bigp8c+Hdhc4ueS+fjQ/WIISLQky2d2odxuEjloSJCFIWQTY7Xf4C5mOVW0gHOBrahK11qBsXD9+rmSm9qz5kXWV04AkrnIH9fxcWFd363iNZ07IZfxbHpQ0MkzNyZ9CgTz6l0/SARck2YC1auC6CTc8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716368696; c=relaxed/simple; bh=hKGD0B1XptHj5DDxstCGsRvuPM4DAj9Ti4tf2s6Tphg=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=Fd6FLv+zPTurfYjph2M5v58mC8qFqyOZYRxjsnNcpXllUuh7wiCFJFOGh5hy14tA9BiuWHN2jGXYxTTgN8iNaJnAVAShCVwlPPs0sWL0RhLV230bCLVlMw0VR7dg9Zhf4/V5WaUoZGsgkGhEJz4UfrIo6JM6yBewkVhD7P9gvE4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=lBtN5xmN; arc=none smtp.client-ip=209.85.222.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-ua1-f53.google.com with SMTP id a1e0cc1a2514c-80312cb791dso189943241.3; Wed, 22 May 2024 02:04:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1716368693; x=1716973493; darn=vger.kernel.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=O4RV0VMfAMTyyv7ottk6RZJdLcA2zF+Qdq3qgEyF6xI=; b=lBtN5xmNSe+I6TVyovIG4cA+pM8y8GiUuECqMKUzan3kZNwf8SKsw8FewtdRJJCoxQ 3+GrwOgeJbCHfC/ezwDsc4OqDmo7x6TSj8lI9d/f8maV0gkKLEoRiScM7GDIVVpyr0Zt +N9EKnx+iTnOXZuCOpbfKxnCC9R//o8yf81Qs4QhmSozP0C3ld7XA4f5rS3KRHoE2eo2 Tn0RpGJYWMRypFf6aHzM9Ut97clyTWTm77F19yCKzgU5ZVljenKCahBPNZara0AWcAml M3RtHZv2G6lpuXPKCO1NLkC+UprJKY+xeBwCxJXdkEc1pudeJour+CLe9CRxTpWHWeyD df5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716368693; x=1716973493; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=O4RV0VMfAMTyyv7ottk6RZJdLcA2zF+Qdq3qgEyF6xI=; b=oqxvyAErKhOryxrGpP1EDmMlbE6OU3IGB5qDllGngtEIJIhe9U8LFygsiD0LUQ6cu+ 0aYG4OQ2aLYtTW7jGV1K+FqeMEyliNIHSkUkbL6PJvrIL1rjT1erp5foBCNr9ysM8NW9 qjA6SCNUvseI7/1I2mosCwVku8d3z+0eELdrY3Vk0fxjFitIhCvMEF/Amr72PuVcxmFx KpYH7+yrF1BULvtBcQ/UdBKP/E6iKMqXAj1Lx9sYvETVvUePyVy0vTeIt+OFA+rMWpDM Sc83jxyk2h2cGturEcCTZ1bwSCFh5ZmceeMn4fNtHe372R8stno/opNFJd3X6ZRyJpUC 5mAA== X-Forwarded-Encrypted: i=1; AJvYcCXr3Xmirv3fDHczUte4LOViG665l0iuAOtnU8Lk3zzNWOxwM6SXSKwaQv7RbEtU0JW9xMpd5vmLPo+CIgxpLCm7Plfi6GXvWgdadvLgrXB0/aD45ujFtHaW4GoE0oTDhP+SEpH3cTUE X-Gm-Message-State: AOJu0YyaqtEEOOwLiZKOpXEKRvEoprmMndcJL5rc8VABQyTaSGnmDOdN TnWoNTcrRDvxrDP9P03YUgJL5Do1v3tuNK0O6HlZz58UDT96pvz1wbEqKCmpp8pee9E0IytYVcw AR+e8tpsDu9z3Q3+9WonUWCfpkeg= X-Received: by 2002:a05:6102:419e:b0:47f:3955:9b6c with SMTP id ada2fe7eead31-489043fb003mr1335197137.15.1716368693056; Wed, 22 May 2024 02:04:53 -0700 (PDT) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20240123062827.8525-1-victorshihgli@gmail.com> <20240123062827.8525-17-victorshihgli@gmail.com> In-Reply-To: From: Victor Shih Date: Wed, 22 May 2024 17:04:40 +0800 Message-ID: Subject: Re: [PATCH V14 16/21] mmc: sdhci-uhs2: add request() and others To: Adrian Hunter Cc: ulf.hansson@linaro.org, linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org, benchuanggli@gmail.com, HL.Liu@genesyslogic.com.tw, Greg.tu@genesyslogic.com.tw, takahiro.akashi@linaro.org, dlunev@chromium.org, Ben Chuang , Victor Shih Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Jan 30, 2024 at 11:31=E2=80=AFPM Adrian Hunter wrote: > > On 23/01/24 08:28, Victor Shih wrote: > > From: Victor Shih > > > > This is a sdhci version of mmc's request operation. > > It covers both UHS-I and UHS-II. > > > > Signed-off-by: Ben Chuang > > Signed-off-by: AKASHI Takahiro > > Signed-off-by: Victor Shih > > --- > > > > Updates in V14: > > - Use mmc_card_uhs2() to stead sdhci_uhs2_mode() in the > > sdhci_uhs2_request(). > > > > Updates in V13: > > - Re-order function to avoid declaration. > > - Remove unnecessary function. > > > > Updates in V11: > > - Drop the check mmc_card_uhs2_hd_mode(host->mmc) > > in sdhci_uhs2_set_transfer_mode(). > > > > Updates in V10: > > - Use tmode_half_duplex to instead of uhs2_tmode0_flag > > in sdhci_uhs2_set_transfer_mode(). > > > > Updates in V9: > > - Modify the annotations in __sdhci_uhs2_send_command(). > > > > Updates in V8: > > - Adjust the position of matching brackets in > > sdhci_uhs2_send_command_retry(). > > - Modify CameCase definition in __sdhci_uhs2_finish_command(). > > - Modify error message in __sdhci_uhs2_finish_command(). > > - sdhci_uhs2_send_command_retry() to instead of sdhci_uhs2_send_comman= d() > > in sdhci_uhs2_request(). > > - Use sdhci_uhs2_mode() to simplify code in sdhci_uhs2_request_atomic(= ). > > - Add forward declaration for sdhci_send_command(). > > > > Updates in V7: > > - Cancel export state of some functions. > > - Remove unnecessary whitespace changes. > > > > Updates in V6: > > - Add uhs2_dev_cmd() to simplify code. > > - Remove unnecessary functions. > > - Cancel export state of some functions. > > - Drop use CONFIG_MMC_DEBUG(). > > - Wrap at 100 columns in some functions. > > > > --- > > > > drivers/mmc/host/sdhci-uhs2.c | 379 +++++++++++++++++++++++++++++++++- > > drivers/mmc/host/sdhci.c | 49 +++-- > > drivers/mmc/host/sdhci.h | 8 + > > 3 files changed, 420 insertions(+), 16 deletions(-) > > > > diff --git a/drivers/mmc/host/sdhci-uhs2.c b/drivers/mmc/host/sdhci-uhs= 2.c > > index 0c543899ed6c..b47bcf6f890f 100644 > > --- a/drivers/mmc/host/sdhci-uhs2.c > > +++ b/drivers/mmc/host/sdhci-uhs2.c > > @@ -14,6 +14,8 @@ > > #include > > #include > > #include > > +#include > > +#include > > > > #include "sdhci.h" > > #include "sdhci-uhs2.h" > > @@ -29,6 +31,8 @@ > > #define UHS2_INTERFACE_DETECT_TIMEOUT_100MS 100000 > > #define UHS2_LANE_SYNC_TIMEOUT_150MS 150000 > > > > +#define UHS2_ARG_IOADR_MASK 0xfff > > + > > void sdhci_uhs2_dump_regs(struct sdhci_host *host) > > { > > if (!(mmc_card_uhs2(host->mmc))) > > @@ -63,6 +67,11 @@ EXPORT_SYMBOL_GPL(sdhci_uhs2_dump_regs); > > * = * > > \*********************************************************************= ********/ > > > > +static inline u16 uhs2_dev_cmd(struct mmc_command *cmd) > > +{ > > + return be16_to_cpu((__be16)cmd->uhs2_cmd->arg) & UHS2_ARG_IOADR_M= ASK; > > +} > > + > > static inline int mmc_opt_regulator_set_ocr(struct mmc_host *mmc, > > struct regulator *supply, > > unsigned short vdd_bit) > > @@ -140,7 +149,7 @@ static void sdhci_uhs2_set_power(struct sdhci_host = *host, unsigned char mode, un > > > > static u8 sdhci_calc_timeout_uhs2(struct sdhci_host *host, u8 *cmd_res= , u8 *dead_lock) > > { > > - /* timeout in us */ > > + /* timeout in us */#define UHS2_ARG_IOADR_MASK 0xfff > > Extraneous "#define UHS2_ARG_IOADR_MASK 0xfff" > > Hi, Adrian I will fix this issue in patch series v16. Please help review changes in patch series v16. Thanks, Victor Shih