All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] crypto: qat: Minor Fixes
@ 2014-06-24 22:19 Tadeusz Struk
  2014-06-24 22:19 ` [PATCH 1/4] crypto: qat: Fix random config build warnings Tadeusz Struk
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Tadeusz Struk @ 2014-06-24 22:19 UTC (permalink / raw)
  To: herbert; +Cc: davem, bruce.w.allan, linux-crypto, qat-linux

The following series fixes minor format issues, updates FW info, and fixes
error path crash when no firmware is present.
---

Tadeusz Struk (4):
      crypto: qat: Fix random config build warnings
      crypto: qat: Updated Firmware Info Metadata
      crypto: qat: Fixed new checkpatch warnings
      crypto: qat: Fix error path crash when no firmware is present


 drivers/crypto/qat/Kconfig                         |    1 +
 drivers/crypto/qat/qat_common/adf_accel_devices.h  |    1 +
 drivers/crypto/qat/qat_common/adf_aer.c            |    1 +
 drivers/crypto/qat/qat_common/adf_cfg.c            |    3 ++
 drivers/crypto/qat/qat_common/adf_common_drv.h     |    2 +-
 drivers/crypto/qat/qat_common/adf_transport.c      |    2 ++
 .../crypto/qat/qat_common/adf_transport_debug.c    |    3 ++
 drivers/crypto/qat/qat_common/qat_algs.c           |   10 ++++++--
 drivers/crypto/qat/qat_common/qat_crypto.c         |    4 ++-
 drivers/crypto/qat/qat_common/qat_hal.c            |    7 ++++--
 drivers/crypto/qat/qat_common/qat_uclo.c           |   25 +++++++++++---------
 drivers/crypto/qat/qat_dh895xcc/adf_drv.c          |    1 +
 drivers/crypto/qat/qat_dh895xcc/adf_hw_arbiter.c   |   12 +++++-----
 drivers/crypto/qat/qat_dh895xcc/adf_isr.c          |    2 +-
 14 files changed, 48 insertions(+), 26 deletions(-)

-- 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/4] crypto: qat: Fix random config build warnings
  2014-06-24 22:19 [PATCH 0/4] crypto: qat: Minor Fixes Tadeusz Struk
@ 2014-06-24 22:19 ` Tadeusz Struk
  2014-06-25 13:36   ` Herbert Xu
  2014-06-24 22:19 ` [PATCH 2/4] crypto: qat: Updated Firmware Info Metadata Tadeusz Struk
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 8+ messages in thread
From: Tadeusz Struk @ 2014-06-24 22:19 UTC (permalink / raw)
  To: herbert; +Cc: davem, bruce.w.allan, linux-crypto, qat-linux

Fix random config build warnings:

Implicit-function-declaration ‘__raw_writel’
Cast to pointer from integer of different size [-Wint-to-pointer-cast]

Reviewed-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Tadeusz Struk <tadeusz.struk@intel.com>
---
 drivers/crypto/qat/qat_common/adf_accel_devices.h |    1 +
 drivers/crypto/qat/qat_common/qat_algs.c          |    6 +++---
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/crypto/qat/qat_common/adf_accel_devices.h b/drivers/crypto/qat/qat_common/adf_accel_devices.h
index f3206d9..9282381 100644
--- a/drivers/crypto/qat/qat_common/adf_accel_devices.h
+++ b/drivers/crypto/qat/qat_common/adf_accel_devices.h
@@ -50,6 +50,7 @@
 #include <linux/atomic.h>
 #include <linux/list.h>
 #include <linux/proc_fs.h>
+#include <linux/io.h>
 #include "adf_cfg_common.h"
 
 #define PCI_VENDOR_ID_INTEL 0x8086
