From nobody Mon Feb 9 03:29:08 2026 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 59F5C26AA9E for ; Wed, 26 Feb 2025 22:04:23 +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=1740607464; cv=none; b=I1PmPLiIhY+2Qpc7PshWBpbfZD8b4J1w0wcb0H5M0qxhJ+IDE9T5vNn8E2rfM+XcYcEuWXX61X3C+OqzJYSldTcY6xBaqjjPnvAdtAbO+1RRH00DKeCG7KkBY/KFra35/vdywjGPIf42Zxe6aU40fE44mJ1sjqCAbDfcIj16M7I= 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.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="YuRAUNYq" Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-2234daaf269so4648235ad.3 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=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=h186CyIv07iFn3zWOXD0LeoYGLWFRqs0tMXn69GQZeg2rv1bbEO6a14oYEam8osOOw HYPraTY2sRKQR7IeE/MV7oc6eeJs+tyWSM0lkuWnFV8XIpCEZTzQvxC3VWaSYyJjJ8JF 2VcL7Pcwxd40aNZKufZmx/UmjZ8v+p1oHDeqeU4Fl1IeNOQEIw9k8Bbfw6SXldnCPMvR 3HSgZxSSKpgX53cqZbvqQhqiMenp/xjBkM35T8XlImIUjC46jpnoxzGZLFbGqfcdXcRE 70+JwLkAUQlxmU2Mmbi9wMu+Yk2vdQS0/Tu2TpsfqC/zMBnjWCwcMsnL+GVnWRydJKuc O+Rg== X-Forwarded-Encrypted: i=1; AJvYcCVUStNIcZYyfTk5L31fhsYazpqNKsbCEKCwplwvaR3Of7Kip6PwrfH92/b4qtwQLZ9IgTtS7xXmFIrVBJs=@vger.kernel.org X-Gm-Message-State: AOJu0YwNw2FoO4UtGGS79lsWfFHR1yanpQet+ZwS8mVb2oMKdMNNy2V+ EE/NoXe/SvaPgAxf56ImaSJWsMga/6hkgV84gorW/lZineqGKdhAcbu51Bzdm3o= X-Gm-Gg: ASbGncvChol1ASYMKi8+MIhYgl15N0JuIN9Z6Zx+BCmb9ZleHOSE+uMVAcH8VZ7gK7h /dpAQsphgn2HvJdCwrApQ3W05IBTd5JwD4zQVVtQwIN5iENwPlQ2TRzrJs1CJXb5gZR93QcUSiy uQbejHiokOzhgIlwH6MeimUDRA8hUwG6kSipwX1HgVsdeptDLeWn31Zg9TuZN9OSRVco1eotXwB 15BYuNaSOfWcMZ763IIRvUL80Seviozvv3MMAJg5zVI96+LdO3G/F9TF9HI0gkmJ4/p1RjFzUZL m6N+QrN6T4q7birVK/SBCa8MW9a2pb1y7xswi5jSQ70+m+PWahruu3GO 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-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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); =20 + exynos_ufs_setup_clocks(hba, true, PRE_CHANGE); + /* unipro */ exynos_ufs_config_unipro(ufs); =20 + 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); } =20 - exynos_ufs_setup_clocks(hba, true, PRE_CHANGE); - - if (ufs->drv_data->pre_link) - ufs->drv_data->pre_link(ufs); - return 0; } =20 --=20 2.48.1.658.g4767266eb4-goog From nobody Mon Feb 9 03:29:08 2026 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 1B9C226D5B5 for ; Wed, 26 Feb 2025 22:04:24 +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=1740607466; cv=none; b=rq+uSL4tP/ymWT/+UYZlpJwUnF6Ut7jejizW87PpoOVaXCvskVdMHbVYwT50COjX6LOYjPu4HOGUPOOYhgWz/n517qM476vi3ZbzY0barK+jLvdr2aqk2fZdBCL24hOq+NNwxzbTeXoFKJBLDtz2BupVvIqvtrHhSKbXAFgK+VA= 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.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="L1xX7p84" Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-2212a930001so6856905ad.0 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=i85BYKdziw2+K6Xt0k/e1LWEjxB29hMVyDooMIMB4dyrwURdG4oQspB8IPBV/sAvao hlkCIr6mDUVcOJyN7gGUEN7nk4px1yyK2eMp39l+i89QuHLgIbnIeK9qxb+YoZY48BHT Svz5jvT1cZbzcqDt/qXFKTvcvskXnFsKrTwCH/cXqx2zFYXcAFKz/jlSdaJTARJS1dB3 sITQAUTqoBcUYEX1yXxL5Vqfm5vDlPLUbJH2knc6UT8831hXt4AGOsZstKFQtPF1clXn WIgsgC6iaYMbOUkteAu49bJ03hJR+h6xZk0JKhkpKLn/HEsA/75YN8RFelXZSS+bIm0T FRRw== X-Forwarded-Encrypted: i=1; AJvYcCWHHn5dbXsBtlSsGsIgApcHMpmftpbA4WJ1tBdzB2OMGnJ3j3+UUo0gXC6HoEbXZ5cKw3JWg2ukpTA+nS4=@vger.kernel.org X-Gm-Message-State: AOJu0YzZseC/wBLh22bLezkjbB0plwzUD2GVE0CXI5Sikwm4/+Nskewd tB6lY8lKfPqW/zb/7dyUopiNBqo6u7PB+i8MfGfVJjFha/UgHVFfU2o0wVbGbhA= X-Gm-Gg: ASbGncvu/P5EyVg+dxAggMS5VflMtBrOjo+7Ou1ExVYVYaIo7HaCE3AXlbcyyf1yt8e udmWtzStieBst5Ry0dl6nQlqDn9zUZ7lDXa8rpghj8dS/2742TcIby73rkBQRwl6GopIm1HKuve xrZFeVmp9crjO9vS6QK1MblUI7dts9gcyyCV2HWFMw432PJmgTmZaNsFn06qeanhFD2V3kyBCwy YRMnmwmRosNIcE50an/fhvO2OUeX78c4nklRzvL9KD72Lds1BoLzu28+tOv0jqBXmfj+5zEoVsP 5DlkI9Luq4qcN2vndo0YPCtXgvwDxgii1glIIilK3QupSkmONPDTQnC8 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-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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) =20 -/* 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 =20 /* Multi-host registers */ #define MHCTRL 0xC4 @@ -210,7 +215,7 @@ static int exynos_ufs_shareability(struct exynos_ufs *u= fs) if (ufs->sysreg) { return regmap_update_bits(ufs->sysreg, ufs->shareability_reg_offset, - UFS_SHARABLE, UFS_SHARABLE); + ufs->shareability, ufs->shareability); } =20 return 0; @@ -1193,6 +1198,7 @@ static inline void exynos_ufs_priv_init(struct ufs_hb= a *hba, { ufs->hba =3D hba; ufs->opts =3D ufs->drv_data->opts; + ufs->shareability =3D ufs->drv_data->shareability; ufs->rx_sel_idx =3D PA_MAXDATALANES; if (ufs->opts & EXYNOS_UFS_OPT_BROKEN_RX_SEL_IDX) ufs->rx_sel_idx =3D 0; @@ -2034,6 +2040,7 @@ static const struct exynos_ufs_drv_data exynosauto_uf= s_drvs =3D { .opts =3D EXYNOS_UFS_OPT_BROKEN_AUTO_CLK_CTRL | EXYNOS_UFS_OPT_SKIP_CONFIG_PHY_ATTR | EXYNOS_UFS_OPT_BROKEN_RX_SEL_IDX, + .shareability =3D UFS_EXYNOSAUTO_SHARABLE, .drv_init =3D exynosauto_ufs_drv_init, .post_hce_enable =3D exynosauto_ufs_post_hce_enable, .pre_link =3D exynosauto_ufs_pre_link, @@ -2135,6 +2142,7 @@ static const struct exynos_ufs_drv_data gs101_ufs_drv= s =3D { .opts =3D EXYNOS_UFS_OPT_SKIP_CONFIG_PHY_ATTR | EXYNOS_UFS_OPT_UFSPR_SECURE | EXYNOS_UFS_OPT_TIMER_TICK_SELECT, + .shareability =3D UFS_GS101_SHARABLE, .drv_init =3D gs101_ufs_drv_init, .pre_link =3D gs101_ufs_pre_link, .post_link =3D 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; =20 u32 opts; #define EXYNOS_UFS_OPT_HAS_APB_CLK_CTRL BIT(0) --=20 2.48.1.658.g4767266eb4-goog From nobody Mon Feb 9 03:29:08 2026 Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) (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 9D47F26E62D for ; Wed, 26 Feb 2025 22:04:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740607468; cv=none; b=amI55bc6XITnKncYNbQAKUHMwTTq+opiWUS7XpgC6oeCLTeB3jfm4erm6GO/gQondLvjgLWDhkp5HdC3KwcvPTyCdHeq8ED7ti05GfUnCEuGbXAhh0q8SPqz/ep7EaIXVgqx4NR1hDEoicHoF52qNzsnEzCV3m3rscHQGRy8gdE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740607468; c=relaxed/simple; bh=XD5vHpBRFTxxteEvRZ/Amzm2FaKpvRfB8H6AYjhg1D0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=h8yM1TRpVC3wsLtJluFbammFncC5Na/liCU7mEaBBq4dZPIfQEH0ak6xgeW3aQxuxdZzdl87TIPQHej9NOUmIRnZUfNZDEcrdHnmsHEUC9xQOlt3r+KjFiGhClMAm6BOaNZwEGbbfJoSyxHIAbWm4xEm5QhyMnd8fNEVtMS4f8k= 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.178 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-f178.google.com with SMTP id d9443c01a7336-22339936bbfso3756815ad.1 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=c/g4HkD1rgWvcnWl6HFmuBPUkTykcgt/o+Z4oiuraAzJVCRTtC83uilEGK2cfaiz21 yI0IteQy/8aIPThmY4fPbf6ZW4+lRRkUe/eabHHummI02Trd5SjyuIs62nCfQDNMjsSo 5EK+LqDEhVK9cS90IpSk3MsW76CryhV/PPKelHClLrUl1OlL2cf1I7MUkKGVvAy0X9U6 uNF8pmc3bd76P1UwCMv1h8y36XF2HOe5KVfSlFAj61AOsJxsP2vQXh7D+XQ34H0ITRFW O1paFI5VGkixn/J/S2Gepu5r3gwUDA0zfYQqkNKXT5BN87xGZUk/q355xNts61n3bVCE YURQ== X-Forwarded-Encrypted: i=1; AJvYcCVyHBv8bvPGwFZAv/mOSNfqXmuep/rdv2nbr8ZBIqJnwqkADeH7Ci9aEW94IFPKqkxVxdVHc31qL0Ly3Cw=@vger.kernel.org X-Gm-Message-State: AOJu0YxkvtBnrlGPglkuzpVFNOdowbB54+lPw3Zvq2uxSpqpB8JaW/dv KXgrjcqnT4H2WuKs5QBBXkxfXy1IuWzykAPZO/xa9Vx5rDWWNLItjzMdBViOQ5U= X-Gm-Gg: ASbGnctQwTxsr/9eg91jdVdynWiU/INWhbvbs9rkuO0UzKcJckZL4yUih+CdeqDHDW8 t9knr+B6GDXV4CJcu9MZON1KBfOaPaVXS44BJndP3Lw3dVQd5g+5gx1mAVn5WV0+TmF76YT5Fzu siuEF5Fk/D+VFFtKnyO90aaF04j4zU43cdKW4o8RFkubkTTMadsY3l68NiOCtj1DPApzkz7UoWA ljylySUazJxkA3rcc9+4m3kpm7NuFJeLFYH4f+yA0pgr9C1+RAEK0yQYzBUAOgddpRjNwJ4N/iB 2mBeXolE9XXQMVxlndg2xQn03/b8pqx0ysEwEDHjA7vN2bIOs1gHrqD8 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-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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) } =20 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 =3D phy_init(generic_phy); if (ret) { dev_err(hba->dev, "%s: phy init failed, ret =3D %d\n", --=20 2.48.1.658.g4767266eb4-goog From nobody Mon Feb 9 03:29:08 2026 Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) (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 5ABAE26FA66 for ; Wed, 26 Feb 2025 22:04:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740607469; cv=none; b=he4BWpAOMLDe7x49BhhPu3RAUW3OrpfU8vFfDyV7jUR7dmFGTfFCiuo2vWoyUKWKng9x9BPFZICorP+1UZTG/Xpvslh+emJawh1z1tfb9QiRkqXBMOVVlVuXx4HbBNzjBsjW4n1W4k1z6srfLENe5X45LLKrQO2qYIObsf61Y6o= 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.172 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-f172.google.com with SMTP id d9443c01a7336-22128b7d587so4078455ad.3 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=NLR7Dr+AIF+V561rHP4rWOFkCxl/iOYVmWgKa6qy/nQ1k/5gSd/f23elymTKAjemrn oUASsGg3oBSpQmGGMHQq2gs68iLwDeC0r40JhbQKQ1vzekn4FWBs22V0GwU0v+YKG4kH Xm4YY87/gpHQU9fi0PtHeUHoPXBOo8rMxZgRyd3UtBIJ/A3tSQer5UslDEZD/JeK4zgF UAd7OpSsNtNqOF1j/h6X+obQRX8xKarBeVRI6PkFECJj4/J6zPKouOSV396D6Tatgu9M 2y2rvr+RB5gskaKcPGY/nNxqdDJeV30Qc+zCEmE+ePjaeOHHIuf0VAgJ/swNj7RYD9xY XdlQ== X-Forwarded-Encrypted: i=1; AJvYcCVZ8kmGrOcXfZJalAMEsXJP0q0KUihmEvbN/csxPdbAvJuPFb2z/gO9NGxNu5/2BpKQk57fneY1LtM3HLM=@vger.kernel.org X-Gm-Message-State: AOJu0Yz8PFzKjqYOLbHhxvoKtbL0BreQcm1UUnvon1nGR0szZkBsh+5K I5WbB3AC0gTUeaDguLGSbTFKd/XFEXs4ILEOCaQhgIcjCj9X2N9xwcIeqjm8X7g= X-Gm-Gg: ASbGncsuDG5Yk1i3PwkEYwIwh/bTTU8DP6YOa/BrhQlOyah1R4+bot+t5axa/t77l0e zSX6pVbG0bfgNXy1zxPXKAj6rEMZ66Zq2NnuWoc/RL05AgYWwdFE87jV6L1lsQUQBR3uAQIR3Bm uELfr18j6p/QENjCwM4cLZpEzHliskaiqobd6qJ9kU2SrkSuIiM/myBE6VUWYqD+CmV2qQKGlYP N5J3Aob+sK5wPijygbDOGtzLqVtHNmwTu2LoDPrnemKvJaW6/Mm+DpjDTv0vOv0jyEcbrgqgWri rlKY/Ig8GRarO3u025wPkrWJPF5dKU109FCY+7Qqmu6SZZWxkACdItCp 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-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 =3D ufshcd_get_variant(hba); struct phy *generic_phy =3D ufs->phy; struct exynos_ufs_uic_attr *attr =3D ufs->drv_data->uic_attr; + u32 val =3D ilog2(DATA_UNIT_SIZE); =20 exynos_ufs_establish_connt(ufs); exynos_ufs_fit_aggr_timeout(ufs); =20 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 |=3D 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); --=20 2.48.1.658.g4767266eb4-goog From nobody Mon Feb 9 03:29:08 2026 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 E0720270EB6 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-2234e4b079cso2612045ad.1 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=dbrFEDnFoOGOSAYkSJIAPCjE3EQsgoxg5xmMc4njFij2CJk3kfjsDi/h7nNW/l1A6s k2eu0FUEsJs+lLPiEWQ60GA+y8hEp7Kx654W6mBBmSs6SVMc+KfNUh+A3Q4Z/ip4rciK 6vh/3W/BDKqh7Js8zKt9UYipL6HlwLJGSNdrGK4JjYonugepbcwhAqwMBFVlt6o4qpg3 L71G6ho+OiJnW2AANpFwRujZ5o66ZumunMvWT+lWUIPzpZDSa65ls5CU7/J+tyRh8sqm fEFwg35Qtscpna+QOSBRf4Fnxb70CVVYYEjIcdlW3vhM90qy/3cs4dV9EL5hE9YZd42m jn0w== X-Forwarded-Encrypted: i=1; AJvYcCUhBnUqv2wC/sUmkLD3vMNM1+HFJKJUVrDQ4hEWv+lsBhRpReFxTTUhF2hb7C5HMT6AhTKarMASeIw2mz0=@vger.kernel.org X-Gm-Message-State: AOJu0YxZZLblGlKTyyA3uPCAEoi19EkvMahPoYrSTfGsbit8xm7OOplE Yo20TuUcp6ggE2doCRcug3cXDHpoH7hLXC6mlNZXpr9/TGVIjHoIaXisCzR0y9g= X-Gm-Gg: ASbGnctywrtuTm52vdETpGQXtpkMSl9gEzp2+BqUDuMQvatcWFA3Ie8bqLJPkh3S6Hr t6a32zPe7n/bPYUsAq7RQ7pEyW55LJ5mZXJSfLug9BxUPpqlBvz+sf2VRBz4Mo7mBRB0MMmi/78 cRvHFoIJ0fTI/f3cqFshYaizCHwQMEi+FFEVwvInOudvkw9ouZ9NjjPTBU9zGEUNdEerATRpk03 /EtOPTg3brbPMgReo7OBVm4N5MJmywyglA6kBVmu90566UmzZy+k+7/erVk9HFf4zpe2CCJTOR0 0dl0tTxJNS9CtXXSripJGFEjiGa8ru0uyTOkNfElKfMxci0un/ne3kGA 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-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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; } =20 +static void exynos_ufs_exit(struct ufs_hba *hba) +{ + struct exynos_ufs *ufs =3D 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 =3D 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 =3D { .name =3D "exynos_ufs", .init =3D exynos_ufs_init, + .exit =3D exynos_ufs_exit, .hce_enable_notify =3D exynos_ufs_hce_enable_notify, .link_startup_notify =3D exynos_ufs_link_startup_notify, .pwr_change_notify =3D exynos_ufs_pwr_change_notify, @@ -2006,13 +2016,7 @@ static int exynos_ufs_probe(struct platform_device *= pdev) =20 static void exynos_ufs_remove(struct platform_device *pdev) { - struct ufs_hba *hba =3D platform_get_drvdata(pdev); - struct exynos_ufs *ufs =3D ufshcd_get_variant(hba); - ufshcd_pltfrm_remove(pdev); - - phy_power_off(ufs->phy); - phy_exit(ufs->phy); } =20 static struct exynos_ufs_uic_attr exynos7_uic_attr =3D { --=20 2.48.1.658.g4767266eb4-goog From nobody Mon Feb 9 03:29:08 2026 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 2F99827129A for ; Wed, 26 Feb 2025 22:04:32 +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=1740607473; cv=none; b=dariBK8I4Wl+1u+qDCHumv+JpfYn72aQjeR6d2Vap35KEZdLHvCydGsLBPnSlev92mmCNHBscOPRVcRKqFxTdEf0As9QueJuOXWN7mrN8o+P/7UHwH3cD66sE/IFG21zx/9l4BlOWavEvkMscoIU//NnOMw7EP/j7YiikPgp9WM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740607473; c=relaxed/simple; bh=qiJ5NgMCW+3w1jlKpr4Qxl9Za0XkMmw59lyuniMavhk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=WMWew/yy82/PmAR3nyb7lTbGo2cWKnCFrsBwJdOo9CErmqVdfg1XwHflgGTUKXnLX/d2kGAe3igRjL+D4GDL5Kj0c0QDdUVNs9dHj4BqixB85KsHkuhgK392ck9udVj9HR+1CPLBojmHCtHxuQUtHlSj6Yi0ttStQriNNAm1AyU= 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.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="j+I8pKwq" Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-2212a930001so6858925ad.0 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=DDsNx7QY3hr1avAaoxBxdltghhCmbJTyni+RR7M4jOBdgsgQH7LZMI++a5h1lqeZpk Fatl1v28jii6QoRDGIM5v6X3NoSsxstwXI1Sb5UFnbpNOloH+wrR8niinY1+VbNAjivs q2NY6iu15fsns7Q8DJfZtnYDlWPnwennPsxU+TWh8zL7oS3cnODe2aKKt+ebONCOslIW RMjCo111YodxQAoSaWIcvUWiCIUrXDRGXWZBWR1mmKDKLjAaBF5+zYKamMD82YvaBm8C SwebooA/v0Soq1mMnz5vZLKkx6qc5Gc1WDLS7+smB75pssexgVwrKeU5y1c1vVHLtmLN FuqQ== X-Forwarded-Encrypted: i=1; AJvYcCVkGx1hSuqOgoDQXqbjAG1pmBPC5aTTY3lcGDd+KgjJvRqeU+etIu/hHDiK4UAUQhUDKlCTJQgPwPlGkuU=@vger.kernel.org X-Gm-Message-State: AOJu0YyKlEd0AGYR/JyB/LIZ473krS+Mk/v6a0GU2wNhIh31D18ix2T5 7PxXGirc/7M7J9spRvO3veYGZrbiDZWKUFqPFlFYXk2ZmRL55alNEMZiqm7lTQA= X-Gm-Gg: ASbGncvB4iM5UPRJbDtLfP8kY+2ztZu5Wyyl6wikBc4Gmf53pYtswIEycwf3IWbJXZV 5Ep4SE+MzHhuAh/cG7BHyViIzWHA+dI7CDt/Ton0NUq81OsdriYWUR/WO3GYy4Y7LLWX5OnW2Pq 00dCoeu6QKbR0eQcQXSLC1xqY6/W329Fwkr+I5wWtFYps6Iqvycp+sV6s5pSr8ghzQXXgkLqfDm YKAf9cp88NxVVnhkLpyQ5yag1anFsS+GEmne6eXXIlaB7EW7FE7+VGME4ssa56Akwuh8r6z4QBu fPxZpivu/NqTZ47+OhroDV47+hpQFyB0fdtR3ZRz7LsbC0B2cdj/ZD3Y 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-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 =3D ufshcd_get_variant(hba); =20 + 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, en= um ufs_pm_op pm_op, if (status =3D=3D PRE_CHANGE) return 0; =20 + hci_writel(ufs, 0 << 0, HCI_GPIO_OUT); + if (!ufshcd_is_link_active(hba)) phy_power_off(ufs->phy); =20 --=20 2.48.1.658.g4767266eb4-goog