WIN1_MST, win->area[0].y_addr);
} else {
lcdc_writel(lcdc_dev, WIN1_DSP_INFO_RK312X,
- v_DSP_WIDTH(win->area[0].xact) |
- v_DSP_HEIGHT(win->area[0].yact));
+ v_DSP_WIDTH(win->area[0].xsize) |
+ v_DSP_HEIGHT(win->area[0].ysize));
lcdc_writel(lcdc_dev, WIN1_DSP_ST_RK312X,
v_DSP_STX(win->area[0].dsp_stx) |
v_DSP_STY(win->area[0].dsp_sty));
spin_lock(&lcdc_dev->reg_lock);
win->area[0].dsp_stx = win->area[0].xpos + screen->mode.left_margin +
screen->mode.hsync_len;
+ if (win_id == 1) {
+ if ((win->area[0].xact != win->area[0].xsize) ||
+ (win->area[0].yact != win->area[0].ysize)) {
+ pr_err("win[1],not support scale\n");
+ pr_err("xact=%d,yact=%d,xsize=%d,ysize=%d\n",
+ win->area[0].xact,win->area[0].yact,
+ win->area[0].xsize,win->area[0].ysize);
+ win->area[0].xsize = win->area[0].xact;
+ win->area[0].ysize = win->area[0].yact;
+ }
+ }
if (screen->mode.vmode == FB_VMODE_INTERLACED) {
win->area[0].ysize /= 2;
win->area[0].dsp_sty = win->area[0].ypos / 2 +
screen->mode.upper_margin +
screen->mode.vsync_len;
}
+ if ((win->area[i].xact != win->area[i].xsize) ||
+ (win->area[i].yact != win->area[i].ysize)) {
+ pr_err("win[%d]->area[%d],not support scale\n",
+ win->id, i);
+ pr_err("xact=%d,yact=%d,xsize=%d,ysize=%d\n",
+ win->area[i].xact,win->area[i].yact,
+ win->area[i].xsize,win->area[i].ysize);
+ win->area[i].xsize = win->area[i].xact;
+ win->area[i].ysize = win->area[i].yact;
+ }
}
}
rk3288_win_2_3_reg_update(&lcdc_dev->driver,2);
screen->mode.vsync_len;
}
}
+ if ((win->area[i].xact != win->area[i].xsize) ||
+ (win->area[i].yact != win->area[i].ysize)) {
+ pr_err("win[%d]->area[%d],not support scale\n",
+ win->id, i);
+ pr_err("xact=%d,yact=%d,xsize=%d,ysize=%d\n",
+ win->area[i].xact,win->area[i].yact,
+ win->area[i].xsize,win->area[i].ysize);
+ win->area[i].xsize = win->area[i].xact;
+ win->area[i].ysize = win->area[i].yact;
+ }
}
rk3288_win_2_3_reg_update(&lcdc_dev->driver,3);
spin_unlock(&lcdc_dev->reg_lock);