您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ FB2OFB函数代码示例

51自学网 2021-06-01 20:40:43
  C++
这篇教程C++ FB2OFB函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中FB2OFB函数的典型用法代码示例。如果您正苦于以下问题:C++ FB2OFB函数的具体用法?C++ FB2OFB怎么用?C++ FB2OFB使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了FB2OFB函数的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: omapfb_setup_mem

static int omapfb_setup_mem(struct fb_info *fbi, struct omapfb_mem_info *mi){    struct omapfb_info *ofbi = FB2OFB(fbi);    struct omapfb2_device *fbdev = ofbi->fbdev;    struct omap_dss_device *display = fb2display(fbi);    struct omapfb2_mem_region *rg;    int r = 0, i;    size_t size;    if (mi->type != OMAPFB_MEMTYPE_SDRAM)        return -EINVAL;    size = PAGE_ALIGN(mi->size);    if (display && display->driver->sync)        display->driver->sync(display);    rg = ofbi->region;    down_write_nested(&rg->lock, rg->id);    atomic_inc(&rg->lock_count);    if (rg->size == size && rg->type == mi->type)        goto out;    if (atomic_read(&rg->map_count)) {        r = -EBUSY;        goto out;    }    for (i = 0; i < fbdev->num_fbs; i++) {        struct omapfb_info *ofbi2 = FB2OFB(fbdev->fbs[i]);        int j;        if (ofbi2->region != rg)            continue;        for (j = 0; j < ofbi2->num_overlays; j++) {            struct omap_overlay *ovl;            ovl = ofbi2->overlays[j];            if (ovl->is_enabled(ovl)) {                r = -EBUSY;                goto out;            }        }    }    r = omapfb_realloc_fbmem(fbi, size, mi->type);    if (r) {        dev_err(fbdev->dev, "realloc fbmem failed/n");        goto out;    }out:    atomic_dec(&rg->lock_count);    up_write(&rg->lock);    return r;}
开发者ID:mhei,项目名称:linux,代码行数:59,


示例2: omapfb_setup_mem

static int omapfb_setup_mem(struct fb_info *fbi, struct omapfb_mem_info *mi){	struct omapfb_info *ofbi = FB2OFB(fbi);	struct omapfb2_device *fbdev = ofbi->fbdev;	struct omapfb2_mem_region *rg;	int r, i;	size_t size;	if (mi->type > OMAPFB_MEMTYPE_MAX)		return -EINVAL;	size = PAGE_ALIGN(mi->size);	rg = &ofbi->region;	for (i = 0; i < ofbi->num_overlays; i++) {		if (ofbi->overlays[i]->info.enabled)			return -EBUSY;	}	if (rg->size != size || rg->type != mi->type) {		r = omapfb_realloc_fbmem(fbi, size, mi->type);		if (r) {			dev_err(fbdev->dev, "realloc fbmem failed/n");			return r;		}	}	return 0;}
开发者ID:12rafael,项目名称:jellytimekernel,代码行数:30,


示例3: store_size

static ssize_t store_size(struct device *dev, struct device_attribute *attr,		const char *buf, size_t count){	struct fb_info *fbi = dev_get_drvdata(dev);	struct omapfb_info *ofbi = FB2OFB(fbi);	unsigned long size;	int r;	int i;	size = PAGE_ALIGN(simple_strtoul(buf, NULL, 0));	if (!lock_fb_info(fbi))		return -ENODEV;	for (i = 0; i < ofbi->num_overlays; i++) {		if (ofbi->overlays[i]->info.enabled) {			r = -EBUSY;			goto out;		}	}	if (size != ofbi->region.size) {		r = omapfb_realloc_fbmem(fbi, size, ofbi->region.type);		if (r) {			dev_err(dev, "realloc fbmem failed/n");			goto out;		}	}	r = count;out:	unlock_fb_info(fbi);	return r;}
开发者ID:12rafael,项目名称:jellytimekernel,代码行数:35,


示例4: show_overlays

static ssize_t show_overlays(struct device *dev,		struct device_attribute *attr, char *buf){	struct fb_info *fbi = dev_get_drvdata(dev);	struct omapfb_info *ofbi = FB2OFB(fbi);	struct omapfb2_device *fbdev = ofbi->fbdev;	ssize_t l = 0;	int t;	if (!lock_fb_info(fbi))		return -ENODEV;	omapfb_lock(fbdev);	for (t = 0; t < ofbi->num_overlays; t++) {		struct omap_overlay *ovl = ofbi->overlays[t];		int ovlnum;		for (ovlnum = 0; ovlnum < fbdev->num_overlays; ++ovlnum)			if (ovl == fbdev->overlays[ovlnum])				break;		l += snprintf(buf + l, PAGE_SIZE - l, "%s%d",				t == 0 ? "" : ",", ovlnum);	}	l += snprintf(buf + l, PAGE_SIZE - l, "/n");	omapfb_unlock(fbdev);	unlock_fb_info(fbi);	return l;}
开发者ID:mikuhatsune001,项目名称:linux2.6.32,代码行数:32,


