|
@@ -420,17 +420,20 @@ static void mdacon_invert_region(struct vc_data *c, u16 *p, int count)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-#define MDA_ADDR(x, y) (mda_vram_base + (y)*mda_num_columns + (x))
|
|
|
+static inline u16 *mda_addr(unsigned int x, unsigned int y)
|
|
|
+{
|
|
|
+ return mda_vram_base + y * mda_num_columns + x;
|
|
|
+}
|
|
|
|
|
|
static void mdacon_putc(struct vc_data *c, int ch, int y, int x)
|
|
|
{
|
|
|
- scr_writew(mda_convert_attr(ch), MDA_ADDR(x, y));
|
|
|
+ scr_writew(mda_convert_attr(ch), mda_addr(x, y));
|
|
|
}
|
|
|
|
|
|
static void mdacon_putcs(struct vc_data *c, const unsigned short *s,
|
|
|
int count, int y, int x)
|
|
|
{
|
|
|
- u16 *dest = MDA_ADDR(x, y);
|
|
|
+ u16 *dest = mda_addr(x, y);
|
|
|
|
|
|
for (; count > 0; count--) {
|
|
|
scr_writew(mda_convert_attr(scr_readw(s++)), dest++);
|
|
@@ -440,7 +443,7 @@ static void mdacon_putcs(struct vc_data *c, const unsigned short *s,
|
|
|
static void mdacon_clear(struct vc_data *c, int y, int x,
|
|
|
int height, int width)
|
|
|
{
|
|
|
- u16 *dest = MDA_ADDR(x, y);
|
|
|
+ u16 *dest = mda_addr(x, y);
|
|
|
u16 eattr = mda_convert_attr(c->vc_video_erase_char);
|
|
|
|
|
|
if (width <= 0 || height <= 0)
|
|
@@ -512,16 +515,16 @@ static bool mdacon_scroll(struct vc_data *c, unsigned int t, unsigned int b,
|
|
|
switch (dir) {
|
|
|
|
|
|
case SM_UP:
|
|
|
- scr_memmovew(MDA_ADDR(0,t), MDA_ADDR(0,t+lines),
|
|
|
+ scr_memmovew(mda_addr(0, t), mda_addr(0, t + lines),
|
|
|
(b-t-lines)*mda_num_columns*2);
|
|
|
- scr_memsetw(MDA_ADDR(0,b-lines), eattr,
|
|
|
+ scr_memsetw(mda_addr(0, b - lines), eattr,
|
|
|
lines*mda_num_columns*2);
|
|
|
break;
|
|
|
|
|
|
case SM_DOWN:
|
|
|
- scr_memmovew(MDA_ADDR(0,t+lines), MDA_ADDR(0,t),
|
|
|
+ scr_memmovew(mda_addr(0, t + lines), mda_addr(0, t),
|
|
|
(b-t-lines)*mda_num_columns*2);
|
|
|
- scr_memsetw(MDA_ADDR(0,t), eattr, lines*mda_num_columns*2);
|
|
|
+ scr_memsetw(mda_addr(0, t), eattr, lines*mda_num_columns*2);
|
|
|
break;
|
|
|
}
|
|
|
|