* [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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox