From patchwork Wed Mar 19 15:30:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Griffin X-Patchwork-Id: 14022798 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 10CB4C35FFA for ; Wed, 19 Mar 2025 15:34:11 +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:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=kwjbmevRcW4yMfkA4dX1AKUxaSG8vNc+QBgPKteOh5Q=; b=TjcQNzLtUmxU4zPMz/1t2Nit5y N8UF/jvicRIfUlWF0/1ZzV5RErV4OpQRPRACVYZ+/2gUSa6OcIjZDAjC6HJzpldiHabSPg7S91tnl KUr9x6bn5hosN2Fp5hUdlrV0Qy2nPgr+gaAh2o327mZz9z7d+VHgie46ztq0vqY6efYjAR9upRIZl fBqaEbUoQekHl+79org6FK0BECNH12u/4kexlVjrSdAuo9I2VOKFeZNdKUqqT9deB7ZUO5SLctrlw hy/n5Z6NMJXWTcEDVEk25UTsjzYIvpE0sx94wA6BP+5BG4dHWDE6KxOliqHjPoVwA6uHhEey4vCaJ raUvAxLQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tuvQd-00000009OkE-2MnM; Wed, 19 Mar 2025 15:33:59 +0000 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tuvNH-00000009NzP-3B0g for linux-arm-kernel@lists.infradead.org; Wed, 19 Mar 2025 15:30:32 +0000 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-43d0359b1fcso6394195e9.0 for ; Wed, 19 Mar 2025 08:30:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742398230; x=1743003030; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=kwjbmevRcW4yMfkA4dX1AKUxaSG8vNc+QBgPKteOh5Q=; b=S+BMVPvnv77NmhHkYU5kpXqpp/hkszAgUv9MC9kXfEdAb/6v9nx8Wd9On15osu5Wsw XmlPX2aOctW/8+J4KBMwXq7NkyiD+njHP/df+X2Rwx5rpViQctu4LhsZke72KCcvpwDI +6GTIZabyHJk3ydaUqJSti8s6P6Z4WnNKEE4c2z3uP5F7M16Un0lx5gNv/oyawFmwKsp d2la3Y7waEjRsavlJB8D9XSY0YzWQKWmbiTW1XR5cc8ySr3Hx0AUbdPCwKJuxlJnWvGw EsPl2zvzuR3Boohdl7rfkjgz+B2AuVkDdVukFLlnCbqNd1/jCttH2xEmo/lRQFzzKA6W hVSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742398230; x=1743003030; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kwjbmevRcW4yMfkA4dX1AKUxaSG8vNc+QBgPKteOh5Q=; b=L9Z2gYtINq2OLR1hY6AGpGTEuerKrael0e9q7oeD+4P4Aosl986ddileyK/Mz0GRcH VMXAV1kTgfmnfSQB3N5UBaswNI1VqSb2f5aZHRCW4jIFbWmqeYpx3UXz18nLxn3A5RyJ wv5uysFhdeT/3F9O5YJwyXYWQCfmQceVizAKetCJ+5H1Q90I2swYpMCRRjSpS1Wo0bdG /UnONDPh3kzGXv/WRLoaxvx6BjMb0DLrv30ftGWsJhIfHzFSpUuYFfRvUgze/MZzN3KU WNVqlaF6EQHkUFG6udLrkOxY8hUJ3srR7SDx+hwHJ/UYOwgKdvj7bpCSzMaLw+CidPJA QUAA== X-Forwarded-Encrypted: i=1; AJvYcCVz1FLGJ6dFKfFMeT0OGwCADbaRLG7lhXlKJowbYN1bnOfG/Lz+0OXR6YCslcKGntCI8yQFWyAIaRrd4kLkNrYC@lists.infradead.org X-Gm-Message-State: AOJu0YzG7K6eiv2qv4/fG+umoy0EZcH/OAIziH4o6LJj4wSJfxa9/mVM auwe7cBS0rvnHtu8G5VvAYYe+BPwTLHFhYZoyFusH+A6fAn+8wSyqgDTWK7GLAA= X-Gm-Gg: ASbGncu4cFdVg7mI4jBKAgcKUvJ7hCyCqLH8gFCqbfnQ4u0gPQPjpTIXF3P4owOb1VV yLDo2BV9uGkEvyIdz19WfjEDo5yH/wISlE+y+cAxobR7b8wmHPxrnAFUkVBEiHNtOeuWtu4S20J pqwogwWCCQDPEWyaebiuqrePk9+E5TtoNCNC5U7f8V0Tj9awiMe/+L5gkya/ME8Za+/mwqQZnQF 6ID07I7dz1ugR0eaHbZLrvvDGOjO3twvmysWfLGMH+iY6CCM63HqaPFkAiZUrzlEgq9TAY1NbYp T30rr6gYOya8g8ZDq3uiKJAo95GzpIP1HP/oCJttIp2DtxQqtw9GbWc3lvjy6UScOiZl49PSd60 Dw2RnDcGh6Ko= X-Google-Smtp-Source: AGHT+IGMbhvAoKZ5MZTSGuKQwWBy+XHvI6tDwhUHbcw9eJrBgGY8SFOMgUHG77gsUcqyh9kE5lpXWA== X-Received: by 2002:a05:600c:5856:b0:43b:bfa7:c7d with SMTP id 5b1f17b1804b1-43d3b95f76fmr61386045e9.2.1742398229831; Wed, 19 Mar 2025 08:30:29 -0700 (PDT) Received: from gpeter-l.roam.corp.google.com ([212.105.145.136]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d43fdaca8sm22590635e9.28.2025.03.19.08.30.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Mar 2025 08:30:29 -0700 (PDT) From: Peter Griffin Date: Wed, 19 Mar 2025 15:30:18 +0000 Subject: [PATCH v2 1/7] scsi: ufs: exynos: ensure pre_link() executes before exynos_ufs_phy_init() MIME-Version: 1.0 Message-Id: <20250319-exynos-ufs-stability-fixes-v2-1-96722cc2ba1b@linaro.org> References: <20250319-exynos-ufs-stability-fixes-v2-0-96722cc2ba1b@linaro.org> In-Reply-To: <20250319-exynos-ufs-stability-fixes-v2-0-96722cc2ba1b@linaro.org> To: Alim Akhtar , "James E.J. Bottomley" , "Martin K. Petersen" , Krzysztof Kozlowski , Chanho Park Cc: linux-scsi@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski , Eric Biggers , Bart Van Assche , willmcvicker@google.com, kernel-team@android.com, tudor.ambarus@linaro.org, andre.draszik@linaro.org, Peter Griffin X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1417; i=peter.griffin@linaro.org; h=from:subject:message-id; bh=03nXe96Gz68DXY2H0Ujds8952wDZmWtW9nwe7BZ34Ws=; b=owEBbQKS/ZANAwAKAc7ouNYCNHK6AcsmYgBn2uMQZlA3NYaC9iaL3h/pGHUSlEutMRvCD5thM 9WKscPfzzGJAjMEAAEKAB0WIQQO/I5vVXh1DVa1SfzO6LjWAjRyugUCZ9rjEAAKCRDO6LjWAjRy ugjPD/97aGZqjPkj2/fwPbyQRgsv1vpdcmhpXOfwtWmb1QyfOW6/ACBPRX1BjM4Fb32yZ7mz8hW qS5ca003v2iZhlO/pxyOsaJswTIzUNpY+/X51cAEjIOA3eizjndOKzl5Sa/+pmuXvoW0MU2D64Z 0fDE2rkK6C63xBtMv9vSyeGWP0xMGtjrXH28QjH7O7OUgpBpAlQIlDY2W+3ywbWDpvBLPObLiki f4RVMFgRf1mT43lig0UDqf4IKyDyAQClKCXMF7Ml7QKnYjorn0i5eFd/MjJGhXkOyxRcsBqsw8v UlR92f8uBwlQDtgiV2odpELxZUNQyspLFbzlzx1nXCS3J7tBuwmnyfipWMKB5d1UwL4Ccaj4yMa PsVfbR33+4w6vVl0q/0GCouG4KaeM9Ps6fgUpUh5t/C0RHhKTDQeru7yf2LKcTLOoy1L2mrvsLA XKBSjaQkfMctqQlBP6o8k9iViVBtn0ulX9Ug4dGcjyXzpOZl2QAuIAKvLFTK55Vem54BuYf+mL0 1O00+Y3F/x6U3qLelrsYoQtxfVD/X7Tmh4nxSPO5iMorpfIwCHe+aIrkjFL/VJWRDvzZP8nmkjv fgC4v4xpypP3/70b6R/Pii7WMujV8WGTIpmoTrbE9XvBnkcEwQdB3o0Iu8VZouSWkgm2P5J/9cl LX5cV3J9ueEAxVw== X-Developer-Key: i=peter.griffin@linaro.org; a=openpgp; fpr=0EFC8E6F5578750D56B549FCCEE8B8D6023472BA X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250319_083031_800093_03DBC461 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 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 d7539cda97da5023ec8a2852ff3f5191642ffd37..0c8c2e41e851cdbefc80a66d87273b7e8fcf9d4d 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 Mar 19 15:30:19 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Griffin X-Patchwork-Id: 14022799 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 537C5C35FFA for ; Wed, 19 Mar 2025 15:35:53 +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:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=CbRxaKlUuHAcCVOLOqHWcjXZo8Uzm/9NfQH6A8RUPPo=; b=B62Lmg4MTCoGABdew49hr0vpae nI78nXmpfj6aJ2E1jllIYac9t6EN4uboVwg/ba0/t6/JBtd0RKW/38RnvbdAFGlBNYpfi0lB6HFlN MIZNwsRvZ3QYtjCb38IQXZWkn6DodVXzPgEm84tz/u3tHOg1gzKfUIKcQdET13Hd+RT6pM0C9Nxws LiVfv11kRNMPmNrqONbmYw5vxtFvC46zGnjJ7bd/d9/LqpC/cv0VaLmMrnJaooKTWtwxf7EpqquL3 1CuNgxhm8nUjwRcXpAhH6deycQ88o5Ega97khI4uC1BDDX1ufnaGbLu3ujES3ATYCOJoNTop+j4D1 IBjvBnVg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tuvSJ-00000009P8B-1CQb; Wed, 19 Mar 2025 15:35:43 +0000 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tuvNJ-00000009Nzv-13yo for linux-arm-kernel@lists.infradead.org; Wed, 19 Mar 2025 15:30:34 +0000 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-43cfba466b2so47348825e9.3 for ; Wed, 19 Mar 2025 08:30:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742398231; x=1743003031; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=CbRxaKlUuHAcCVOLOqHWcjXZo8Uzm/9NfQH6A8RUPPo=; b=xPqlT1szpKLZLN+NmQNXXi/7L15eMKmBB2Wbw3JrPC75AIX8/od0P/fXU011iPAeuh ohi69dbZVL9vZKm3FpIA9vHr4WLidWIOZsDFhlAlAq62QrNaVFHYS1YT/KFXsYaGzvle gXuEnvhNB4VxxJBF5EkMCmPAhWfapnyTsllD8W3TBr9GBjyWtHp8cgsjKavKJFK16eSO fGPglLY5qpr1G5Ui4nU2vjHOxIhD0MUg3h2nHSbMg24Rtwvcd9uNVitmgtNFnHSALH5e mJb0t3pwbKtWZ+7cQjQ3EsDS+6wrYB7wzMTbyiXZBbLg3n04TqTdV4F1vbavD2OyHjvc zwrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742398231; x=1743003031; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=CbRxaKlUuHAcCVOLOqHWcjXZo8Uzm/9NfQH6A8RUPPo=; b=XunumKau4gwnU41aJa3W+M0AOUasrZ4hfN2PJ+dzX7VZcCp4ktmLC71sded3B7UcW7 4RGTGKt0bct2hWcTLmPmPMR63So0Oo00F/NTnUtd8bsLFkyiLLkZC3LJzi37d7Gwc66Q 3xyZc6neevoICvXOknkH3n+NZk2DSaRtRnAeyhUoLrNmu09AFvJ9ADlp2URQkGQ+vq+t z+rGQLuWgLwrdiyfuI8Ylm9BhZVbfsFH/Uiwu0x088B9NspPo3xPf2dSH8M+DTgVRdmn wGar4lZtlxeG+XRf2FjkVVjXCKYuLRCSFLLsapuLDMqGDI04frUCPq8cITJ850z08YUV 3+JA== X-Forwarded-Encrypted: i=1; AJvYcCWzKJwelN9Smf/sSKFpjbHHJEKwJ4zJ1vqQzLU8mApEAo0FdBYhhWPsTcoWKzLGg0IJPwJwGDLtEkNplgS8DpUQ@lists.infradead.org X-Gm-Message-State: AOJu0Yz0gteapUEh7qjvCZRmlfPI+dZqd5An7Bir8KjuIkHj2KTU8Ane r+LneP1okevv2tbt9Zzmyb+ZzAW3Q3uywEzClo828WWTk8TIWA2N2sHgdhuYxsc= X-Gm-Gg: ASbGncvrYUV+FnJReKkwKCxflOK9XOogRcvqRJAzLx0Q6mgKLppcS/AveKqoj0eGUnK 6zD9/9K3LniGAdcndLJdZzQPa3kJhUodsvt1wiPOnBOdTOeP/zue5xyYjg9vtBHYDCqmPr2OOG4 1RVU/BGupGXd3PdUSzRR59OwCjqaZ2SDzb+oij4hbuF/Df0SFDn+eGu3yWh/X0Od0ZzFT4Rog64 WXu+XZ/oPkWVsPw20jXyzwztpXMdkw1I7AOBa2j0f/30KyJeSVWwpKKcMg8LhQCaPTgo500rF9O 7sKS+a7NtZbZCXJ8Fl2yFC7HO1nc/zvSnRyTh6LjEUq+qCwxhOyfQOdFFi05CD1p4+Bmi/7Jvgs b X-Google-Smtp-Source: AGHT+IELKtB9DSmyHJ5USLUFwjbcpHPlTWl70nzCTJQEQMbPy4AR/0qWpG/lQtpCuf9vNJ/yfeJDGw== X-Received: by 2002:a05:600c:1d18:b0:43c:ec28:d31b with SMTP id 5b1f17b1804b1-43d4875087cmr10638485e9.10.1742398231440; Wed, 19 Mar 2025 08:30:31 -0700 (PDT) Received: from gpeter-l.roam.corp.google.com ([212.105.145.136]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d43fdaca8sm22590635e9.28.2025.03.19.08.30.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Mar 2025 08:30:30 -0700 (PDT) From: Peter Griffin Date: Wed, 19 Mar 2025 15:30:19 +0000 Subject: [PATCH v2 2/7] scsi: ufs: exynos: move ufs shareability value to drvdata MIME-Version: 1.0 Message-Id: <20250319-exynos-ufs-stability-fixes-v2-2-96722cc2ba1b@linaro.org> References: <20250319-exynos-ufs-stability-fixes-v2-0-96722cc2ba1b@linaro.org> In-Reply-To: <20250319-exynos-ufs-stability-fixes-v2-0-96722cc2ba1b@linaro.org> To: Alim Akhtar , "James E.J. Bottomley" , "Martin K. Petersen" , Krzysztof Kozlowski , Chanho Park Cc: linux-scsi@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski , Eric Biggers , Bart Van Assche , willmcvicker@google.com, kernel-team@android.com, tudor.ambarus@linaro.org, andre.draszik@linaro.org, Peter Griffin , stable@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3658; i=peter.griffin@linaro.org; h=from:subject:message-id; bh=kk2fMHoWjrLcXHxUi5sF6uFu10/CFkKdnFWw4ZC84VE=; b=kA0DAAoBzui41gI0croByyZiAGfa4xDIJTsN0uisLZOrLYYCRsUsZ9bj4xzs6meMp1naqn+9m IkCMwQAAQoAHRYhBA78jm9VeHUNVrVJ/M7ouNYCNHK6BQJn2uMQAAoJEM7ouNYCNHK626MP/RX1 hguCvwUaqq1KsdNef95QH4hzFhmOnCDMHgq6vkV/3KzUCesSc5/uIcRUjzonwsuY/X8Z6SuoDWl fRguDV0JgQjP9AQWyoPuorF6XLuZBGlFe1uoueH8WgK8A4nE445OeRNb9g5Qxs6vChRvbPZryVD x7Z3L5Kgdv+25WRmpp2NxMcUl26IywhKBGw0a69w43ERY315QLo539L0eUhdO2LrJl7Y52DShDl O/CgBENeYlvos96Z5QM6pqVw5h4aM2FQAHnK1B3ItnXZQNxP93ACgYNJX6Uub5Dm1ECCZuRyDig idFAShyOwK/LsU70tQQR97PRYlkGIqEMQiM0BGS/TtJ0+FZbKcEAuMdo9QRwVQEKizkIKQu1PSH hugssFgNx5yQDMOK2bj1JVCvYe/FuIAW3RdthgoO+15dBxjY9SXt9Dy+uT1opsf6E6l+SG1Qys+ k/JeytF/wU98FfsW3cqStRGEyShGp82LwY+4yPog6OVxfU+0T0E85e59Jqpo1n/sytK6XVbWE8t 2akSDrZTd7mNmrAgwjOQ1pDs3UVOSHayKeMYSYzNjdJCv64uWdalQfozeCwIHKAnepCiHK21+4i XbNhRMDt6YcpeoSfc/RYNE7XcRSqpA1rD+ib8NY8qYObuzk4sGVH1+K8HdvxDsADpHyGiJsJZ5/ KC1Ax X-Developer-Key: i=peter.griffin@linaro.org; a=openpgp; fpr=0EFC8E6F5578750D56B549FCCEE8B8D6023472BA X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250319_083033_296055_249408A1 X-CRM114-Status: GOOD ( 15.71 ) 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 0c8c2e41e851cdbefc80a66d87273b7e8fcf9d4d..f393d42a659f821225e67e3e5d323478456ca3af 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->iocc_mask, ufs->iocc_mask); } return 0; @@ -1174,6 +1179,7 @@ static int exynos_ufs_parse_dt(struct device *dev, struct exynos_ufs *ufs) } } + ufs->iocc_mask = ufs->drv_data->iocc_mask; ufs->pclk_avail_min = PCLK_AVAIL_MIN; ufs->pclk_avail_max = PCLK_AVAIL_MAX; @@ -2035,6 +2041,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, + .iocc_mask = UFS_EXYNOSAUTO_SHARABLE, .drv_init = exynosauto_ufs_drv_init, .post_hce_enable = exynosauto_ufs_post_hce_enable, .pre_link = exynosauto_ufs_pre_link, @@ -2136,6 +2143,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, + .iocc_mask = 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 aac5172761899a5dd8ad98f9ee34b1671dd27880..17696b3768debd641188b5089585b6d303de7451 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 iocc_mask; /* 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 iocc_mask; u32 opts; #define EXYNOS_UFS_OPT_HAS_APB_CLK_CTRL BIT(0) From patchwork Wed Mar 19 15:30:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Griffin X-Patchwork-Id: 14022802 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 514F6C35FFC for ; Wed, 19 Mar 2025 15:37:38 +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:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=xvO2MTCEp0zB1O4o3Tqb0ypgsyFb3UygQBlr47/GWsw=; b=2sWJfALeTk2Hdaa+FcFSaVBHC1 wUJJEHEo9zl5cguB50ofIoCyAxoAPOe8aJqMxuSl8bwfVjCMWbN94Yginv/Tv0kB923Xc7W8rs3fc QW2u4OOH9pTCQcP+mLB1aRqmrfAgGbVdWM4Z8Sv6R2lDpg7YXJG8H/+1fSFu0E1xellLxzdCGfzKx i+eLt5qoUYsbt1Gd5uXCYpmeGfHn2ZUa+Wn939+JwM3TBO35U30+Kg5rmRfgUkvt5fzONRIkYxmq5 2WniiVNdqcz7O1P0Fqjdr7laemZ1/LAQsmtlHWNV25RKGGzNr5GAPm/S0c1hCk4UmgmJiG2fGlDbs f7Yx04fg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tuvTz-00000009PSx-01cn; Wed, 19 Mar 2025 15:37:27 +0000 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tuvNK-00000009O0T-3pUb for linux-arm-kernel@lists.infradead.org; Wed, 19 Mar 2025 15:30:36 +0000 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-43cfdc2c8c9so28326265e9.2 for ; Wed, 19 Mar 2025 08:30:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742398233; x=1743003033; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=xvO2MTCEp0zB1O4o3Tqb0ypgsyFb3UygQBlr47/GWsw=; b=P5Gr/2aQAce+dB5IJusz84KmgQpO4Vt3IjtMjX5WI3ryn7ek8Ygtg1qTJ/vEHwJ/G7 Xet3DK/EQIrXryInH/XkxHE8X4NL+rrcJk/krDs8nkAlTYObCQmzpx+xezxkM/hjwtx7 bCBrk1NSppr9QUL4yqZMfAANZ3Eh5JgT/pIebLS9FhcaD3vw6PaG5PNS0wZysFocZHbB DTzhQnQ9inMlHR1r3Pn2oTatuVwEBQDtos/55k72gNqdsuzLF5e2U/oTDJUkXkb0Ogvf RDALTdHUUbFo3vDfxFiSHmxCmjKbTreYjjdM5GglQz5DGfs+lBx94G4w/SVOudA/IH9j 5hTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742398233; x=1743003033; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=xvO2MTCEp0zB1O4o3Tqb0ypgsyFb3UygQBlr47/GWsw=; b=U02GviKCp1D5gMkLmvE462TG91nFhUZ9J37IhD/2f1c/b5QsUwhjChL/zcxrJ4wrdm X8oY+bpUol/sRG8YcBFt0cEwC2DoCyFCElJDgh2rUKVo34GLvINnhhxd7sTgzZPiad53 P2RcvxoznC0S/8RmeZm9RnWZ7PzshC0u//sGmEkK5I6771Z0ulu4F8c3z8GYGIWFhbZI nw03CUmLn7szOA4EAG+qd6QXlkkIL9Kl4odJAATHImcfZCdeo/bxbiwkpX6JVE/4zPbx SFr6VNBmTFNOWiTvZIvxvCmrN9IO7MPL9wRNvsEA1dDPcrPO6xoq5VN32tkAp3zyaytO 0U6Q== X-Forwarded-Encrypted: i=1; AJvYcCV3nNUMR9OruNtwDeu7WozoDZyxZavhJ4l93b4YU14uW1pO3pFdhQFXYoWXnBiMUNaVuCaYnaDVi56B0b+XGj1t@lists.infradead.org X-Gm-Message-State: AOJu0Yx98akmv4Q++Uvwez3SRcf0CXPs9kPeB7useHaeXBonRwfu9gQU 1J4bhUxEfgPk82rHCpxu4/yJJrq4SsvdvJCm48bWAw/2n2U4SN84h1GuurYyXCU= X-Gm-Gg: ASbGnctSV1Myww7V1WmASfzPrRKxGWjSXkXA6O86yidymwSMUGcpcwFQhtwkZeemk37 LZ2QOzA+rXsXKMdw79lOFmLBJ4Bll4bzhjGx51kW1B/Z5Oa4EX968QnBEUttOBIOaE3KQYXFBlx us51TZ3htQlUSysr97vieoH+PCHDOJpVUPDeD8KO+tRq4HUELkZ5w7DwS6X/y+gG8eLbiMX9v12 8JVvIxZWiBOarszZ+leP1GR0/rQX1wbR+6ZyCgnUcgJF4fMZJUc13ecqKjEyW9OB6HOups5MCm2 /8hMz0Bm4W2cm7MVKITHZp7pCloLRWpeFJHYbq7dkd1/L3Eq+hdLDrhMublpu28MhrUUnnCNtxn T X-Google-Smtp-Source: AGHT+IEck0zvlF4mA6c/4a1WmAWWk69t4E90tBTeEQDggA6Dvagy19sFXvzCIF2qVQD5IG+HaMrWDA== X-Received: by 2002:a05:600c:4f86:b0:43d:42b:e186 with SMTP id 5b1f17b1804b1-43d4378b49bmr26833505e9.8.1742398233118; Wed, 19 Mar 2025 08:30:33 -0700 (PDT) Received: from gpeter-l.roam.corp.google.com ([212.105.145.136]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d43fdaca8sm22590635e9.28.2025.03.19.08.30.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Mar 2025 08:30:32 -0700 (PDT) From: Peter Griffin Date: Wed, 19 Mar 2025 15:30:20 +0000 Subject: [PATCH v2 3/7] scsi: ufs: exynos: disable iocc if dma-coherent property isn't set MIME-Version: 1.0 Message-Id: <20250319-exynos-ufs-stability-fixes-v2-3-96722cc2ba1b@linaro.org> References: <20250319-exynos-ufs-stability-fixes-v2-0-96722cc2ba1b@linaro.org> In-Reply-To: <20250319-exynos-ufs-stability-fixes-v2-0-96722cc2ba1b@linaro.org> To: Alim Akhtar , "James E.J. Bottomley" , "Martin K. Petersen" , Krzysztof Kozlowski , Chanho Park Cc: linux-scsi@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski , Eric Biggers , Bart Van Assche , willmcvicker@google.com, kernel-team@android.com, tudor.ambarus@linaro.org, andre.draszik@linaro.org, Peter Griffin , stable@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2684; i=peter.griffin@linaro.org; h=from:subject:message-id; bh=Jb70gmFrO795pq6l4lVz8akO7b7EaG1IPq1SXiJvoDo=; b=owEBbQKS/ZANAwAKAc7ouNYCNHK6AcsmYgBn2uMQZjsaOtKjGo7lobraBsTsDeP+7mpJ30581 SJ5trpIFZCJAjMEAAEKAB0WIQQO/I5vVXh1DVa1SfzO6LjWAjRyugUCZ9rjEAAKCRDO6LjWAjRy ukYxEACIl1Ea5bUkcLZGzc6ZA0OO/h7+Se39yd6wIuAMUSpmswvUV3Qb0bAsYwxo3+GplmGD4NC GE0K+EJwXJuPeUC/bM5ws5vvl3Ju9VuaX1q4tdZQsTbxv+b6Zkh+Xecklhh0JbEe5a+M9cB0ck1 kcSm4RaJv/yfB/lfK4pKQhEBXXnORI/uRSVOylkEJt5gQydTgTACqAfeAdtvjnkRortPSkWWouh 16SPfnBNlmtgTfvG0oqjMupL1ahKe7xKGiCZiV1X3XMIiQpHO3/wAphY6NQXltTyPWK327QWomm /nlVikpDZgWmlV3R3bqfvMZYe4XLX1nYDy2gwi3Nt6mQUCLundOtLwLz6l1M+1T++1nZsaD7fD+ 5Vw7NKpj1PHyr5Yo4XT9B33Ee/qzk41FZYpKyAecvFYKOfL3/yXTk90uWYYSUJsL3E75OVNuhhf hneoGmsPvUdFJj5PULxpS41lQJoZX6Iy6vCHrD0dzYZ1LvJj/6MWlbpT9FMl4Gd1QdM6D+L/+VE xZgKHQ0B6p0p82l+KF4ix/ccLMRt9zCxMgSHLekM23BMkxVjNl6QBKV1J9+iZoZM8JyucNtpKNp wvMMpaHQI2jWkUPHCVJKfszB/96IMvpxk2DJk5m19jR8BRYl0hdfT4NtIC2kUY2/R1BTJmispT3 F7l81PGxEltoqgw== X-Developer-Key: i=peter.griffin@linaro.org; a=openpgp; fpr=0EFC8E6F5578750D56B549FCCEE8B8D6023472BA X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250319_083034_956966_755B9C39 X-CRM114-Status: GOOD ( 15.30 ) 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 If dma-coherent property isn't set then descriptors are non-cacheable and the iocc shareability bits should be disabled. Without this UFS can end up in an incompatible configuration and suffer from random cache related stability issues. Suggested-by: Bart Van Assche Fixes: cc52e15397cc ("scsi: ufs: ufs-exynos: Support ExynosAuto v9 UFS") Signed-off-by: Peter Griffin Cc: Chanho Park Cc: stable@vger.kernel.org --- drivers/ufs/host/ufs-exynos.c | 17 +++++++++++++---- drivers/ufs/host/ufs-exynos.h | 3 ++- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/drivers/ufs/host/ufs-exynos.c b/drivers/ufs/host/ufs-exynos.c index f393d42a659f821225e67e3e5d323478456ca3af..61b03e493cc1ddba17179a9f22e5b59ece02458b 100644 --- a/drivers/ufs/host/ufs-exynos.c +++ b/drivers/ufs/host/ufs-exynos.c @@ -214,8 +214,8 @@ static int exynos_ufs_shareability(struct exynos_ufs *ufs) /* IO Coherency setting */ if (ufs->sysreg) { return regmap_update_bits(ufs->sysreg, - ufs->shareability_reg_offset, - ufs->iocc_mask, ufs->iocc_mask); + ufs->iocc_offset, + ufs->iocc_mask, ufs->iocc_val); } return 0; @@ -1173,13 +1173,22 @@ static int exynos_ufs_parse_dt(struct device *dev, struct exynos_ufs *ufs) ufs->sysreg = NULL; else { if (of_property_read_u32_index(np, "samsung,sysreg", 1, - &ufs->shareability_reg_offset)) { + &ufs->iocc_offset)) { dev_warn(dev, "can't get an offset from sysreg. Set to default value\n"); - ufs->shareability_reg_offset = UFS_SHAREABILITY_OFFSET; + ufs->iocc_offset = UFS_SHAREABILITY_OFFSET; } } ufs->iocc_mask = ufs->drv_data->iocc_mask; + /* + * no 'dma-coherent' property means the descriptors are + * non-cacheable so iocc shareability should be disabled. + */ + if (of_dma_is_coherent(dev->of_node)) + ufs->iocc_val = ufs->iocc_mask; + else + ufs->iocc_val = 0; + ufs->pclk_avail_min = PCLK_AVAIL_MIN; ufs->pclk_avail_max = PCLK_AVAIL_MAX; diff --git a/drivers/ufs/host/ufs-exynos.h b/drivers/ufs/host/ufs-exynos.h index 17696b3768debd641188b5089585b6d303de7451..a345809af79dc528ad518d3572fe8be034341ee0 100644 --- a/drivers/ufs/host/ufs-exynos.h +++ b/drivers/ufs/host/ufs-exynos.h @@ -231,8 +231,9 @@ struct exynos_ufs { ktime_t entry_hibern8_t; const struct exynos_ufs_drv_data *drv_data; struct regmap *sysreg; - u32 shareability_reg_offset; + u32 iocc_offset; u32 iocc_mask; + u32 iocc_val; u32 opts; #define EXYNOS_UFS_OPT_HAS_APB_CLK_CTRL BIT(0) From patchwork Wed Mar 19 15:30:21 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Griffin X-Patchwork-Id: 14022803 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 06FB7C35FFA for ; Wed, 19 Mar 2025 15:39:20 +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:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=MFAUALr8nAtye3+ZWjuqCa8ix3cqHAZ7WDjEfM5Mp+M=; b=fmyAsigCTfKdpgMjnTj2pUcTQK +OTJefQfGWVZwb736mR4+PvZxuZhB7vhivlExi84//djdWJjXruFCl9T/FS9bkqtp5bbJ4UR5cYoe VGp+pdZ5p7XpK4lXivIlHGasexLrscJUBty2seqILNIFCCxgaY+ZqBN3zwoU2+pK4LaHZEYZe9Vpo Dl1ctEhItPPu6FbTpXSXh6JETKiQ82mYUJMHL+IsfHIis2Z2Bdw46cQeny6s73r/OVjrQISck4Xl8 9cBERZudbvhi8drge/wTl4bBJTjymZ6oEyndrqSQklIJc6GxouXzSP05dqIsb1DwTYdMtjfwhr9RO OxBt6eOg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tuvVe-00000009Pi0-3FzX; Wed, 19 Mar 2025 15:39:10 +0000 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tuvNM-00000009O13-1oT6 for linux-arm-kernel@lists.infradead.org; Wed, 19 Mar 2025 15:30:38 +0000 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-43d2d952eb1so31570055e9.1 for ; Wed, 19 Mar 2025 08:30:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742398235; x=1743003035; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=MFAUALr8nAtye3+ZWjuqCa8ix3cqHAZ7WDjEfM5Mp+M=; b=A4/TnCB160+AU1wa6iOErnsbc1Q3eWucWiFboZk7RIkleWrbQEhMGuZuIZbFUlgUub +49CKlD/bV/RXfWfSLCOZRdPPXFLEch2iXNxJTIAvpULoQtN8nnW5JfdOrErRe/7V5W6 cGA+PCycFTg+nouPVrBH7z0bd74izwhujUv6xTbblRQbK2i4ZjOZChelq/lDHZd+LUjL ysodvZSTfQCTvASAH3jBXCDUEGdUwUM7KMcMJs5DDSSeR1qhPEzZoovceY+OiELlpj3a u3wfzBjPSsmq3Gkggk6c/vybQZTA/46HvArJFFInMI1BIlWPo1BtOHAWGfvSHyv2r+Mm 6Ceg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742398235; x=1743003035; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=MFAUALr8nAtye3+ZWjuqCa8ix3cqHAZ7WDjEfM5Mp+M=; b=X3PVHKrIRYKR93R1Ka4FyD2hYgdDo66AMt8OaYWkb9AI4VQPABdraYl6bimfyQmPCl nelWcP94yO/JR1JBZLZtA1R3S4yAMUGVXj92ebjG6w5nBc5LOJkYHX0jJrpMIn247h8X kZCVomm5yksMbcDAdGzw9ZYLJiUe36TUewA96JfmzRCTXMaQIlw0dD6uOwrOGKDJMRA1 +WZodWibG3ZJxxLQ2UaJG18sILAssB1pBLM3AQ9MzY2Uoc9E7x9s1Lkyt9NDZrEHFAgy hgbHaaqd9hoZrq78+qNjqU4aYtiIPyfddeH1gZuexSwFdjBRxdf4GLdMQQ4fl+2qm/oK 4s9A== X-Forwarded-Encrypted: i=1; AJvYcCVjJc184pFmVi+f4QWCW1fbQ5tcisYvs1o/j8y7G91cMySVzeBwXOy2bqoNfa8YntcuULlZQGuxbf7T4wAc4Ck/@lists.infradead.org X-Gm-Message-State: AOJu0YzKRmIgTKFS/vc1mV3K9LIaAYxEc95C1XEEC/EFk4QSn7b0b52l oTNFnMWX7AC031H0gdn28tGYrPC54LoA7QzUuYkIV4LHLC9bqQnTHOcAR8t3Ze4= X-Gm-Gg: ASbGncsd59epFDJxrBiUJB8avKwkw4ecLXk2fV2s1HAbeWxUpblOiTyOX1hqTYZ5o/K 7MgVJ/5DeV/1IJEaFLoeqmyGppxTpimA5V+YgloT2QFpGyfXAsBi/kdzlmX1HG63lx0hr/JcZWr CKrbAuKMTrETYOkR7KNlAdkHFquidzG1pYdO38xgseDcxSesVr9DI65RzRiPfeQgiGbU2QLC4rv WMVigzBM8Rpj0yGCNXdokB38Keq5U1M0jkM9pyf3VE8Zu8DrPcQc9T6+b+wT6uZ/ypoqoRU5UJH E4iB2ts0VbZub8GUoJjwdXzIsNhgtEtykkBtaj+VANNsIHg1dW9k1dNdjmx5CURzZ9g2x6ZTmtd 73c7GBKdHbzw= X-Google-Smtp-Source: AGHT+IEHXtC0EIKTh5C5yDLtKnopzR+kKj3o5MrwB8zEIjbuESCbAMxGj1QGIrHhGz+ceqR8jXdneA== X-Received: by 2002:a05:600c:3509:b0:43d:79:ae1b with SMTP id 5b1f17b1804b1-43d437a9541mr31446495e9.14.1742398234649; Wed, 19 Mar 2025 08:30:34 -0700 (PDT) Received: from gpeter-l.roam.corp.google.com ([212.105.145.136]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d43fdaca8sm22590635e9.28.2025.03.19.08.30.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Mar 2025 08:30:34 -0700 (PDT) From: Peter Griffin Date: Wed, 19 Mar 2025 15:30:21 +0000 Subject: [PATCH v2 4/7] scsi: ufs: exynos: ensure consistent phy reference counts MIME-Version: 1.0 Message-Id: <20250319-exynos-ufs-stability-fixes-v2-4-96722cc2ba1b@linaro.org> References: <20250319-exynos-ufs-stability-fixes-v2-0-96722cc2ba1b@linaro.org> In-Reply-To: <20250319-exynos-ufs-stability-fixes-v2-0-96722cc2ba1b@linaro.org> To: Alim Akhtar , "James E.J. Bottomley" , "Martin K. Petersen" , Krzysztof Kozlowski , Chanho Park Cc: linux-scsi@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski , Eric Biggers , Bart Van Assche , willmcvicker@google.com, kernel-team@android.com, tudor.ambarus@linaro.org, andre.draszik@linaro.org, Peter Griffin , stable@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1228; i=peter.griffin@linaro.org; h=from:subject:message-id; bh=3SI4bC7ybL3N2FRvbuwPacvlxHEWeD8IolpWQSN1KPw=; b=owEBbQKS/ZANAwAKAc7ouNYCNHK6AcsmYgBn2uMR7Gt6GMiUHhQ9tNeB1ryvfLXf0f6hKBg7Z AIUaxYvoPqJAjMEAAEKAB0WIQQO/I5vVXh1DVa1SfzO6LjWAjRyugUCZ9rjEQAKCRDO6LjWAjRy uhgZD/44yhmeYZZzFKVFFjq28rha6NHqeREb1/qoxysPC7HrGnjsYlpYk7SLWHWWcyjtwhG/gMt O1lVZxIDu8c7fSHM8+Z80aiXDkcsmEARfOUrD7rvRCij6LS61K5swgmRoawpJUwVvovpsoSW0g5 ABdLqjCx+iqyCQMidJfzV25UAHL4ymc/kVXCFeiVTBnnTndKQIathuUUcIEm/D2p1t+jRbp1ouj psGLVwlAg4zg8pKpXLOUq9qzcfjC45NB8RsIepMMqtHXKaJISGMHXLd5hVa/TNrEeTA/cPK42UC gzzSTMDl+u11SC4wzQJW1pGjPumuXTS5esnkGul/VvG0fkXHdp3YuGBE3rnUUwFqjGqOmH5yoXs Y70vVU28KnxP2Fnhhl1lONhMkR2STrszNmC6huHjeZtsh4TFCSmXHmLJh0xpisMoQmlN/30pOcl RRN4m1DK7nUiauvbcCVaPdj5P6RmbOYJtDqUCqON9M/eQo7wP4JYkQZi5YQHNXvOx1YZ7jHq5jc mfPzh2Tq80p/hi0O56Kgz0Ehub3xxNXIikH/CGYwVORuo/Gmg8U1YYHcER1HhltRaAp1JQPrDw/ c1f/EAeGILL0PZnv5PKrNi3kkPLIv224YLEkUbnDCaWb9v3eW95YQeb7mFh8wcQGHiwEF+mqTl6 hymvqaPAm/4Doyw== X-Developer-Key: i=peter.griffin@linaro.org; a=openpgp; fpr=0EFC8E6F5578750D56B549FCCEE8B8D6023472BA X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250319_083036_503508_579E0097 X-CRM114-Status: GOOD ( 12.54 ) 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 Fixes: 3d73b200f989 ("scsi: ufs: ufs-exynos: Change ufs phy control sequence") Cc: stable@vger.kernel.org --- 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 61b03e493cc1ddba17179a9f22e5b59ece02458b..34e16e198830d086cbdb6cb0b027ca92687b2ae6 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 Mar 19 15:30:22 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Griffin X-Patchwork-Id: 14022804 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 6AED8C35FFA for ; Wed, 19 Mar 2025 15:41:04 +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:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=x9eSGRpGRsI7cZDtS5Yy4CgMDaMHl5lqU7SxcNwGqzg=; b=UAumdGoIplmMr2cI0GrqW+7jnY F3jLuw+brlJZM7rerXHqoT/QDNq6GiNoOMisXMgQN7RpFAgC/XWNhpQSKxc6n7IF/G6el+Xiz3nso WmmN2Byg/yOGxsQq5tggURN8Yj7bSjx0iPD8VzCoECJkdN8iWDqrNxgevKd63Qw+fahdsxJq+6ZGC iT4A8OmLf7DPJ0HuyFxI1nY+qd2koL1yTyg3jPb9Eev3CQXRoGJP6ZIvqx8yx1/Mt2BEjoTv0aAID bqHXi3CjdryQZQGrWEtMN+gR91e7dJAIxze1UciPX6VLpbvrrgnyGkP+/+YPq5n5C24N0U6OZAEne x0G/ydhw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tuvXJ-00000009PyL-1sMV; Wed, 19 Mar 2025 15:40:53 +0000 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tuvNN-00000009O2C-33ix for linux-arm-kernel@lists.infradead.org; Wed, 19 Mar 2025 15:30:38 +0000 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-43d04ea9d9aso22323655e9.3 for ; Wed, 19 Mar 2025 08:30:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742398236; x=1743003036; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=x9eSGRpGRsI7cZDtS5Yy4CgMDaMHl5lqU7SxcNwGqzg=; b=oWeOYW2XS6VNWipLi2guBzHw9E822xWdF31+E3VF3ibm7TeT9N/ZLfMQoLFyrEaBUJ vjRCpul8ZydFYNO6qNVoF2Dk29BuGlx2aFBa1mdVzOxZt6HRGWKLb3Oue/Z79ODDPYEU p86DMDy6PVFxzMON/sHEOlqBS3l6MS+/pIc7STMVnmWzhhf4FkrVcl0mQmmWBG47EU90 Idk3e/2dtUfrNmPk8/CLDxtq0pctizp2feoQBH6BfpwZ9Oe0ZiqiZo8++tJGdRknHkyV gQ9tPOZzQ3EPwmW+gnOQGh18HYfLWYpWd9UEK2hrPjjF9FECUVAcOuC1qLmouOEhF5D/ Sn4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742398236; x=1743003036; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=x9eSGRpGRsI7cZDtS5Yy4CgMDaMHl5lqU7SxcNwGqzg=; b=gkoqsfhbvZGN1npFhMMUWUw56AApOTipztzmHv9NtBA4qH/aAD4FNnpl5pZ4cXrZOK L8mj//zMPnh/aO6cobrGfcSo+G6Fn21ZAD5L27ZSXcliIyhsqaGRqoZV0OCbFOCpcAZs i2RrLCvQhN7XK/Icp1rahrrySB5wrMcnKw1E9ipNJ6md9QohIPkguGxT/6XDwGH6QEN9 eT0UQmXbTQkBPpv49PhFsYMZRbKt7FkJXelZfJRwoVC3rVEVaYvTbGrp9mCnIkBHTYxJ Eqy36HY6PLOu33EucqjSexeOsz2VR8uu9oUdaGBOcAowheufI3whyQp2RNeOWsUF0P+2 7F0Q== X-Forwarded-Encrypted: i=1; AJvYcCVfNVlBqUWlMsgOu17pDKbKsmRQfHrEvKYbDDFf0/9bs7W/6i2mZ53vwExrqcusZpqp2p0+HWLuf+9daW+JUreK@lists.infradead.org X-Gm-Message-State: AOJu0YzmYz7/hC/AwFNbiArlSMmzBFTmtJCKnibhucvLCNst0/mJm8nM TPurvWAZ7bNG+z7vq3nIivYh54GEghrQD5MGaO2b/227bNYQGym5KpyCmI0xw4A= X-Gm-Gg: ASbGnctk/uf6IeTYPM56QvzlYbOTp0YafeV341EsUf3Uf535LmvSla2bIn1gUZkXRB6 TGuctyR1EWIYePT7c9TVj+stT9/9AzqUEb5IZHG5mYumons0Wm6qrwmKI7jK60fmgmwr8DYMz+b 9wE5bNL8r554zs1Ri1rZL3xO/2uqMZiAFwgAOiRXVy5KaVPhMocEjILYGsz7rzV+cAw+bUSQbR4 QHJOs7zLcs5+hmo0KW59aoBQ3O0S99b+0bBvIApVlPM+5UpvV3t3TSLaFJFANvAY7T609JJVP31 cifuStbVNjpDHoB6s0eztDxVZcgJkiGhfGReWT0obR641InjQnYKIO7AC8sCmUrspne5LAdiF6k siz+yVI+7b60= X-Google-Smtp-Source: AGHT+IG9lKVl9ggOk268CWWDmgKFxbPbR+Kt9zHqmVimmqFce/v8krfj/anJNbYuVt/uhkH4oSO4OA== X-Received: by 2002:a05:600c:a00e:b0:43d:2230:303b with SMTP id 5b1f17b1804b1-43d43815fb5mr29107145e9.20.1742398235982; Wed, 19 Mar 2025 08:30:35 -0700 (PDT) Received: from gpeter-l.roam.corp.google.com ([212.105.145.136]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d43fdaca8sm22590635e9.28.2025.03.19.08.30.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Mar 2025 08:30:35 -0700 (PDT) From: Peter Griffin Date: Wed, 19 Mar 2025 15:30:22 +0000 Subject: [PATCH v2 5/7] scsi: ufs: exynos: Enable PRDT pre-fetching with UFSHCD_CAP_CRYPTO MIME-Version: 1.0 Message-Id: <20250319-exynos-ufs-stability-fixes-v2-5-96722cc2ba1b@linaro.org> References: <20250319-exynos-ufs-stability-fixes-v2-0-96722cc2ba1b@linaro.org> In-Reply-To: <20250319-exynos-ufs-stability-fixes-v2-0-96722cc2ba1b@linaro.org> To: Alim Akhtar , "James E.J. Bottomley" , "Martin K. Petersen" , Krzysztof Kozlowski , Chanho Park Cc: linux-scsi@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski , Eric Biggers , Bart Van Assche , willmcvicker@google.com, kernel-team@android.com, tudor.ambarus@linaro.org, andre.draszik@linaro.org, Peter Griffin X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1888; i=peter.griffin@linaro.org; h=from:subject:message-id; bh=meJ2NRXYTrgH1O0PZsicJBELBIeyADpQnFr+0uBOXCw=; b=owEBbQKS/ZANAwAKAc7ouNYCNHK6AcsmYgBn2uMRE20Q5ANasCRwuFnlZzMwCdJvDbk0vH/NI 8dr9BquauWJAjMEAAEKAB0WIQQO/I5vVXh1DVa1SfzO6LjWAjRyugUCZ9rjEQAKCRDO6LjWAjRy ui5vEACXBq0bqFMkUCLc92+siadp/QAjpVDOeVSbJHwT+Cmk7B9ZsJZTrROLNYvOfzD8gBNB5PN zzYuFEYIUSQchIQGiwl62xCh3YJ2vvxH+L2FuqiILWVx9aztYZ4vgv/xjQbJiwXMDYNfOKppURe T4hKRWySn2olNQ5K5tL+at0tIES0oYCOl1gMe3i5F6EdHDkauNsACg0x9cp49mwNTvaHXoKG1+K HdH9Y1VAmkF6xfCM+He7BlylF5t4hLDLhraMjf1avMM8+6JSZdEzvYWwbxW/htvWeS4ebKh9MsT sH6lwEDjT+XeErUt+BFGQdsxVTb0xxbuC3vEqsJtbCbH+RC6Qb28ksiN+zhSSGtldjO8Eid2dc8 4P1y5ijkVlVQF+aOw+/AjmYq+DhbQfVAORWLzGiDSz/4xUVbceDx8J2DHEHBGO/Y8PxkPpwpOwp OSaxshVmG8YagyrVTpc2ZaSC5Ryso+cgXsNzObgLUS1Oj91x+q1EpG1p2OwLXsmpxJCpPjKq/Ak xWC3tqrFD1Qx7uoWwEXlLiSduuX3aRzE6uwScIig984D0O2VDipXBrx8t/CF78Mu8vZoJ2JcqtG gDF6rMO2dbXrlY7PxeeBA7cPioGiCPg3+RZm2GgQV6pTO9rNqSHlw7KcCFccM2etD+g4CNlOBmS w63Hm9SJISK8soQ== X-Developer-Key: i=peter.griffin@linaro.org; a=openpgp; fpr=0EFC8E6F5578750D56B549FCCEE8B8D6023472BA X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250319_083037_770397_AD78225B X-CRM114-Status: GOOD ( 13.23 ) 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 (support for file and disk encryption). Setting this bit enables PRDT pre-fetching on both TXPRDT and RXPRDT. Signed-off-by: Peter Griffin --- Changes since v1: * Update PRDT_PREFECT_EN to PRDT_PREFETCH_EN (Bart) * Update commit description for desctype type 3 (Eric) --- drivers/ufs/host/ufs-exynos.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/ufs/host/ufs-exynos.c b/drivers/ufs/host/ufs-exynos.c index 34e16e198830d086cbdb6cb0b027ca92687b2ae6..f6980f05bd5555b351070fe33d0afda469fe498c 100644 --- a/drivers/ufs/host/ufs-exynos.c +++ b/drivers/ufs/host/ufs-exynos.c @@ -34,7 +34,7 @@ * Exynos's Vendor specific registers for UFSHCI */ #define HCI_TXPRDT_ENTRY_SIZE 0x00 -#define PRDT_PREFECT_EN BIT(31) +#define PRDT_PREFETCH_EN BIT(31) #define HCI_RXPRDT_ENTRY_SIZE 0x04 #define HCI_1US_TO_CNT_VAL 0x0C #define CNT_VAL_1US_MASK 0x3FF @@ -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_PREFETCH_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 Mar 19 15:30:23 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Griffin X-Patchwork-Id: 14022805 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 C9854C35FFC for ; Wed, 19 Mar 2025 15:42:45 +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:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=AjZnmCYHxYj5r8o21deMPmCGzUUBOqv2gFKI29/i6QI=; b=cIFMLBkL4EpZwDS8mg7AewhiFT G7JXUp1mO+IttwQsCouW+BmyNnvTAtuz6aG2nofsdRR+FA6vR3xXayLRlBsW263YgjmQSaI0vbTb/ OxL3jd++rqvKjb0xBH+kpsfy8aG0Ef/pSkFTK1HdYiY0tqQlG1eiOqoszWHjJwPwuwTfzMGdvnB5A CtYSeDO7HWhL9RVlglHwUG/DmPXXlByJfRsHLSUcClZ5D5zsFCfGGPL7qXLcxd+Kj6OwMmzShDOTW 5T5FRJJHE9ilbsqaDDguIJwetnEp/DAO39qz94oK1MMDf2yGH2A0u89HpWUxTTjBFpxdGb440QVav rFG5ovMw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tuvYz-00000009QGE-0bUJ; Wed, 19 Mar 2025 15:42:37 +0000 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tuvNP-00000009O2x-0mUB for linux-arm-kernel@lists.infradead.org; Wed, 19 Mar 2025 15:30:40 +0000 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-43cf257158fso32115655e9.2 for ; Wed, 19 Mar 2025 08:30:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742398238; x=1743003038; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=AjZnmCYHxYj5r8o21deMPmCGzUUBOqv2gFKI29/i6QI=; b=nbUmn5YTpg5SRKW+iccm/l8HO/W0/IWRq2+KY4Gm03A2NKwFupbDoapn7dAC/BZ7dn vFGx+8scwzxpF/mF5lwjpqj6mOwNtygKUdYxnhLSBPJoIZF72SEf8/cWfl4Wsc1u3FFf zbxKLHhUIPVjrWbbePayFdrNwmfN/FL8rOdEDYIZ8bSMpPu2wH189GOIuSYo0a2nyXCG aR1ZKWxZBBBqExcs9jDmwwe4Nq+832nBZsZS7J9pTzd8li/wNXR6Kn5vxfcIB7zSFpYW c+gW4h2Bo/O7e73qcZvPoiF/wkR2YtezylRVKLedvxXShmRmMl9J4rViQ/iDF1d1KYif Y/kg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742398238; x=1743003038; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=AjZnmCYHxYj5r8o21deMPmCGzUUBOqv2gFKI29/i6QI=; b=wi/bfV+6R+WxdVQkgQfA5uLEdF/O54ygo0H3CszXg750PFDlGG/eIfs0SsPP7Vdis1 BmhGwJHm/jTZ09pppaxqXYtC8dJumwC1EVVE/Oa7CP2JDCS6SwgmgTFrqWdkV+L/MPB5 Hc+3AJIGBqVbH2mRT6y3A1uPMDzhvmWOWwvFo5DCPUNVCQRdiGjlj/VLVkUTwMFwWnia GOuujbEn6I1/Uq/Rk7s5Gi9CQr7Hvk0hA6GEbIuGi45RQDx3dB4d53L2/6s7E87Wyduq lyou2uUhQiP4ZkHrNe9YyV8yazdCk90MBXsNIHbl14TOP4cMn6rC3efWDlvsCUtF0Tq6 XRNw== X-Forwarded-Encrypted: i=1; AJvYcCXDgjpB3uoEmUneZb1f4pNg8ovCAQyINHi0IKH1+5Wu1U5tpahyOoKRtj3A+1ZbXXVdQ1Ona32ha2QFMwl/GE0e@lists.infradead.org X-Gm-Message-State: AOJu0YycQPtcidxUYY2gghAcT/AN/H65wAQai+7+nQc4NMTDwXoNHewp kOFs7hmMhQjZQkduzHfpfZRKzAQMo9p0h+gYMIFOheNiOpD90KfrExPuwEqUmxw= X-Gm-Gg: ASbGncvJ8+1nm2N8aJHwSMmCxTf/EtI90ny6hMTbqY5pFGRrfwe1N6wW98rxkKR6Z9s 0DmnnrU4CsD7RyNVboylu4TS966NsCoZAoeeZCWOHJ3XRiykXtTKNetJngV5emg8cbL7aulqqba H4Bi0a4GtZ/HhEFpPDFeulAkxXUV43Ptp+T7Rvidpz1C7EfSGSN9at9TqkbP4mYtFMJ59vj5Tf/ l77lYVAkh1DTT9CLUWUUa53allt+LJrsEesbHtWNW6RL2xCn/4zvXTfZOA0vrup+EP0dNE/6FJL Z3NFnq0kPfOLlY7/IHYZ0nRYUVFZBGivkWHmPtPcwlffqNSuHyqYKbqFkklv91ndz4Rjf92SJad 2 X-Google-Smtp-Source: AGHT+IE0imvyWtevoay+Nl/n+MDQ7Wc9dHAjRMpT6TT9WUssTSaTHXR2b/vx1TkCs65IxfQ/y6FOaA== X-Received: by 2002:a05:600c:5250:b0:43c:f8fc:f69a with SMTP id 5b1f17b1804b1-43d437822abmr34547135e9.4.1742398237671; Wed, 19 Mar 2025 08:30:37 -0700 (PDT) Received: from gpeter-l.roam.corp.google.com ([212.105.145.136]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d43fdaca8sm22590635e9.28.2025.03.19.08.30.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Mar 2025 08:30:37 -0700 (PDT) From: Peter Griffin Date: Wed, 19 Mar 2025 15:30:23 +0000 Subject: [PATCH v2 6/7] scsi: ufs: exynos: Move phy calls to .exit() callback MIME-Version: 1.0 Message-Id: <20250319-exynos-ufs-stability-fixes-v2-6-96722cc2ba1b@linaro.org> References: <20250319-exynos-ufs-stability-fixes-v2-0-96722cc2ba1b@linaro.org> In-Reply-To: <20250319-exynos-ufs-stability-fixes-v2-0-96722cc2ba1b@linaro.org> To: Alim Akhtar , "James E.J. Bottomley" , "Martin K. Petersen" , Krzysztof Kozlowski , Chanho Park Cc: linux-scsi@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski , Eric Biggers , Bart Van Assche , willmcvicker@google.com, kernel-team@android.com, tudor.ambarus@linaro.org, andre.draszik@linaro.org, Peter Griffin X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2041; i=peter.griffin@linaro.org; h=from:subject:message-id; bh=7s8ZG7rjsKFwjxleGe/WV0LjRuAvxIjVXT4DqwU66xo=; b=owEBbQKS/ZANAwAKAc7ouNYCNHK6AcsmYgBn2uMSf5uvm/FpEyh5swIHxpa/LmHezM6/OP2QY 9MVZvxOExKJAjMEAAEKAB0WIQQO/I5vVXh1DVa1SfzO6LjWAjRyugUCZ9rjEgAKCRDO6LjWAjRy usXDD/964vJN7mBdCt96LUDow36KDCH5cAm1CeGbPUFo3LIj1nznxlwic31P+sgdl6J5xOMvwII o0eYSKMGFDWNfQdX3FfNxw+PZVH1OA0egJvAGXyexEqQOYurjEDOIc8sRRrvIwEjKWh6MnR8E+n m/QjkL4SExk/7n4wBVcXoaXRTdru6lc5aPBhD+yMLnL458WalOljyLsQbiR2/GPFARN1aOQDStE pqxmX4ZZYgXEsbOAyLbJ8NVtW4Kg+rXLu/O0xyLiya/XuDVHxwHo2GsbdfEBO8JI8k45lOPNv6w L+CLx4JGdpyDyqHLQdkgIJ98a2+jlptKgutUToX8hJ+SsUVseDZ4YRZimfoS/OCXPesRhk+5RV3 WBkh2zeaQAYssWGALYLYsloNK4aZVJLjOnw2KkT6X6Zc9BjY/hxcl91iaq0tkjMPnyCUHa6ZfpU hPtucZXsPnrYWGm0rTAWhFxV33fa5FAbwWyKBEnMtqwUzfheLVvYTSa5Cxxs3D8566pYJ8Ec/QC z4wTcwnW+EWOjF3B023GowJ5sPoTjN0Dlg7p9ogQsMsIr4hX49/QLEqyiDo10nb7sspJf+Az+Rh NuX49wWgzfYuvxpS6Z0VQmWrfWY98RRjqrtI9Ul3478tgvm5yJCJTKIEDIMxAOAw0RkeLgsobwK kXo7n/Z9gZNzzBg== X-Developer-Key: i=peter.griffin@linaro.org; a=openpgp; fpr=0EFC8E6F5578750D56B549FCCEE8B8D6023472BA X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250319_083039_232495_B2294BB3 X-CRM114-Status: GOOD ( 14.94 ) 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 --- Changes since v1: * Remove superfluous blank line (Bart) --- drivers/ufs/host/ufs-exynos.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/drivers/ufs/host/ufs-exynos.c b/drivers/ufs/host/ufs-exynos.c index f6980f05bd5555b351070fe33d0afda469fe498c..81a1f04411c0426d6fae931e75db5f4c8693daca 100644 --- a/drivers/ufs/host/ufs-exynos.c +++ b/drivers/ufs/host/ufs-exynos.c @@ -1523,6 +1523,14 @@ 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); @@ -1978,6 +1986,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, @@ -2016,13 +2025,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 Mar 19 15:30:24 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Griffin X-Patchwork-Id: 14022806 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 2C0E8C36001 for ; Wed, 19 Mar 2025 15:44:31 +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:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=PbHlg80z6jqmhLLd1L66LTBtWxEQiwbO7Uhwer7oAeU=; b=SiiaVQJC7kk7jaKthQe9Djg5l6 XheYw+gOrK+7WsHP8sWfiRLT/f93+CY4d88XQNKYa9hXAaWz4HReE6C1ZWtaA9cUr2YRVtDIFzg43 AE1SD2kZvHivA2m1oV128+83VT3oVPpBOnKGvNcksgCuS4jVopT6auMhkiudXgHdcGwWMEEgSxhXV Oh6dDJ6Oe3hnBy7Ph+Tt31oPgXM3i6q4+UNJQPgzt17lwuKYVsstTvhCOwKtttD1fNmdKDNNtpsy5 k2UPG0Gd3GYSBLE0RI1+Irdro6FGrVR4V0wjXfcWDJlpez48b2RDZNkc4p/ZXPSUiKoy9VW67BXWP 7xms4J8g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tuvad-00000009QYO-3iN6; Wed, 19 Mar 2025 15:44:19 +0000 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tuvNQ-00000009O3i-2tX3 for linux-arm-kernel@lists.infradead.org; Wed, 19 Mar 2025 15:30:41 +0000 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-43cfebc343dso34330585e9.2 for ; Wed, 19 Mar 2025 08:30:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742398239; x=1743003039; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=PbHlg80z6jqmhLLd1L66LTBtWxEQiwbO7Uhwer7oAeU=; b=I4NpaE/p5ZQXVIfxJUF+jQ1iWhFKKDYddYXdQOL0CAm7p7N6A7UBxgs3w7x/m0I2Bv k0Dp7V4bgwjnN0gs4WzlM8EgegXOMAYBm9KtkykX7OfWyj+QPzuyDKjZXDJ7bPKjfgAI gYR9/STvdBip+auGrvV7ChHnSupXuggtI5ANN1Bf+qVMV24fs2VFso3GHvoMvCWLxH9c /giwZTlGhIt7CLDXBY4SMp9hAibGAl7r5K8ex4E1FtbDBEdGJqYJ0pI+Dj9L/9SL4/Px lnT8zS0KuEhJ0dLUB3e2GC0lk1OmdxE+zJyu5BZc1QZ7A5L3uVRPpEp+L/swDkyI2Itk u7bQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742398239; x=1743003039; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PbHlg80z6jqmhLLd1L66LTBtWxEQiwbO7Uhwer7oAeU=; b=JYgOMYX4e4QMcYYl+9f5aNMJa82pjeqraNE7ndJbw1XhWF1mxmnHqBE61mx9JSS4J3 45Rthd1dN2vS2KJv9imvVPMLqiw1xuLTBbjNHgg+isuOZFHUgdXk523F26NDrRxmUjgP Sma05BUbkLZ15uOtZSFCzoe5+WFbAbYqJIKMdV+qot/4lBYapMb5jXPPbPkrchdNaWjs kj6461K9EKpefHeqd4DcT3xRXHwwGVDgGaTsrkLnvUhlqBxkgOPJAi4i8RIj7ySMaYuj 2tkRyissdXX7eiEMfzMAWDD+P2rftoa2ehijqw0WQBTsQrHwijA66q3NcLPuHOSDIkMj gPgQ== X-Forwarded-Encrypted: i=1; AJvYcCWL2DHCESwJcunJWpthAIdukpS+I9JntmjtbRxFminYqnyiinoyz3VSwQZPbp4pz8hQkt1HF+ZA8MPRZUxjNFXl@lists.infradead.org X-Gm-Message-State: AOJu0Yy1c/MeBDL1cey+k4cSXecU9Q1284Tjn6mcCFd9zWzjDlfjFP6L XahPW49fFteRXsMabGQJsSRe4zFpzh7EdtyIyTOJVBcbt5Ro1J11SpXZNn2SXrA= X-Gm-Gg: ASbGncuFHdxSXrPbPRvarVqdnaq5JJU2LOCJyPxu6oHn/DqFrMw3pMWcpQGlLcjVSor 2VCs1kXG42c4GTCQ6ldb0MiS0/mEHm+97UTKwIKLad39eeNh+rF863nlJof6vIfrxCXomNUkOMV 95uTqR0wLpQBFn3hIOyl6BNSP5XZiWocPxyfgyioW3aWHOm3hOltyvHkmV4SArpMNYS1AC58xi+ sPB03ARdHm4mrCt1E+vQ+WbCeNTHO9Cx5mPgP3x/oQUIH367Cd99Jo3Q1gYjB6FgjqAGJ7SgxHZ EYUDCJSgz/ImwmbSe5bPQxuvN0ndcMfyDfxwz2NIpAWGYm6pn/RCAJJZ1wtCT2Brvi+qbMD29Ca 6 X-Google-Smtp-Source: AGHT+IFH6HDxs5aq0bCI3BQSvyCek2NUloG5zCiL2aSkRDxgyBByvj1TpypZ0XveUFi/4iUswd0wtg== X-Received: by 2002:a05:600c:b95:b0:43c:fe15:41e1 with SMTP id 5b1f17b1804b1-43d437801e2mr30519805e9.4.1742398239241; Wed, 19 Mar 2025 08:30:39 -0700 (PDT) Received: from gpeter-l.roam.corp.google.com ([212.105.145.136]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d43fdaca8sm22590635e9.28.2025.03.19.08.30.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Mar 2025 08:30:38 -0700 (PDT) From: Peter Griffin Date: Wed, 19 Mar 2025 15:30:24 +0000 Subject: [PATCH v2 7/7] scsi: ufs: exynos: gs101: put ufs device in reset on .suspend() MIME-Version: 1.0 Message-Id: <20250319-exynos-ufs-stability-fixes-v2-7-96722cc2ba1b@linaro.org> References: <20250319-exynos-ufs-stability-fixes-v2-0-96722cc2ba1b@linaro.org> In-Reply-To: <20250319-exynos-ufs-stability-fixes-v2-0-96722cc2ba1b@linaro.org> To: Alim Akhtar , "James E.J. Bottomley" , "Martin K. Petersen" , Krzysztof Kozlowski , Chanho Park Cc: linux-scsi@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski , Eric Biggers , Bart Van Assche , willmcvicker@google.com, kernel-team@android.com, tudor.ambarus@linaro.org, andre.draszik@linaro.org, Peter Griffin X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2297; i=peter.griffin@linaro.org; h=from:subject:message-id; bh=yJnKhyDbjuMSM1Ff1EJun3ay62EPsTJc6TdUJCfxORQ=; b=owEBbQKS/ZANAwAKAc7ouNYCNHK6AcsmYgBn2uMSwowE0bRT4zvqbxBWw9dUeVGZZKu4Ym7xN +fcA14VK/2JAjMEAAEKAB0WIQQO/I5vVXh1DVa1SfzO6LjWAjRyugUCZ9rjEgAKCRDO6LjWAjRy unRwEACNFynmoh/Od8OsSL+v+R3VOZ5EhLQWh/zEalRrVfSznj7xGHHOO+QGYWXTh9SBvPi39Lh /ixcq4t1wpzvy+7dTB2YncN1A41ca+Uc1qRAU1d3ClP9dINkx2Z3CEViuynkL89pmfIXlg17eOa 1ZHC+8L924hsjNI9wd0bZZ6QYfE6z/ga2jKUtE84/ZCtGLA04ceOiYMVrzosqjAsQYxM01iTKEt sF7z65HxIPtt0Ap/ZOa6b6Q+QlTpOi1ViVHWnyelTmsHUrbOHDCmd/+HaiI6KPiVEUOXVpjiyu/ c3NLTuPpQWuoAK5/J1uQUF/xM4vmGK1peAkGACze4eDJYKDilAJyPEe6yPbXGrcIuDWYW16ivhO U+qf1zDabJw3EBU86Dr6p4OWJjyX1EaNULwwKRS+z6AVHyxmeUL2G5S90/7lLJwxo2iJy7qxKF4 GED2oZxQxxGUSlFsLCUZ2OJgp887kZIEde5HCP5Fpccz8qwihbrCKi2q0HXqZ12VqEtMltfXk0R e/EwXltRRYJeguCopXeJtSkUsFShyOAm6jbpggId+H7NiGvcqw5mqfG8RHbP/kIm0y2jlgr/Ip7 IAj/USYA+81iCutxZJ+fmVYvl5qZ/vSX1N19HtcFHVXjnxHImUwYLCxDr2K7ETIqw2CN8psTenQ 1pAbZohC7qCMHpw== X-Developer-Key: i=peter.griffin@linaro.org; a=openpgp; fpr=0EFC8E6F5578750D56B549FCCEE8B8D6023472BA X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250319_083040_734702_CAA3CAC3 X-CRM114-Status: GOOD ( 16.30 ) 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. This is added as a gs101 specific suspend hook so as not to have any unintended consequences for other SoCs supported by this driver. Signed-off-by: Peter Griffin --- Changes since v1: * Add a gs101 specific suspend hook (Bart) * Drop asserting GPIO_OUT in .exit (Peter) --- drivers/ufs/host/ufs-exynos.c | 10 ++++++++++ drivers/ufs/host/ufs-exynos.h | 1 + 2 files changed, 11 insertions(+) diff --git a/drivers/ufs/host/ufs-exynos.c b/drivers/ufs/host/ufs-exynos.c index 81a1f04411c0426d6fae931e75db5f4c8693daca..3e545af536e53e06b66c624ed0dc6dc7de13549f 100644 --- a/drivers/ufs/host/ufs-exynos.c +++ b/drivers/ufs/host/ufs-exynos.c @@ -1701,6 +1701,12 @@ static void exynos_ufs_hibern8_notify(struct ufs_hba *hba, } } +static int gs101_ufs_suspend(struct exynos_ufs *ufs) +{ + hci_writel(ufs, 0 << 0, HCI_GPIO_OUT); + return 0; +} + static int exynos_ufs_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op, enum ufs_notify_change_status status) { @@ -1709,6 +1715,9 @@ static int exynos_ufs_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op, if (status == PRE_CHANGE) return 0; + if (ufs->drv_data->suspend) + ufs->drv_data->suspend(ufs); + if (!ufshcd_is_link_active(hba)) phy_power_off(ufs->phy); @@ -2171,6 +2180,7 @@ static const struct exynos_ufs_drv_data gs101_ufs_drvs = { .pre_link = gs101_ufs_pre_link, .post_link = gs101_ufs_post_link, .pre_pwr_change = gs101_ufs_pre_pwr_change, + .suspend = gs101_ufs_suspend, }; static const struct of_device_id exynos_ufs_of_match[] = { diff --git a/drivers/ufs/host/ufs-exynos.h b/drivers/ufs/host/ufs-exynos.h index a345809af79dc528ad518d3572fe8be034341ee0..abe7e472759e94fef353e9a97bc9b55f6a0324c1 100644 --- a/drivers/ufs/host/ufs-exynos.h +++ b/drivers/ufs/host/ufs-exynos.h @@ -192,6 +192,7 @@ struct exynos_ufs_drv_data { const struct ufs_pa_layer_attr *pwr); int (*pre_hce_enable)(struct exynos_ufs *ufs); int (*post_hce_enable)(struct exynos_ufs *ufs); + int (*suspend)(struct exynos_ufs *ufs); }; struct ufs_phy_time_cfg {