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: 13993252 Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) (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 7AD1326B08C for ; Wed, 26 Feb 2025 22:04:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740607464; cv=none; b=euki9UCpc4K8d0pUIg6MLWwwqTInkrCt3171y3zM39rBkxqHbAuO7/MsIkJpcq5sAT3ebcHQlplmLXJXkd/04lU8NI/t+IcsWa3lZoAfr4dGtkhMio+vrcLfBv8jgNfSSyncKswOPQoYj7tGOw73eaJhYXZK16pXKxlwxI7PwkQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740607464; c=relaxed/simple; bh=zzCHAyEKqRP94Nq6sEsgHMP78zfxlBlURkm2ZCY7I5g=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=l0X0K5DbhgxbGJz5WNwzJwyoWy3xp7Cb6sSPd1WYs/ESgSJlrCXvInM7zfrq/x32cWvx7MF0nSnvO0ZGk3/1iIpYJkTA1pBLpGDUWuhXREz2ITWlRkORij3Q1RgYFdKSy94nQ6BT1XydLbX+6HyPGzcA31O1H8nHEWTEIZredj8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=YuRAUNYq; arc=none smtp.client-ip=209.85.214.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="YuRAUNYq" Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-220e989edb6so6089855ad.1 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=vger.kernel.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=YuRAUNYqgVfywzeYfW+j0Lp4zAb+InAsfYR8RJnEnAryAHhuar6Gi9cdhjViJs8soL p+XTqU03rL3YUinttkeuwhvYDBYndftcQ1lb6JrayJWYaz767kT/7uSSqq4z3wDgWKw+ tCNTZSbGkmHX0fdlTrrajQTQQ+ehAOD3ixMlGtJOJZMGY3XhMabTvcLIbIQa4rkvjvSJ fF9QmOj1dIRwAygKMwVXWm7oCmSnhZ3H4xNrRzbzfngxmnrYSIJAjlQScDmvXgIpDU55 q9P5MI6BOq/HOO6RjNFwOhFij/cUQzMCamgQLxaDNE0Va6Uhysi7kn5GAc/x2beLnm5s Fytw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740607463; x=1741212263; 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=C5O0oLRCFgxAcOMY58ZDyqd+dhv4R+KBtDgdTG0E3UMrog6nBQcqxeTSDKFupClhDv mB2vrhMA6eZp2rq2E4gIQurvfAac82ARXNBs+Ol7tUeFzBWS3p7xES6AP3biFIhJSKNL 2TqS3w/YsbexoF3mkagtskfuAU2Xu6UlpRfR9ulc1uqTyT5GAtf7VIWywn8a1XCWq7GJ fqmiVUAPfOGHLqkFntHl4QPOpduAGqi/v1OoY1IW4Tr57p9kHWgxVbkRix5QeycUbMvC qg8VhxhO7hOjWtW2I5whfSPkzv0kSrlci+n80CB/OWlY6Lvzsa5SeXRk3zEHRYwfKR3P RQIQ== X-Forwarded-Encrypted: i=1; AJvYcCWQsST/cv9hUIHC88vZE4jjPFufhnLu5EGqsRto+A0nBAPDVqAvPN24GnRXCNFEYhD3jAHgYCphCTXhOEvcfgwDKQ==@vger.kernel.org X-Gm-Message-State: AOJu0YwnjidAzrW9NQD8MLqaUvCogh1cYt7VZPZQlSEQd0RjePg2wiFh al27v5sEXQNcxb/CK+fGvmK1CGJdH/RG8DKOaKGDlEsaFFf/ERPCGdKw1zlg5lE= X-Gm-Gg: ASbGncvtJsJ3M5Qlp/P/MxxCh2YqnpgqNEV3ow1roCGjzpb+k6+WVvxBASKzBFVjDQ4 rl7XkLBuTaK+FNDgr/swX9q5KkhUVNSFv4cIqflmKwM50FvN7HrBbp7JeL5NrHLC3szLxzl3uyj 2Zq1JEjnE4pjRs+7w0Ni3+pVVANGbZ0O1SE45FScJHFAZHABZJrf9B9xxmd29CGpPCNBKepXdoD 8znHPpoYqRiCnQ4OFedO++uNZL5z7neIQf3czBw6JI32nAGY4rduyMZbmtY6rYjso6/pbzeBBTI gvwelgFo6dEhv9nt/Ir/kkYNN1ALM+hteZx+C7wuw5n2DopLolFzJQCP 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> Precedence: bulk X-Mailing-List: linux-samsung-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: 13993253 Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) (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 2552D26D5C7 for ; Wed, 26 Feb 2025 22:04:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740607466; cv=none; b=kdec6tsUL8OvsAo/3ORskfNOcY2hHRmyAnzggW6Aa6lfx+O9SeMkLFAvnLtkW3AZA+mKnx3+n8MpQIchgph0eqjvXrYsP59XOium/ilpyEQBLsO20oqIJmWaNiC0Qw25QbfWEi8u0jtTYSC5St/x4zcuaiYEslu+V7UuTdCHe30= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740607466; c=relaxed/simple; bh=j11zUNL8DaXtAVtE/snPqF5Onr06Krz4w58UrTjUNi8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=JWSfy5VR+HtnIxfCUMdrTNy8KFoKLKVoCQ9I/QpR5eVgQITys8M5fXHyb4g6Sn8Gl4om+LSGGwuaLbVbz6zOnZl7FrRnjWkrXgBzkfwaPeIs5QP0X9VkFxOgsyZBYWrMLUrnNlM96X17GKobslCjDGQo9m1KGHlItVLBcbxZVuw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=L1xX7p84; arc=none smtp.client-ip=209.85.214.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="L1xX7p84" Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-220ecbdb4c2so5380475ad.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=vger.kernel.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=L1xX7p84EFBOwWFBtROqiSK9KjcgqdUA/W/Tt3EEMkUzxTIMT0jyRW0mPuDEut/rKV JoFL3nCUgV+9s5BV9i14BKRTtqkudvxBPiE5HpLg8vjdocHBYml5u0b5/9ug3qgm1i/B EvFslqSmyIJJlEqeeCp/e8slKRp4GSXF71MdPl6E043ScLubU594yu3ILUTviYEAtQTO UMShm9B9pJzpg+MkJ1KIDZ4hFaGZ+vJ9YmWu/c226I7zI9Wsj7g4wiq/OEeFRTLxOk9y u/uDdKZ8ZpAQALY8fCUNlO6HtgieEfzL1tj4fujDDkr8JNkwko8Q9yd16K1EX8cvt421 ybvg== 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=HjJTzduoWyNSwvf06aD0WOb9G0r0+lKr9/VAGqxyu+i4dXmwfB7znjObpEf8HPWHJo wUrt/oOLtgG4S0Iq//jFMFuRi10tfvcbNSZxmgwAPWbQXzzCc9ylF1QH3lkOng91X/Tu z8Qb6bLzdN9l/azM22OQgIk8zu/Fx9bg9mlDGmB94do5hIuK1DsPYGrNt8UoK2zbjl+1 HuSQ4FvZsfyr2owlWCdvqNosE6o86Tc5ASkpl/qXxsRXBrxX9OzdchQh3BluK9eJiaf7 CN8SXKtkTDs0IhKp+L7IciUwmDQBMbFNR2dWFLwWDHya73XhIfCXsAd1VnhN3wp6ixb1 Qc4A== X-Forwarded-Encrypted: i=1; AJvYcCUw0yEjc433yjcLngujLVzj/CEsm0w8BRB31oRCc8gfGhAu74pZny7v+1zJMR14WOM5b9O0lqejC1gtHHr7iNgB9w==@vger.kernel.org X-Gm-Message-State: AOJu0YyZmSz/3iamPSLqeZWH6AR5G0WJqzEdEErmV+oh67eZA4YvN5mN u2zXjtOUJ/Y+tSGHdpJqX5+U5ciqo+1Ii/Kcz0gQkono++VSgUuolZIM1p2U/5s= X-Gm-Gg: ASbGncvyQo/O6nvJzQxi3sC4PFkH6C4QNsL4xKyTJeW0Dw9Md2Ar9p0Q2tsN9YlMZ+J ztB4DHHrFnEdPDej4VNjS1dl0y2ZpP6JCBtdDd940DBepFpPTxRvk8KOXWwp0Y18Y2AUX2Cnkcc NTCzuRy5Jg/9n2XqLVLZYGUjpSEnWDYDc/H4GP7xBO0ZOYr3j35PQ7SigU6YX8xvFbvz0lUBBqf Ce4W+kNHNJoWJah45PCzJZ5ADqEILizNPvN5Y4nud8yteFGvk3FDwJrbgmqGA48mVYz02sReLH1 G6fvqTijmAVxAo4konyQpq4m1H69kmBYSqAsAMgeMfI3p7703zdNwHZt 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> Precedence: bulk X-Mailing-List: linux-samsung-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: 13993254 Received: from mail-pl1-f176.google.com (mail-pl1-f176.google.com [209.85.214.176]) (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 B318826E62F for ; Wed, 26 Feb 2025 22:04:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.176 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740607469; cv=none; b=KKS2y6gj4eutsZJ7MgD17HwrTc1dcyQ06TWeZgkWyIR4oKIRXFXnFYU0p7dyhCfGHMYAZg9PbTX+Y5PbR43zA/MBLHE1ygXmFQEGFwMee8jNmdAQeen8ObVT/nkEQF3i7evzDXK/mYxaoWG1KXMnwaKhizACf2X6P8wW9EDk+wE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740607469; c=relaxed/simple; bh=XD5vHpBRFTxxteEvRZ/Amzm2FaKpvRfB8H6AYjhg1D0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=tR/usvxa/y/z3p5ToIFLLQKpRHtDCGWgrRqF80p0OnPpgp3txdNAvF0iGxhb/5C2L+b9ns4KE2nWXL+6N2hjUCfxMTIo3pwYyKx5Rw+Dj9xhkYRqZ4LradJQLUAfjIYsHuRWxOou+5T041siG5k6lvrJ6ufSM+vBV6J7zjgC2qY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=gMyC7EE1; arc=none smtp.client-ip=209.85.214.176 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="gMyC7EE1" Received: by mail-pl1-f176.google.com with SMTP id d9443c01a7336-220c665ef4cso3433835ad.3 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=vger.kernel.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=gMyC7EE1m+EpUlfi8P2iye5nBycYRLvHj9VIhmiUXuRPclAMNWlHaPT+lUwsGDX7sv 5NjqLMD0lzex16YwaVbx4vmRYlE/jixnnH27RW8cSyeAIDvu7tqGX0q/sTSs2ZalMlWe Kd8d0/tZWEEvPj3pMqig19FWyeE7jYEAZm4bB1D24hnchC68Sy4o6/bHgK6EtDJZ11MB 6aRnggH3QMbOgw7nAisf4dzbEhnds8BWcvWtDK36aGAFj4HV7VH1pap8rP0PCYWXiMTr /8DKCwNokHzsYXi6SGVqUL+ZwNwBpwJHzkXR51bVimteJeMCLsqvnL3YC/snskdQLI2H zrUw== 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=C69unFaAbUYYyOcTWtArPEIgI60Ibqk82HCiYXldntDVds6nE+ROlSSMahSKJirSq1 QYS3du79CjRby3Qyf4HMsu+Yo5xXoxxGV+4oGhonuqFdeLoIBO6BfN2fY0CV6AfpoKxw NGSynvFncfh0qsRF5y6H1qqVQgTinJ/y10S1EIt3MmzyEiCmlt9SinBBdKO4Cl09bLln LJVY1HxEzkDO43k1W5tNbXWKFn6zJ4rnicd1bGl/rI7Y9s3bqktU5P4GRwwdDFmsPh7c Goy10ZKtF2sZKaWENoEqD7XtysxiacXtN0R5VtcPskCOiSrgIdnuvdQVKTncw1v2XoIl dRGg== X-Forwarded-Encrypted: i=1; AJvYcCU5ZRVEDZsqO9IDIWYGaUSjWbL1VN8Tv49Cmer5GnD/GXx3FFh5vRm2vAdEYrrqIkDYHerKa00K15EX8dh1r5K0kw==@vger.kernel.org X-Gm-Message-State: AOJu0YxZhm8m777EVEmslsESAosx1SE1Od2JYC+eeGUzTwlz9Byqm1wo df0paHYxRNnRD+pQi8Lcxvk8lXWLYHtlhMHWgom+zFfvk6dQG3I7KfXJqT5ujQo= X-Gm-Gg: ASbGncsL/FSHHIDkYiPkUwt7vgSCuPvYK12q/y0HHlcup/f//ZbetMagG5FCG57W54I Rn4y8fFl8D73OCpFpW16nOwbrWPjjnh01CzXOaFKeeNcZe0DiKkDaSYJtRjCiT9PeX1deW4L8eR B8Sz1Ien9Wvli+9C3LWNb2q5K9wCCqiVhPl0MVgFmjBG43/asPe98hnFfe6wBEYerHnaDM7HskW HK3VSq3dtyuHX2OxJz0iyPyAIrdQ5CfvgNZhQTLqKknQ+w8FzGiDTNKgF/ABKlm180MXFMJ2n1J py0awjNjK+WEFMvi+1GsQ7TjUyw4Rm9+CV8fZKMjWB/EH5f31TppaL/4 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> Precedence: bulk X-Mailing-List: linux-samsung-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: 13993255 Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) (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 58FDE26FA64 for ; Wed, 26 Feb 2025 22:04:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740607469; cv=none; b=QZSPBuDCzrt8y4Mwjk8v0fe17D45XZn9xSbehwODu2Uc/ErWjhAV1xPXybi+hz/FJA93WtfEoxD5iu4w8RdeHjZSy6YJ/Ig39eTEHhjPrEZrvkaVCjkNsza5vqNSKQBwivWyK1/WGfqiB9xwbPI5Z2aWlRhEXyt3VL3+oxGMqO4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740607469; c=relaxed/simple; bh=CCW/vi/idj6TZP9g/W7l1pZJSKJbysF20wfjKmqw31w=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Wp//iwIEFLgc9vVTxxXw2tCHfEzztWz7FT/oH9T5SUtZOny1Kk32SDPheKbQryvwfeOr+KNovg5VMEhYs2/VTayBpopWc2sAhXBDmer4yF8ZLMa/NR839CB59OkMLxbDXnZT/HDTdBtDcGxAeUgK/J1Ur+rxgtdYJfiS//Inrk4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=pceV3xtA; arc=none smtp.client-ip=209.85.214.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="pceV3xtA" Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-22114b800f7so4405585ad.2 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=vger.kernel.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=pceV3xtAIpkUCiw0uUrfr51u6u9YMS1RRCJV6CAUMT693o00mLse0yjyK9ToFuBu3R 32SJynC9Pe1c/dMXxgLfrn+gNODLSs9Ys/cJpUrzbh2Ak4PscnjOIlIde0njH57GWjlP Z0iFhR4t0jgFRjBp6hYS3EBXo3JqNbKp+QiU1zj1A9ZEicwOPXjAx1r90Zt085ncYrZx F+oCHek/IEOLsGLFGdatwFlpLPJxCT504JBPKaMQ+o37znE3j37DPAcZ7IUCW+h2gsVw XA8JgpNd1OsoeupgNoPHKbkmXcRDw/ADRdYFdSGXBo/qKTa9AZ5tzGCxexuqgrEcUhq3 5OIw== 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=cme57fePVPkO5WiKlivTW36gGdEV21QoBuSfy/qKyq0m6j/DA2vKgjymYaKT6hhgQf 3ZCCLsBi4YDnF6oUictSwCjvfblrkW9ac6223lcIXBSParoOF0cCtEyhNponWLdjfoHa wVU77EfjeDQw/5KSfFKTTqsP+VUTYEaiM7GArFJjk8DzdUthCxkRQTlgfOn4G6H+g0FN TS42hvzrr0UwDl72ZGnE5GJ/xP8IEYg1UVier2jk8tuP/Yai/3muURDX54IoRwcnU04V V2w6q4Usp1qGWXYfPqurWjL6zzE4CNCTEhT2bHiqJabUPIUwXCP7Hly9w5PTjJaFHo5R WE3w== X-Forwarded-Encrypted: i=1; AJvYcCUWwu3FgAG4bimyd3eVE4CC2QsrVzlQY/onpmWve9tBBRy+khLpeKLMdYj2JTEUUzNX7h9A88jOBfZILrQOdVtBtw==@vger.kernel.org X-Gm-Message-State: AOJu0YzG/GewGIjNsxy7jHAop6clKA3yf0+WNtiQmub2U0eJTdxlkgb0 7MPHALZDulUsUw5EgvO396qBtx4TgpOO6yMOUJoVbzXMtRKqXXoNLwupSK7rrEE= X-Gm-Gg: ASbGncss8Dykney8uA2DJRRXwqIdBFGPfWVnaNw6Ub9IRXmYTn1sgujgCSn4lBqdm+O 35ZmLUlPyc4eSPa/P9gY6rjqn9fhhC0R+fRnUq2gtOyUnrqEJDWBCtUMaAkD34HTTJbGvPflJEk 5DtjP/k/CLRqhtwsK9i7ZQKN2OtKX0oiUPq0t+DYOYO7IN64u6VMPDKbrUe3PwHlppe59rYUKtA R8+Ur5/bZN4QRv1vd+IlNDkbMRL2FoTrONhKq6ZSLUa+aOwckpVGnBoU9hlrpKNWxKHp+T7IhQR qrLE7Gq7E0WAY2T1B5NY/qH1ou3UX7OWmqVur/JzXdJ+HMiKSMTJQvYr 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> Precedence: bulk X-Mailing-List: linux-samsung-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: 13993256 Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) (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 E068A270EB4 for ; Wed, 26 Feb 2025 22:04:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740607471; cv=none; b=Zp3TfN0g9h5Hhq9smMwKMZi+L4ws508rELUopLL35QUc7tHRGg/W3Kw3hLtBSyEa8xiS08lQ5pRw0DEw8YroyRokk09huO3p7rByD/uwVkuEfvALtTXGMP6IWjW72+4DtGKspartvZ9gS9LPUpogY1F3LmB4nVy1t+3sJHAF+BE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740607471; c=relaxed/simple; bh=PNkwNwv9VpT3YvgmkBDx8X89ApJt2EDBqRN1Kfvrn7A=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=AyvymWN2kW58t3y9Pvm8tDgDjidbiAndn5aFddNnke5a5ACpyy7y2jq6RIk1lDa+6GOV/Gp+MFf6XzYiCOfwDAonrzZVcf2aPrYpP9heeXaoKFJhjDrANQw+ke+iYhNvmt/LYIMYjqF5mUndTTtT7eysRQ1+CGQW0SfE4+UjVUQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=w18bcyUK; arc=none smtp.client-ip=209.85.214.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="w18bcyUK" Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-220f4dd756eso4481775ad.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=vger.kernel.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=w18bcyUK+p921uzYSd/kGAaSu3U/R0ZDH1MTTwxYnOUlU7PKWGnexfImx3y5UMVIQe /TVir7zYUZUwKNjJ1+dxdy9HoiWvbok7bpUaPoFeyLffw+F8wz3KTm3OTFiZXOoWOu8h c06pQOI28bXWHho0oBJCF/exvssvUVNxnSdNKzkzyOn6mFSUG7FQfmmW36WhdkMmsJss cuepu35Y5H7EgYw5IlUj36q6vjqpsEb7mNTrguU2JFqi2E/ekccRk+Gwt16rJ1FWjxTO yzqjW2/FGt1f4+JCXY/GqHHbJJ5NlM28Que+Wxubw6Le+MQdJpQ10WHY7FezxZNXXf5F DoAw== 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=gvXdJUs5TzxTcyEV54wW/5yO05Ov9kPtwd2OXcrOIqXizUCV3gktKLX7cw7ZXiI/U7 ZBsg6/JUupf1XQL007UiUP2tx1cSx/4q3C1izXyMv1HUVXZBIZW+Q2j06ZisKosCwYkV KnSUixFVqSG8XaBrb0BvSZBrJPErdluQfA6mpWgpc0wKMQ25SZHkROGBIjbCGwzESxMi 8K4tKKDlzzHCn3p0BzZwdQcH0Aiw8wogEGB9Emo35goksNijfMam+7DUKQdkVOuCuXq4 5kY7E6/anZaEeNC5o4ioP23LFWp+ykz3Bv+Vh2O4bDFZHFKCY2qG8i0zODox8cp3qbMd l8KQ== X-Forwarded-Encrypted: i=1; AJvYcCVsfnCfvcpSQnfwrCHtMhJe5474luHIrzp8rY5hb5RyJ7G4VlZYWJy03dwXAJUAB/OqeBSAvXISMB/NIZu/xn2DQw==@vger.kernel.org X-Gm-Message-State: AOJu0YwnNlpuBIW3SSv4q7Q/f5Tm3inMYWrOn0Yb69XA94sd7QYCinxh FcfQggl+a3MGwvPxJDtuqpn6GRD96Z8LyU+kXLxy+pXiMauGd0bl7oa4uDfIjdc= X-Gm-Gg: ASbGncs7cgWGR6d0GlbyHRRZLPV/XwmJeZVf+Z1L3F07SF3IeZNqQMSMmOL7yhyXa0G A7nYUhDWmkYKX8jXi3F/h86BEGtyvgYxGGWP498jGgEiKGWf1A3UTopcO3woULnNY37cARGR0rx zAdO5T3mLZXBZ8s+L447ig5d0e0tzGzoeomXFlkadvwVOgOSNZWvoi28avIgAsKwolrU10M8zMK +l/Or6Yzq6Vo1TaPW6OleCb70TwO0+oY2zXiHI/lY4XfeXVEBxq/rQqgC3eTiIl+rOCSSRzPZUM BcctOWO+8SWgqU0qjeWq9VgzqHV76qgtTZegiMtmg/EfL2vCnlyxqDE0 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> Precedence: bulk X-Mailing-List: linux-samsung-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: 13993257 Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) (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 626CC271800 for ; Wed, 26 Feb 2025 22:04:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740607477; cv=none; b=gRJUaYxfAPs73ryCcv5mFi+N3LrMulZw4oFY4Ravdt7kL9JD3P3OpcDp7S+L5MGQLvGAu0uA4rf+VrSOnM8ILnBRsHp5XWjENPzoF2yXVkOGdLW8CJvoBvz5xQCrnQNCGV/oI6QoECCBbvpJXG6mWUF9lwoKr17NUgUdPG3HJvI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740607477; c=relaxed/simple; bh=qiJ5NgMCW+3w1jlKpr4Qxl9Za0XkMmw59lyuniMavhk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=sR3OOFjZmD/npAxhWYeKeEmSst3LcWvCOBkC5LVEde8/rftntpaVd6SAhfHshJELsobtcpkDiY81WSOtM2pCesnPbuXblHXpakyp2YhOJH3ATWsJi4S0pp52yqm9DgZMeZkmxYOiDdsOqbsJqb6/BJ7Wz4vFrIc9fMZOpuduX1c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=j+I8pKwq; arc=none smtp.client-ip=209.85.214.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="j+I8pKwq" Received: by mail-pl1-f180.google.com with SMTP id d9443c01a7336-220ecbdb4c2so5382395ad.3 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=vger.kernel.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=j+I8pKwqaYJqCfqWZPsBRXvs4z07NZzQ09hIeY4Ya4cnMLbZIoBpftqQcXWk9D3lV3 +THBIzqAdjZR3tRWr2IshtH4m/jE5BAPazAzQPgbLAjzCUsJcVtxeep0gGDxGbmx2gFL UsjaQDjc6/OhoIQc1vTilF8BBbcyJ8NER0ukGUsIElskI2DclsMoaeK+i0pe9H1zXmNx wCfQhldsdjvTSryXVjap7/PH7/i9M+/pzMMNd1rM+yklqTwoM+qX4a6SAsuY889St56l 1kXXOWoLOMOIQKT4RD8SNdfqT6A/+oRLo35+WtXfd54sCr+s/+KLcHR2gb1wNqeM5UcH MMjg== 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=INE+1rlNzlLAdLR2/TvNy278KATIyaRzsoEtosa0Dtoz42JdPfuXkK1yXxYdTG6HXc /mqHSKst9630F2D26Ybu84gBSe84+NlTjmSFJN8Dsofn561r82o1USLCOohEtErGnaKl WH5Ym+gfmeAwdO4zLna0FYGdIdK9N9f0breL+rpANwCoZlLutbMga35+7SlA3cT4ADuV WhI/8CSYYl4g1oE5103PUtulclvS8APMrZ+//tE5uol8CFvLd8IZKBLGgPndxR4j025P wLTsM0ar/n3/Qqz89V208iZeQRQYyl1CrBBLHD9GmuWvUd8oqrKdq2Kh0QIwN3VugI7S heoA== X-Forwarded-Encrypted: i=1; AJvYcCV+kSFtqflabHq28Drkg38c5b2BzvYR+PowYiTyqpZFZ1wkfkYfALtF+wOIfPlEyl5HPSuxhEy6PFts1bfMRnB7/Q==@vger.kernel.org X-Gm-Message-State: AOJu0Yyzgupo5FwlTSYmMWNyrLFm9tOpSlhUX/x3DrHyW4uJP20tud7J qNlvGkvpn+wqIByINdSkKrwj61mc6qhYb7CVuV6D5Yp5XkNcy+xAWti+b7Npy3I= X-Gm-Gg: ASbGncsljvMPPJCWiXZR08ZA8hLB0/aY02xsDGoLL+5QDSJowdjW+CXAOSMhxGhxG2O iZq/5LR428EMrtK1XSGBOZZ/3wA9mWEoe5/Lx0glZTCvlGq0Lmgg9FEZ10/Mq0jxKS7ImqJLl3k nPUwwa1NUzH93c0eGT9JcnyX558CYormk22fp+u2qe8A6tBGMishfO5eLes8gn+vKaVhnWLz1ZP 5QM+ljFMxurWBncGIFsncYUvLliNegQ+ojAtyg/zqq/cHk77pCAya4cvAd8z7TeWi7RW1nkSllk LizbZ31pCX329nADnA2Ey5k8GKFtg+tJX56OBw1cFeFd+Clhp1RykuXu 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> Precedence: bulk X-Mailing-List: linux-samsung-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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);