diff options
Diffstat (limited to 'arm64-thunderx-crypto-zip-fixes.patch')
-rw-r--r-- | arm64-thunderx-crypto-zip-fixes.patch | 182 |
1 files changed, 0 insertions, 182 deletions
diff --git a/arm64-thunderx-crypto-zip-fixes.patch b/arm64-thunderx-crypto-zip-fixes.patch deleted file mode 100644 index 3f40b0871..000000000 --- a/arm64-thunderx-crypto-zip-fixes.patch +++ /dev/null @@ -1,182 +0,0 @@ -From patchwork Mon Apr 9 15:45:52 2018 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v2,3/5] crypto: thunderx_zip: Prevent division by zero -From: Jan Glauber <jglauber@cavium.com> -X-Patchwork-Id: 10331709 -Message-Id: <20180409154554.7578-4-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 <Mahipal.Challa@cavium.com>, - Robert Richter <rrichter@cavium.com>, Jan Glauber <jglauber@cavium.com> -Date: Mon, 9 Apr 2018 17:45:52 +0200 - -Avoid two potential divisions by zero when calculating average -values for the zip statistics. - -Signed-off-by: Jan Glauber <jglauber@cavium.com> -Reviewed-by: Robert Richter <rrichter@cavium.com> ---- - drivers/crypto/cavium/zip/zip_main.c | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -diff --git a/drivers/crypto/cavium/zip/zip_main.c b/drivers/crypto/cavium/zip/zip_main.c -index 1cd8aa488185..79b449e0f955 100644 ---- a/drivers/crypto/cavium/zip/zip_main.c -+++ b/drivers/crypto/cavium/zip/zip_main.c -@@ -482,10 +482,11 @@ static int zip_show_stats(struct seq_file *s, void *unused) - atomic64_add(val, &st->pending_req); - } - -- avg_chunk = (atomic64_read(&st->comp_in_bytes) / -- atomic64_read(&st->comp_req_complete)); -- avg_cr = (atomic64_read(&st->comp_in_bytes) / -- atomic64_read(&st->comp_out_bytes)); -+ val = atomic64_read(&st->comp_req_complete); -+ avg_chunk = (val) ? atomic64_read(&st->comp_in_bytes) / val : 0; -+ -+ val = atomic64_read(&st->comp_out_bytes); -+ avg_cr = (val) ? atomic64_read(&st->comp_in_bytes) / val : 0; - seq_printf(s, " ZIP Device %d Stats\n" - "-----------------------------------\n" - "Comp Req Submitted : \t%lld\n" -From patchwork Mon Apr 9 15:45:53 2018 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v2,4/5] crypto: thunderx_zip: Fix statistics pending request value -From: Jan Glauber <jglauber@cavium.com> -X-Patchwork-Id: 10331711 -Message-Id: <20180409154554.7578-5-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 <Mahipal.Challa@cavium.com>, - Robert Richter <rrichter@cavium.com>, Jan Glauber <jglauber@cavium.com> -Date: Mon, 9 Apr 2018 17:45:53 +0200 - -The pending request counter was read from the wrong register. While -at it, there is no need to use an atomic for it as it is only read -localy in a loop. - -Signed-off-by: Jan Glauber <jglauber@cavium.com> -Reviewed-by: Robert Richter <rrichter@cavium.com> ---- - drivers/crypto/cavium/zip/zip_main.c | 13 +++++-------- - drivers/crypto/cavium/zip/zip_main.h | 1 - - 2 files changed, 5 insertions(+), 9 deletions(-) - -diff --git a/drivers/crypto/cavium/zip/zip_main.c b/drivers/crypto/cavium/zip/zip_main.c -index 79b449e0f955..ae5b20c695ca 100644 ---- a/drivers/crypto/cavium/zip/zip_main.c -+++ b/drivers/crypto/cavium/zip/zip_main.c -@@ -469,6 +469,8 @@ static int zip_show_stats(struct seq_file *s, void *unused) - struct zip_stats *st; - - for (index = 0; index < MAX_ZIP_DEVICES; index++) { -+ u64 pending = 0; -+ - if (zip_dev[index]) { - zip = zip_dev[index]; - st = &zip->stats; -@@ -476,10 +478,8 @@ static int zip_show_stats(struct seq_file *s, void *unused) - /* Get all the pending requests */ - for (q = 0; q < ZIP_NUM_QUEUES; q++) { - val = zip_reg_read((zip->reg_base + -- ZIP_DBG_COREX_STA(q))); -- val = (val >> 32); -- val = val & 0xffffff; -- atomic64_add(val, &st->pending_req); -+ ZIP_DBG_QUEX_STA(q))); -+ pending += val >> 32 & 0xffffff; - } - - val = atomic64_read(&st->comp_req_complete); -@@ -514,10 +514,7 @@ static int zip_show_stats(struct seq_file *s, void *unused) - (u64)atomic64_read(&st->decomp_in_bytes), - (u64)atomic64_read(&st->decomp_out_bytes), - (u64)atomic64_read(&st->decomp_bad_reqs), -- (u64)atomic64_read(&st->pending_req)); -- -- /* Reset pending requests count */ -- atomic64_set(&st->pending_req, 0); -+ pending); - } - } - return 0; -diff --git a/drivers/crypto/cavium/zip/zip_main.h b/drivers/crypto/cavium/zip/zip_main.h -index 64e051f60784..e1e4fa92ce80 100644 ---- a/drivers/crypto/cavium/zip/zip_main.h -+++ b/drivers/crypto/cavium/zip/zip_main.h -@@ -74,7 +74,6 @@ struct zip_stats { - atomic64_t comp_req_complete; - atomic64_t decomp_req_submit; - atomic64_t decomp_req_complete; -- atomic64_t pending_req; - atomic64_t comp_in_bytes; - atomic64_t comp_out_bytes; - atomic64_t decomp_in_bytes; -From patchwork Mon Apr 9 15:45:54 2018 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v2,5/5] crypto: thunderx_zip: Fix smp_processor_id() warnings -From: Jan Glauber <jglauber@cavium.com> -X-Patchwork-Id: 10331715 -Message-Id: <20180409154554.7578-6-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 <Mahipal.Challa@cavium.com>, - Robert Richter <rrichter@cavium.com>, Jan Glauber <jglauber@cavium.com> -Date: Mon, 9 Apr 2018 17:45:54 +0200 - -Switch to raw_smp_processor_id() to prevent a number of -warnings from kernel debugging. We do not care about -preemption here, as the CPU number is only used as a -poor mans load balancing or device selection. If preemption -happens during a compress/decompress operation a small performance -hit will occur but everything will continue to work, so just -ignore it. - -Signed-off-by: Jan Glauber <jglauber@cavium.com> -Reviewed-by: Robert Richter <rrichter@cavium.com> ---- - drivers/crypto/cavium/zip/zip_device.c | 4 ++-- - drivers/crypto/cavium/zip/zip_main.c | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/drivers/crypto/cavium/zip/zip_device.c b/drivers/crypto/cavium/zip/zip_device.c -index ccf21fb91513..f174ec29ed69 100644 ---- a/drivers/crypto/cavium/zip/zip_device.c -+++ b/drivers/crypto/cavium/zip/zip_device.c -@@ -87,12 +87,12 @@ u32 zip_load_instr(union zip_inst_s *instr, - * Distribute the instructions between the enabled queues based on - * the CPU id. - */ -- if (smp_processor_id() % 2 == 0) -+ if (raw_smp_processor_id() % 2 == 0) - queue = 0; - else - queue = 1; - -- zip_dbg("CPU Core: %d Queue number:%d", smp_processor_id(), queue); -+ zip_dbg("CPU Core: %d Queue number:%d", raw_smp_processor_id(), queue); - - /* Take cmd buffer lock */ - spin_lock(&zip_dev->iq[queue].lock); -diff --git a/drivers/crypto/cavium/zip/zip_main.c b/drivers/crypto/cavium/zip/zip_main.c -index ae5b20c695ca..be055b9547f6 100644 ---- a/drivers/crypto/cavium/zip/zip_main.c -+++ b/drivers/crypto/cavium/zip/zip_main.c -@@ -113,7 +113,7 @@ struct zip_device *zip_get_device(int node) - */ - int zip_get_node_id(void) - { -- return cpu_to_node(smp_processor_id()); -+ return cpu_to_node(raw_smp_processor_id()); - } - - /* Initializes the ZIP h/w sub-system */ |