Lines Matching refs:dsc
101 lv_linux_fb_t * dsc = lv_malloc_zeroed(sizeof(lv_linux_fb_t)); in lv_linux_fbdev_create() local
102 LV_ASSERT_MALLOC(dsc); in lv_linux_fbdev_create()
103 if(dsc == NULL) return NULL; in lv_linux_fbdev_create()
107 lv_free(dsc); in lv_linux_fbdev_create()
110 dsc->fbfd = -1; in lv_linux_fbdev_create()
111 lv_display_set_driver_data(disp, dsc); in lv_linux_fbdev_create()
124 lv_linux_fb_t * dsc = lv_display_get_driver_data(disp); in lv_linux_fbdev_set_file() local
125 dsc->devname = devname; in lv_linux_fbdev_set_file()
127 if(dsc->fbfd > 0) close(dsc->fbfd); in lv_linux_fbdev_set_file()
130 dsc->fbfd = open(dsc->devname, O_RDWR); in lv_linux_fbdev_set_file()
131 if(dsc->fbfd == -1) { in lv_linux_fbdev_set_file()
138 if(ioctl(dsc->fbfd, FBIOBLANK, FB_BLANK_UNBLANK) != 0) { in lv_linux_fbdev_set_file()
148 if(ioctl(dsc->fbfd, FBIOGTYPE, &fb) != 0) { in lv_linux_fbdev_set_file()
154 if(ioctl(dsc->fbfd, FBIO_GETLINEWIDTH, &line_length) != 0) { in lv_linux_fbdev_set_file()
159 dsc->vinfo.xres = (unsigned) fb.fb_width; in lv_linux_fbdev_set_file()
160 dsc->vinfo.yres = (unsigned) fb.fb_height; in lv_linux_fbdev_set_file()
161 dsc->vinfo.bits_per_pixel = fb.fb_depth; in lv_linux_fbdev_set_file()
162 dsc->vinfo.xoffset = 0; in lv_linux_fbdev_set_file()
163 dsc->vinfo.yoffset = 0; in lv_linux_fbdev_set_file()
164 dsc->finfo.line_length = line_length; in lv_linux_fbdev_set_file()
165 dsc->finfo.smem_len = dsc->finfo.line_length * dsc->vinfo.yres; in lv_linux_fbdev_set_file()
169 if(ioctl(dsc->fbfd, FBIOGET_FSCREENINFO, &dsc->finfo) == -1) { in lv_linux_fbdev_set_file()
175 if(ioctl(dsc->fbfd, FBIOGET_VSCREENINFO, &dsc->vinfo) == -1) { in lv_linux_fbdev_set_file()
181 LV_LOG_INFO("%dx%d, %dbpp", dsc->vinfo.xres, dsc->vinfo.yres, dsc->vinfo.bits_per_pixel); in lv_linux_fbdev_set_file()
184 dsc->screensize = dsc->finfo.smem_len;/*finfo.line_length * vinfo.yres;*/ in lv_linux_fbdev_set_file()
187 dsc->fbp = (char *)mmap(0, dsc->screensize, PROT_READ | PROT_WRITE, MAP_SHARED, dsc->fbfd, 0); in lv_linux_fbdev_set_file()
188 if((intptr_t)dsc->fbp == -1) { in lv_linux_fbdev_set_file()
198 switch(dsc->vinfo.bits_per_pixel) { in lv_linux_fbdev_set_file()
209 LV_LOG_WARN("Not supported color format (%d bits)", dsc->vinfo.bits_per_pixel); in lv_linux_fbdev_set_file()
213 int32_t hor_res = dsc->vinfo.xres; in lv_linux_fbdev_set_file()
214 int32_t ver_res = dsc->vinfo.yres; in lv_linux_fbdev_set_file()
215 int32_t width = dsc->vinfo.width; in lv_linux_fbdev_set_file()
216 uint32_t draw_buf_size = hor_res * (dsc->vinfo.bits_per_pixel >> 3); in lv_linux_fbdev_set_file()
245 lv_linux_fb_t * dsc = lv_display_get_driver_data(disp); in lv_linux_fbdev_set_force_refresh() local
246 dsc->force_refresh = enabled; in lv_linux_fbdev_set_force_refresh()
255 lv_linux_fb_t * dsc = lv_display_get_driver_data(disp); in flush_cb() local
257 if(dsc->fbp == NULL) { in flush_cb()
274 if(!dsc->rotated_buf || dsc->rotated_buf_size != buf_size) { in flush_cb()
275 dsc->rotated_buf = realloc(dsc->rotated_buf, buf_size); in flush_cb()
276 dsc->rotated_buf_size = buf_size; in flush_cb()
287 … lv_draw_sw_rotate(color_p, dsc->rotated_buf, w, h, w_stride, h_stride, rotation, cf); in flush_cb()
290 … lv_draw_sw_rotate(color_p, dsc->rotated_buf, w, h, w_stride, w_stride, rotation, cf); in flush_cb()
293 … lv_draw_sw_rotate(color_p, dsc->rotated_buf, w, h, w_stride, h_stride, rotation, cf); in flush_cb()
296 color_p = dsc->rotated_buf; in flush_cb()
310 …(area->x2 < 0 || area->y2 < 0 || area->x1 > (int32_t)dsc->vinfo.xres - 1 || area->y1 > (int32_t)ds… in flush_cb()
316 (area->x1 + dsc->vinfo.xoffset) * px_size + in flush_cb()
317 (area->y1 + dsc->vinfo.yoffset) * dsc->finfo.line_length; in flush_cb()
319 uint8_t * fbp = (uint8_t *)dsc->fbp; in flush_cb()
328 fb_pos += dsc->finfo.line_length; in flush_cb()
336 fb_pos += dsc->finfo.line_length; in flush_cb()
341 if(dsc->force_refresh) { in flush_cb()
342 dsc->vinfo.activate |= FB_ACTIVATE_NOW | FB_ACTIVATE_FORCE; in flush_cb()
343 if(ioctl(dsc->fbfd, FBIOPUT_VSCREENINFO, &(dsc->vinfo)) == -1) { in flush_cb()