Lines Matching defs:csa
34 static int spu_alloc_lscsa_std(struct spu_state *csa)
43 csa->lscsa = lscsa;
52 static void spu_free_lscsa_std(struct spu_state *csa)
57 if (csa->lscsa == NULL)
60 for (p = csa->lscsa->ls; p < csa->lscsa->ls + LS_SIZE; p += PAGE_SIZE)
63 vfree(csa->lscsa);
72 int spu_alloc_lscsa(struct spu_state *csa)
82 csa->use_big_pages = 1;
84 pr_debug("spu_alloc_lscsa(csa=0x%p), trying to allocate 64K pages\n",
85 csa);
93 csa->lscsa_pages[i] = alloc_pages(GFP_KERNEL,
95 if (csa->lscsa_pages[i] == NULL)
116 csa->lscsa_pages[i] + j;
117 csa->lscsa = vmap(pgarray, n_4k, VM_USERMAP, PAGE_KERNEL);
119 if (csa->lscsa == NULL)
122 memset(csa->lscsa, 0, sizeof(struct spu_lscsa));
124 for (p = csa->lscsa->ls; p < csa->lscsa->ls + LS_SIZE; p += PAGE_SIZE)
132 spu_free_lscsa(csa);
133 return spu_alloc_lscsa_std(csa);
136 void spu_free_lscsa(struct spu_state *csa)
141 if (!csa->use_big_pages) {
142 spu_free_lscsa_std(csa);
145 csa->use_big_pages = 0;
147 if (csa->lscsa == NULL)
150 for (p = csa->lscsa->ls; p < csa->lscsa->ls + LS_SIZE; p += PAGE_SIZE)
153 vunmap(csa->lscsa);
154 csa->lscsa = NULL;
159 if (csa->lscsa_pages[i])
160 __free_pages(csa->lscsa_pages[i], SPU_64K_PAGE_ORDER);
165 int spu_alloc_lscsa(struct spu_state *csa)
167 return spu_alloc_lscsa_std(csa);
170 void spu_free_lscsa(struct spu_state *csa)
172 spu_free_lscsa_std(csa);