Lines Matching refs:pattern

42 static unsigned long fb_pattern_get(struct fb_pattern *pattern)  in fb_pattern_get()  argument
44 return pattern->pixels; in fb_pattern_get()
48 static unsigned long fb_pattern_get_reverse(struct fb_pattern *pattern) in fb_pattern_get_reverse() argument
50 return swab_long(pattern->pixels); in fb_pattern_get_reverse()
54 static void fb_pattern_static(struct fb_pattern *pattern) in fb_pattern_static() argument
60 static void fb_pattern_rotate(struct fb_pattern *pattern) in fb_pattern_rotate() argument
62 pattern->pixels = fb_left(pattern->pixels, pattern->left) in fb_pattern_rotate()
63 | fb_right(pattern->pixels, pattern->right); in fb_pattern_rotate()
79 unsigned long pattern; in pixel_to_pat() local
83 pattern = mulconst[bpp] * color; in pixel_to_pat()
86 pattern = color; in pixel_to_pat()
87 pattern = pattern | pattern << bpp; in pixel_to_pat()
88 pattern = pattern | pattern << bpp*2; in pixel_to_pat()
91 pattern = color; in pixel_to_pat()
92 pattern = pattern | pattern << bpp; in pixel_to_pat()
95 pattern = color; in pixel_to_pat()
99 pattern <<= (BITS_PER_LONG % bpp); in pixel_to_pat()
100 pattern |= pattern >> bpp; in pixel_to_pat()
102 return pattern; in pixel_to_pat()
107 struct fb_pattern *pattern, in bitfill() argument
108 unsigned long (*get)(struct fb_pattern *pattern), in bitfill() argument
109 void (*rotate)(struct fb_pattern *pattern), in bitfill() argument
115 first = fb_pixel_mask(dst->bits, pattern->reverse); in bitfill()
116 last = ~fb_pixel_mask(end & (BITS_PER_LONG-1), pattern->reverse); in bitfill()
120 first = get(pattern); in bitfill()
129 fb_modify_offset(get(pattern), first, 0, dst); in bitfill()
130 rotate(pattern); in bitfill()
134 fb_write_offset(get(pattern), offset + 0, dst); in bitfill()
135 rotate(pattern); in bitfill()
136 fb_write_offset(get(pattern), offset + 1, dst); in bitfill()
137 rotate(pattern); in bitfill()
138 fb_write_offset(get(pattern), offset + 2, dst); in bitfill()
139 rotate(pattern); in bitfill()
140 fb_write_offset(get(pattern), offset + 3, dst); in bitfill()
141 rotate(pattern); in bitfill()
144 fb_write_offset(get(pattern), offset++, dst); in bitfill()
145 rotate(pattern); in bitfill()
149 fb_modify_offset(get(pattern), last, offset, dst); in bitfill()
155 struct fb_pattern *pattern, in bitinvert() argument
156 unsigned long (*get)(struct fb_pattern *pattern), in bitinvert() argument
157 void (*rotate)(struct fb_pattern *pattern), in bitinvert() argument
164 first = fb_pixel_mask(dst->bits, pattern->reverse); in bitinvert()
165 last = ~fb_pixel_mask(end & (BITS_PER_LONG-1), pattern->reverse); in bitinvert()
174 first &= get(pattern); in bitinvert()
177 rotate(pattern); in bitinvert()
182 fb_invert_offset(get(pattern), offset + 0, dst); in bitinvert()
183 rotate(pattern); in bitinvert()
184 fb_invert_offset(get(pattern), offset + 1, dst); in bitinvert()
185 rotate(pattern); in bitinvert()
186 fb_invert_offset(get(pattern), offset + 2, dst); in bitinvert()
187 rotate(pattern); in bitinvert()
188 fb_invert_offset(get(pattern), offset + 3, dst); in bitinvert()
189 rotate(pattern); in bitinvert()
192 fb_invert_offset(get(pattern), offset++, dst); in bitinvert()
193 rotate(pattern); in bitinvert()
197 last &= get(pattern); in bitinvert()
204 struct fb_address *dst, struct fb_pattern *pattern, in fb_fillrect_static() argument
210 if (bpp > 8 && pattern->reverse.byte) in fb_fillrect_static()
211 pattern->pixels = swab_long(pattern->pixels); in fb_fillrect_static()
215 bitinvert(dst, pattern, fb_pattern_get, fb_pattern_static, width); in fb_fillrect_static()
220 bitfill(dst, pattern, fb_pattern_get, fb_pattern_static, width); in fb_fillrect_static()
226 static inline unsigned long fb_rotate(unsigned long pattern, int shift, int bpp) in fb_rotate() argument
229 return fb_right(pattern, shift) | fb_left(pattern, bpp - shift); in fb_rotate()
235 struct fb_pattern *pattern, in fb_fillrect_rotating() argument
236 unsigned long (*get)(struct fb_pattern *pattern), in fb_fillrect_rotating() argument
239 unsigned long pat = pattern->pixels; in fb_fillrect_rotating()
245 pattern->pixels = fb_rotate(pat, dst->bits, bpp); in fb_fillrect_rotating()
246 bitinvert(dst, pattern, get, fb_pattern_rotate, width); in fb_fillrect_rotating()
251 pattern->pixels = fb_rotate(pat, dst->bits, bpp); in fb_fillrect_rotating()
252 bitfill(dst, pattern, get, fb_pattern_rotate, width); in fb_fillrect_rotating()
263 struct fb_pattern pattern; in fb_fillrect() local
267 pattern.pixels = pixel_to_pat(bpp, palette ? palette[rect->color] : rect->color); in fb_fillrect()
268 pattern.reverse = fb_reverse_init(p); in fb_fillrect()
269 pattern.left = BITS_PER_LONG % bpp; in fb_fillrect()
270 if (pattern.left) { in fb_fillrect()
271 pattern.right = bpp - pattern.left; in fb_fillrect()
272 if (pattern.reverse.byte) in fb_fillrect()
273 fb_fillrect_rotating(rect, bpp, &dst, &pattern, in fb_fillrect()
276 fb_fillrect_rotating(rect, bpp, &dst, &pattern, in fb_fillrect()
279 fb_fillrect_static(rect, bpp, &dst, &pattern, bits_per_line); in fb_fillrect()