rk312x lcdc: hwc layer test ok
authorhjc <hjc@rock-chips.com>
Thu, 18 Sep 2014 09:45:51 +0000 (17:45 +0800)
committerhjc <hjc@rock-chips.com>
Thu, 18 Sep 2014 09:46:49 +0000 (17:46 +0800)
drivers/video/rockchip/lcdc/rk312x_lcdc.c
drivers/video/rockchip/rkfb_sysfs.c

index c4b7e1d1c4c3f3a74a966cb5bf6a04164959ff41..be57189a4253ef359be93139e0ac8dd19f66704d 100755 (executable)
@@ -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;
index 5c048f57ee0ca2d998273ff34c62e459ec68f368..4584a1be7b07cd7cdf43217a3ba1b96c33d5a739 100755 (executable)
@@ -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++;