Lines Matching refs:disks

36 		      const unsigned char *scfs, int disks,  in do_async_gen_syndrome()  argument
46 int src_cnt = disks - 2; in do_async_gen_syndrome()
76 dma_dest[0] = unmap->addr[disks - 2]; in do_async_gen_syndrome()
77 dma_dest[1] = unmap->addr[disks - 1]; in do_async_gen_syndrome()
107 do_sync_gen_syndrome(struct page **blocks, unsigned int *offsets, int disks, in do_sync_gen_syndrome() argument
112 int start = -1, stop = disks - 3; in do_sync_gen_syndrome()
119 for (i = 0; i < disks; i++) { in do_sync_gen_syndrome()
121 BUG_ON(i > disks - 3); /* P or Q can't be zero */ in do_sync_gen_syndrome()
126 if (i < disks - 2) { in do_sync_gen_syndrome()
136 raid6_call.xor_syndrome(disks, start, stop, len, srcs); in do_sync_gen_syndrome()
138 raid6_call.gen_syndrome(disks, len, srcs); in do_sync_gen_syndrome()
177 async_gen_syndrome(struct page **blocks, unsigned int *offsets, int disks, in async_gen_syndrome() argument
180 int src_cnt = disks - 2; in async_gen_syndrome()
182 &P(blocks, disks), 2, in async_gen_syndrome()
187 BUG_ON(disks > MAX_DISKS || !(P(blocks, disks) || Q(blocks, disks))); in async_gen_syndrome()
190 unmap = dmaengine_get_unmap_data(device->dev, disks, GFP_NOWAIT); in async_gen_syndrome()
196 is_dma_pq_aligned_offs(device, offsets, disks, len)) { in async_gen_syndrome()
204 __func__, disks, len); in async_gen_syndrome()
225 if (P(blocks, disks)) in async_gen_syndrome()
226 unmap->addr[j++] = dma_map_page(device->dev, P(blocks, disks), in async_gen_syndrome()
227 P(offsets, disks), in async_gen_syndrome()
235 if (Q(blocks, disks)) in async_gen_syndrome()
236 unmap->addr[j++] = dma_map_page(device->dev, Q(blocks, disks), in async_gen_syndrome()
237 Q(offsets, disks), in async_gen_syndrome()
252 pr_debug("%s: (sync) disks: %d len: %zu\n", __func__, disks, len); in async_gen_syndrome()
257 if (!P(blocks, disks)) { in async_gen_syndrome()
258 P(blocks, disks) = pq_scribble_page; in async_gen_syndrome()
259 P(offsets, disks) = 0; in async_gen_syndrome()
261 if (!Q(blocks, disks)) { in async_gen_syndrome()
262 Q(blocks, disks) = pq_scribble_page; in async_gen_syndrome()
263 Q(offsets, disks) = 0; in async_gen_syndrome()
265 do_sync_gen_syndrome(blocks, offsets, disks, len, submit); in async_gen_syndrome()
272 pq_val_chan(struct async_submit_ctl *submit, struct page **blocks, int disks, size_t len) in pq_val_chan() argument
278 disks, len); in pq_val_chan()
298 async_syndrome_val(struct page **blocks, unsigned int *offsets, int disks, in async_syndrome_val() argument
302 struct dma_chan *chan = pq_val_chan(submit, blocks, disks, len); in async_syndrome_val()
309 BUG_ON(disks < 4 || disks > MAX_DISKS); in async_syndrome_val()
312 unmap = dmaengine_get_unmap_data(device->dev, disks, GFP_NOWAIT); in async_syndrome_val()
314 if (unmap && disks <= dma_maxpq(device, 0) && in async_syndrome_val()
315 is_dma_pq_aligned_offs(device, offsets, disks, len)) { in async_syndrome_val()
321 __func__, disks, len); in async_syndrome_val()
324 for (i = 0; i < disks-2; i++) in async_syndrome_val()
335 if (!P(blocks, disks)) { in async_syndrome_val()
339 pq[0] = dma_map_page(dev, P(blocks, disks), in async_syndrome_val()
340 P(offsets, disks), len, in async_syndrome_val()
345 if (!Q(blocks, disks)) { in async_syndrome_val()
349 pq[1] = dma_map_page(dev, Q(blocks, disks), in async_syndrome_val()
350 Q(offsets, disks), len, in async_syndrome_val()
374 struct page *p_src = P(blocks, disks); in async_syndrome_val()
375 unsigned int p_off = P(offsets, disks); in async_syndrome_val()
376 struct page *q_src = Q(blocks, disks); in async_syndrome_val()
377 unsigned int q_off = Q(offsets, disks); in async_syndrome_val()
385 __func__, disks, len); in async_syndrome_val()
404 blocks, offsets, disks-2, len, submit); in async_syndrome_val()
412 P(blocks, disks) = NULL; in async_syndrome_val()
413 Q(blocks, disks) = spare; in async_syndrome_val()
414 Q(offsets, disks) = s_off; in async_syndrome_val()
416 tx = async_gen_syndrome(blocks, offsets, disks, in async_syndrome_val()
425 P(blocks, disks) = p_src; in async_syndrome_val()
426 P(offsets, disks) = p_off; in async_syndrome_val()
427 Q(blocks, disks) = q_src; in async_syndrome_val()
428 Q(offsets, disks) = q_off; in async_syndrome_val()