From patchwork Wed Feb 26 22:04:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Griffin X-Patchwork-Id: 13993272 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B0F9FC021B8 for ; Wed, 26 Feb 2025 22:13:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=KTcDz5+Yk2Rd6PndDa6YwrNqhNuGseEibA7R+3Q+jN0=; b=p6ebqPdABNfT34Pk31exP1uibi qIbAJa+SUroPl+ywdMlsze6RK45XB7Vi0UGStGRKaM71SvdHut2+fciO4h52R/S/+5gKbCtcd8YGO RFMdN2hH8WLTl3Zhnu9olDCk5cIG2M7tzGX0AOqi0fyRmDAcglvO3lqukiIf4+Q934rEh5dzANRwh 3sJy3vPiKxuNFttpQPYaqqX/uS26d2UP2HsHar8o1sbPgPnv2DLBQ5tgkC9KMphVskRM/njvS13Ij aLbgNgAx2HTDO44hmIjbSzn26wZXcDPE6AecTeAViiG6ZD+Qx1dS139upXrgMwQ98ZquGtS5h8bJG /zATCA2Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tnPeJ-00000005Zdz-1Ytf; Wed, 26 Feb 2025 22:13:03 +0000 Received: from mail-pl1-x634.google.com ([2607:f8b0:4864:20::634]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tnPVv-00000005Y7l-1KdU for linux-arm-kernel@lists.infradead.org; Wed, 26 Feb 2025 22:04:24 +0000 Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-2233622fdffso4242175ad.2 for ; Wed, 26 Feb 2025 14:04:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1740607462; x=1741212262; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=KTcDz5+Yk2Rd6PndDa6YwrNqhNuGseEibA7R+3Q+jN0=; b=kiLT3VMYkj0RTOaVJ0lAFcSD96HOKydx6GOrl+nIP0i9qFAoe6I8UNFFWMxM0AL7dK Lsw//R40CjA4h9KeNkL/1yDoMPaB+jGgFh2+jWlKArA9OqpoabRbWX7mHrLdd+SwWrGh ufM6vc6Z0Wuz8YsnmqFMtgMeQ4H5a8Gk1z/eDURMFwnNVRnZi6w9XJfofOlO3NlSO2um MlkJY3l+IfzNT95DbX9lLlhAM6kJ7M0xiMN72zO7mVV8q20dKmX5yyl8ALKhfbmFnkP/ oRtIs5WxRm5JXb8oCj52Lfj0SShlZH35aEQcryCFyYL0N2pYIPuslKL6W+A569zOlkAu S1PQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740607462; x=1741212262; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KTcDz5+Yk2Rd6PndDa6YwrNqhNuGseEibA7R+3Q+jN0=; b=uaBmVWbDp9abRSPJ2jpnYqHCA0LeKG8FYTldK5G12Dc6a2nmGY9zCBpgPR+/juvTJW v8W60jSAVRJ0AcYp6u9AVSLyRQs8ciEgPYqnHdIJ3XlmIRBYcfRQ/4Ps8DQF6s7emwl9 HobxGn22nNJVjDGfWCw2SclRYTfSF3g9HLy7AjjOgRv4gfAY1M3cYyXUkbaEW9jm5Ba/ IaUGV50Q767l0XOoQkx/qWFyFqYFd0QeWg4VitZo6675tfpQWqAbv3FvRRhhBb5ynmwT A0gMLQ5F+nkBNnCYKpBJJTZQsYP5JWIQuD7UvCgfgTmGe2scw1rOL58QjSm1EOBwjBQY Z69Q== X-Forwarded-Encrypted: i=1; AJvYcCWahaoVDckASrDRb9tdBtfiyjKP73UuSp4RwOuX9+NUr5OqNhsB+1NhlZGXDkkawyehfU8Pq5na5B5EPeCZOATp@lists.infradead.org X-Gm-Message-State: AOJu0Ywgs9wVY3F8ThpAazTqeqdeKXXZW8Zb4o1es6+Jczu1+1sXW6Pz tzBiAWXV40+STtIhRbYZiysBiCnWOijRrtzOVO6atwoOQ3Q1sHvgqI6C12t4z4E= X-Gm-Gg: ASbGnct1yVMr7QE8WmNkAV7MJQd797ynB3yjAoXMUBhOALM6/s7gEUzAP+B7ViwEj8F je+9IZmNjner1bfuXNmTfu/SR9EsIzjtonQsGC1cHj4k6p1vk1UqxEJn75l+sfLx1B7JqzbP/sJ ZZ6++dDkLaMgmqkncXnrDwRiqLDPz3C1kIILBdIi/Z3Zd7ff+zXzXnCQKuz5wAE5ruHjSivp4SH x7ZirCgeNXngDNDIPGJlJ4t4AYApq8dy/PY903cgSXbZPhgaL6ySEdxjJBz9hkTft5FPEr/JULJ fl42ADKzP4gA2VQcq3j0aAicyPGtyMft45OsDZIicU/SYHpw7czxnc6z X-Google-Smtp-Source: AGHT+IGveFL5jaPvmaU/Mebx9uyRVH5JU7x/sn/aSccHmWkURMmnvFmqMMw5M5iqYS+8/nz1Dtqa6w== X-Received: by 2002:a17:902:dac3:b0:221:133:fcfb with SMTP id d9443c01a7336-22307b4bbcemr129932265ad.20.1740607462686; Wed, 26 Feb 2025 14:04:22 -0800 (PST) Received: from gpeter-l.roam.corp.google.com ([104.134.203.15]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22350534004sm1044145ad.252.2025.02.26.14.04.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Feb 2025 14:04:22 -0800 (PST) From: Peter Griffin To: alim.akhtar@samsung.com, James.Bottomley@HansenPartnership.com, martin.petersen@oracle.com, krzk@kernel.org Cc: linux-scsi@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, willmcvicker@google.com, tudor.ambarus@linaro.org, andre.draszik@linaro.org, ebiggers@kernel.org, bvanassche@acm.org, kernel-team@android.com, Peter Griffin Subject: [PATCH 1/6] scsi: ufs: exynos: ensure pre_link() executes before exynos_ufs_phy_init() Date: Wed, 26 Feb 2025 22:04:09 +0000 Message-ID: <20250226220414.343659-2-peter.griffin@linaro.org> X-Mailer: git-send-email 2.48.1.658.g4767266eb4-goog In-Reply-To: <20250226220414.343659-1-peter.griffin@linaro.org> References: <20250226220414.343659-1-peter.griffin@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250226_140423_354339_915A3A63 X-CRM114-Status: GOOD ( 12.33 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Ensure clocks are enabled before configuring unipro. Additionally move the pre_link() hook before the exynos_ufs_phy_init() calls. This means the register write sequence more closely resembles the ordering of the downstream driver. Signed-off-by: Peter Griffin --- drivers/ufs/host/ufs-exynos.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/ufs/host/ufs-exynos.c b/drivers/ufs/host/ufs-exynos.c index 13dd5dfc03eb..cd750786187c 100644 --- a/drivers/ufs/host/ufs-exynos.c +++ b/drivers/ufs/host/ufs-exynos.c @@ -1049,9 +1049,14 @@ static int exynos_ufs_pre_link(struct ufs_hba *hba) exynos_ufs_config_intr(ufs, DFES_DEF_L4_ERRS, UNIPRO_L4); exynos_ufs_set_unipro_pclk_div(ufs); + exynos_ufs_setup_clocks(hba, true, PRE_CHANGE); + /* unipro */ exynos_ufs_config_unipro(ufs); + if (ufs->drv_data->pre_link) + ufs->drv_data->pre_link(ufs); + /* m-phy */ exynos_ufs_phy_init(ufs); if (!(ufs->opts & EXYNOS_UFS_OPT_SKIP_CONFIG_PHY_ATTR)) { @@ -1059,11 +1064,6 @@ static int exynos_ufs_pre_link(struct ufs_hba *hba) exynos_ufs_config_phy_cap_attr(ufs); } - exynos_ufs_setup_clocks(hba, true, PRE_CHANGE); - - if (ufs->drv_data->pre_link) - ufs->drv_data->pre_link(ufs); - return 0; } From patchwork Wed Feb 26 22:04:10 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Griffin X-Patchwork-Id: 13993273 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 33C93C021B8 for ; Wed, 26 Feb 2025 22:14:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=zRep6X28Bs3ILjeWVZF3puW1Rh7I5vgNM7w/7EHKDA8=; b=Fey2CFf57sqUh5CECB5ia15SQ2 zpuG6hNUywdDBs+MF07xFU2xZVBeANx0CTpSvioKgjV9GYY8oGBmaa8lj9bCF5BrVnO3MOUi1Ro5v tNFAvfA0qWiqMHjAEzsDfQHDhEI4hzQByMV+7c0euPDHjEriP1BcdvV4UtXHTRFyWGvk41MzYEcIS pCSxV6ZxThtwQnGGgkHeDTv/3QOegEd3p3235UwW3c38nNPTxcLTY2ADW2AefSC4ELV4sfQ97X24Z CcuAPZO1xpTkP/YKOaETfniKZ3XzCbOtX5K6wYVJ1xG79SmYK6JTvMdTNBeVmgoNOcD+xUAIUMH9+ 2viGSWQw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tnPfo-00000005ZyY-06dT; Wed, 26 Feb 2025 22:14:36 +0000 Received: from mail-pl1-x633.google.com ([2607:f8b0:4864:20::633]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tnPVx-00000005Y8T-0yRW for linux-arm-kernel@lists.infradead.org; Wed, 26 Feb 2025 22:04:26 +0000 Received: by mail-pl1-x633.google.com with SMTP id d9443c01a7336-220ecbdb4c2so5380445ad.3 for ; Wed, 26 Feb 2025 14:04:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1740607464; x=1741212264; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=zRep6X28Bs3ILjeWVZF3puW1Rh7I5vgNM7w/7EHKDA8=; b=YUW5Pkmu1FIV1UsNM+E5tmJbzKbB5F2SJdIn4+RcaHQezdlCG4HzgvvMrpiqRzIam0 zNXZsZNsQ+Ufro8cZf1gjIQoheffCMFXujOC+C6WBuFLRmAC1qQclvFpi/a0pJ7zcB7p SEwew9uPxxr/kCQN5bXgDzthstvk4p0BL8uyK6dbnDxgvCvSJ2P7GedNRFo/Ty4HGsCJ qDKA6lxsQBnuDHto5st5LJQV6ealSjyOWXeonbDK3H/lXUDSpV91H6YLbWchbLwDWEZk lI59c0rkd2aplBgb/F7Na9ymZTUPnFWgygJFC6a6ncNVS3afDHDYuaqns/IrubgC0bvM mrtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740607464; x=1741212264; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zRep6X28Bs3ILjeWVZF3puW1Rh7I5vgNM7w/7EHKDA8=; b=jm6hp57b0ROHMXvhhOTR8jjzRmHqVc0m9iHpTH/X/JAhvxdhkufjit8femgH9NX5/z hVmI6SBDC7arDg2mHBkawJlAcTp7Teji1HJ6yyze316UFraqRgnlrtgsyzaozi/Y3SJ5 pDJk539e5S7axrnR9h20hidLcSSaqeMeJLyyViHxqxDLDnU8KOMBYy8OhlVfV1ZWl5Q2 4JKlfsi+3uREjER+tFqc8JULypVdLLUecXwkF7ZfgcIOyXuHKRbP2yEcQKivX9T/GW1W zNH2PirzqZQYGVBLdQ5xWURXCA+oZV7a0n0Q4N3b44y82FguSVB+v33rbV3WUpbQHqZT oXOA== X-Forwarded-Encrypted: i=1; AJvYcCWJjCKQQviGQCluj9H4BXr7El7dNw7D8bDHW4aDB/fxDk1n7JEmgd9QoiRRoYAHyRfyObO+tIzGSbspRFhrnZ3F@lists.infradead.org X-Gm-Message-State: AOJu0YxXwpHNzV3cNBnpTSyzaQOI4N4xydxpBmki8j0CrPUpoVBki0sx Dlm5mHhjxTQArHOdn1ViMY2qcQLyBP15MPrUJHAn/fAxL7ib21X5YZeCBoUPuCwZvB8D+oPTvcj PzVM= X-Gm-Gg: ASbGnctc4AlbJsZzju9uw1xg+mLS0mj6b5BPiMh+biwa0hstnc08YCgPuLRQKjQYWl+ aH/n95MiqzzAtmt5qknkuNbXyDmYVXixICZadNuN2mecfClZD/vJEkYmw/z6EiZudR5EV5KQcA9 8gmbb6/PV2BoBfTZzM+WdYD6SM4mTws+P1r7O7bq+ozBqHP5bWCbWxJfERZ+qgk9QZ+bKPPqAPv GTWfkzWf34bUkEVqIlesUjurPTfxcrLiQnsbolA6s5wPApSResop2cphWVzciJwumk/pWb0cI1V T7APoEqELEMExPt24lQ+NLoAG13rSeCPSszXOZi0lVzRMuWsGmHnj09B X-Google-Smtp-Source: AGHT+IEP9WBpfwUfNjcEv64MqjMjEFYBNBNT2/2tSm8WD1uShhaDmBPXB0CLzQORfjn3hNPrTtyIxQ== X-Received: by 2002:a17:902:e752:b0:223:397f:46be with SMTP id d9443c01a7336-223397f4a55mr41038145ad.47.1740607464373; Wed, 26 Feb 2025 14:04:24 -0800 (PST) Received: from gpeter-l.roam.corp.google.com ([104.134.203.15]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22350534004sm1044145ad.252.2025.02.26.14.04.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Feb 2025 14:04:24 -0800 (PST) From: Peter Griffin To: alim.akhtar@samsung.com, James.Bottomley@HansenPartnership.com, martin.petersen@oracle.com, krzk@kernel.org Cc: linux-scsi@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, willmcvicker@google.com, tudor.ambarus@linaro.org, andre.draszik@linaro.org, ebiggers@kernel.org, bvanassche@acm.org, kernel-team@android.com, Peter Griffin , stable@vger.kernel.org Subject: [PATCH 2/6] scsi: ufs: exynos: move ufs shareability value to drvdata Date: Wed, 26 Feb 2025 22:04:10 +0000 Message-ID: <20250226220414.343659-3-peter.griffin@linaro.org> X-Mailer: git-send-email 2.48.1.658.g4767266eb4-goog In-Reply-To: <20250226220414.343659-1-peter.griffin@linaro.org> References: <20250226220414.343659-1-peter.griffin@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250226_140425_268506_B8A358B1 X-CRM114-Status: GOOD ( 14.79 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org gs101 IO coherency shareability bits differ from exynosauto SoC. To support both SoCs move this info the SoC drvdata. Currently both the value and mask are the same for both gs101 and exynosauto, thus we use the same value. Signed-off-by: Peter Griffin Fixes: d11e0a318df8 ("scsi: ufs: exynos: Add support for Tensor gs101 SoC") Cc: stable@vger.kernel.org --- drivers/ufs/host/ufs-exynos.c | 20 ++++++++++++++------ drivers/ufs/host/ufs-exynos.h | 2 ++ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/drivers/ufs/host/ufs-exynos.c b/drivers/ufs/host/ufs-exynos.c index cd750786187c..a00256ede659 100644 --- a/drivers/ufs/host/ufs-exynos.c +++ b/drivers/ufs/host/ufs-exynos.c @@ -92,11 +92,16 @@ UIC_TRANSPORT_NO_CONNECTION_RX |\ UIC_TRANSPORT_BAD_TC) -/* FSYS UFS Shareability */ -#define UFS_WR_SHARABLE BIT(2) -#define UFS_RD_SHARABLE BIT(1) -#define UFS_SHARABLE (UFS_WR_SHARABLE | UFS_RD_SHARABLE) -#define UFS_SHAREABILITY_OFFSET 0x710 +/* UFS Shareability */ +#define UFS_EXYNOSAUTO_WR_SHARABLE BIT(2) +#define UFS_EXYNOSAUTO_RD_SHARABLE BIT(1) +#define UFS_EXYNOSAUTO_SHARABLE (UFS_EXYNOSAUTO_WR_SHARABLE | \ + UFS_EXYNOSAUTO_RD_SHARABLE) +#define UFS_GS101_WR_SHARABLE BIT(1) +#define UFS_GS101_RD_SHARABLE BIT(0) +#define UFS_GS101_SHARABLE (UFS_GS101_WR_SHARABLE | \ + UFS_GS101_RD_SHARABLE) +#define UFS_SHAREABILITY_OFFSET 0x710 /* Multi-host registers */ #define MHCTRL 0xC4 @@ -210,7 +215,7 @@ static int exynos_ufs_shareability(struct exynos_ufs *ufs) if (ufs->sysreg) { return regmap_update_bits(ufs->sysreg, ufs->shareability_reg_offset, - UFS_SHARABLE, UFS_SHARABLE); + ufs->shareability, ufs->shareability); } return 0; @@ -1193,6 +1198,7 @@ static inline void exynos_ufs_priv_init(struct ufs_hba *hba, { ufs->hba = hba; ufs->opts = ufs->drv_data->opts; + ufs->shareability = ufs->drv_data->shareability; ufs->rx_sel_idx = PA_MAXDATALANES; if (ufs->opts & EXYNOS_UFS_OPT_BROKEN_RX_SEL_IDX) ufs->rx_sel_idx = 0; @@ -2034,6 +2040,7 @@ static const struct exynos_ufs_drv_data exynosauto_ufs_drvs = { .opts = EXYNOS_UFS_OPT_BROKEN_AUTO_CLK_CTRL | EXYNOS_UFS_OPT_SKIP_CONFIG_PHY_ATTR | EXYNOS_UFS_OPT_BROKEN_RX_SEL_IDX, + .shareability = UFS_EXYNOSAUTO_SHARABLE, .drv_init = exynosauto_ufs_drv_init, .post_hce_enable = exynosauto_ufs_post_hce_enable, .pre_link = exynosauto_ufs_pre_link, @@ -2135,6 +2142,7 @@ static const struct exynos_ufs_drv_data gs101_ufs_drvs = { .opts = EXYNOS_UFS_OPT_SKIP_CONFIG_PHY_ATTR | EXYNOS_UFS_OPT_UFSPR_SECURE | EXYNOS_UFS_OPT_TIMER_TICK_SELECT, + .shareability = UFS_GS101_SHARABLE, .drv_init = gs101_ufs_drv_init, .pre_link = gs101_ufs_pre_link, .post_link = gs101_ufs_post_link, diff --git a/drivers/ufs/host/ufs-exynos.h b/drivers/ufs/host/ufs-exynos.h index 9670dc138d1e..78bd13dc2d70 100644 --- a/drivers/ufs/host/ufs-exynos.h +++ b/drivers/ufs/host/ufs-exynos.h @@ -181,6 +181,7 @@ struct exynos_ufs_drv_data { struct exynos_ufs_uic_attr *uic_attr; unsigned int quirks; unsigned int opts; + u32 shareability; /* SoC's specific operations */ int (*drv_init)(struct exynos_ufs *ufs); int (*pre_link)(struct exynos_ufs *ufs); @@ -231,6 +232,7 @@ struct exynos_ufs { const struct exynos_ufs_drv_data *drv_data; struct regmap *sysreg; u32 shareability_reg_offset; + u32 shareability; u32 opts; #define EXYNOS_UFS_OPT_HAS_APB_CLK_CTRL BIT(0) From patchwork Wed Feb 26 22:04:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Griffin X-Patchwork-Id: 13993275 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B8F29C021B8 for ; Wed, 26 Feb 2025 22:16:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=kqQVvrSG700cJ8ivAGfcs4D2QICVIKls7c2wPxYXgmg=; b=vYhx8C2oOjHVRYOOO5B/5h6cn4 w/kHU6JorkbrHXAn4/QcbQi4liB2Yy6aAgtFwwRHjGR1ibqSnbZBM8r+vAflsyPgwPwPo9XCRzDIE jXT3gVjupin6py4MBCPwTGBj5Tqbgb92+3koJbofy9mFKscfoFHh0CIDuWD8Mu8mANzybJrO+JBw9 lQ87nWPw61wjv8O9xwyPMVshyoUqZueaowxJEEhUes8Ys4/7Xz/HAPXGPPe6wOCN86uoyuLFObFom x4bc2IoGS/bxxkhrkvrlC0GgZhRY18P1wZLmv0IgS5jZuTm8EnI9kk+YQy+XWlG5J4/QI5Lvtdcft y0coGHWQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tnPhJ-00000005aBH-30Ty; Wed, 26 Feb 2025 22:16:09 +0000 Received: from mail-pl1-x62f.google.com ([2607:f8b0:4864:20::62f]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tnPVy-00000005Y8r-2mFP for linux-arm-kernel@lists.infradead.org; Wed, 26 Feb 2025 22:04:27 +0000 Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-220e6028214so5195375ad.0 for ; Wed, 26 Feb 2025 14:04:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1740607466; x=1741212266; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=kqQVvrSG700cJ8ivAGfcs4D2QICVIKls7c2wPxYXgmg=; b=ekr7bUB5HNfX6xK0y+LIWBsZhnl9rT46gISPO8nPrsIte1+GcbOpsszFy7Cl2ubFvB eJzmLVyJYAY0grtvUO0KyfikJEAFDF5JJ7QPk5zSSlM14UQP+elaimVYnpWV9mZVSfyJ IhZytJyd9YUJpDJO85CEmGYfL2SF7Voq5pugkyc/c+a1bd9ZRkyVoUhrBKE5cIY7aA5l 6LhNjIZSc2rndUqdlCGwyTwHzsvyuhnFyw69aPoLWBJUzDGdLd5AdBscnVQRi3rvA3RA 67CFp8lFAYHXqr8gXkMpspDIU0OWzrBB1T3vjbHpLr3zG3WFtrjnOnEsqXKAPL3+cp5l T6FQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740607466; x=1741212266; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kqQVvrSG700cJ8ivAGfcs4D2QICVIKls7c2wPxYXgmg=; b=exaWSyypbyUNsSWJSt6VnQKQ6vtlyzvSVWmRVRZrb4aXgWFo7UMMDj8jP5E1TItw1y o4H7Za9j6eeEcyQHLQj4TWh2bjHGdN50CseYTTFWlM10f5aYq55LhO3ZOlytSfEqCu+d pCE1R8Z64S1DnxrlCfyEaEGsm7FWQzTWkmfbXfJ1W1CGCUWAVN5Zw+rtvFlRhHquRvZo WiGZbsqTlttMgt7R1qgfouIOE6Y9pqBE0FPU6TmLLa5IxVLh7loq/hyEoWq3LHCUQnCw jwPDTfX6fuRZANZWkXq80AxOQZjemvpa8haq5W0JVgLXsExBaf97OVcPdndZpl40Tpv7 NdMg== X-Forwarded-Encrypted: i=1; AJvYcCU+MDqRCYhY/aCNZcPM/5YOEd8rrBemwvo+4dM5CJ12KssLJ0YLri/erUJr+bnR+l+uEN3He7UlRWNaWDBLbO7i@lists.infradead.org X-Gm-Message-State: AOJu0YzHDnstVMHByFmaBDL2btWSJ8irr7cRBhYR/1zkmOjJwFF3++7k FJYi/eE2M5VLSjt64sRoYSR/0lQGoYqqunkSaKsTDva5gQwc9FSiHGo9/h/rUrQ= X-Gm-Gg: ASbGncsX5jeLCxqhQoKnqJEMJPHFhcqe3cqHLOjEz5OU3WbP3ddo9kz+RR9Q0bPzuT4 sDHUOT++RoaESctZtB95GWyfN/ROMFGCvlw0lIY+67IKkMhpcnguqp/HX9dmO1kpNxY4p4xzahq +bHjkK+TzOu6/dThvTWb5rW42zJCfeNs0f7n/Hb67TLO5j803eYoVF78yaT0A0VR7ddf8X3n4DJ ZzChd7D1+3W+saISosXRma7xUjlk9qldVvVScSlNR2lAR2GCYdmLRx9IAeIVQ29wujjD8ZtUi47 Qm4fTSHQ+ie/SAXm14p70+QepOu5e7d7wHXGhfcJw0jN8pEsIOOgesyB X-Google-Smtp-Source: AGHT+IH0ey8eRCvxcHgsNYYNwiwm9i82ds1xLg6pyL6Gx4FmTSqN0nYi+iPEnmvAXppRtAVsCj9cLA== X-Received: by 2002:a17:902:f68c:b0:223:501c:7576 with SMTP id d9443c01a7336-223501c75e9mr6151485ad.12.1740607466019; Wed, 26 Feb 2025 14:04:26 -0800 (PST) Received: from gpeter-l.roam.corp.google.com ([104.134.203.15]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22350534004sm1044145ad.252.2025.02.26.14.04.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Feb 2025 14:04:25 -0800 (PST) From: Peter Griffin To: alim.akhtar@samsung.com, James.Bottomley@HansenPartnership.com, martin.petersen@oracle.com, krzk@kernel.org Cc: linux-scsi@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, willmcvicker@google.com, tudor.ambarus@linaro.org, andre.draszik@linaro.org, ebiggers@kernel.org, bvanassche@acm.org, kernel-team@android.com, Peter Griffin Subject: [PATCH 3/6] scsi: ufs: exynos: ensure consistent phy reference counts Date: Wed, 26 Feb 2025 22:04:11 +0000 Message-ID: <20250226220414.343659-4-peter.griffin@linaro.org> X-Mailer: git-send-email 2.48.1.658.g4767266eb4-goog In-Reply-To: <20250226220414.343659-1-peter.griffin@linaro.org> References: <20250226220414.343659-1-peter.griffin@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250226_140426_698850_2CBF474A X-CRM114-Status: GOOD ( 11.26 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org ufshcd_link_startup() can call ufshcd_vops_link_startup_notify() multiple times when retrying. This causes the phy reference count to keep increasing and the phy to not properly re-initialize. If the phy has already been previously powered on, first issue a phy_power_off() and phy_exit(), before re-initializing and powering on again. Signed-off-by: Peter Griffin --- drivers/ufs/host/ufs-exynos.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/ufs/host/ufs-exynos.c b/drivers/ufs/host/ufs-exynos.c index a00256ede659..943cea569f66 100644 --- a/drivers/ufs/host/ufs-exynos.c +++ b/drivers/ufs/host/ufs-exynos.c @@ -962,6 +962,12 @@ static int exynos_ufs_phy_init(struct exynos_ufs *ufs) } phy_set_bus_width(generic_phy, ufs->avail_ln_rx); + + if (generic_phy->power_count) { + phy_power_off(generic_phy); + phy_exit(generic_phy); + } + ret = phy_init(generic_phy); if (ret) { dev_err(hba->dev, "%s: phy init failed, ret = %d\n", From patchwork Wed Feb 26 22:04:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Griffin X-Patchwork-Id: 13993276 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 85235C021B8 for ; Wed, 26 Feb 2025 22:17:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=gWTKjOPYHYbBCUgjwCQAeP5e/oUzLq3t7mP4ZZ5O21s=; b=GjaLmqBcds3T5D/9Ce2suRzkwg ZlxK1KLG9YB6oDtKhVIKyElDuIigngh36RUmcM5pLymVZhv8ZY6oX2eMUXg8ocKu/Rm0ouGHuX6F7 9BA84cjpaPlfzELFWk9ND/IfOYRLGIbItrZ5mj2HtHBC5a3f7HubRbNcTMm9WhngYzi/YzUIJsF4r EN2W5aVORYnFeUSST0setYRBtDzjVewOIpvdhdrcxU9dWKMldASte8yBG9fwZrAZ0nbxfSKcsNJ0H 9AjB5I86SiWLiSUj33Wh+5h3QSHSbnOPM6ZuurUdP0sHON5WYw1dyayGL1fJoxjNgiXDdt6aK4oRi XrvbGVew==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tnPio-00000005aNY-1XWG; Wed, 26 Feb 2025 22:17:42 +0000 Received: from mail-pl1-x634.google.com ([2607:f8b0:4864:20::634]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tnPW0-00000005Y9W-0aCN for linux-arm-kernel@lists.infradead.org; Wed, 26 Feb 2025 22:04:29 +0000 Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-220d132f16dso3394005ad.0 for ; Wed, 26 Feb 2025 14:04:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1740607467; x=1741212267; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=gWTKjOPYHYbBCUgjwCQAeP5e/oUzLq3t7mP4ZZ5O21s=; b=Wngst1qaazk8U6+HiT9PSegZKLZf+IOyJ+bQbDI4DdVv3/TQUFMvE9ztGXepElQZVv kUeHrmiR9nYQgG9xoyRjZjKA1ZOeMTWx67e4S6VRpBLO5L40y90ZusYmpHvM+l00tfyS buk1Ty5j2xDaE3CBdnxvBjVCJO1+uxkhaInxQmwHroP2d6F87IHvB04DdWiWKcwRRgJe tqoE0mMuz+g+Wr1Zap+H/pnbazWLgp4LQvmGln+cRG2rPryxtT2u4NZURfArn93AHefM 45eQ5l8cGmx+X/Tu/oMp6N709Gej3eUFaO7ZAguCR4Gu3glFyscaZWul6Ov/ZppFKMr9 cqGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740607467; x=1741212267; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gWTKjOPYHYbBCUgjwCQAeP5e/oUzLq3t7mP4ZZ5O21s=; b=rFjWQvS66C5E6ol2dDa0ScAGL5U5er7SXkKw3olwsEk2Kd7n19PMRgjorjbRhhmN9J FiJuqb/+iGhEIMVc8g2vtUV2Ipa8h24y/JmnOn3fFUVYWkvO6Nli8Jbl3rMT5bHW77gB NSQAZW/8QRVRayUW+reDnv+EZd1camNRoqLAm1gYNyf06at1aJGluhA5UVp8qvDi3VfL eLbL+KIuDF0tE9hIAL/GHi+nxgoQKjcGelvGXbwVEwo+CwniHQ6E0cKK717KcIsMuoU5 1je37PKrEjWzgha3HSBkc2Jj/2tx83wylUJTdBTYM5AoLn2BleZrSfTCcHF8gAwAJVvK bvKw== X-Forwarded-Encrypted: i=1; AJvYcCU89v8/ojLqQsCoDM0G9+zoew31cnuZEiJHYi57RRN02Hc6+7qts3cBSfsa8xwuRmBN81Tkp/rtZLIUEgLFZulM@lists.infradead.org X-Gm-Message-State: AOJu0Yzj98lvhLu4ntCCcaYjcMjYTheh/v+k9I9AUZAFMNDZNGDYLn2H gj62IVN7w0R4URrjVRoreOvFroL9HPtHi2JZ+kRojiX/H6FH57c3h37TwbQATbY= X-Gm-Gg: ASbGncsFA/qaJvmNDVtCWTwcQGco3Ul7goRuP4f0ET/rfFXOTpm66fH2onRLcELe4ju IPlOdeyhDUHgIuiNdMhHYKwe+f2ZYBRVUXH1nElK0mk1EdK8Smhm+QhBBRQiHZgA9z7xLyTVGqO kCdKn3WH7yhQ5awAiUYAEj4M8nLJx8z46Eb8Igldy0ngN3p1v7TIHS00YvhjP+2p/AJNiI7oqrS ahl3q0IemzVbh7dSdX+XS6J5p/g4ITPc1QOHaobZo2LRjzcTtmnC6lhzAo+vAc6eoxX7l+JFyPW HwCgrmOpfVqfMY+CPByUe67a2xy48upoB9pEdKbee9dcJAHYGblAlNRm X-Google-Smtp-Source: AGHT+IGCx2oLKcB5bpzVlnTDWzwAr4Blf9QYoJQocatHQosYv1is1Be436vWJXS8IWNGbLlM5P64xQ== X-Received: by 2002:a17:902:dac5:b0:220:d439:2485 with SMTP id d9443c01a7336-22320094d51mr69995645ad.29.1740607467660; Wed, 26 Feb 2025 14:04:27 -0800 (PST) Received: from gpeter-l.roam.corp.google.com ([104.134.203.15]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22350534004sm1044145ad.252.2025.02.26.14.04.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Feb 2025 14:04:27 -0800 (PST) From: Peter Griffin To: alim.akhtar@samsung.com, James.Bottomley@HansenPartnership.com, martin.petersen@oracle.com, krzk@kernel.org Cc: linux-scsi@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, willmcvicker@google.com, tudor.ambarus@linaro.org, andre.draszik@linaro.org, ebiggers@kernel.org, bvanassche@acm.org, kernel-team@android.com, Peter Griffin Subject: [PATCH 4/6] scsi: ufs: exynos: Enable PRDT pre-fetching with UFSHCD_CAP_CRYPTO Date: Wed, 26 Feb 2025 22:04:12 +0000 Message-ID: <20250226220414.343659-5-peter.griffin@linaro.org> X-Mailer: git-send-email 2.48.1.658.g4767266eb4-goog In-Reply-To: <20250226220414.343659-1-peter.griffin@linaro.org> References: <20250226220414.343659-1-peter.griffin@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250226_140428_177055_D358C78C X-CRM114-Status: GOOD ( 10.95 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org PRDT_PREFETCH_ENABLE[31] bit should be set when desctype field of fmpsecurity0 register is type2 (double file encryption) or type3 (file and disk excryption). Setting this bit enables PRDT pre-fetching on both TXPRDT and RXPRDT. Signed-off-by: Peter Griffin --- drivers/ufs/host/ufs-exynos.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/ufs/host/ufs-exynos.c b/drivers/ufs/host/ufs-exynos.c index 943cea569f66..27eb360458a7 100644 --- a/drivers/ufs/host/ufs-exynos.c +++ b/drivers/ufs/host/ufs-exynos.c @@ -1098,12 +1098,17 @@ static int exynos_ufs_post_link(struct ufs_hba *hba) struct exynos_ufs *ufs = ufshcd_get_variant(hba); struct phy *generic_phy = ufs->phy; struct exynos_ufs_uic_attr *attr = ufs->drv_data->uic_attr; + u32 val = ilog2(DATA_UNIT_SIZE); exynos_ufs_establish_connt(ufs); exynos_ufs_fit_aggr_timeout(ufs); hci_writel(ufs, 0xa, HCI_DATA_REORDER); - hci_writel(ufs, ilog2(DATA_UNIT_SIZE), HCI_TXPRDT_ENTRY_SIZE); + + if (hba->caps & UFSHCD_CAP_CRYPTO) + val |= PRDT_PREFECT_EN; + hci_writel(ufs, val, HCI_TXPRDT_ENTRY_SIZE); + hci_writel(ufs, ilog2(DATA_UNIT_SIZE), HCI_RXPRDT_ENTRY_SIZE); hci_writel(ufs, (1 << hba->nutrs) - 1, HCI_UTRL_NEXUS_TYPE); hci_writel(ufs, (1 << hba->nutmrs) - 1, HCI_UTMRL_NEXUS_TYPE); From patchwork Wed Feb 26 22:04:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Griffin X-Patchwork-Id: 13993277 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id DE80DC19776 for ; Wed, 26 Feb 2025 22:19:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=1H5V/4krQO0tnwIPu67VnVVU8I6AEiTtxk+UIVEETD8=; b=D3pIrlBdVFD2xtTnayK75fT3f2 wvslr320Va3qir6C3ZS3m2rtzBu4JHv5vMq57Ld8zSmJAb3Veq60IKkcN7M5x0xhNtD8OE8idnPHx Q5ZkUFJkXta7f154O8W5Dy5aDGusAUQhm84/OeeS/5OIZD9Qe2kPpozcwXn0ha/HQuGVGapzEYIer dSZhfXOnaZHohVOipdOAXVwiSOo9ExaE2cERFW26Ev8haRFwga/ys31F0ztlsYNDgyxHjZj0fy/si H35DJoR2Vbd5uqQE8OSiIIZ8gs/jlgWy3TDWNXTVC0/xXzGrdykkPvIi5J1rHOIjqluEVPb7fM/0Q t3LqT3IQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tnPkK-00000005acA-0T7E; Wed, 26 Feb 2025 22:19:16 +0000 Received: from mail-pl1-x634.google.com ([2607:f8b0:4864:20::634]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tnPW1-00000005YAC-3MNr for linux-arm-kernel@lists.infradead.org; Wed, 26 Feb 2025 22:04:30 +0000 Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-220f4dd756eso4481785ad.3 for ; Wed, 26 Feb 2025 14:04:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1740607469; x=1741212269; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=1H5V/4krQO0tnwIPu67VnVVU8I6AEiTtxk+UIVEETD8=; b=weftFkvBGNR6S6ZYwLhJZCKNgkb5m/yMMCMuwxsFRMSh89v8XSs1oMF3D5tk60Ceqe y+P7XMsy4rcqhl52En11XZt2Y72LUJUZSX5NSRlWekoOVsQRT2qj2FFZQgZIjn9xyRum JcvI34jflkVjFzMORWB9QX9lTxtBSbaPAJRawKeCNLz+fhbVIURm+2jwrmMlMjmk9cRj sgXs0ltMei9ICC4oFW3r6S6+eSksKVmsLz41Tuy//bLN5PJ0WxkRYJ5rB81KYLR3nUth mWo8ZKBaP583p36QPNeC8jdrdRna40KWilQN9seJ6NPP3mKEQ+J2mVhm+qtIucI8FU1q /usw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740607469; x=1741212269; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1H5V/4krQO0tnwIPu67VnVVU8I6AEiTtxk+UIVEETD8=; b=IIlwW2OAjY9GsfM7j0IhBNT3djVWsg89xJyg/9q0bui7bPnZn4NnGPnZy8zpBD0hDW c6VvAKfU2GcTCJZ6RpjEsA0qg9FFAXk58taFHhZCZvy8uO1025XoStowT21eu1nTJIxj t1mOoxVHIAp1IIUMQLn62JyUeTuMAgE6VopgKa2VvlRWrepOtIHbmtVto2BZGQK7q0mh aVp/jABESWF7TjeWNNqCOn1X6qD8Hx+co1CpPQ9sA4TlmgtxARAxxjLIu0iKqnb2Nx6P /dD+wS4yD4FPHM+PvG/NVBkFFvEj+8zB3NMK+vng+uAY6Ds4qQC/oJNO0+XCudF7L733 u0Cw== X-Forwarded-Encrypted: i=1; AJvYcCVsNe/ICJTcP+/bsuYSdB4CNVoAaeBvBf0dvJXsinAGnbGzWLA/Qyedg/I1PndHnX18OTMDKs1NljOvofyH+rrV@lists.infradead.org X-Gm-Message-State: AOJu0Ywvy8qrUN7T8HDRwT3GtgrgqbgDEkEWXKiB/kZsuF9dVWY9c0Is sh2WQz16O6bbiirZy2y6wTwCqtISgXDJ+VFtZxMsp7IVaYzodpTTRnw6xwIa0jY= X-Gm-Gg: ASbGncscQT82nN07t8iWIHtzhpEXaWahoOmT9Ryuk5CslddVkg88XxGmTH3ynoFsEuj h29as/0tcystjCVfjtXqoLuH1gMS0rp1Sb3HTlcuiLhWQ1FRxp2+g4pvtuuPW2zP3v1T4YTDouM btW80mcHcVrRhgqfNw4oA2tBQjfg4iPbtp3yC0n3hnY/4iWHY9R0jsU867mSB0N7jrX5S1RnEqV IpDLLNeF0H1ahVAMaqhkdvyQI33LCfTbt0hHDB/fs5zeuvbiiECUPx3BRv1pt1XdYdfMgxmkQQ8 4QGHdtWAVqDyWJZ8gIL5gXqduPp0AyzoYnNh4S7T0O4IcbYsvtY1PzdF X-Google-Smtp-Source: AGHT+IECzNts0Mtu5VbZUxztS2HO/B6nm80SgninqK7JKlelTupDcduJXw38Hys3XginT6lu7IkrHA== X-Received: by 2002:a17:903:2348:b0:216:53fa:634f with SMTP id d9443c01a7336-22307e78babmr138892345ad.48.1740607469342; Wed, 26 Feb 2025 14:04:29 -0800 (PST) Received: from gpeter-l.roam.corp.google.com ([104.134.203.15]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22350534004sm1044145ad.252.2025.02.26.14.04.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Feb 2025 14:04:29 -0800 (PST) From: Peter Griffin To: alim.akhtar@samsung.com, James.Bottomley@HansenPartnership.com, martin.petersen@oracle.com, krzk@kernel.org Cc: linux-scsi@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, willmcvicker@google.com, tudor.ambarus@linaro.org, andre.draszik@linaro.org, ebiggers@kernel.org, bvanassche@acm.org, kernel-team@android.com, Peter Griffin Subject: [PATCH 5/6] scsi: ufs: exynos: Move phy calls to .exit() callback Date: Wed, 26 Feb 2025 22:04:13 +0000 Message-ID: <20250226220414.343659-6-peter.griffin@linaro.org> X-Mailer: git-send-email 2.48.1.658.g4767266eb4-goog In-Reply-To: <20250226220414.343659-1-peter.griffin@linaro.org> References: <20250226220414.343659-1-peter.griffin@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250226_140429_836908_E37C6D99 X-CRM114-Status: GOOD ( 13.67 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org ufshcd_pltfrm_remove() calls ufshcd_remove(hba) which in turn calls ufshcd_hba_exit(). By moving the phy_power_off() and phy_exit() calls to the newly created .exit callback they get called by ufshcd_variant_hba_exit() before ufshcd_hba_exit() turns off the regulators. This is also similar flow to the ufs-qcom driver. Signed-off-by: Peter Griffin --- drivers/ufs/host/ufs-exynos.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/drivers/ufs/host/ufs-exynos.c b/drivers/ufs/host/ufs-exynos.c index 27eb360458a7..4c3e03a3b8d9 100644 --- a/drivers/ufs/host/ufs-exynos.c +++ b/drivers/ufs/host/ufs-exynos.c @@ -1513,6 +1513,15 @@ static int exynos_ufs_init(struct ufs_hba *hba) return ret; } +static void exynos_ufs_exit(struct ufs_hba *hba) +{ + struct exynos_ufs *ufs = ufshcd_get_variant(hba); + + phy_power_off(ufs->phy); + phy_exit(ufs->phy); +} + + static int exynos_ufs_host_reset(struct ufs_hba *hba) { struct exynos_ufs *ufs = ufshcd_get_variant(hba); @@ -1968,6 +1977,7 @@ static int gs101_ufs_pre_pwr_change(struct exynos_ufs *ufs, static const struct ufs_hba_variant_ops ufs_hba_exynos_ops = { .name = "exynos_ufs", .init = exynos_ufs_init, + .exit = exynos_ufs_exit, .hce_enable_notify = exynos_ufs_hce_enable_notify, .link_startup_notify = exynos_ufs_link_startup_notify, .pwr_change_notify = exynos_ufs_pwr_change_notify, @@ -2006,13 +2016,7 @@ static int exynos_ufs_probe(struct platform_device *pdev) static void exynos_ufs_remove(struct platform_device *pdev) { - struct ufs_hba *hba = platform_get_drvdata(pdev); - struct exynos_ufs *ufs = ufshcd_get_variant(hba); - ufshcd_pltfrm_remove(pdev); - - phy_power_off(ufs->phy); - phy_exit(ufs->phy); } static struct exynos_ufs_uic_attr exynos7_uic_attr = { From patchwork Wed Feb 26 22:04:14 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Griffin X-Patchwork-Id: 13993278 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9EFDAC021B8 for ; Wed, 26 Feb 2025 22:20:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=ZVSwZvqHp4KclUxAlGtZReiZmGLJRUAId7nnJAavdso=; b=EuWV1BZOrohniv8rFtem8/4i0/ k36PQv9S/vOUjJ/kRBcSB12bUhH+Uljbu8Zwj49m5RMaOJStTEZLf1MUJ19NUC5jOZpd4IQKBA+Fj JiEr5adbJWphVIFrnnn054EKeet5Xb7t36vExI70fsjr4vRJVgyx8pL3Ib0eVDWcehJeix1AzfR94 2cbBuzvnH4jOjBumVdp4ruK1GrIgmdduLsHa5BPZu2fiFURuuMyC9om0Nf70YbMrNIOKFm/qs0Od7 X+7g/xanoAOajapL2SCLFshobGYbhec9f55sWIR/ksZRNw9Bw1XGxXN62qpsu/JNRhBKfGZObdBlo bx5whBCA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tnPlp-00000005aoY-3C8g; Wed, 26 Feb 2025 22:20:49 +0000 Received: from mail-pl1-x633.google.com ([2607:f8b0:4864:20::633]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tnPW4-00000005YAp-0HB2 for linux-arm-kernel@lists.infradead.org; Wed, 26 Feb 2025 22:04:33 +0000 Received: by mail-pl1-x633.google.com with SMTP id d9443c01a7336-223480ea43aso5837895ad.1 for ; Wed, 26 Feb 2025 14:04:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1740607471; x=1741212271; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ZVSwZvqHp4KclUxAlGtZReiZmGLJRUAId7nnJAavdso=; b=gHDWjI1BL7G18W4Yu2PEUILaGOE7WdUXKjUBA5MdoZTkl70rz8OSHon5ae1FYqAvZg 7qm6GPUDfgc8IbH5SIYWTZo2mKD8f9QvrKVPaAzgNQjN2pDLCFG4wVVFMiyZDCwLZYpD ygae1NdPx69mh/e+cqV21pM9qoTxOIHjgItWAzYkVqrGIVs/BhYx/uLClYT3XlNKu0Ey cO2AvKRxHEy8WXs3OmnMLZ7f0i2vbd47f3QMS45lLTSUJQjGUl8AJI/K9OXOR6fj2iUi 9Uc9Hro7yX3tXuG30EnJl5QLC6mSgkSCJFNP4vdFO0jqg4C5bdFXxX2nkFvZz0r5Cjm9 48iw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740607471; x=1741212271; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZVSwZvqHp4KclUxAlGtZReiZmGLJRUAId7nnJAavdso=; b=JD/HYkhBxqMHhpejy6D0VjILhG34KAH1PsgvvbH6gMoM4UROkcIzC0pRLA3rxd94jX 3vJ5daJ/DV93SduuSIvzb472qAAvKJjVRiBAk/wTVvwjRmpUYg2evKjMi2Syzc0BRJGq xnm6U6pXKyLxltuLJUPEUfBGNGuW4iDj75vxkyLbx3gZpgTSFJCQLtbxbFfBD9Cm72x6 7rJ7Teos2vIS8vyhkZ8eMhxIdm1rnliDOajAcUliGfpllHBKqGj/nIRblnrsa247keZY BV2F4EedE9tpRJLYWXHE/YJN8NZINVxZqQJXLL45supPI2hpHdZUr6mgH6SUc8Cj/HDQ fsow== X-Forwarded-Encrypted: i=1; AJvYcCWb8elJuBmbaAp+iYCncmowg2KGhxruGMFdKSk6TV7nyLcBdLqS1oc+PszAnm64nBb0oTt47eGycQMTXVAV0nTH@lists.infradead.org X-Gm-Message-State: AOJu0Yz8d/JeHk3Yuld77s8fIh6RCKcMLNwHAF9X6kcRSQKp9bOWOQcn +bHdqxnjv3f2o23SGB1IqBgOhiLefiwFUNZENDKEfkDf5gG2A8OZoHdczBPakE0= X-Gm-Gg: ASbGnct3YLeTg+gXeFGANPue3JDLrSECAmBgGEdcW+Itiu2fnsCLz6D7yKiSgD3ptk0 a8gFNAxuuYzU5L9xAYHOzZLFUgwEGHi+fDxTzVRYVHXKg0C/iy5ujR7/4g9yCxUlBuybH5SwMBr If/Z7eEfJsqGB8cPODbFzlfY0AkaTwxi4N6QAwCCtK2cj4W18uVFgZWFFTl7rSmdAgONDTwptG5 u9MYDwavbgZlR/6UT4nrVt76NhJaVUsvLJzYavJZSh0P1jWle7axc/Fa5AW6YcmamUG/iDirqgL tXB3JywXmAJVB4Si4oju0osNH7VZPL1aDmtHwIgAtvKHSzDLWm0pASwe X-Google-Smtp-Source: AGHT+IHv2DLo5yokOufzr6ieTPFjBCf/BVk00fjUAV4YbzWaoAbBY7sSAOQrP6QEylsN4Iqip6zQ3Q== X-Received: by 2002:a17:902:d2c9:b0:221:f61:14c3 with SMTP id d9443c01a7336-221a0ed8294mr315855585ad.18.1740607471584; Wed, 26 Feb 2025 14:04:31 -0800 (PST) Received: from gpeter-l.roam.corp.google.com ([104.134.203.15]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22350534004sm1044145ad.252.2025.02.26.14.04.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Feb 2025 14:04:31 -0800 (PST) From: Peter Griffin To: alim.akhtar@samsung.com, James.Bottomley@HansenPartnership.com, martin.petersen@oracle.com, krzk@kernel.org Cc: linux-scsi@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, willmcvicker@google.com, tudor.ambarus@linaro.org, andre.draszik@linaro.org, ebiggers@kernel.org, bvanassche@acm.org, kernel-team@android.com, Peter Griffin Subject: [PATCH 6/6] scsi: ufs: exynos: put ufs device in reset on .exit() and .suspend() Date: Wed, 26 Feb 2025 22:04:14 +0000 Message-ID: <20250226220414.343659-7-peter.griffin@linaro.org> X-Mailer: git-send-email 2.48.1.658.g4767266eb4-goog In-Reply-To: <20250226220414.343659-1-peter.griffin@linaro.org> References: <20250226220414.343659-1-peter.griffin@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250226_140432_105782_951E9AA2 X-CRM114-Status: GOOD ( 11.21 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org GPIO_OUT[0] is connected to the reset pin of embedded UFS device. Before powering off the phy assert the reset signal. Signed-off-by: Peter Griffin --- drivers/ufs/host/ufs-exynos.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/ufs/host/ufs-exynos.c b/drivers/ufs/host/ufs-exynos.c index 4c3e03a3b8d9..64e2bf924213 100644 --- a/drivers/ufs/host/ufs-exynos.c +++ b/drivers/ufs/host/ufs-exynos.c @@ -1517,6 +1517,7 @@ static void exynos_ufs_exit(struct ufs_hba *hba) { struct exynos_ufs *ufs = ufshcd_get_variant(hba); + hci_writel(ufs, 0 << 0, HCI_GPIO_OUT); phy_power_off(ufs->phy); phy_exit(ufs->phy); } @@ -1700,6 +1701,8 @@ static int exynos_ufs_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op, if (status == PRE_CHANGE) return 0; + hci_writel(ufs, 0 << 0, HCI_GPIO_OUT); + if (!ufshcd_is_link_active(hba)) phy_power_off(ufs->phy);