ctx_list
struct ctx_list *next;
struct ctx_list *prev;
static struct ctx_list *ctx_list_pool;
static struct ctx_list ctx_free;
static struct ctx_list ctx_used;
static inline void remove_from_ctx_list(struct ctx_list *entry)
static inline void add_to_ctx_list(struct ctx_list *head, struct ctx_list *entry)
struct ctx_list *ctxp;
struct ctx_list *ctx_old;
size = numctx * sizeof(struct ctx_list);
struct ctx_list *clist;
list_add_tail_rcu(&ctx->client_link, &ctx->client->ctx_list);
list_for_each_entry_rcu(ctx, &client->ctx_list, client_link)
INIT_LIST_HEAD(&client->ctx_list);
struct list_head ctx_list; /* List of contexts belonging to client. */
list_for_each_entry_safe(entry, next, &cbs->list, ctx_list)
ctx_list)->ctx;
list_del(&bi->ctx_list);
list_add(&loc->ctx_list, &cbs->list);
list_add_tail(&loc->ctx_list, &cbs->list);
list_for_each_entry_safe(entry, next, &cbs->list, ctx_list)
list_for_each_entry(entry, &cbs->list, ctx_list) {
list_for_each_entry_safe(entry, next, &from->list, ctx_list) {
list_for_each_entry(entry, &cbs->list, ctx_list) {
struct list_head ctx_list;
struct list_head ctx_list;
list_for_each_entry(entry, &sw_context->ctx_list, head) {
INIT_LIST_HEAD(&sw_context->ctx_list);
list_add_tail(&node->head, &sw_context->ctx_list);
INIT_LIST_HEAD(&sw_context->ctx_list);
WARN_ON(!list_empty(&sw_context->ctx_list));
list_for_each_entry(entry, binding_list, ctx_list) {
list_for_each_entry(val, &sw_context->ctx_list, head) {
list_for_each_entry(ctx, &chan->ctx_list, list) {
struct list_head ctx_list;
get_res = list_empty(&chan->ctx_list);
list_add_tail(&ctx->list, &chan->ctx_list);
put_res = list_empty(&chan->ctx_list);
INIT_LIST_HEAD(&chan->ctx_list);
list_add_tail(&ctx->list, &new_file->ctx_list);
INIT_LIST_HEAD(&file->ctx_list);
while (!list_empty(&file->ctx_list)) {
&file->ctx_list, struct ucma_context, list);
list_add_tail(&ctx->list, &ctx->file->ctx_list);
struct list_head ctx_list;
struct list_head ctx_list;
list_for_each_entry(ctx, &us_ibdev->ctx_list, link) {
INIT_LIST_HEAD(&us_ibdev->ctx_list);
list_add_tail(&context->link, &us_ibdev->ctx_list);
list_for_each_entry(srv, &ctx->srv_list, ctx_list) {
list_add(&srv->ctx_list, &ctx->srv_list);
list_del(&srv->ctx_list);
list_for_each_entry(srv, &ctx->srv_list, ctx_list)
list_for_each_entry(srv, &ctx->srv_list, ctx_list) {
struct list_head ctx_list;
list_for_each_entry(master, &iommu->ctx_list, list)
list_for_each_entry(master, &iommu->ctx_list, list) {
master = list_first_entry(&iommu->ctx_list,
master = list_first_entry(&iommu->ctx_list,
list_for_each_entry(master, &iommu->ctx_list, list) {
list_for_each_entry(master, &iommu->ctx_list, list) {
if (list_empty(&iommu->ctx_list))
master = list_first_entry(&iommu->ctx_list,
if (list_empty(&(*iommu)->ctx_list)) {
list_add(&master->list, &(*iommu)->ctx_list);
INIT_LIST_HEAD(&iommu->ctx_list);
struct list_head ctx_list;
INIT_LIST_HEAD(&mdp->ctx_list);
list_for_each_entry(ctx, &mdp->ctx_list, list) {
struct list_head ctx_list;
list_add(&ctx->list, &mdp->ctx_list);
list_for_each_entry(ctx, &dev->ctx_list, list) {
list_for_each_entry(ctx, &dev->ctx_list, list) {
list_add(&ctx->list, &dev->ctx_list);
INIT_LIST_HEAD(&dev->ctx_list);
struct list_head ctx_list;
list_for_each_entry(ctx, &dec_dev->ctx_list, list) {
list_add(&ctx->list, &dev->ctx_list);
INIT_LIST_HEAD(&dev->ctx_list);
struct list_head ctx_list;
list_for_each_entry(ctx, &enc_dev->ctx_list, list) {
spin_lock(&ctx_list.lock);
list_add_tail_rcu(&context->list_item, &ctx_list.head);
spin_unlock(&ctx_list.lock);
spin_lock(&ctx_list.lock);
spin_unlock(&ctx_list.lock);
list_for_each_entry_rcu(sub_ctx, &ctx_list.head, list_item) {
list_for_each_entry_rcu(context, &ctx_list.head, list_item) {
} ctx_list = {
.head = LIST_HEAD_INIT(ctx_list.head),
list_for_each_entry_rcu(c, &ctx_list.head, list_item) {
.lock = __SPIN_LOCK_UNLOCKED(ctx_list.lock),
spin_lock(&ctx_list.ctx_lock);
if (!list_empty(&ctx_list.idle_ctx)) {
ctx = list_entry(ctx_list.idle_ctx.next,
spin_unlock(&ctx_list.ctx_lock);
if (ctx_list.avail_ctx > num_online_cpus()) {
spin_unlock(&ctx_list.ctx_lock);
wait_event(ctx_list.ctx_wait,
!list_empty(&ctx_list.idle_ctx));
ctx_list.avail_ctx++;
spin_unlock(&ctx_list.ctx_lock);
spin_lock(&ctx_list.ctx_lock);
ctx_list.avail_ctx--;
spin_unlock(&ctx_list.ctx_lock);
wait_event(ctx_list.ctx_wait,
!list_empty(&ctx_list.idle_ctx));
spin_lock(&ctx_list.ctx_lock);
if (ctx_list.avail_ctx <= num_online_cpus()) {
list_add(&ctx->list, &ctx_list.idle_ctx);
spin_unlock(&ctx_list.ctx_lock);
wake_up(&ctx_list.ctx_wait);
ctx_list.avail_ctx--;
spin_unlock(&ctx_list.ctx_lock);
while (!list_empty(&ctx_list.idle_ctx)) {
ctx = list_entry(ctx_list.idle_ctx.next,
spin_lock_init(&ctx_list.ctx_lock);
INIT_LIST_HEAD(&ctx_list.idle_ctx);
init_waitqueue_head(&ctx_list.ctx_wait);
ctx_list.avail_ctx = 1;
static struct crypto_ctx_list ctx_list;
list_add(&ctx->list, &ctx_list.idle_ctx);
list_for_each_entry(ctx, &sqd->ctx_list, sqd_list)
INIT_LIST_HEAD(&sqd->ctx_list);
cap_entries = !list_is_singular(&sqd->ctx_list);
list_for_each_entry(ctx, &sqd->ctx_list, sqd_list) {
list_for_each_entry(ctx, &sqd->ctx_list, sqd_list) {
list_for_each_entry(ctx, &sqd->ctx_list, sqd_list) {
list_for_each_entry(ctx, &sqd->ctx_list, sqd_list)
list_for_each_entry(ctx, &sqd->ctx_list, sqd_list)
list_add(&ctx->sqd_list, &sqd->ctx_list);
list_for_each_entry(ctx, &sqd->ctx_list, sqd_list)
struct list_head ctx_list;
INIT_LIST_HEAD(&umem->ctx_list);
if (list_empty(&umem->ctx_list))
list_for_each_entry(ctx, &umem->ctx_list, list) {
list_add(&ctx->list, &umem->ctx_list);
struct list_head ctx_list;