Lines Matching refs:csa

34 static int spu_alloc_lscsa_std(struct spu_state *csa)  in spu_alloc_lscsa_std()  argument
42 csa->lscsa = lscsa; in spu_alloc_lscsa_std()
51 static void spu_free_lscsa_std(struct spu_state *csa) in spu_free_lscsa_std() argument
56 if (csa->lscsa == NULL) in spu_free_lscsa_std()
59 for (p = csa->lscsa->ls; p < csa->lscsa->ls + LS_SIZE; p += PAGE_SIZE) in spu_free_lscsa_std()
62 vfree(csa->lscsa); in spu_free_lscsa_std()
71 int spu_alloc_lscsa(struct spu_state *csa) in spu_alloc_lscsa() argument
81 csa->use_big_pages = 1; in spu_alloc_lscsa()
84 csa); in spu_alloc_lscsa()
95 csa->lscsa_pages[i] = alloc_pages(GFP_KERNEL, in spu_alloc_lscsa()
97 if (csa->lscsa_pages[i] == NULL) in spu_alloc_lscsa()
118 csa->lscsa_pages[i] + j; in spu_alloc_lscsa()
119 csa->lscsa = vmap(pgarray, n_4k, VM_USERMAP, PAGE_KERNEL); in spu_alloc_lscsa()
121 if (csa->lscsa == NULL) in spu_alloc_lscsa()
124 memset(csa->lscsa, 0, sizeof(struct spu_lscsa)); in spu_alloc_lscsa()
132 for (p = csa->lscsa->ls; p < csa->lscsa->ls + LS_SIZE; p += PAGE_SIZE) in spu_alloc_lscsa()
140 spu_free_lscsa(csa); in spu_alloc_lscsa()
141 return spu_alloc_lscsa_std(csa); in spu_alloc_lscsa()
144 void spu_free_lscsa(struct spu_state *csa) in spu_free_lscsa() argument
149 if (!csa->use_big_pages) { in spu_free_lscsa()
150 spu_free_lscsa_std(csa); in spu_free_lscsa()
153 csa->use_big_pages = 0; in spu_free_lscsa()
155 if (csa->lscsa == NULL) in spu_free_lscsa()
158 for (p = csa->lscsa->ls; p < csa->lscsa->ls + LS_SIZE; p += PAGE_SIZE) in spu_free_lscsa()
161 vunmap(csa->lscsa); in spu_free_lscsa()
162 csa->lscsa = NULL; in spu_free_lscsa()
167 if (csa->lscsa_pages[i]) in spu_free_lscsa()
168 __free_pages(csa->lscsa_pages[i], SPU_64K_PAGE_ORDER); in spu_free_lscsa()
173 int spu_alloc_lscsa(struct spu_state *csa) in spu_alloc_lscsa() argument
175 return spu_alloc_lscsa_std(csa); in spu_alloc_lscsa()
178 void spu_free_lscsa(struct spu_state *csa) in spu_free_lscsa() argument
180 spu_free_lscsa_std(csa); in spu_free_lscsa()