* [PATCH v3 0/2] Expose UFSHCD capabilities in sysfs. @ 2022-07-29 2:05 Daniil Lunev 2022-07-29 2:05 ` [PATCH v3 1/2] ufs: add function to check CRYPTO capability Daniil Lunev 0 siblings, 1 reply; 4+ messages in thread From: Daniil Lunev @ 2022-07-29 2:05 UTC (permalink / raw) To: Adrian Hunter, Bart Van Assche, Greg Kroah-Hartman Cc: Daniil Lunev, Alim Akhtar, Andy Gross, Avri Altman, Bean Huo, Bjorn Andersson, Can Guo, Daejun Park, Eric Biggers, James E.J. Bottomley, Konrad Dybcio, Martin K. Petersen, Matthias Brugger, Mauro Carvalho Chehab, Mike Snitzer, Sohaib Mohamed, Stanley Chu, Ulf Hansson, linux-arm-kernel, linux-arm-msm, linux-kernel, linux-mediatek, linux-scsi The patchset introduces new sysfs nodes, which userspace can check to determine support for certain capabilities. Specifically the patchset exposes Clock Scaling, Write Booster, and Inline Crypto Engine capabilities. Changes in v3: * Expose each capability as an individual node * Add preleminary CL to align checking for capabilities * Modify documentation to represent new scheme Changes in v2: * Add documentation entry for the new sysfs node. Daniil Lunev (2): ufs: add function to check CRYPTO capability ufs: core: print UFSHCD capabilities in controller's sysfs node Documentation/ABI/testing/sysfs-driver-ufs | 39 ++++++++++++++++++++ drivers/ufs/core/ufs-sysfs.c | 41 ++++++++++++++++++++++ drivers/ufs/core/ufshcd-crypto.c | 8 ++--- drivers/ufs/host/ufs-mediatek.c | 2 +- drivers/ufs/host/ufs-qcom-ice.c | 4 +-- drivers/ufs/host/ufshcd-pci.c | 2 +- include/ufs/ufshcd.h | 5 +++ 7 files changed, 93 insertions(+), 8 deletions(-) -- 2.31.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v3 1/2] ufs: add function to check CRYPTO capability 2022-07-29 2:05 [PATCH v3 0/2] Expose UFSHCD capabilities in sysfs Daniil Lunev @ 2022-07-29 2:05 ` Daniil Lunev 2022-07-29 8:10 ` Greg Kroah-Hartman 0 siblings, 1 reply; 4+ messages in thread From: Daniil Lunev @ 2022-07-29 2:05 UTC (permalink / raw) To: Adrian Hunter, Bart Van Assche, Greg Kroah-Hartman Cc: Daniil Lunev, Alim Akhtar, Andy Gross, Avri Altman, Bean Huo, Bjorn Andersson, Daejun Park, Eric Biggers, James E.J. Bottomley, Konrad Dybcio, Martin K. Petersen, Matthias Brugger, Mike Snitzer, Stanley Chu, Ulf Hansson, linux-arm-kernel, linux-arm-msm, linux-kernel, linux-mediatek, linux-scsi To align with other capability check functions. Signed-off-by: Daniil Lunev <dlunev@chromium.org> drivers/ufs/core/ufshcd-crypto.c | 8 ++++---- drivers/ufs/host/ufs-mediatek.c | 2 +- drivers/ufs/host/ufs-qcom-ice.c | 4 ++-- drivers/ufs/host/ufshcd-pci.c | 2 +- include/ufs/ufshcd.h | 5 +++++ 5 files changed, 13 insertions(+), 8 deletions(-) diff --git a/drivers/ufs/core/ufshcd-crypto.c b/drivers/ufs/core/ufshcd-crypto.c index 198360fe5e8e1..f819488bbde14 100644 --- a/drivers/ufs/core/ufshcd-crypto.c +++ b/drivers/ufs/core/ufshcd-crypto.c @@ -118,7 +118,7 @@ static int ufshcd_crypto_keyslot_evict(struct blk_crypto_profile *profile, bool ufshcd_crypto_enable(struct ufs_hba *hba) { - if (!(hba->caps & UFSHCD_CAP_CRYPTO)) + if (!ufshcd_is_crypto_supported(hba)) return false; /* Reset might clear all keys, so reprogram all the keys. */ @@ -165,7 +165,7 @@ int ufshcd_hba_init_crypto_capabilities(struct ufs_hba *hba) * hasn't advertised that crypto is supported. */ if (!(hba->capabilities & MASK_CRYPTO_SUPPORT) || - !(hba->caps & UFSHCD_CAP_CRYPTO)) + !ufshcd_is_crypto_supported(hba)) goto out; hba->crypto_capabilities.reg_val = @@ -225,7 +225,7 @@ void ufshcd_init_crypto(struct ufs_hba *hba) { int slot; - if (!(hba->caps & UFSHCD_CAP_CRYPTO)) + if (!ufshcd_is_crypto_supported(hba)) return; /* Clear all keyslots - the number of keyslots is (CFGC + 1) */ @@ -235,6 +235,6 @@ void ufshcd_init_crypto(struct ufs_hba *hba) void ufshcd_crypto_register(struct ufs_hba *hba, struct request_queue *q) { - if (hba->caps & UFSHCD_CAP_CRYPTO) + if (ufshcd_is_crypto_supported(hba)) blk_crypto_register(&hba->crypto_profile, q); } diff --git a/drivers/ufs/host/ufs-mediatek.c b/drivers/ufs/host/ufs-mediatek.c index beabc3ccd30b3..4bdf6a709126d 100644 --- a/drivers/ufs/host/ufs-mediatek.c +++ b/drivers/ufs/host/ufs-mediatek.c @@ -182,7 +182,7 @@ static int ufs_mtk_hce_enable_notify(struct ufs_hba *hba, ufs_mtk_host_reset(hba); } - if (hba->caps & UFSHCD_CAP_CRYPTO) + if (ufshcd_is_crypto_supported(hba)) ufs_mtk_crypto_enable(hba); if (host->caps & UFS_MTK_CAP_DISABLE_AH8) { diff --git a/drivers/ufs/host/ufs-qcom-ice.c b/drivers/ufs/host/ufs-qcom-ice.c index 745e48ec598f8..180a015b6973d 100644 --- a/drivers/ufs/host/ufs-qcom-ice.c +++ b/drivers/ufs/host/ufs-qcom-ice.c @@ -161,7 +161,7 @@ static void qcom_ice_optimization_enable(struct ufs_qcom_host *host) int ufs_qcom_ice_enable(struct ufs_qcom_host *host) { - if (!(host->hba->caps & UFSHCD_CAP_CRYPTO)) + if (!ufshcd_is_crypto_supported(host->hba)) return 0; qcom_ice_low_power_mode_enable(host); qcom_ice_optimization_enable(host); @@ -189,7 +189,7 @@ int ufs_qcom_ice_resume(struct ufs_qcom_host *host) { int err; - if (!(host->hba->caps & UFSHCD_CAP_CRYPTO)) + if (!ufshcd_is_crypto_supported(host->hba)) return 0; err = qcom_ice_wait_bist_status(host); diff --git a/drivers/ufs/host/ufshcd-pci.c b/drivers/ufs/host/ufshcd-pci.c index 04166bda41daa..c06ccef348065 100644 --- a/drivers/ufs/host/ufshcd-pci.c +++ b/drivers/ufs/host/ufshcd-pci.c @@ -89,7 +89,7 @@ static int ufs_intel_hce_enable_notify(struct ufs_hba *hba, enum ufs_notify_change_status status) { /* Cannot enable ICE until after HC enable */ - if (status == POST_CHANGE && hba->caps & UFSHCD_CAP_CRYPTO) { + if (status == POST_CHANGE && ufshcd_is_crypto_supported(hba)) { u32 hce = ufshcd_readl(hba, REG_CONTROLLER_ENABLE); hce |= CRYPTO_GENERAL_ENABLE; diff --git a/include/ufs/ufshcd.h b/include/ufs/ufshcd.h index a92271421718e..ddbf470f8f455 100644 --- a/include/ufs/ufshcd.h +++ b/include/ufs/ufshcd.h @@ -1005,6 +1005,11 @@ static inline bool ufshcd_is_wb_allowed(struct ufs_hba *hba) return hba->caps & UFSHCD_CAP_WB_EN; } +static inline bool ufshcd_is_crypto_supported(struct ufs_hba *hba) +{ + return hba->caps & UFSHCD_CAP_CRYPTO; +} + #define ufshcd_writel(hba, val, reg) \ writel((val), (hba)->mmio_base + (reg)) #define ufshcd_readl(hba, reg) \ -- 2.31.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v3 1/2] ufs: add function to check CRYPTO capability 2022-07-29 2:05 ` [PATCH v3 1/2] ufs: add function to check CRYPTO capability Daniil Lunev @ 2022-07-29 8:10 ` Greg Kroah-Hartman 2022-07-29 8:37 ` Daniil Lunev 0 siblings, 1 reply; 4+ messages in thread From: Greg Kroah-Hartman @ 2022-07-29 8:10 UTC (permalink / raw) To: Daniil Lunev Cc: Adrian Hunter, Bart Van Assche, Alim Akhtar, Andy Gross, Avri Altman, Bean Huo, Bjorn Andersson, Daejun Park, Eric Biggers, James E.J. Bottomley, Konrad Dybcio, Martin K. Petersen, Matthias Brugger, Mike Snitzer, Stanley Chu, Ulf Hansson, linux-arm-kernel, linux-arm-msm, linux-kernel, linux-mediatek, linux-scsi On Fri, Jul 29, 2022 at 12:05:07PM +1000, Daniil Lunev wrote: > To align with other capability check functions. This is not a valid changelog text, sorry. Please read the documentation for how to write a valid one. > Signed-off-by: Daniil Lunev <dlunev@chromium.org> > > drivers/ufs/core/ufshcd-crypto.c | 8 ++++---- > drivers/ufs/host/ufs-mediatek.c | 2 +- > drivers/ufs/host/ufs-qcom-ice.c | 4 ++-- > drivers/ufs/host/ufshcd-pci.c | 2 +- > include/ufs/ufshcd.h | 5 +++++ > 5 files changed, 13 insertions(+), 8 deletions(-) Something went wrong with your patch, there is no --- line, so git will apply it with the diffstat, right? Did you hand-edit this? thanks, greg k-h _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v3 1/2] ufs: add function to check CRYPTO capability 2022-07-29 8:10 ` Greg Kroah-Hartman @ 2022-07-29 8:37 ` Daniil Lunev 0 siblings, 0 replies; 4+ messages in thread From: Daniil Lunev @ 2022-07-29 8:37 UTC (permalink / raw) To: Greg Kroah-Hartman Cc: Adrian Hunter, Bart Van Assche, Alim Akhtar, Andy Gross, Avri Altman, Bean Huo, Bjorn Andersson, Daejun Park, Eric Biggers, James E.J. Bottomley, Konrad Dybcio, Martin K. Petersen, Matthias Brugger, Mike Snitzer, Stanley Chu, Ulf Hansson, linux-arm-kernel, linux-arm-msm, linux-kernel, linux-mediatek, linux-scsi > This is not a valid changelog text, sorry. Please read the > documentation for how to write a valid one. Sorry for that. Though the latest patchset is v4 and that one doesn't contain this patch since Eric Biggers pointed out the crypto information can be obtained from device's queue sysfs node. But I will try to be better further on. > Something went wrong with your patch, there is no --- line, so git will > apply it with the diffstat, right? > > Did you hand-edit this? Hm, I don't recall hand editing it, but the possibility of pilot error is always there. I am still getting used to the upstream tooling and processes. Sorry for the inconvenience, but as I mentioned, this patch is dropped in v4 version (and sorry for high traffic of changes on this patchset) Thanks, Daniil _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-07-29 8:55 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-07-29 2:05 [PATCH v3 0/2] Expose UFSHCD capabilities in sysfs Daniil Lunev 2022-07-29 2:05 ` [PATCH v3 1/2] ufs: add function to check CRYPTO capability Daniil Lunev 2022-07-29 8:10 ` Greg Kroah-Hartman 2022-07-29 8:37 ` Daniil Lunev
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).