Lines Matching refs:pgto_base
254 * @pgto_base: page vector address of destination
258 * Note: the addresses pgto_base and pgfrom_base are both calculated in
262 * Alse note: pgto_base must be < pgfrom_base, but the memory areas
266 _shift_data_left_pages(struct page **pages, size_t pgto_base,
273 BUG_ON(pgfrom_base <= pgto_base);
278 pgto = pages + (pgto_base >> PAGE_SHIFT);
281 pgto_base &= ~PAGE_MASK;
285 if (pgto_base >= PAGE_SIZE) {
286 pgto_base = 0;
295 if (copy > (PAGE_SIZE - pgto_base))
296 copy = PAGE_SIZE - pgto_base;
303 memcpy(vto + pgto_base, vfrom + pgfrom_base, copy);
306 memmove(vto + pgto_base, vto + pgfrom_base, copy);
310 pgto_base += copy;
319 * @pgto_base: page vector address of destination
323 * Note: the addresses pgto_base and pgfrom_base are both calculated in
327 * Also note: pgfrom_base must be < pgto_base, but the memory areas
331 _shift_data_right_pages(struct page **pages, size_t pgto_base,
338 BUG_ON(pgto_base <= pgfrom_base);
343 pgto_base += len;
346 pgto = pages + (pgto_base >> PAGE_SHIFT);
349 pgto_base &= ~PAGE_MASK;
354 if (pgto_base == 0) {
355 pgto_base = PAGE_SIZE;
364 if (copy > pgto_base)
365 copy = pgto_base;
368 pgto_base -= copy;
374 memcpy(vto + pgto_base, vfrom + pgfrom_base, copy);
377 memmove(vto + pgto_base, vto + pgfrom_base, copy);