From 7f38d87f1bcf6e8d61fa2eb7ab970cb3ed4fda5c Mon Sep 17 00:00:00 2001 From: hjc Date: Thu, 18 Sep 2014 17:45:51 +0800 Subject: [PATCH] rk312x lcdc: hwc layer test ok --- drivers/video/rockchip/lcdc/rk312x_lcdc.c | 5 +++-- drivers/video/rockchip/rkfb_sysfs.c | 6 +++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/video/rockchip/lcdc/rk312x_lcdc.c b/drivers/video/rockchip/lcdc/rk312x_lcdc.c index c4b7e1d1c4c3..be57189a4253 100755 --- a/drivers/video/rockchip/lcdc/rk312x_lcdc.c +++ b/drivers/video/rockchip/lcdc/rk312x_lcdc.c @@ -447,8 +447,8 @@ static void lcdc_layer_update_regs(struct lcdc_device *lcdc_dev, } else if (win->id == 2) { - mask = m_HWC_EN; - val = v_HWC_EN(win->state); + mask = m_HWC_EN | m_HWC_LODAD_EN; + val = v_HWC_EN(win->state) | v_HWC_LODAD_EN(1); lcdc_msk_reg(lcdc_dev, SYS_CTRL, mask, val); if((win->area[0].xsize == 32) &&(win->area[0].ysize == 32)) hwc_size = 0; @@ -462,6 +462,7 @@ static void lcdc_layer_update_regs(struct lcdc_device *lcdc_dev, v_DSP_STY(win->area[0].dsp_sty)); lcdc_writel(lcdc_dev, HWC_MST, win->area[0].y_addr); + } } else { win->area[0].y_addr = 0; diff --git a/drivers/video/rockchip/rkfb_sysfs.c b/drivers/video/rockchip/rkfb_sysfs.c index 5c048f57ee0c..4584a1be7b07 100755 --- a/drivers/video/rockchip/rkfb_sysfs.c +++ b/drivers/video/rockchip/rkfb_sysfs.c @@ -259,7 +259,7 @@ static ssize_t set_hwc_lut(struct device *dev, struct device_attribute *attr, int hwc_lut[256]; const char *start = buf; int i = 256, temp; - int space_max = 10; + int space_max; struct fb_info *fbi = dev_get_drvdata(dev); struct rk_lcdc_driver *dev_drv = @@ -267,8 +267,8 @@ static ssize_t set_hwc_lut(struct device *dev, struct device_attribute *attr, /*printk("count:%d\n>>%s\n\n",count,start);*/ for (i = 0; i < 256; i++) { - space_max = 10; /*max space number 10*/ - temp = simple_strtoul(start, NULL, 10); + space_max = 15; /*max space number 15*/ + temp = simple_strtoul(start, NULL, 16); hwc_lut[i] = temp; do { start++; -- 2.34.1