nx_sg
struct nx_sg *nx_insg = nx_ctx->in_sg;
struct nx_sg *nx_outsg = nx_ctx->out_sg;
sizeof(struct nx_sg);
sizeof(struct nx_sg);
nx_driver.of.max_sg_len/sizeof(struct nx_sg));
sizeof(struct nx_sg);
struct nx_sg *nx_sg = nx_ctx->in_sg;
max_sg_len = min_t(u64, nx_driver.of.max_sg_len/sizeof(struct nx_sg),
nx_sg = nx_walk_and_build(nx_ctx->in_sg, max_sg_len,
nx_ctx->op_aead.inlen = (nx_ctx->in_sg - nx_sg)
* sizeof(struct nx_sg);
struct nx_sg *nx_sg;
max_sg_len = min_t(u64, nx_driver.of.max_sg_len/sizeof(struct nx_sg),
nx_sg = nx_walk_and_build(nx_ctx->in_sg, max_sg_len,
nx_ctx->op.inlen = (nx_ctx->in_sg - nx_sg)
* sizeof(struct nx_sg);
struct nx_sg *in_sg, *out_sg;
nx_ctx->op.inlen = (nx_ctx->in_sg - in_sg) * sizeof(struct nx_sg);
nx_ctx->op.outlen = (nx_ctx->out_sg - out_sg) * sizeof(struct nx_sg);
nx_ctx->op.inlen = (nx_ctx->in_sg - in_sg) * sizeof(struct nx_sg);
nx_ctx->op.outlen = (nx_ctx->out_sg - out_sg) * sizeof(struct nx_sg);
struct nx_sg *in_sg;
struct nx_sg *out_sg;
max_sg_len = min_t(u64, nx_driver.of.max_sg_len/sizeof(struct nx_sg),
nx_ctx->op.outlen = (nx_ctx->out_sg - out_sg) * sizeof(struct nx_sg);
sizeof(struct nx_sg);
struct nx_sg *in_sg, *out_sg;
nx_ctx->op.inlen = (nx_ctx->in_sg - in_sg) * sizeof(struct nx_sg);
nx_ctx->op.outlen = (nx_ctx->out_sg - out_sg) * sizeof(struct nx_sg);
struct nx_sg *in_sg, *out_sg;
nx_ctx->op.inlen = (nx_ctx->in_sg - in_sg) * sizeof(struct nx_sg);
nx_ctx->op.outlen = (nx_ctx->out_sg - out_sg) * sizeof(struct nx_sg);
nx_ctx->op.inlen = (nx_ctx->in_sg - in_sg) * sizeof(struct nx_sg);
struct nx_sg *in_sg, *out_sg;
nx_driver.of.max_sg_len/sizeof(struct nx_sg));
nx_ctx->op.inlen = (nx_ctx->in_sg - in_sg) * sizeof(struct nx_sg);
nx_ctx->op.outlen = (nx_ctx->out_sg - out_sg) * sizeof(struct nx_sg);
struct nx_sg *out_sg;
nx_driver.of.max_sg_len/sizeof(struct nx_sg));
nx_ctx->op.outlen = (nx_ctx->out_sg - out_sg) * sizeof(struct nx_sg);
struct nx_sg *in_sg = nx_ctx->in_sg;
nx_ctx->op.inlen = (nx_ctx->in_sg - in_sg) * sizeof(struct nx_sg);
struct nx_sg *in_sg, *out_sg;
nx_driver.of.max_sg_len/sizeof(struct nx_sg));
nx_ctx->op.inlen = (nx_ctx->in_sg - in_sg) * sizeof(struct nx_sg);
nx_ctx->op.outlen = (nx_ctx->out_sg - out_sg) * sizeof(struct nx_sg);
struct nx_sg *out_sg;
nx_driver.of.max_sg_len/sizeof(struct nx_sg));
nx_ctx->op.outlen = (nx_ctx->out_sg - out_sg) * sizeof(struct nx_sg);
struct nx_sg *in_sg = nx_ctx->in_sg;
struct nx_sg *nx_walk_and_build(struct nx_sg *nx_dst,
struct nx_sg *nx_sg = nx_dst;
while (len && (nx_sg - nx_dst) < sglen) {
nx_sg = nx_build_sg_list(nx_sg, walk.addr, &n, sglen - (nx_sg - nx_dst));
return nx_sg;
static long int trim_sg_list(struct nx_sg *sg,
struct nx_sg *end,
struct nx_sg *last = end - 1;
oplen = (sg - end) * sizeof(struct nx_sg);
struct nx_sg *nx_insg = nx_ctx->in_sg;
struct nx_sg *nx_outsg = nx_ctx->out_sg;
nx_driver.of.max_sg_len/sizeof(struct nx_sg));
nx_ctx->in_sg = (struct nx_sg *)((u8 *)nx_ctx->csbcpb + NX_PAGE_SIZE);
nx_ctx->out_sg = (struct nx_sg *)((u8 *)nx_ctx->in_sg + NX_PAGE_SIZE);
struct nx_sg *nx_build_sg_list(struct nx_sg *sg_head,
struct nx_sg *sg;
struct nx_sg *in_sg; /* aligned pointer into kmem to an sg list */
struct nx_sg *out_sg; /* aligned pointer into kmem to an sg list */
struct nx_sg *nx_build_sg_list(struct nx_sg *, u8 *, unsigned int *, u32);
struct nx_sg *nx_walk_and_build(struct nx_sg *, unsigned int,
#define NX_MAX_SG_ENTRIES (NX_PAGE_SIZE/(sizeof(struct nx_sg)))