diff options
author | Yangbo Lu <yangbo.lu@nxp.com> | 2020-04-10 10:47:05 +0800 |
---|---|---|
committer | Petr Štetiar <ynezz@true.cz> | 2020-05-07 12:53:06 +0200 |
commit | cddd4591404fb4c53dc0b3c0b15b942cdbed4356 (patch) | |
tree | 392c1179de46b0f804e3789edca19069b64e6b44 /target/linux/layerscape/patches-5.4/804-crypto-0007-crypto-caam-use-devres-to-de-initialize-QI.patch | |
parent | d1d2c0b5579ea4f69a42246c9318539d61ba1999 (diff) | |
download | upstream-cddd4591404fb4c53dc0b3c0b15b942cdbed4356.tar.gz upstream-cddd4591404fb4c53dc0b3c0b15b942cdbed4356.tar.bz2 upstream-cddd4591404fb4c53dc0b3c0b15b942cdbed4356.zip |
layerscape: add patches-5.4
Add patches for linux-5.4. The patches are from NXP LSDK-20.04 release
which was tagged LSDK-20.04-V5.4.
https://source.codeaurora.org/external/qoriq/qoriq-components/linux/
For boards LS1021A-IOT, and Traverse-LS1043 which are not involved in
LSDK, port the dts patches from 4.14.
The patches are sorted into the following categories:
301-arch-xxxx
302-dts-xxxx
303-core-xxxx
701-net-xxxx
801-audio-xxxx
802-can-xxxx
803-clock-xxxx
804-crypto-xxxx
805-display-xxxx
806-dma-xxxx
807-gpio-xxxx
808-i2c-xxxx
809-jailhouse-xxxx
810-keys-xxxx
811-kvm-xxxx
812-pcie-xxxx
813-pm-xxxx
814-qe-xxxx
815-sata-xxxx
816-sdhc-xxxx
817-spi-xxxx
818-thermal-xxxx
819-uart-xxxx
820-usb-xxxx
821-vfio-xxxx
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Diffstat (limited to 'target/linux/layerscape/patches-5.4/804-crypto-0007-crypto-caam-use-devres-to-de-initialize-QI.patch')
-rw-r--r-- | target/linux/layerscape/patches-5.4/804-crypto-0007-crypto-caam-use-devres-to-de-initialize-QI.patch | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/target/linux/layerscape/patches-5.4/804-crypto-0007-crypto-caam-use-devres-to-de-initialize-QI.patch b/target/linux/layerscape/patches-5.4/804-crypto-0007-crypto-caam-use-devres-to-de-initialize-QI.patch new file mode 100644 index 0000000000..f9e7940fa8 --- /dev/null +++ b/target/linux/layerscape/patches-5.4/804-crypto-0007-crypto-caam-use-devres-to-de-initialize-QI.patch @@ -0,0 +1,114 @@ +From 5a359d189f9938d30046aedfc94c9cd7fe383e34 Mon Sep 17 00:00:00 2001 +From: Andrey Smirnov <andrew.smirnov@gmail.com> +Date: Tue, 22 Oct 2019 08:30:11 -0700 +Subject: [PATCH] crypto: caam - use devres to de-initialize QI +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Use devres to de-initialize the QI and drop explicit de-initialization +code in caam_remove(). + +Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> +Reviewed-by: Horia Geantă <horia.geanta@nxp.com> +Cc: Chris Healy <cphealy@gmail.com> +Cc: Lucas Stach <l.stach@pengutronix.de> +Cc: Horia Geantă <horia.geanta@nxp.com> +Cc: Herbert Xu <herbert@gondor.apana.org.au> +Cc: Iuliana Prodan <iuliana.prodan@nxp.com> +Cc: linux-crypto@vger.kernel.org +Cc: linux-kernel@vger.kernel.org +Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> +(cherry picked from commit f414de2e2fffd89c8a4e5b5e06b0eba5f9d8b1eb) +--- + drivers/crypto/caam/ctrl.c | 14 +------------- + drivers/crypto/caam/intern.h | 3 --- + drivers/crypto/caam/qi.c | 8 ++++++-- + drivers/crypto/caam/qi.h | 1 - + 4 files changed, 7 insertions(+), 19 deletions(-) + +--- a/drivers/crypto/caam/ctrl.c ++++ b/drivers/crypto/caam/ctrl.c +@@ -332,11 +332,6 @@ static int caam_remove(struct platform_d + /* Remove platform devices under the crypto node */ + of_platform_depopulate(ctrldev); + +-#ifdef CONFIG_CAAM_QI +- if (ctrlpriv->qi_init) +- caam_qi_shutdown(ctrldev); +-#endif +- + return 0; + } + +@@ -767,7 +762,7 @@ static int caam_probe(struct platform_de + ret = of_platform_populate(nprop, caam_match, NULL, dev); + if (ret) { + dev_err(dev, "JR platform devices creation error\n"); +- goto shutdown_qi; ++ return ret; + } + + ring = 0; +@@ -928,13 +923,6 @@ static int caam_probe(struct platform_de + caam_remove: + caam_remove(pdev); + return ret; +- +-shutdown_qi: +-#ifdef CONFIG_CAAM_QI +- if (ctrlpriv->qi_init) +- caam_qi_shutdown(dev); +-#endif +- return ret; + } + + static struct platform_driver caam_driver = { +--- a/drivers/crypto/caam/intern.h ++++ b/drivers/crypto/caam/intern.h +@@ -81,9 +81,6 @@ struct caam_drv_private { + */ + u8 total_jobrs; /* Total Job Rings in device */ + u8 qi_present; /* Nonzero if QI present in device */ +-#ifdef CONFIG_CAAM_QI +- u8 qi_init; /* Nonzero if QI has been initialized */ +-#endif + u8 mc_en; /* Nonzero if MC f/w is active */ + int secvio_irq; /* Security violation interrupt number */ + int virt_en; /* Virtualization enabled in CAAM */ +--- a/drivers/crypto/caam/qi.c ++++ b/drivers/crypto/caam/qi.c +@@ -500,9 +500,10 @@ void caam_drv_ctx_rel(struct caam_drv_ct + } + EXPORT_SYMBOL(caam_drv_ctx_rel); + +-void caam_qi_shutdown(struct device *qidev) ++static void caam_qi_shutdown(void *data) + { + int i; ++ struct device *qidev = data; + struct caam_qi_priv *priv = &qipriv; + const cpumask_t *cpus = qman_affine_cpus(); + +@@ -761,7 +762,10 @@ int caam_qi_init(struct platform_device + ×_congested, &caam_fops_u64_ro); + #endif + +- ctrlpriv->qi_init = 1; ++ err = devm_add_action_or_reset(qidev, caam_qi_shutdown, ctrlpriv); ++ if (err) ++ return err; ++ + dev_info(qidev, "Linux CAAM Queue I/F driver initialised\n"); + return 0; + } +--- a/drivers/crypto/caam/qi.h ++++ b/drivers/crypto/caam/qi.h +@@ -147,7 +147,6 @@ int caam_drv_ctx_update(struct caam_drv_ + void caam_drv_ctx_rel(struct caam_drv_ctx *drv_ctx); + + int caam_qi_init(struct platform_device *pdev); +-void caam_qi_shutdown(struct device *dev); + + /** + * qi_cache_alloc - Allocate buffers from CAAM-QI cache |