Lines Matching +full:right +full:- +full:aligned
32 int const shift = dst_idx-src_idx; in bitcpy()
33 int left, right; in bitcpy() local
52 n -= bits - dst_idx; in bitcpy()
66 n -= 8; in bitcpy()
68 while (n--) in bitcpy()
80 right = shift & (bits - 1); in bitcpy()
81 left = -shift & (bits - 1); in bitcpy()
92 *dst = comp(*src >> right, *dst, first); in bitcpy()
97 *dst = comp(d0 >> right | d1 << left, *dst, in bitcpy()
114 n -= bits - dst_idx; in bitcpy()
118 *dst = comp(d0 >> right | d1 << left, *dst, in bitcpy()
122 n -= bits - dst_idx; in bitcpy()
130 *dst++ = d0 >> right | d1 << left; in bitcpy()
133 *dst++ = d0 >> right | d1 << left; in bitcpy()
136 *dst++ = d0 >> right | d1 << left; in bitcpy()
139 *dst++ = d0 >> right | d1 << left; in bitcpy()
141 n -= 4; in bitcpy()
143 while (n--) { in bitcpy()
145 *dst++ = d0 >> right | d1 << left; in bitcpy()
151 if (m <= bits - right) { in bitcpy()
153 d0 >>= right; in bitcpy()
157 d0 = d0 >> right | d1 << left; in bitcpy()
177 dst += (dst_idx + n - 1) / bits; in bitcpy_rev()
178 src += (src_idx + n - 1) / bits; in bitcpy_rev()
179 dst_idx = (dst_idx + n - 1) % bits; in bitcpy_rev()
180 src_idx = (src_idx + n - 1) % bits; in bitcpy_rev()
182 shift = dst_idx-src_idx; in bitcpy_rev()
185 last = FB_SHIFT_HIGH(p, ~0UL, (bits + dst_idx + 1 - n) % bits); in bitcpy_rev()
200 dst--; in bitcpy_rev()
201 src--; in bitcpy_rev()
202 n -= dst_idx+1; in bitcpy_rev()
208 *dst-- = *src--; in bitcpy_rev()
209 *dst-- = *src--; in bitcpy_rev()
210 *dst-- = *src--; in bitcpy_rev()
211 *dst-- = *src--; in bitcpy_rev()
212 *dst-- = *src--; in bitcpy_rev()
213 *dst-- = *src--; in bitcpy_rev()
214 *dst-- = *src--; in bitcpy_rev()
215 *dst-- = *src--; in bitcpy_rev()
216 n -= 8; in bitcpy_rev()
218 while (n--) in bitcpy_rev()
219 *dst-- = *src--; in bitcpy_rev()
221 if (last != -1UL) in bitcpy_rev()
227 int const left = shift & (bits-1); in bitcpy_rev()
228 int const right = -shift & (bits-1); in bitcpy_rev() local
236 *dst = comp(*src >> right, *dst, last); in bitcpy_rev()
242 *dst = comp(*src << left | *(src-1) >> right, in bitcpy_rev()
256 d0 = *src--; in bitcpy_rev()
261 d0 >>= right; in bitcpy_rev()
264 d1 = *src--; in bitcpy_rev()
265 d0 = d0 << left | d1 >> right; in bitcpy_rev()
272 dst--; in bitcpy_rev()
273 n -= dst_idx+1; in bitcpy_rev()
279 d1 = *src--; in bitcpy_rev()
280 *dst-- = d0 << left | d1 >> right; in bitcpy_rev()
282 d1 = *src--; in bitcpy_rev()
283 *dst-- = d0 << left | d1 >> right; in bitcpy_rev()
285 d1 = *src--; in bitcpy_rev()
286 *dst-- = d0 << left | d1 >> right; in bitcpy_rev()
288 d1 = *src--; in bitcpy_rev()
289 *dst-- = d0 << left | d1 >> right; in bitcpy_rev()
291 n -= 4; in bitcpy_rev()
293 while (n--) { in bitcpy_rev()
294 d1 = *src--; in bitcpy_rev()
295 *dst-- = d0 << left | d1 >> right; in bitcpy_rev()
301 if (m <= bits - left) { in bitcpy_rev()
307 d0 = d0 << left | d1 >> right; in bitcpy_rev()
317 u32 dx = area->dx, dy = area->dy, sx = area->sx, sy = area->sy; in sys_copyarea()
318 u32 height = area->height, width = area->width; in sys_copyarea()
319 unsigned int const bits_per_line = p->fix.line_length * 8u; in sys_copyarea()
324 if (p->state != FBINFO_STATE_RUNNING) in sys_copyarea()
327 if (!(p->flags & FBINFO_VIRTFB)) in sys_copyarea()
338 /* split the base of the framebuffer into a long-aligned address and in sys_copyarea()
340 base = (unsigned long *)((unsigned long)p->screen_base & ~(bytes-1)); in sys_copyarea()
341 dst_idx = src_idx = 8*((unsigned long)p->screen_base & (bytes-1)); in sys_copyarea()
343 dst_idx += dy*bits_per_line + dx*p->var.bits_per_pixel; in sys_copyarea()
344 src_idx += sy*bits_per_line + sx*p->var.bits_per_pixel; in sys_copyarea()
346 if (p->fbops->fb_sync) in sys_copyarea()
347 p->fbops->fb_sync(p); in sys_copyarea()
350 while (height--) { in sys_copyarea()
351 dst_idx -= bits_per_line; in sys_copyarea()
352 src_idx -= bits_per_line; in sys_copyarea()
355 width*p->var.bits_per_pixel); in sys_copyarea()
358 while (height--) { in sys_copyarea()
361 width*p->var.bits_per_pixel); in sys_copyarea()
371 MODULE_DESCRIPTION("Generic copyarea (sys-to-sys)");