|
@@ -274,30 +274,6 @@ static u32 sahara_aes_data_link_hdr(struct sahara_dev *dev)
|
|
|
SAHARA_HDR_CHA_SKHA | SAHARA_HDR_PARITY_BIT;
|
|
|
}
|
|
|
|
|
|
-static int sahara_sg_length(struct scatterlist *sg,
|
|
|
- unsigned int total)
|
|
|
-{
|
|
|
- int sg_nb;
|
|
|
- unsigned int len;
|
|
|
- struct scatterlist *sg_list;
|
|
|
-
|
|
|
- sg_nb = 0;
|
|
|
- sg_list = sg;
|
|
|
-
|
|
|
- while (total) {
|
|
|
- len = min(sg_list->length, total);
|
|
|
-
|
|
|
- sg_nb++;
|
|
|
- total -= len;
|
|
|
-
|
|
|
- sg_list = sg_next(sg_list);
|
|
|
- if (!sg_list)
|
|
|
- total = 0;
|
|
|
- }
|
|
|
-
|
|
|
- return sg_nb;
|
|
|
-}
|
|
|
-
|
|
|
static char *sahara_err_src[16] = {
|
|
|
"No error",
|
|
|
"Header error",
|
|
@@ -502,8 +478,8 @@ static int sahara_hw_descriptor_create(struct sahara_dev *dev)
|
|
|
idx++;
|
|
|
}
|
|
|
|
|
|
- dev->nb_in_sg = sahara_sg_length(dev->in_sg, dev->total);
|
|
|
- dev->nb_out_sg = sahara_sg_length(dev->out_sg, dev->total);
|
|
|
+ dev->nb_in_sg = sg_nents_for_len(dev->in_sg, dev->total);
|
|
|
+ dev->nb_out_sg = sg_nents_for_len(dev->out_sg, dev->total);
|
|
|
if ((dev->nb_in_sg + dev->nb_out_sg) > SAHARA_MAX_HW_LINK) {
|
|
|
dev_err(dev->device, "not enough hw links (%d)\n",
|
|
|
dev->nb_in_sg + dev->nb_out_sg);
|
|
@@ -818,7 +794,7 @@ static int sahara_sha_hw_links_create(struct sahara_dev *dev,
|
|
|
|
|
|
dev->in_sg = rctx->in_sg;
|
|
|
|
|
|
- dev->nb_in_sg = sahara_sg_length(dev->in_sg, rctx->total);
|
|
|
+ dev->nb_in_sg = sg_nents_for_len(dev->in_sg, rctx->total);
|
|
|
if ((dev->nb_in_sg) > SAHARA_MAX_HW_LINK) {
|
|
|
dev_err(dev->device, "not enough hw links (%d)\n",
|
|
|
dev->nb_in_sg + dev->nb_out_sg);
|