Disable tps65217-charger, fix for the BeagleBone boot failure, Further fix for ThunderX ZIP driver, fix olpc i686 config
This commit is contained in:
		
							parent
							
								
									df0ed2af7a
								
							
						
					
					
						commit
						40766321c4
					
				
							
								
								
									
										58
									
								
								clk-ti-fix-flag-space-conflict-with-clkctrl-clocks.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								clk-ti-fix-flag-space-conflict-with-clkctrl-clocks.patch
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,58 @@
 | 
			
		||||
From patchwork Tue Mar 27 17:47:04 2018
 | 
			
		||||
Content-Type: text/plain; charset="utf-8"
 | 
			
		||||
MIME-Version: 1.0
 | 
			
		||||
Content-Transfer-Encoding: 7bit
 | 
			
		||||
Subject: clk: ti: fix flag space conflict with clkctrl clocks
 | 
			
		||||
From: Tero Kristo <t-kristo@ti.com>
 | 
			
		||||
X-Patchwork-Id: 10311335
 | 
			
		||||
Message-Id: <1522172824-14094-1-git-send-email-t-kristo@ti.com>
 | 
			
		||||
To: <sboyd@kernel.org>, <mturquette@baylibre.com>,
 | 
			
		||||
 <linux-omap@vger.kernel.org>, <linux-clk@vger.kernel.org>,
 | 
			
		||||
 <tony@atomide.com>
 | 
			
		||||
Cc: <arnd@arndb.de>, <linux-arm-kernel@lists.infradead.org>
 | 
			
		||||
Date: Tue, 27 Mar 2018 20:47:04 +0300
 | 
			
		||||
 | 
			
		||||
The introduction of support for CLK_SET_RATE_PARENT flag for clkctrl
 | 
			
		||||
clocks used a generic clock flag, which causes a conflict with the
 | 
			
		||||
rest of the clkctrl flags, namely the NO_IDLEST flag. This can cause
 | 
			
		||||
boot failures on certain platforms where this flag is introduced, by
 | 
			
		||||
omitting the wait for the clockctrl module to be fully enabled before
 | 
			
		||||
proceeding with rest of the code.
 | 
			
		||||
 | 
			
		||||
Fix this by moving all the clkctrl specific flags to their own bit-range.
 | 
			
		||||
 | 
			
		||||
Signed-off-by: Tero Kristo <t-kristo@ti.com>
 | 
			
		||||
Fixes: 49159a9dc3da ("clk: ti: add support for CLK_SET_RATE_PARENT flag")
 | 
			
		||||
Reported-by: Christophe Lyon <christophe.lyon@linaro.org>
 | 
			
		||||
Tested-by: Tony Lindgren <tony@atomide.com>
 | 
			
		||||
---
 | 
			
		||||
 drivers/clk/ti/clock.h | 9 +++++----
 | 
			
		||||
 1 file changed, 5 insertions(+), 4 deletions(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/drivers/clk/ti/clock.h b/drivers/clk/ti/clock.h
 | 
			
		||||
index 90b86aa..b582780 100644
 | 
			
		||||
--- a/drivers/clk/ti/clock.h
 | 
			
		||||
+++ b/drivers/clk/ti/clock.h
 | 
			
		||||
@@ -76,6 +76,11 @@ enum {
 | 
			
		||||
 #define CLKF_CORE			(1 << 9)
 | 
			
		||||
 #define CLKF_J_TYPE			(1 << 10)
 | 
			
		||||
 
 | 
			
		||||
+/* CLKCTRL flags */
 | 
			
		||||
+#define CLKF_SW_SUP			BIT(5)
 | 
			
		||||
+#define CLKF_HW_SUP			BIT(6)
 | 
			
		||||
+#define CLKF_NO_IDLEST			BIT(7)
 | 
			
		||||
+
 | 
			
		||||
 #define CLK(dev, con, ck)		\
 | 
			
		||||
 	{				\
 | 
			
		||||
 		.lk = {			\
 | 
			
		||||
@@ -185,10 +190,6 @@ struct omap_clkctrl_data {
 | 
			
		||||
 extern const struct omap_clkctrl_data dm814_clkctrl_data[];
 | 
			
		||||
 extern const struct omap_clkctrl_data dm816_clkctrl_data[];
 | 
			
		||||
 
 | 
			
		||||
-#define CLKF_SW_SUP	BIT(0)
 | 
			
		||||
-#define CLKF_HW_SUP	BIT(1)
 | 
			
		||||
-#define CLKF_NO_IDLEST	BIT(2)
 | 
			
		||||
-
 | 
			
		||||
 typedef void (*ti_of_clk_init_cb_t)(void *, struct device_node *);
 | 
			
		||||
 
 | 
			
		||||
 struct clk *ti_clk_register(struct device *dev, struct clk_hw *hw,
 | 
			
		||||
@ -1 +1 @@
 | 
			
		||||
CONFIG_CHARGER_TPS65217=m
 | 
			
		||||
# CONFIG_CHARGER_TPS65217 is not set
 | 
			
		||||
 | 
			
		||||
@ -1 +0,0 @@
 | 
			
		||||
CONFIG_MFD_TPS65217=y
 | 
			
		||||
@ -1 +1 @@
 | 
			
		||||
CONFIG_MFD_CS5535=m
 | 
			
		||||
CONFIG_MFD_CS5535=y
 | 
			
		||||
 | 
			
		||||
@ -1 +1 @@
 | 
			
		||||
CONFIG_MFD_CS5535=m
 | 
			
		||||
CONFIG_MFD_CS5535=y
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										163
									
								
								crypto-testmgr-Allow-different-compression-results.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										163
									
								
								crypto-testmgr-Allow-different-compression-results.patch
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,163 @@
 | 
			
		||||
From patchwork Wed Apr 11 18:28:32 2018
 | 
			
		||||
Content-Type: text/plain; charset="utf-8"
 | 
			
		||||
MIME-Version: 1.0
 | 
			
		||||
Content-Transfer-Encoding: 7bit
 | 
			
		||||
Subject: crypto: testmgr: Allow different compression results
 | 
			
		||||
From: Jan Glauber <jglauber@cavium.com>
 | 
			
		||||
X-Patchwork-Id: 10336001
 | 
			
		||||
Message-Id: <20180411182832.27761-1-jglauber@cavium.com>
 | 
			
		||||
To: Herbert Xu <herbert@gondor.apana.org.au>
 | 
			
		||||
Cc: "David S . Miller" <davem@davemloft.net>,
 | 
			
		||||
 linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org,
 | 
			
		||||
 Mahipal Challa <mchalla@cavium.com>,
 | 
			
		||||
 Balakrishna Bhamidipati <bbhamidipati@cavium.com>,
 | 
			
		||||
 Jan Glauber <jglauber@cavium.com>
 | 
			
		||||
Date: Wed, 11 Apr 2018 20:28:32 +0200
 | 
			
		||||
 | 
			
		||||
From: Mahipal Challa <mchalla@cavium.com>
 | 
			
		||||
 | 
			
		||||
The following error is triggered by the ThunderX ZIP driver
 | 
			
		||||
if the testmanager is enabled:
 | 
			
		||||
 | 
			
		||||
[  199.069437] ThunderX-ZIP 0000:03:00.0: Found ZIP device 0 177d:a01a on Node 0
 | 
			
		||||
[  199.073573] alg: comp: Compression test 1 failed for deflate-generic: output len = 37
 | 
			
		||||
 | 
			
		||||
The reason for this error is the verification of the compression
 | 
			
		||||
results. Verifying the compression result only works if all
 | 
			
		||||
algorithm parameters are identical, in this case to the software
 | 
			
		||||
implementation.
 | 
			
		||||
 | 
			
		||||
Different compression engines like the ThunderX ZIP coprocessor
 | 
			
		||||
might yield different compression results by tuning the
 | 
			
		||||
algorithm parameters. In our case the compressed result is
 | 
			
		||||
shorter than the test vector.
 | 
			
		||||
 | 
			
		||||
We should not forbid different compression results but only
 | 
			
		||||
check that compression -> decompression yields the same
 | 
			
		||||
result. This is done already in the acomp test. Do something
 | 
			
		||||
similar for test_comp().
 | 
			
		||||
 | 
			
		||||
Signed-off-by: Mahipal Challa <mchalla@cavium.com>
 | 
			
		||||
Signed-off-by: Balakrishna Bhamidipati <bbhamidipati@cavium.com>
 | 
			
		||||
[jglauber@cavium.com: removed unrelated printk changes, rewrote commit msg,
 | 
			
		||||
 fixed whitespace and unneeded initialization]
 | 
			
		||||
Signed-off-by: Jan Glauber <jglauber@cavium.com>
 | 
			
		||||
---
 | 
			
		||||
 crypto/testmgr.c | 50 +++++++++++++++++++++++++++++++++++++-------------
 | 
			
		||||
 1 file changed, 37 insertions(+), 13 deletions(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/crypto/testmgr.c b/crypto/testmgr.c
 | 
			
		||||
index af4a01c..627e82e 100644
 | 
			
		||||
--- a/crypto/testmgr.c
 | 
			
		||||
+++ b/crypto/testmgr.c
 | 
			
		||||
@@ -1342,19 +1342,30 @@ static int test_comp(struct crypto_comp *tfm,
 | 
			
		||||
 		     int ctcount, int dtcount)
 | 
			
		||||
 {
 | 
			
		||||
 	const char *algo = crypto_tfm_alg_driver_name(crypto_comp_tfm(tfm));
 | 
			
		||||
+	char *output, *decomp_output;
 | 
			
		||||
 	unsigned int i;
 | 
			
		||||
-	char result[COMP_BUF_SIZE];
 | 
			
		||||
 	int ret;
 | 
			
		||||
 
 | 
			
		||||
+	output = kmalloc(COMP_BUF_SIZE, GFP_KERNEL);
 | 
			
		||||
+	if (!output)
 | 
			
		||||
+		return -ENOMEM;
 | 
			
		||||
+
 | 
			
		||||
+	decomp_output = kmalloc(COMP_BUF_SIZE, GFP_KERNEL);
 | 
			
		||||
+	if (!decomp_output) {
 | 
			
		||||
+		kfree(output);
 | 
			
		||||
+		return -ENOMEM;
 | 
			
		||||
+	}
 | 
			
		||||
+
 | 
			
		||||
 	for (i = 0; i < ctcount; i++) {
 | 
			
		||||
 		int ilen;
 | 
			
		||||
 		unsigned int dlen = COMP_BUF_SIZE;
 | 
			
		||||
 
 | 
			
		||||
-		memset(result, 0, sizeof (result));
 | 
			
		||||
+		memset(output, 0, sizeof(COMP_BUF_SIZE));
 | 
			
		||||
+		memset(decomp_output, 0, sizeof(COMP_BUF_SIZE));
 | 
			
		||||
 
 | 
			
		||||
 		ilen = ctemplate[i].inlen;
 | 
			
		||||
 		ret = crypto_comp_compress(tfm, ctemplate[i].input,
 | 
			
		||||
-		                           ilen, result, &dlen);
 | 
			
		||||
+					   ilen, output, &dlen);
 | 
			
		||||
 		if (ret) {
 | 
			
		||||
 			printk(KERN_ERR "alg: comp: compression failed "
 | 
			
		||||
 			       "on test %d for %s: ret=%d\n", i + 1, algo,
 | 
			
		||||
@@ -1362,7 +1373,17 @@ static int test_comp(struct crypto_comp *tfm,
 | 
			
		||||
 			goto out;
 | 
			
		||||
 		}
 | 
			
		||||
 
 | 
			
		||||
-		if (dlen != ctemplate[i].outlen) {
 | 
			
		||||
+		ilen = dlen;
 | 
			
		||||
+		dlen = COMP_BUF_SIZE;
 | 
			
		||||
+		ret = crypto_comp_decompress(tfm, output,
 | 
			
		||||
+					     ilen, decomp_output, &dlen);
 | 
			
		||||
+		if (ret) {
 | 
			
		||||
+			pr_err("alg: comp: compression failed: decompress: on test %d for %s failed: ret=%d\n",
 | 
			
		||||
+			       i + 1, algo, -ret);
 | 
			
		||||
+			goto out;
 | 
			
		||||
+		}
 | 
			
		||||
+
 | 
			
		||||
+		if (dlen != ctemplate[i].inlen) {
 | 
			
		||||
 			printk(KERN_ERR "alg: comp: Compression test %d "
 | 
			
		||||
 			       "failed for %s: output len = %d\n", i + 1, algo,
 | 
			
		||||
 			       dlen);
 | 
			
		||||
@@ -1370,10 +1391,11 @@ static int test_comp(struct crypto_comp *tfm,
 | 
			
		||||
 			goto out;
 | 
			
		||||
 		}
 | 
			
		||||
 
 | 
			
		||||
-		if (memcmp(result, ctemplate[i].output, dlen)) {
 | 
			
		||||
-			printk(KERN_ERR "alg: comp: Compression test %d "
 | 
			
		||||
-			       "failed for %s\n", i + 1, algo);
 | 
			
		||||
-			hexdump(result, dlen);
 | 
			
		||||
+		if (memcmp(decomp_output, ctemplate[i].input,
 | 
			
		||||
+			   ctemplate[i].inlen)) {
 | 
			
		||||
+			pr_err("alg: comp: compression failed: output differs: on test %d for %s\n",
 | 
			
		||||
+			       i + 1, algo);
 | 
			
		||||
+			hexdump(decomp_output, dlen);
 | 
			
		||||
 			ret = -EINVAL;
 | 
			
		||||
 			goto out;
 | 
			
		||||
 		}
 | 
			
		||||
@@ -1383,11 +1405,11 @@ static int test_comp(struct crypto_comp *tfm,
 | 
			
		||||
 		int ilen;
 | 
			
		||||
 		unsigned int dlen = COMP_BUF_SIZE;
 | 
			
		||||
 
 | 
			
		||||
-		memset(result, 0, sizeof (result));
 | 
			
		||||
+		memset(decomp_output, 0, sizeof(COMP_BUF_SIZE));
 | 
			
		||||
 
 | 
			
		||||
 		ilen = dtemplate[i].inlen;
 | 
			
		||||
 		ret = crypto_comp_decompress(tfm, dtemplate[i].input,
 | 
			
		||||
-		                             ilen, result, &dlen);
 | 
			
		||||
+					     ilen, decomp_output, &dlen);
 | 
			
		||||
 		if (ret) {
 | 
			
		||||
 			printk(KERN_ERR "alg: comp: decompression failed "
 | 
			
		||||
 			       "on test %d for %s: ret=%d\n", i + 1, algo,
 | 
			
		||||
@@ -1403,10 +1425,10 @@ static int test_comp(struct crypto_comp *tfm,
 | 
			
		||||
 			goto out;
 | 
			
		||||
 		}
 | 
			
		||||
 
 | 
			
		||||
-		if (memcmp(result, dtemplate[i].output, dlen)) {
 | 
			
		||||
+		if (memcmp(decomp_output, dtemplate[i].output, dlen)) {
 | 
			
		||||
 			printk(KERN_ERR "alg: comp: Decompression test %d "
 | 
			
		||||
 			       "failed for %s\n", i + 1, algo);
 | 
			
		||||
-			hexdump(result, dlen);
 | 
			
		||||
+			hexdump(decomp_output, dlen);
 | 
			
		||||
 			ret = -EINVAL;
 | 
			
		||||
 			goto out;
 | 
			
		||||
 		}
 | 
			
		||||
@@ -1415,11 +1437,13 @@ static int test_comp(struct crypto_comp *tfm,
 | 
			
		||||
 	ret = 0;
 | 
			
		||||
 
 | 
			
		||||
 out:
 | 
			
		||||
+	kfree(decomp_output);
 | 
			
		||||
+	kfree(output);
 | 
			
		||||
 	return ret;
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 static int test_acomp(struct crypto_acomp *tfm,
 | 
			
		||||
-		      const struct comp_testvec *ctemplate,
 | 
			
		||||
+			      const struct comp_testvec *ctemplate,
 | 
			
		||||
 		      const struct comp_testvec *dtemplate,
 | 
			
		||||
 		      int ctcount, int dtcount)
 | 
			
		||||
 {
 | 
			
		||||
@ -883,7 +883,7 @@ CONFIG_CHARGER_QCOM_SMBB=m
 | 
			
		||||
# CONFIG_CHARGER_SBS is not set
 | 
			
		||||
CONFIG_CHARGER_SMB347=m
 | 
			
		||||
CONFIG_CHARGER_TPS65090=m
 | 
			
		||||
CONFIG_CHARGER_TPS65217=m
 | 
			
		||||
# CONFIG_CHARGER_TPS65217 is not set
 | 
			
		||||
CONFIG_CHARGER_TWL4030=m
 | 
			
		||||
# CONFIG_CHASH_SELFTEST is not set
 | 
			
		||||
# CONFIG_CHASH_STATS is not set
 | 
			
		||||
@ -3333,7 +3333,7 @@ CONFIG_MFD_TI_LMU=m
 | 
			
		||||
# CONFIG_MFD_TIMBERDALE is not set
 | 
			
		||||
# CONFIG_MFD_TPS65086 is not set
 | 
			
		||||
CONFIG_MFD_TPS65090=y
 | 
			
		||||
CONFIG_MFD_TPS65217=y
 | 
			
		||||
# CONFIG_MFD_TPS65217 is not set
 | 
			
		||||
CONFIG_MFD_TPS65218=m
 | 
			
		||||
CONFIG_MFD_TPS6586X=y
 | 
			
		||||
CONFIG_MFD_TPS65910=y
 | 
			
		||||
 | 
			
		||||
@ -882,7 +882,7 @@ CONFIG_CHARGER_QCOM_SMBB=m
 | 
			
		||||
# CONFIG_CHARGER_SBS is not set
 | 
			
		||||
CONFIG_CHARGER_SMB347=m
 | 
			
		||||
CONFIG_CHARGER_TPS65090=m
 | 
			
		||||
CONFIG_CHARGER_TPS65217=m
 | 
			
		||||
# CONFIG_CHARGER_TPS65217 is not set
 | 
			
		||||
CONFIG_CHARGER_TWL4030=m
 | 
			
		||||
# CONFIG_CHASH_SELFTEST is not set
 | 
			
		||||
# CONFIG_CHASH_STATS is not set
 | 
			
		||||
@ -3312,7 +3312,7 @@ CONFIG_MFD_TI_LMU=m
 | 
			
		||||
# CONFIG_MFD_TIMBERDALE is not set
 | 
			
		||||
# CONFIG_MFD_TPS65086 is not set
 | 
			
		||||
CONFIG_MFD_TPS65090=y
 | 
			
		||||
CONFIG_MFD_TPS65217=y
 | 
			
		||||
# CONFIG_MFD_TPS65217 is not set
 | 
			
		||||
CONFIG_MFD_TPS65218=m
 | 
			
		||||
CONFIG_MFD_TPS6586X=y
 | 
			
		||||
CONFIG_MFD_TPS65910=y
 | 
			
		||||
 | 
			
		||||
@ -2955,7 +2955,7 @@ CONFIG_MFD_BD9571MWV=m
 | 
			
		||||
CONFIG_MFD_CORE=y
 | 
			
		||||
# CONFIG_MFD_CPCAP is not set
 | 
			
		||||
# CONFIG_MFD_CROS_EC is not set
 | 
			
		||||
CONFIG_MFD_CS5535=m
 | 
			
		||||
CONFIG_MFD_CS5535=y
 | 
			
		||||
# CONFIG_MFD_DA9052_I2C is not set
 | 
			
		||||
# CONFIG_MFD_DA9052_SPI is not set
 | 
			
		||||
# CONFIG_MFD_DA9055 is not set
 | 
			
		||||
 | 
			
		||||
@ -2976,7 +2976,7 @@ CONFIG_MFD_BD9571MWV=m
 | 
			
		||||
CONFIG_MFD_CORE=y
 | 
			
		||||
# CONFIG_MFD_CPCAP is not set
 | 
			
		||||
# CONFIG_MFD_CROS_EC is not set
 | 
			
		||||
CONFIG_MFD_CS5535=m
 | 
			
		||||
CONFIG_MFD_CS5535=y
 | 
			
		||||
# CONFIG_MFD_DA9052_I2C is not set
 | 
			
		||||
# CONFIG_MFD_DA9052_SPI is not set
 | 
			
		||||
# CONFIG_MFD_DA9055 is not set
 | 
			
		||||
 | 
			
		||||
@ -2976,7 +2976,7 @@ CONFIG_MFD_BD9571MWV=m
 | 
			
		||||
CONFIG_MFD_CORE=y
 | 
			
		||||
# CONFIG_MFD_CPCAP is not set
 | 
			
		||||
# CONFIG_MFD_CROS_EC is not set
 | 
			
		||||
CONFIG_MFD_CS5535=m
 | 
			
		||||
CONFIG_MFD_CS5535=y
 | 
			
		||||
# CONFIG_MFD_DA9052_I2C is not set
 | 
			
		||||
# CONFIG_MFD_DA9052_SPI is not set
 | 
			
		||||
# CONFIG_MFD_DA9055 is not set
 | 
			
		||||
 | 
			
		||||
@ -2955,7 +2955,7 @@ CONFIG_MFD_BD9571MWV=m
 | 
			
		||||
CONFIG_MFD_CORE=y
 | 
			
		||||
# CONFIG_MFD_CPCAP is not set
 | 
			
		||||
# CONFIG_MFD_CROS_EC is not set
 | 
			
		||||
CONFIG_MFD_CS5535=m
 | 
			
		||||
CONFIG_MFD_CS5535=y
 | 
			
		||||
# CONFIG_MFD_DA9052_I2C is not set
 | 
			
		||||
# CONFIG_MFD_DA9052_SPI is not set
 | 
			
		||||
# CONFIG_MFD_DA9055 is not set
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										11
									
								
								kernel.spec
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								kernel.spec
									
									
									
									
									
								
							@ -583,7 +583,13 @@ Patch304: arm-dts-imx6qdl-udoo-Disable-usbh1-to-avoid-kernel-hang.patch
 | 
			
		||||
# https://marc.info/?l=linux-kernel&m=152328880417846&w=2
 | 
			
		||||
Patch308: arm64-thunderx-crypto-zip-fixes.patch
 | 
			
		||||
 | 
			
		||||
Patch309: arm-tegra-fix-nouveau-crash.patch
 | 
			
		||||
# https://www.spinics.net/lists/linux-crypto/msg32725.html
 | 
			
		||||
Patch309: crypto-testmgr-Allow-different-compression-results.patch
 | 
			
		||||
 | 
			
		||||
Patch310: arm-tegra-fix-nouveau-crash.patch
 | 
			
		||||
 | 
			
		||||
# https://patchwork.kernel.org/patch/10311335/
 | 
			
		||||
Patch312: clk-ti-fix-flag-space-conflict-with-clkctrl-clocks.patch
 | 
			
		||||
 | 
			
		||||
# Fix USB on the RPi https://patchwork.kernel.org/patch/9879371/
 | 
			
		||||
Patch320: bcm283x-dma-mapping-skip-USB-devices-when-configuring-DMA-during-probe.patch
 | 
			
		||||
@ -1864,6 +1870,9 @@ fi
 | 
			
		||||
* Thu Apr 12 2018 Peter Robinson <pbrobinson@fedoraproject.org>
 | 
			
		||||
- Patch to fix nouveau on Tegra platforms
 | 
			
		||||
- Enable IOMMU on Exynos now upstream does
 | 
			
		||||
- Disable tps65217-charger on BeagleBone to fix USB-OTG port rhbz 1487399
 | 
			
		||||
- Add fix for the BeagleBone boot failure
 | 
			
		||||
- Further fix for ThunderX ZIP driver
 | 
			
		||||
 | 
			
		||||
* Wed Apr 11 2018 Laura Abbott <labbott@redhat.com>
 | 
			
		||||
- Enable JFFS2 and some MTD modules (rhbz 1474493)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user