Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 2563
b: refs/heads/master
c: f5a9951
h: refs/heads/master
i:
  2561: bf97350
  2559: 6ce3c72
v: v3
  • Loading branch information
James Simmons authored and Linus Torvalds committed Jun 22, 2005
1 parent d1ed90e commit 41dbd08
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 84 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 5a3b5899f190a365eed806302f4b58a493233f96
refs/heads/master: f5a9951c94e7a285a3d00648e3d790a7f016bd11
18 changes: 2 additions & 16 deletions trunk/drivers/video/console/bitblit.c
Original file line number Diff line number Diff line change
Expand Up @@ -107,13 +107,6 @@ static void bit_putcs(struct vc_data *vc, struct fb_info *info,
const unsigned short *s, int count, int yy, int xx,
int fg, int bg)
{
void (*move_unaligned)(struct fb_info *info, struct fb_pixmap *buf,
u8 *dst, u32 d_pitch, u8 *src, u32 idx,
u32 height, u32 shift_high, u32 shift_low,
u32 mod);
void (*move_aligned)(struct fb_info *info, struct fb_pixmap *buf,
u8 *dst, u32 d_pitch, u8 *src, u32 s_pitch,
u32 height);
unsigned short charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff;
unsigned int width = (vc->vc_font.width + 7) >> 3;
unsigned int cellsize = vc->vc_font.height * width;
Expand Down Expand Up @@ -141,13 +134,6 @@ static void bit_putcs(struct vc_data *vc, struct fb_info *info,
image.height = vc->vc_font.height;
image.depth = 1;

if (info->pixmap.outbuf && info->pixmap.inbuf) {
move_aligned = fb_iomove_buf_aligned;
move_unaligned = fb_iomove_buf_unaligned;
} else {
move_aligned = fb_sysmove_buf_aligned;
move_unaligned = fb_sysmove_buf_unaligned;
}
while (count) {
if (count > maxcnt)
cnt = k = maxcnt;
Expand All @@ -171,7 +157,7 @@ static void bit_putcs(struct vc_data *vc, struct fb_info *info,
src = buf;
}

move_unaligned(info, &info->pixmap, dst, pitch,
fb_sysmove_buf_unaligned(info, &info->pixmap, dst, pitch,
src, idx, image.height,
shift_high, shift_low, mod);
shift_low += mod;
Expand All @@ -189,7 +175,7 @@ static void bit_putcs(struct vc_data *vc, struct fb_info *info,
src = buf;
}

move_aligned(info, &info->pixmap, dst, pitch,
fb_sysmove_buf_aligned(info, &info->pixmap, dst, pitch,
src, idx, image.height);
dst += width;
}
Expand Down
57 changes: 5 additions & 52 deletions trunk/drivers/video/fbmem.c
Original file line number Diff line number Diff line change
Expand Up @@ -76,65 +76,21 @@ int fb_get_color_depth(struct fb_var_screeninfo *var)
EXPORT_SYMBOL(fb_get_color_depth);

/*
* Drawing helpers.
* Data padding functions.
*/
void fb_iomove_buf_aligned(struct fb_info *info, struct fb_pixmap *buf,
u8 *dst, u32 d_pitch, u8 *src, u32 s_pitch,
u32 height)
{
int i;

for (i = height; i--; ) {
buf->outbuf(info, dst, src, s_pitch);
src += s_pitch;
dst += d_pitch;
}
}

void fb_sysmove_buf_aligned(struct fb_info *info, struct fb_pixmap *buf,
u8 *dst, u32 d_pitch, u8 *src, u32 s_pitch,
u32 height)
{
int i, j;
int i;

for (i = height; i--; ) {
for (j = 0; j < s_pitch; j++)
dst[j] = src[j];
memcpy(dst, src, s_pitch);
src += s_pitch;
dst += d_pitch;
}
}

void fb_iomove_buf_unaligned(struct fb_info *info, struct fb_pixmap *buf,
u8 *dst, u32 d_pitch, u8 *src, u32 idx,
u32 height, u32 shift_high, u32 shift_low,
u32 mod)
{
u8 mask = (u8) (0xfff << shift_high), tmp;
int i, j;

for (i = height; i--; ) {
for (j = 0; j < idx; j++) {
tmp = buf->inbuf(info, dst+j);
tmp &= mask;
tmp |= *src >> shift_low;
buf->outbuf(info, dst+j, &tmp, 1);
tmp = *src << shift_high;
buf->outbuf(info, dst+j+1, &tmp, 1);
src++;
}
tmp = buf->inbuf(info, dst+idx);
tmp &= mask;
tmp |= *src >> shift_low;
buf->outbuf(info, dst+idx, &tmp, 1);
if (shift_high < mod) {
tmp = *src << shift_high;
buf->outbuf(info, dst+idx+1, &tmp, 1);
}
src++;
dst += d_pitch;
}
}
EXPORT_SYMBOL(fb_sysmove_buf_aligned);

void fb_sysmove_buf_unaligned(struct fb_info *info, struct fb_pixmap *buf,
u8 *dst, u32 d_pitch, u8 *src, u32 idx,
Expand Down Expand Up @@ -166,6 +122,7 @@ void fb_sysmove_buf_unaligned(struct fb_info *info, struct fb_pixmap *buf,
dst += d_pitch;
}
}
EXPORT_SYMBOL(fb_sysmove_buf_unaligned);

/*
* we need to lock this section since fb_cursor
Expand Down Expand Up @@ -1357,10 +1314,6 @@ EXPORT_SYMBOL(fb_set_var);
EXPORT_SYMBOL(fb_blank);
EXPORT_SYMBOL(fb_pan_display);
EXPORT_SYMBOL(fb_get_buffer_offset);
EXPORT_SYMBOL(fb_iomove_buf_unaligned);
EXPORT_SYMBOL(fb_iomove_buf_aligned);
EXPORT_SYMBOL(fb_sysmove_buf_unaligned);
EXPORT_SYMBOL(fb_sysmove_buf_aligned);
EXPORT_SYMBOL(fb_set_suspend);
EXPORT_SYMBOL(fb_register_client);
EXPORT_SYMBOL(fb_unregister_client);
Expand Down
8 changes: 2 additions & 6 deletions trunk/drivers/video/softcursor.c
Original file line number Diff line number Diff line change
Expand Up @@ -58,12 +58,8 @@ int soft_cursor(struct fb_info *info, struct fb_cursor *cursor)
} else
memcpy(src, image->data, dsize);

if (info->pixmap.outbuf)
fb_iomove_buf_aligned(info, &info->pixmap, dst, d_pitch, src,
s_pitch, image->height);
else
fb_sysmove_buf_aligned(info, &info->pixmap, dst, d_pitch, src,
s_pitch, image->height);
fb_sysmove_buf_aligned(info, &info->pixmap, dst, d_pitch, src,
s_pitch, image->height);

image->data = dst;
info->fbops->fb_imageblit(info, image);
Expand Down
12 changes: 3 additions & 9 deletions trunk/include/linux/fb.h
Original file line number Diff line number Diff line change
Expand Up @@ -524,11 +524,11 @@ struct fb_pixmap {
u32 offset; /* current offset to buffer */
u32 buf_align; /* byte alignment of each bitmap */
u32 scan_align; /* alignment per scanline */
u32 access_align; /* alignment per read/write */
u32 access_align; /* alignment per read/write (bits) */
u32 flags; /* see FB_PIXMAP_* */
/* access methods */
void (*outbuf)(struct fb_info *info, u8 *addr, u8 *src, unsigned int size);
u8 (*inbuf) (struct fb_info *info, u8 *addr);
void (*writeio)(struct fb_info *info, void __iomem *dst, void *src, unsigned int size);
void (*readio) (struct fb_info *info, void *dst, void __iomem *src, unsigned int size);
};


Expand Down Expand Up @@ -816,12 +816,6 @@ extern int unregister_framebuffer(struct fb_info *fb_info);
extern int fb_prepare_logo(struct fb_info *fb_info);
extern int fb_show_logo(struct fb_info *fb_info);
extern char* fb_get_buffer_offset(struct fb_info *info, struct fb_pixmap *buf, u32 size);
extern void fb_iomove_buf_unaligned(struct fb_info *info, struct fb_pixmap *buf,
u8 *dst, u32 d_pitch, u8 *src, u32 idx,
u32 height, u32 shift_high, u32 shift_low, u32 mod);
extern void fb_iomove_buf_aligned(struct fb_info *info, struct fb_pixmap *buf,
u8 *dst, u32 d_pitch, u8 *src, u32 s_pitch,
u32 height);
extern void fb_sysmove_buf_unaligned(struct fb_info *info, struct fb_pixmap *buf,
u8 *dst, u32 d_pitch, u8 *src, u32 idx,
u32 height, u32 shift_high, u32 shift_low, u32 mod);
Expand Down

0 comments on commit 41dbd08

Please sign in to comment.