Lines Matching refs:aidaw
129 u64 aidaw; in scm_request_done() local
134 aidaw = (u64)dma64_to_virt(msb->data_addr); in scm_request_done()
136 if ((msb->flags & MSB_FLAG_IDA) && aidaw && in scm_request_done()
137 IS_ALIGNED(aidaw, PAGE_SIZE)) in scm_request_done()
138 mempool_free(virt_to_page((void *)aidaw), aidaw_pool); in scm_request_done()
151 static inline struct aidaw *scm_aidaw_alloc(void) in scm_aidaw_alloc()
158 static inline unsigned long scm_aidaw_bytes(struct aidaw *aidaw) in scm_aidaw_bytes() argument
160 unsigned long _aidaw = (unsigned long) aidaw; in scm_aidaw_bytes()
163 return (bytes / sizeof(*aidaw)) * PAGE_SIZE; in scm_aidaw_bytes()
166 struct aidaw *scm_aidaw_fetch(struct scm_request *scmrq, unsigned int bytes) in scm_aidaw_fetch()
168 struct aidaw *aidaw; in scm_aidaw_fetch() local
173 aidaw = scm_aidaw_alloc(); in scm_aidaw_fetch()
174 if (aidaw) in scm_aidaw_fetch()
175 memset(aidaw, 0, PAGE_SIZE); in scm_aidaw_fetch()
176 return aidaw; in scm_aidaw_fetch()
187 struct aidaw *aidaw; in scm_request_prepare() local
190 aidaw = scm_aidaw_fetch(scmrq, blk_rq_bytes(req)); in scm_request_prepare()
191 if (!aidaw) in scm_request_prepare()
199 msb->data_addr = virt_to_dma64(aidaw); in scm_request_prepare()
204 aidaw->data_addr = virt_to_dma64(page_address(bv.bv_page)); in scm_request_prepare()
205 aidaw++; in scm_request_prepare()
208 scmrq->next_aidaw = aidaw; in scm_request_prepare()
445 (unsigned int) (PAGE_SIZE / sizeof(struct aidaw))); in scm_blk_dev_setup()