示例5: show_mirror

static ssize_t show_mirror(struct device *dev,		struct device_attribute *attr, char *buf){	struct fb_info *fbi = dev_get_drvdata(dev);	struct omapfb_info *ofbi = FB2OFB(fbi);	return snprintf(buf, PAGE_SIZE, "%d/n", ofbi->mirror);}
开发者ID:mikuhatsune001,项目名称:linux2.6.32,代码行数:8,


示例6: show_phys

static ssize_t show_phys(struct device *dev,		struct device_attribute *attr, char *buf){	struct fb_info *fbi = dev_get_drvdata(dev);	struct omapfb_info *ofbi = FB2OFB(fbi);	return snprintf(buf, PAGE_SIZE, "%0x/n", ofbi->region->paddr);}
开发者ID:mikuhatsune001,项目名称:linux2.6.32,代码行数:8,


示例7: OMAPLFBFlip

void OMAPLFBFlip(OMAPLFB_SWAPCHAIN *psSwapChain, unsigned long aPhyAddr){	OMAPLFB_DEVINFO *psDevInfo = (OMAPLFB_DEVINFO *)psSwapChain->pvDevInfo;	struct fb_info *framebuffer = psDevInfo->psLINFBInfo;	struct omapfb_info *ofbi = FB2OFB(framebuffer);	struct omapfb2_device *fbdev = ofbi->fbdev;	omapfb_lock(fbdev);	OMAPLFBFlipNoLock(psSwapChain, aPhyAddr);	omapfb_unlock(fbdev);}
开发者ID:mik9,项目名称:android_kernel_acclaim,代码行数:11,


示例8: omapfb_query_mem

static int omapfb_query_mem(struct fb_info *fbi, struct omapfb_mem_info *mi){	struct omapfb_info *ofbi = FB2OFB(fbi);	struct omapfb2_mem_region *rg;	rg = &ofbi->region;	memset(mi, 0, sizeof(*mi));	mi->size = rg->size;	mi->type = rg->type;	return 0;}
开发者ID:12rafael,项目名称:jellytimekernel,代码行数:13,


示例9: OMAPLFBFlipNoLock

/* * Presents the flip in the display with the DSS2 overlay API * in: psSwapChain, aPhyAddr */static void OMAPLFBFlipNoLock(OMAPLFB_SWAPCHAIN *psSwapChain,	unsigned long aPhyAddr){	OMAPLFB_DEVINFO *psDevInfo = (OMAPLFB_DEVINFO *)psSwapChain->pvDevInfo;	struct fb_info * framebuffer = psDevInfo->psLINFBInfo;	struct omapfb_info *ofbi = FB2OFB(framebuffer);	unsigned long fb_offset;	int i;	fb_offset = aPhyAddr - psDevInfo->sSystemBuffer.sSysAddr.uiAddr;	for(i = 0; i < ofbi->num_overlays ; i++)	{		struct omap_dss_device *display = NULL;		struct omap_dss_driver *driver = NULL;		struct omap_overlay_manager *manager;		struct omap_overlay *overlay;		struct omap_overlay_info overlay_info;		overlay = ofbi->overlays[i];		manager = overlay->manager;		overlay->get_overlay_info( overlay, &overlay_info );		overlay_info.paddr = framebuffer->fix.smem_start + fb_offset;		overlay_info.vaddr = framebuffer->screen_base + fb_offset;		overlay->set_overlay_info(overlay, &overlay_info);		if (manager) {			display = manager->device;			/* No display attached to this overlay, don't update */			if (!display)				continue;			driver = display->driver;			manager->set_manager_info(manager, &manager->info);			manager->apply(manager);		}		if (dss_ovl_manually_updated(overlay)) {			if (driver->sched_update)				driver->sched_update(display, 0, 0,							overlay_info.width,							overlay_info.height);			else if (driver->update)				driver->update(display, 0, 0,							overlay_info.width,							overlay_info.height);		}	}}
开发者ID:mik9,项目名称:android_kernel_acclaim,代码行数:55,


示例10: omapfb_setup_plane

static int omapfb_setup_plane(struct fb_info *fbi, struct omapfb_plane_info *pi){	struct omapfb_info *ofbi = FB2OFB(fbi);	struct omapfb2_device *fbdev = ofbi->fbdev;	struct omap_overlay *ovl;	struct omap_overlay_info info;	int r = 0;	DBG("omapfb_setup_plane/n");	if (ofbi->num_overlays != 1) {		r = -EINVAL;		goto out;	}	/* XXX uses only the first overlay */	ovl = ofbi->overlays[0];	if (pi->enabled && !ofbi->region.size) {		/*		 * This plane's memory was freed, can't enable it		 * until it's reallocated.		 */		r = -EINVAL;		goto out;	}	ovl->get_overlay_info(ovl, &info);	info.pos_x = pi->pos_x;	info.pos_y = pi->pos_y;	info.out_width = pi->out_width;	info.out_height = pi->out_height;	info.enabled = pi->enabled;	r = ovl->set_overlay_info(ovl, &info);	if (r)		goto out;	if (ovl->manager) {		r = ovl->manager->apply(ovl->manager);		if (r)			goto out;	}out:	if (r)		dev_err(fbdev->dev, "setup_plane failed/n");	return r;}
开发者ID:12rafael,项目名称:jellytimekernel,代码行数:50,