diff --git a/drivers/crypto/qat/qat_common/qat_algs.c b/drivers/crypto/qat/qat_common/qat_algs.c
index 193b753..c4e8010 100644
--- a/drivers/crypto/qat/qat_common/qat_algs.c
+++ b/drivers/crypto/qat/qat_common/qat_algs.c
@@ -745,7 +745,7 @@ void qat_alg_callback(void *resp)
 {
 	struct icp_qat_fw_la_resp *qat_resp = resp;
 	struct qat_crypto_request *qat_req =
-			(void *)(dma_addr_t)qat_resp->opaque_data;
+				(void *)(__force long)qat_resp->opaque_data;
 	struct qat_alg_session_ctx *ctx = qat_req->ctx;
 	struct qat_crypto_instance *inst = ctx->inst;
 	struct aead_request *areq = qat_req->areq;
@@ -779,7 +779,7 @@ static int qat_alg_dec(struct aead_request *areq)
 	*msg = ctx->dec_fw_req_tmpl;
 	qat_req->ctx = ctx;
 	qat_req->areq = areq;
-	qat_req->req.comn_mid.opaque_data = (uint64_t)(dma_addr_t)qat_req;
+	qat_req->req.comn_mid.opaque_data = (uint64_t)(__force long)qat_req;
 	qat_req->req.comn_mid.src_data_addr = qat_req->buf.blp;
 	qat_req->req.comn_mid.dest_data_addr = qat_req->buf.bloutp;
 	cipher_param = (void *)&qat_req->req.serv_specif_rqpars;
@@ -822,7 +822,7 @@ static int qat_alg_enc_internal(struct aead_request *areq, uint8_t *iv,
 	*msg = ctx->enc_fw_req_tmpl;
 	qat_req->ctx = ctx;
 	qat_req->areq = areq;
-	qat_req->req.comn_mid.opaque_data = (uint64_t)(dma_addr_t)qat_req;
+	qat_req->req.comn_mid.opaque_data = (uint64_t)(__force long)qat_req;
 	qat_req->req.comn_mid.src_data_addr = qat_req->buf.blp;
 	qat_req->req.comn_mid.dest_data_addr = qat_req->buf.bloutp;
 	cipher_param = (void *)&qat_req->req.serv_specif_rqpars;

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 2/4] crypto: qat: Updated Firmware Info Metadata
  2014-06-24 22:19 [PATCH 0/4] crypto: qat: Minor Fixes Tadeusz Struk
  2014-06-24 22:19 ` [PATCH 1/4] crypto: qat: Fix random config build warnings Tadeusz Struk
@ 2014-06-24 22:19 ` Tadeusz Struk
  2014-06-24 22:19 ` [PATCH 3/4] crypto: qat: Fixed new checkpatch warnings Tadeusz Struk
  2014-06-24 22:19 ` [PATCH 4/4] crypto: qat: Fix error path crash when no firmware is present Tadeusz Struk
  3 siblings, 0 replies; 8+ messages in thread
From: Tadeusz Struk @ 2014-06-24 22:19 UTC (permalink / raw)
  To: herbert; +Cc: davem, bruce.w.allan, linux-crypto, qat-linux

Updated Firmware Info Metadata

Reviewed-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Tadeusz Struk <tadeusz.struk@intel.com>
---
 drivers/crypto/qat/Kconfig                |    1 +
 drivers/crypto/qat/qat_dh895xcc/adf_drv.c |    1 +
 2 files changed, 2 insertions(+)

diff --git a/drivers/crypto/qat/Kconfig b/drivers/crypto/qat/Kconfig
index 3bd3fd9..49bede2 100644
--- a/drivers/crypto/qat/Kconfig
+++ b/drivers/crypto/qat/Kconfig
@@ -8,6 +8,7 @@ config CRYPTO_DEV_QAT
 	select CRYPTO_SHA1
 	select CRYPTO_SHA256
 	select CRYPTO_SHA512
+	select FW_LOADER
 
 config CRYPTO_DEV_QAT_DH895xCC
 	tristate "Support for Intel(R) DH895xCC"
diff --git a/drivers/crypto/qat/qat_dh895xcc/adf_drv.c b/drivers/crypto/qat/qat_dh895xcc/adf_drv.c
index 1da2f78..0d0435a 100644
--- a/drivers/crypto/qat/qat_dh895xcc/adf_drv.c
+++ b/drivers/crypto/qat/qat_dh895xcc/adf_drv.c
@@ -445,4 +445,5 @@ module_exit(adfdrv_release);
 
 MODULE_LICENSE("Dual BSD/GPL");
 MODULE_AUTHOR("Intel");
+MODULE_FIRMWARE("qat_895xcc.bin");
 MODULE_DESCRIPTION("Intel(R) QuickAssist Technology");

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 3/4] crypto: qat: Fixed new checkpatch warnings
  2014-06-24 22:19 [PATCH 0/4] crypto: qat: Minor Fixes Tadeusz Struk
  2014-06-24 22:19 ` [PATCH 1/4] crypto: qat: Fix random config build warnings Tadeusz Struk
  2014-06-24 22:19 ` [PATCH 2/4] crypto: qat: Updated Firmware Info Metadata Tadeusz Struk
@ 2014-06-24 22:19 ` Tadeusz Struk
  2014-06-24 22:19 ` [PATCH 4/4] crypto: qat: Fix error path crash when no firmware is present Tadeusz Struk
  3 siblings, 0 replies; 8+ messages in thread
From: Tadeusz Struk @ 2014-06-24 22:19 UTC (permalink / raw)
  To: herbert; +Cc: davem, bruce.w.allan, linux-crypto, qat-linux

