Lines Matching +full:left +full:- +full:aligned

21      *  Aligned pattern fill using 32/64-bit memory accesses
48 n -= bits - dst_idx; in bitfill_aligned()
62 n -= 8; in bitfill_aligned()
64 while (n--) in bitfill_aligned()
74 * Unaligned generic pattern fill using 32/64-bit memory accesses
75 * The pattern must have been expanded to a full 32/64-bit value
76 * Left/right are the appropriate shifts to convert to the pattern to be
77 * used for the next 32/64-bit word
82 unsigned long pat, int left, int right, unsigned n, int bits) in bitfill_unaligned() argument
103 pat = pat << left | pat >> right; in bitfill_unaligned()
104 n -= bits - dst_idx; in bitfill_unaligned()
111 pat = pat << left | pat >> right; in bitfill_unaligned()
113 pat = pat << left | pat >> right; in bitfill_unaligned()
115 pat = pat << left | pat >> right; in bitfill_unaligned()
117 pat = pat << left | pat >> right; in bitfill_unaligned()
118 n -= 4; in bitfill_unaligned()
120 while (n--) { in bitfill_unaligned()
122 pat = pat << left | pat >> right; in bitfill_unaligned()
132 * Aligned pattern invert using 32/64-bit memory accesses
158 n -= bits - dst_idx; in bitfill_aligned_rev()
172 n -= 8; in bitfill_aligned_rev()
174 while (n--) in bitfill_aligned_rev()
184 * Unaligned generic pattern invert using 32/64-bit memory accesses
185 * The pattern must have been expanded to a full 32/64-bit value
186 * Left/right are the appropriate shifts to convert to the pattern to be
187 * used for the next 32/64-bit word
192 unsigned long pat, int left, int right, unsigned n, in bitfill_unaligned_rev() argument
215 pat = pat << left | pat >> right; in bitfill_unaligned_rev()
216 n -= bits - dst_idx; in bitfill_unaligned_rev()
223 pat = pat << left | pat >> right; in bitfill_unaligned_rev()
225 pat = pat << left | pat >> right; in bitfill_unaligned_rev()
227 pat = pat << left | pat >> right; in bitfill_unaligned_rev()
229 pat = pat << left | pat >> right; in bitfill_unaligned_rev()
230 n -= 4; in bitfill_unaligned_rev()
232 while (n--) { in bitfill_unaligned_rev()
234 pat = pat << left | pat >> right; in bitfill_unaligned_rev()
246 unsigned long width = rect->width, height = rect->height; in sys_fillrect()
248 u32 bpp = p->var.bits_per_pixel; in sys_fillrect()
250 int dst_idx, left; in sys_fillrect() local
252 if (p->state != FBINFO_STATE_RUNNING) in sys_fillrect()
255 if (p->fix.visual == FB_VISUAL_TRUECOLOR || in sys_fillrect()
256 p->fix.visual == FB_VISUAL_DIRECTCOLOR ) in sys_fillrect()
257 fg = ((u32 *) (p->pseudo_palette))[rect->color]; in sys_fillrect()
259 fg = rect->color; in sys_fillrect()
263 dst = (unsigned long *)((unsigned long)p->screen_base & ~(bytes-1)); in sys_fillrect()
264 dst_idx = ((unsigned long)p->screen_base & (bytes - 1))*8; in sys_fillrect()
265 dst_idx += rect->dy*p->fix.line_length*8+rect->dx*bpp; in sys_fillrect()
266 /* FIXME For now we support 1-32 bpp only */ in sys_fillrect()
267 left = bits % bpp; in sys_fillrect()
268 if (p->fbops->fb_sync) in sys_fillrect()
269 p->fbops->fb_sync(p); in sys_fillrect()
270 if (!left) { in sys_fillrect()
275 switch (rect->rop) { in sys_fillrect()
288 while (height--) { in sys_fillrect()
289 dst += dst_idx >> (ffs(bits) - 1); in sys_fillrect()
290 dst_idx &= (bits - 1); in sys_fillrect()
292 dst_idx += p->fix.line_length*8; in sys_fillrect()
297 int dst_idx, unsigned long pat, int left, in sys_fillrect()
300 right = left; in sys_fillrect()
301 left = bpp - right; in sys_fillrect()
303 right = bpp - left; in sys_fillrect()
305 switch (rect->rop) { in sys_fillrect()
318 while (height--) { in sys_fillrect()
320 dst_idx &= (bits - 1); in sys_fillrect()
324 fill_op(p, dst, dst_idx, pat2, left, right, in sys_fillrect()
326 dst_idx += p->fix.line_length*8; in sys_fillrect()
334 MODULE_DESCRIPTION("Generic fill rectangle (sys-to-sys)");