示例11: FB2OFB

static struct omapfb_info *get_overlay_fb(struct omapfb2_device *fbdev,		struct omap_overlay *ovl){	int i, t;	for (i = 0; i < fbdev->num_fbs; i++) {		struct omapfb_info *ofbi = FB2OFB(fbdev->fbs[i]);		for (t = 0; t < ofbi->num_overlays; t++) {			if (ofbi->overlays[t] == ovl)				return ofbi;		}	}	return NULL;}
开发者ID:mikuhatsune001,项目名称:linux2.6.32,代码行数:16,


示例12: OMAPLFBFlip

void OMAPLFBFlip(OMAPLFB_SWAPCHAIN *psSwapChain, unsigned long aPhyAddr){struct omap_overlay* overlay;	struct omap_overlay_info overlay_info;	struct fb_info * framebuffer;	OMAPLFB_DEVINFO	*psDevInfo;	struct omapfb_info *ofbi;	struct omapfb2_device *fbdev;	int i;	unsigned long fb_offset;	psDevInfo = (OMAPLFB_DEVINFO *) psSwapChain->pvDevInfo;	framebuffer = psDevInfo->psLINFBInfo;	ofbi = FB2OFB(framebuffer);	fb_offset = aPhyAddr - psDevInfo->sSystemBuffer.sSysAddr.uiAddr;	fbdev = ofbi->fbdev;	omapfb_lock(fbdev);	for(i = 0; i < ofbi->num_overlays ; i++)	{		overlay = ofbi->overlays[i];		overlay->get_overlay_info( overlay, &overlay_info );		/* If the overlay is not enabled don't update it */		if(!overlay_info.enabled)			continue;		overlay_info.paddr = framebuffer->fix.smem_start + fb_offset;		overlay_info.vaddr = framebuffer->screen_base + fb_offset;		overlay->set_overlay_info(overlay, &overlay_info);		overlay->manager->apply(overlay->manager);		if(overlay->manager->device->update)		{			overlay->manager->device->update(				overlay->manager->device, 0, 0,				overlay_info.width,				overlay_info.height);		}	}	omapfb_unlock(fbdev);}
开发者ID:CyanogenDefy,项目名称:hardware-ti-sgx,代码行数:44,


示例13: store_rotate_type

static ssize_t store_rotate_type(struct device *dev,		struct device_attribute *attr,		const char *buf, size_t count){	struct fb_info *fbi = dev_get_drvdata(dev);	struct omapfb_info *ofbi = FB2OFB(fbi);	struct omapfb2_mem_region *rg;	int rot_type;	int r;	r = kstrtoint(buf, 0, &rot_type);	if (r)		return r;	if (rot_type != OMAP_DSS_ROT_DMA && rot_type != OMAP_DSS_ROT_VRFB)		return -EINVAL;	if (!lock_fb_info(fbi))		return -ENODEV;	r = 0;	if (rot_type == ofbi->rotation_type)		goto out;	rg = omapfb_get_mem_region(ofbi->region);	if (rg->size) {		r = -EBUSY;		goto put_region;	}	ofbi->rotation_type = rot_type;	/*	 * Since the VRAM for this FB is not allocated at the moment we don't	 * need to do any further parameter checking at this point.	 */put_region:	omapfb_put_mem_region(rg);out:	unlock_fb_info(fbi);	return r ? r : count;}
开发者ID:mikuhatsune001,项目名称:linux2.6.32,代码行数:44,


示例14: store_mirror

static ssize_t store_mirror(struct device *dev,		struct device_attribute *attr,		const char *buf, size_t count){	struct fb_info *fbi = dev_get_drvdata(dev);	struct omapfb_info *ofbi = FB2OFB(fbi);	int mirror;	int r;	struct fb_var_screeninfo new_var;	r = kstrtoint(buf, 0, &mirror);	if (r)		return r;	mirror = !!mirror;	if (!lock_fb_info(fbi))		return -ENODEV;	ofbi->mirror = mirror;	omapfb_get_mem_region(ofbi->region);	memcpy(&new_var, &fbi->var, sizeof(new_var));	r = check_fb_var(fbi, &new_var);	if (r)		goto out;	memcpy(&fbi->var, &new_var, sizeof(fbi->var));	set_fb_fix(fbi);	r = omapfb_apply_changes(fbi, 0);	if (r)		goto out;	r = count;out:	omapfb_put_mem_region(ofbi->region);	unlock_fb_info(fbi);	return r;}
开发者ID:119-org,项目名称:hi3518-osdrv,代码行数:43,



注:本文中的FB2OFB函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ FCEU_printf函数代码示例
C++ FAssertMsg函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。