After updates to checkpatch new warnings pops up this patch fixes them.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Acked-by: Tadeusz Struk <tadeusz.struk@intel.com>
---
 drivers/crypto/qat/qat_common/adf_aer.c            |    1 +
 drivers/crypto/qat/qat_common/adf_cfg.c            |    3 +++
 drivers/crypto/qat/qat_common/adf_transport.c      |    2 ++
 .../crypto/qat/qat_common/adf_transport_debug.c    |    3 +++
 drivers/crypto/qat/qat_common/qat_algs.c           |    4 ++++
 drivers/crypto/qat/qat_common/qat_crypto.c         |    4 ++--
 drivers/crypto/qat/qat_common/qat_hal.c            |    7 +++++--
 drivers/crypto/qat/qat_common/qat_uclo.c           |   17 ++++++++++-------
 drivers/crypto/qat/qat_dh895xcc/adf_hw_arbiter.c   |   12 ++++++------
 drivers/crypto/qat/qat_dh895xcc/adf_isr.c          |    2 +-
 10 files changed, 37 insertions(+), 18 deletions(-)

diff --git a/drivers/crypto/qat/qat_common/adf_aer.c b/drivers/crypto/qat/qat_common/adf_aer.c
index 0651678..c29d4c3 100644
--- a/drivers/crypto/qat/qat_common/adf_aer.c
+++ b/drivers/crypto/qat/qat_common/adf_aer.c
@@ -95,6 +95,7 @@ static void adf_dev_restore(struct adf_accel_dev *accel_dev)
 	pending = ppdstat & PCI_EXP_DEVSTA_TRPND;
 	if (pending) {
 		int ctr = 0;
+
 		do {
 			msleep(100);
 			pci_read_config_word(pdev, PPDSTAT_OFFSET, &ppdstat);
diff --git a/drivers/crypto/qat/qat_common/adf_cfg.c b/drivers/crypto/qat/qat_common/adf_cfg.c
index 389c0cf..4279076 100644
--- a/drivers/crypto/qat/qat_common/adf_cfg.c
+++ b/drivers/crypto/qat/qat_common/adf_cfg.c
@@ -57,6 +57,7 @@ static DEFINE_MUTEX(qat_cfg_read_lock);
 static void *qat_dev_cfg_start(struct seq_file *sfile, loff_t *pos)
 {
 	struct adf_cfg_device_data *dev_cfg = sfile->private;
+
 	mutex_lock(&qat_cfg_read_lock);
 	return seq_list_start(&dev_cfg->sec_list, *pos);
 }
@@ -79,6 +80,7 @@ static int qat_dev_cfg_show(struct seq_file *sfile, void *v)
 static void *qat_dev_cfg_next(struct seq_file *sfile, void *v, loff_t *pos)
 {
 	struct adf_cfg_device_data *dev_cfg = sfile->private;
+
 	return seq_list_next(v, &dev_cfg->sec_list, pos);
 }
 
@@ -100,6 +102,7 @@ static int qat_dev_cfg_open(struct inode *inode, struct file *file)
 
 	if (!ret) {
 		struct seq_file *seq_f = file->private_data;
+
 		seq_f->private = inode->i_private;
 	}
 	return ret;
diff --git a/drivers/crypto/qat/qat_common/adf_transport.c b/drivers/crypto/qat/qat_common/adf_transport.c
index b213010..5f3fa45 100644
--- a/drivers/crypto/qat/qat_common/adf_transport.c
+++ b/drivers/crypto/qat/qat_common/adf_transport.c
@@ -55,6 +55,7 @@ static inline uint32_t adf_modulo(uint32_t data, uint32_t shift)
 {
 	uint32_t div = data >> shift;
 	uint32_t mult = div << shift;
+
 	return data - mult;
 }
 
@@ -68,6 +69,7 @@ static inline int adf_check_ring_alignment(uint64_t addr, uint64_t size)
 static int adf_verify_ring_size(uint32_t msg_size, uint32_t msg_num)
 {
 	int i = ADF_MIN_RING_SIZE;
+
 	for (; i <= ADF_MAX_RING_SIZE; i++)
 		if ((msg_size * msg_num) == ADF_SIZE_TO_RING_SIZE_IN_BYTES(i))
 			return i;
diff --git a/drivers/crypto/qat/qat_common/adf_transport_debug.c b/drivers/crypto/qat/qat_common/adf_transport_debug.c
index d83a581..6b69745 100644
--- a/drivers/crypto/qat/qat_common/adf_transport_debug.c
+++ b/drivers/crypto/qat/qat_common/adf_transport_debug.c
@@ -57,6 +57,7 @@ static DEFINE_MUTEX(bank_read_lock);
 static void *adf_ring_start(struct seq_file *sfile, loff_t *pos)
 {
 	struct adf_etr_ring_data *ring = sfile->private;
+
 	mutex_lock(&ring_read_lock);
 	if (*pos == 0)
 		return SEQ_START_TOKEN;
@@ -143,6 +144,7 @@ static int adf_ring_open(struct inode *inode, struct file *file)
 
 	if (!ret) {
 		struct seq_file *seq_f = file->private_data;
+
 		seq_f->private = inode->i_private;
 	}
 	return ret;
@@ -258,6 +260,7 @@ static int adf_bank_open(struct inode *inode, struct file *file)
 
 	if (!ret) {
 		struct seq_file *seq_f = file->private_data;
+
 		seq_f->private = inode->i_private;
 	}
 	return ret;
diff --git a/drivers/crypto/qat/qat_common/qat_algs.c b/drivers/crypto/qat/qat_common/qat_algs.c
index c4e8010..946686f 100644
--- a/drivers/crypto/qat/qat_common/qat_algs.c
+++ b/drivers/crypto/qat/qat_common/qat_algs.c
@@ -610,6 +610,7 @@ static void qat_alg_free_bufl(struct qat_crypto_instance *inst,
 	if (blp != blpout) {
 		/* If out of place operation dma unmap only data */
 		int bufless = bufs - blout->num_mapped_bufs;
+
 		for (i = bufless; i < bufs; i++) {
 			dma_unmap_single(dev, blout->bufers[i].addr,
 					 blout->bufers[i].len,
@@ -667,6 +668,7 @@ static int qat_alg_sgl_to_bufl(struct qat_crypto_instance *inst,
 
 	for_each_sg(sgl, sg, n, i) {
 		int y = i + bufs;
+
 		bufl->bufers[y].addr = dma_map_single(dev, sg_virt(sg),
 						      sg->length,
 						      DMA_BIDIRECTIONAL);
@@ -698,6 +700,7 @@ static int qat_alg_sgl_to_bufl(struct qat_crypto_instance *inst,
 		}
 		for_each_sg(sglout, sg, n, i) {
 			int y = i + bufs;
+
 			bufers[y].addr = dma_map_single(dev, sg_virt(sg),
 							sg->length,
 							DMA_BIDIRECTIONAL);
@@ -729,6 +732,7 @@ err:
 	if (sgl != sglout && buflout) {
 		for_each_sg(sglout, sg, n, i) {
 			int y = i + bufs;
+
 			if (!dma_mapping_error(dev, buflout->bufers[y].addr))
 				dma_unmap_single(dev, buflout->bufers[y].addr,
 						 buflout->bufers[y].len,
diff --git a/drivers/crypto/qat/qat_common/qat_crypto.c b/drivers/crypto/qat/qat_common/qat_crypto.c
index cc562cb..0d59bcb 100644
--- a/drivers/crypto/qat/qat_common/qat_crypto.c
+++ b/drivers/crypto/qat/qat_common/qat_crypto.c
@@ -146,8 +146,8 @@ struct qat_crypto_instance *qat_crypto_get_instance_node(int node)
 static int qat_crypto_create_instances(struct adf_accel_dev *accel_dev)
 {
 	int i;
-	long unsigned int bank;
-	long unsigned int num_inst, num_msg_sym, num_msg_asym;
+	unsigned long bank;
+	unsigned long num_inst, num_msg_sym, num_msg_asym;
 	int msg_size;
 	struct qat_crypto_instance *inst;
 	char key[ADF_CFG_MAX_KEY_LEN_IN_BYTES];
diff --git a/drivers/crypto/qat/qat_common/qat_hal.c b/drivers/crypto/qat/qat_common/qat_hal.c
index 260cd71..903ca88 100644
--- a/drivers/crypto/qat/qat_common/qat_hal.c
+++ b/drivers/crypto/qat/qat_common/qat_hal.c
@@ -266,6 +266,7 @@ static unsigned short qat_hal_get_reg_addr(unsigned int type,
 					   unsigned short reg_num)
 {
 	unsigned short reg_addr;
+
 	switch (type) {
 	case ICP_GPA_ABS:
 	case ICP_GPB_ABS:
@@ -816,6 +817,7 @@ void qat_hal_wr_umem(struct icp_qat_fw_loader_handle *handle,
 	qat_hal_wr_ae_csr(handle, ae, USTORE_ADDRESS, uaddr);
 	for (i = 0; i < words_num; i++) {
 		unsigned int uwrd_lo, uwrd_hi, tmp;
+
 		uwrd_lo = ((data[i] & 0xfff0000) << 4) | (0x3 << 18) |
 			  ((data[i] & 0xff00) << 2) |
 			  (0x3 << 8) | (data[i] & 0xff);
@@ -888,6 +890,7 @@ static int qat_hal_exec_micro_inst(struct icp_qat_fw_loader_handle *handle,
 		return -EFAULT;
 	if (endpc) {
 		unsigned int ctx_status;
+
 		qat_hal_rd_indr_csr(handle, ae, ctx, CTX_STS_INDIRECT,
 				    &ctx_status);
 		*endpc = ctx_status & handle->hal_handle->upc_mask;
@@ -1111,8 +1114,8 @@ int qat_hal_batch_wr_lm(struct icp_qat_fw_loader_handle *handle,
 	alloc_inst_size = lm_init_header->size;
 	if ((unsigned int)alloc_inst_size > handle->hal_handle->max_ustore)
 		alloc_inst_size = handle->hal_handle->max_ustore;
-	micro_inst_arry = kmalloc(alloc_inst_size * sizeof(uint64_t),
-				  GFP_KERNEL);
+	micro_inst_arry = kmalloc_array(alloc_inst_size, sizeof(uint64_t),
+					GFP_KERNEL);
 	if (!micro_inst_arry)
 		return -ENOMEM;
 	micro_inst_num = 0;
diff --git a/drivers/crypto/qat/qat_common/qat_uclo.c b/drivers/crypto/qat/qat_common/qat_uclo.c
index a698d07e..20b6b42 100644
--- a/drivers/crypto/qat/qat_common/qat_uclo.c
+++ b/drivers/crypto/qat/qat_common/qat_uclo.c
@@ -171,7 +171,6 @@ static void qat_uclo_wr_umem_by_words(struct icp_qat_fw_loader_handle *handle,
 		num_in_bytes -= 4;
 		ptr += 4;
 	}
-	return;
 }
 
 static void qat_uclo_batch_wr_umem(struct icp_qat_fw_loader_handle *handle,
@@ -186,6 +185,7 @@ static void qat_uclo_batch_wr_umem(struct icp_qat_fw_loader_handle *handle,
 	umem_init = umem_init_header->next;
 	while (umem_init) {
 		unsigned int addr, *value, size;
+
 		ae = umem_init->ae;
 		addr = umem_init->addr;
 		value = umem_init->value;
@@ -204,6 +204,7 @@ qat_uclo_cleanup_batch_init_list(struct icp_qat_fw_loader_handle *handle,
 	umem_init = *base;
 	while (umem_init) {
 		struct icp_qat_uof_batch_init *pre;
+
 		pre = umem_init;
 		umem_init = umem_init->next;
 		kfree(pre);
@@ -414,7 +415,7 @@ static int qat_uclo_init_ustore(struct icp_qat_fw_loader_handle *handle,
 	uint64_t *fill_data;
 
 	uof_image = image->img_ptr;
-	fill_data = kzalloc(ICP_QAT_UCLO_MAX_USTORE * sizeof(uint64_t),
+	fill_data = kcalloc(ICP_QAT_UCLO_MAX_USTORE, sizeof(uint64_t),
 			    GFP_KERNEL);
 	if (!fill_data)
 		return -EFAULT;
@@ -720,6 +721,7 @@ qat_uclo_map_str_table(struct icp_qat_uclo_objhdr *obj_hdr,
 					obj_hdr->file_buff, tab_name, NULL);
 	if (chunk_hdr) {
 		int hdr_size;
+
 		memcpy(&str_table->table_len, obj_hdr->file_buff +
 		       chunk_hdr->offset, sizeof(str_table->table_len));
 		hdr_size = (char *)&str_table->strings - (char *)str_table;
@@ -821,6 +823,7 @@ static int qat_uclo_init_reg_sym(struct icp_qat_fw_loader_handle *handle,
 
 	for (i = 0; i < encap_ae->init_regsym_num; i++) {
 		unsigned int exp_res;
+
 		init_regsym = &encap_ae->init_regsym[i];
 		exp_res = init_regsym->value;
 		switch (init_regsym->init_type) {
@@ -949,7 +952,7 @@ static int qat_uclo_parse_uof_obj(struct icp_qat_fw_loader_handle *handle)
 	struct icp_qat_uclo_objhandle *obj_handle = handle->obj_handle;
 	unsigned int ae;
 
-	obj_handle->uword_buf = kzalloc(UWORD_CPYBUF_SIZE * sizeof(uint64_t),
+	obj_handle->uword_buf = kcalloc(UWORD_CPYBUF_SIZE, sizeof(uint64_t),
 					GFP_KERNEL);
 	if (!obj_handle->uword_buf)
 		return -ENOMEM;
@@ -957,20 +960,20 @@ static int qat_uclo_parse_uof_obj(struct icp_qat_fw_loader_handle *handle)
 	obj_handle->encap_uof_obj.obj_hdr = (struct icp_qat_uof_objhdr *)
 					     obj_handle->obj_hdr->file_buff;
 	obj_handle->encap_uof_obj.chunk_hdr = (struct icp_qat_uof_chunkhdr *)
-	    obj_handle->obj_hdr->file_buff + sizeof(struct icp_qat_uof_objhdr);
+	   (obj_handle->obj_hdr->file_buff + sizeof(struct icp_qat_uof_objhdr));
 	obj_handle->uword_in_bytes = 6;
 	obj_handle->prod_type = ICP_QAT_AC_C_CPU_TYPE;
 	obj_handle->prod_rev = PID_MAJOR_REV |
 			(PID_MINOR_REV & handle->hal_handle->revision_id);
 	if (qat_uclo_check_uof_compat(obj_handle)) {
-		pr_err("QAT: uof incompatible\n ");
+		pr_err("QAT: uof incompatible\n");
 		return -EINVAL;
 	}
 	obj_handle->ustore_phy_size = ICP_QAT_UCLO_MAX_USTORE;
 	if (!(obj_handle->obj_hdr->file_buff) ||
 	    !(qat_uclo_map_str_table(obj_handle->obj_hdr, ICP_QAT_UOF_STRT,
 				     &(obj_handle->str_table)))) {
-		pr_err("QAT: uof doesn't have effective images");
+		pr_err("QAT: uof doesn't have effective images\n");
 		goto out_err;
 	}
 	obj_handle->uimage_num =
@@ -979,7 +982,7 @@ static int qat_uclo_parse_uof_obj(struct icp_qat_fw_loader_handle *handle)
 	if (!obj_handle->uimage_num)
 		goto out_err;
 	if (qat_uclo_map_ae(handle, handle->hal_handle->ae_max_num)) {
-		pr_err("QAT: Bad object\n ");
+		pr_err("QAT: Bad object\n");
 		goto out_check_uof_aemask_err;
 	}
 	qat_uclo_init_uword_num(handle);
diff --git a/drivers/crypto/qat/qat_dh895xcc/adf_hw_arbiter.c b/drivers/crypto/qat/qat_dh895xcc/adf_hw_arbiter.c
index 36ffa70..1864bdb 100644
--- a/drivers/crypto/qat/qat_dh895xcc/adf_hw_arbiter.c
+++ b/drivers/crypto/qat/qat_dh895xcc/adf_hw_arbiter.c
@@ -63,29 +63,29 @@
 
 #define WRITE_CSR_ARB_RINGSRVARBEN(csr_addr, index, value) \
 	ADF_CSR_WR(csr_addr, ADF_ARB_RINGSRVARBEN_OFFSET + \
-	(ADF_ARB_REG_SLOT * index), value);
+	(ADF_ARB_REG_SLOT * index), value)
 
 #define WRITE_CSR_ARB_RESPORDERING(csr_addr, index, value) \
 	ADF_CSR_WR(csr_addr, (ADF_ARB_OFFSET + \
-	ADF_ARB_RO_EN_OFFSET) + (ADF_ARB_REG_SIZE * index), value);
+	ADF_ARB_RO_EN_OFFSET) + (ADF_ARB_REG_SIZE * index), value)
 
 #define WRITE_CSR_ARB_WEIGHT(csr_addr, arb, index, value) \
 	ADF_CSR_WR(csr_addr, (ADF_ARB_OFFSET + \
 	ADF_ARB_WTR_OFFSET) + (ADF_ARB_WTR_SIZE * arb) + \
-	(ADF_ARB_REG_SIZE * index), value);
+	(ADF_ARB_REG_SIZE * index), value)
 
 #define WRITE_CSR_ARB_SARCONFIG(csr_addr, index, value) \
 	ADF_CSR_WR(csr_addr, ADF_ARB_OFFSET + \
-	(ADF_ARB_REG_SIZE * index), value);
+	(ADF_ARB_REG_SIZE * index), value)
 
 #define WRITE_CSR_ARB_WRK_2_SER_MAP(csr_addr, index, value) \
 	ADF_CSR_WR(csr_addr, (ADF_ARB_OFFSET + \
 	ADF_ARB_WRK_2_SER_MAP_OFFSET) + \
-	(ADF_ARB_REG_SIZE * index), value);
+	(ADF_ARB_REG_SIZE * index), value)
 
 #define WRITE_CSR_ARB_WQCFG(csr_addr, index, value) \
 	ADF_CSR_WR(csr_addr, (ADF_ARB_OFFSET + \
-	ADF_ARB_WQCFG_OFFSET) + (ADF_ARB_REG_SIZE * index), value);
+	ADF_ARB_WQCFG_OFFSET) + (ADF_ARB_REG_SIZE * index), value)
 
 int adf_init_arb(struct adf_accel_dev *accel_dev)
 {
diff --git a/drivers/crypto/qat/qat_dh895xcc/adf_isr.c b/drivers/crypto/qat/qat_dh895xcc/adf_isr.c
index 77e2d3a..d4172de 100644
--- a/drivers/crypto/qat/qat_dh895xcc/adf_isr.c
+++ b/drivers/crypto/qat/qat_dh895xcc/adf_isr.c
@@ -172,7 +172,7 @@ static int adf_isr_alloc_msix_entry_table(struct adf_accel_dev *accel_dev)
 	if (!entries)
 		return -ENOMEM;
 
-	names = kzalloc(msix_num_entries * sizeof(char *), GFP_KERNEL);
+	names = kcalloc(msix_num_entries, sizeof(char *), GFP_KERNEL);
 	if (!names) {
 		kfree(entries);
 		return -ENOMEM;

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 4/4] crypto: qat: Fix error path crash when no firmware is present
  2014-06-24 22:19 [PATCH 0/4] crypto: qat: Minor Fixes Tadeusz Struk
                   ` (2 preceding siblings ...)
  2014-06-24 22:19 ` [PATCH 3/4] crypto: qat: Fixed new checkpatch warnings Tadeusz Struk
@ 2014-06-24 22:19 ` Tadeusz Struk
  3 siblings, 0 replies; 8+ messages in thread
From: Tadeusz Struk @ 2014-06-24 22:19 UTC (permalink / raw)
  To: herbert; +Cc: davem, bruce.w.allan, linux-crypto, qat-linux

Firmware loader crashes when no firmware file is present.

Reviewed-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Tadeusz Struk <tadeusz.struk@intel.com>
---
 drivers/crypto/qat/qat_common/adf_common_drv.h |    2 +-
 drivers/crypto/qat/qat_common/qat_uclo.c       |   10 +++++-----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/crypto/qat/qat_common/adf_common_drv.h b/drivers/crypto/qat/qat_common/adf_common_drv.h
index 3cea9fa..5e8f9d4 100644
--- a/drivers/crypto/qat/qat_common/adf_common_drv.h
+++ b/drivers/crypto/qat/qat_common/adf_common_drv.h
@@ -186,7 +186,7 @@ int qat_hal_init_nn(struct icp_qat_fw_loader_handle *handle,
 int qat_hal_wr_lm(struct icp_qat_fw_loader_handle *handle,
 		  unsigned char ae, unsigned short lm_addr, unsigned int value);
 int qat_uclo_wr_all_uimage(struct icp_qat_fw_loader_handle *handle);
-int qat_uclo_del_uof_obj(struct icp_qat_fw_loader_handle *handle);
+void qat_uclo_del_uof_obj(struct icp_qat_fw_loader_handle *handle);
 int qat_uclo_map_uof_obj(struct icp_qat_fw_loader_handle *handle,
 			 void *addr_ptr, int mem_size);
 #endif
diff --git a/drivers/crypto/qat/qat_common/qat_uclo.c b/drivers/crypto/qat/qat_common/qat_uclo.c
index 20b6b42..dd4e0d3 100644
--- a/drivers/crypto/qat/qat_common/qat_uclo.c
+++ b/drivers/crypto/qat/qat_common/qat_uclo.c
@@ -959,8 +959,6 @@ static int qat_uclo_parse_uof_obj(struct icp_qat_fw_loader_handle *handle)
 	obj_handle->encap_uof_obj.beg_uof = obj_handle->obj_hdr->file_buff;
 	obj_handle->encap_uof_obj.obj_hdr = (struct icp_qat_uof_objhdr *)
 					     obj_handle->obj_hdr->file_buff;
-	obj_handle->encap_uof_obj.chunk_hdr = (struct icp_qat_uof_chunkhdr *)
-	   (obj_handle->obj_hdr->file_buff + sizeof(struct icp_qat_uof_objhdr));
 	obj_handle->uword_in_bytes = 6;
 	obj_handle->prod_type = ICP_QAT_AC_C_CPU_TYPE;
 	obj_handle->prod_rev = PID_MAJOR_REV |
@@ -1040,23 +1038,25 @@ out_objbuf_err:
 	return -ENOMEM;
 }
 
-int qat_uclo_del_uof_obj(struct icp_qat_fw_loader_handle *handle)
+void qat_uclo_del_uof_obj(struct icp_qat_fw_loader_handle *handle)
 {
 	struct icp_qat_uclo_objhandle *obj_handle = handle->obj_handle;
 	int a;
 
+	if (!obj_handle)
+		return;
+
 	kfree(obj_handle->uword_buf);
 	for (a = 0; a < obj_handle->uimage_num; a++)
 		kfree(obj_handle->ae_uimage[a].page);
 
 	for (a = 0; a <= (int)handle->hal_handle->ae_max_num; a++)
 		qat_uclo_free_ae_data(&obj_handle->ae_data[a]);
-	kfree(obj_handle->obj_hdr);
 
+	kfree(obj_handle->obj_hdr);
 	kfree(obj_handle->obj_buf);
 	kfree(obj_handle);
 	handle->obj_handle = NULL;
-	return 0;
 }
 
 static void qat_uclo_fill_uwords(struct icp_qat_uclo_objhandle *obj_handle,

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/4] crypto: qat: Fix random config build warnings
  2014-06-24 22:19 ` [PATCH 1/4] crypto: qat: Fix random config build warnings Tadeusz Struk
@ 2014-06-25 13:36   ` Herbert Xu
  2014-06-25 13:52     ` Tadeusz Struk
  0 siblings, 1 reply; 8+ messages in thread
From: Herbert Xu @ 2014-06-25 13:36 UTC (permalink / raw)
  To: Tadeusz Struk; +Cc: davem, bruce.w.allan, linux-crypto, qat-linux

On Tue, Jun 24, 2014 at 03:19:24PM -0700, Tadeusz Struk wrote:
> Fix random config build warnings:
> 
> Implicit-function-declaration ‘__raw_writel’
> Cast to pointer from integer of different size [-Wint-to-pointer-cast]
> 
> Reviewed-by: Bruce Allan <bruce.w.allan@intel.com>
> Signed-off-by: Tadeusz Struk <tadeusz.struk@intel.com>
> ---
>  drivers/crypto/qat/qat_common/adf_accel_devices.h |    1 +
>  drivers/crypto/qat/qat_common/qat_algs.c          |    6 +++---
>  2 files changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/crypto/qat/qat_common/adf_accel_devices.h b/drivers/crypto/qat/qat_common/adf_accel_devices.h
> index f3206d9..9282381 100644
> --- a/drivers/crypto/qat/qat_common/adf_accel_devices.h
> +++ b/drivers/crypto/qat/qat_common/adf_accel_devices.h
> @@ -50,6 +50,7 @@
>  #include <linux/atomic.h>
>  #include <linux/list.h>
>  #include <linux/proc_fs.h>
> +#include <linux/io.h>
>  #include "adf_cfg_common.h"
>  
>  #define PCI_VENDOR_ID_INTEL 0x8086
> diff --git a/drivers/crypto/qat/qat_common/qat_algs.c b/drivers/crypto/qat/qat_common/qat_algs.c
> index 193b753..c4e8010 100644
> --- a/drivers/crypto/qat/qat_common/qat_algs.c
> +++ b/drivers/crypto/qat/qat_common/qat_algs.c
> @@ -745,7 +745,7 @@ void qat_alg_callback(void *resp)
>  {
>  	struct icp_qat_fw_la_resp *qat_resp = resp;
>  	struct qat_crypto_request *qat_req =
> -			(void *)(dma_addr_t)qat_resp->opaque_data;
> +				(void *)(__force long)qat_resp->opaque_data;

Why not just get rid of the (__force long) altogether?

Thanks,
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/4] crypto: qat: Fix random config build warnings
  2014-06-25 13:36   ` Herbert Xu
@ 2014-06-25 13:52     ` Tadeusz Struk
  2014-06-26  6:51       ` Herbert Xu
  0 siblings, 1 reply; 8+ messages in thread
From: Tadeusz Struk @ 2014-06-25 13:52 UTC (permalink / raw)
  To: Herbert Xu; +Cc: davem, bruce.w.allan, linux-crypto, qat-linux

On 06/25/2014 06:36 AM, Herbert Xu wrote:
>>  	struct icp_qat_fw_la_resp *qat_resp = resp;
>> >  	struct qat_crypto_request *qat_req =
>> > -			(void *)(dma_addr_t)qat_resp->opaque_data;
>> > +				(void *)(__force long)qat_resp->opaque_data;
> Why not just get rid of the (__force long) altogether?
It complains when cross compiled for 32bit.
Regards.
Tadeusz

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/4] crypto: qat: Fix random config build warnings
  2014-06-25 13:52     ` Tadeusz Struk
@ 2014-06-26  6:51       ` Herbert Xu
  0 siblings, 0 replies; 8+ messages in thread
From: Herbert Xu @ 2014-06-26  6:51 UTC (permalink / raw)
  To: Tadeusz Struk; +Cc: davem, bruce.w.allan, linux-crypto, qat-linux

On Wed, Jun 25, 2014 at 06:52:16AM -0700, Tadeusz Struk wrote:
> On 06/25/2014 06:36 AM, Herbert Xu wrote:
> >>  	struct icp_qat_fw_la_resp *qat_resp = resp;
> >> >  	struct qat_crypto_request *qat_req =
> >> > -			(void *)(dma_addr_t)qat_resp->opaque_data;
> >> > +				(void *)(__force long)qat_resp->opaque_data;
> > Why not just get rid of the (__force long) altogether?
> It complains when cross compiled for 32bit.

OK all applied.  Thanks!
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2014-06-26  6:51 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-24 22:19 [PATCH 0/4] crypto: qat: Minor Fixes Tadeusz Struk
2014-06-24 22:19 ` [PATCH 1/4] crypto: qat: Fix random config build warnings Tadeusz Struk
2014-06-25 13:36   ` Herbert Xu
2014-06-25 13:52     ` Tadeusz Struk
2014-06-26  6:51       ` Herbert Xu
2014-06-24 22:19 ` [PATCH 2/4] crypto: qat: Updated Firmware Info Metadata Tadeusz Struk
2014-06-24 22:19 ` [PATCH 3/4] crypto: qat: Fixed new checkpatch warnings Tadeusz Struk
2014-06-24 22:19 ` [PATCH 4/4] crypto: qat: Fix error path crash when no firmware is present Tadeusz Struk

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.