这篇教程C++ to_exynos_crtc函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中to_exynos_crtc函数的典型用法代码示例。如果您正苦于以下问题:C++ to_exynos_crtc函数的具体用法?C++ to_exynos_crtc怎么用?C++ to_exynos_crtc使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了to_exynos_crtc函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: drm_for_each_crtcstruct exynos_drm_crtc *exynos_drm_crtc_get_by_type(struct drm_device *drm_dev, enum exynos_drm_output_type out_type){ struct drm_crtc *crtc; drm_for_each_crtc(crtc, drm_dev) if (to_exynos_crtc(crtc)->type == out_type) return to_exynos_crtc(crtc); return ERR_PTR(-ENODEV);}
开发者ID:Anjali05,项目名称:linux,代码行数:11,
示例2: exynos_drm_crtc_te_handlervoid exynos_drm_crtc_te_handler(struct drm_crtc *crtc){ struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); if (exynos_crtc->ops->te_handler) exynos_crtc->ops->te_handler(exynos_crtc);}
开发者ID:Anjali05,项目名称:linux,代码行数:7,
示例3: exynos_drm_crtc_disable_vblankstatic void exynos_drm_crtc_disable_vblank(struct drm_crtc *crtc){ struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); if (exynos_crtc->ops->disable_vblank) exynos_crtc->ops->disable_vblank(exynos_crtc);}
开发者ID:Anjali05,项目名称:linux,代码行数:7,
示例4: exynos_drm_crtc_destroystatic void exynos_drm_crtc_destroy(struct drm_crtc *crtc){ struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); drm_crtc_cleanup(crtc); kfree(exynos_crtc);}
开发者ID:Anjali05,项目名称:linux,代码行数:7,
示例5: exynos_drm_crtc_mode_setstatic intexynos_drm_crtc_mode_set(struct drm_crtc *crtc, struct drm_display_mode *mode, struct drm_display_mode *adjusted_mode, int x, int y, struct drm_framebuffer *old_fb){ struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); struct drm_plane *plane = exynos_crtc->plane; unsigned int crtc_w; unsigned int crtc_h; int pipe = exynos_crtc->pipe; int ret; /* * copy the mode data adjusted by mode_fixup() into crtc->mode * so that hardware can be seet to proper mode. */ memcpy(&crtc->mode, adjusted_mode, sizeof(*adjusted_mode)); crtc_w = crtc->primary->fb->width - x; crtc_h = crtc->primary->fb->height - y; ret = exynos_plane_mode_set(plane, crtc, crtc->primary->fb, 0, 0, crtc_w, crtc_h, x, y, crtc_w, crtc_h); if (ret) return ret; plane->crtc = crtc; plane->fb = crtc->primary->fb; exynos_drm_fn_encoder(crtc, &pipe, exynos_drm_encoder_crtc_pipe); return 0;}
开发者ID:atmark-techno,项目名称:linux-3.14-at,代码行数:33,
示例6: exynos_drm_crtc_dpmsstatic void exynos_drm_crtc_dpms(struct drm_crtc *crtc, int mode){ struct drm_device *dev = crtc->dev; struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); DRM_DEBUG_KMS("crtc[%d] mode[%d]/n", crtc->base.id, mode); if (exynos_crtc->dpms == mode) { DRM_DEBUG_KMS("desired dpms mode is same as previous one./n"); return; } mutex_lock(&dev->struct_mutex); switch (mode) { case DRM_MODE_DPMS_ON: exynos_drm_fn_encoder(crtc, &mode, exynos_drm_encoder_crtc_dpms); exynos_crtc->dpms = mode; break; case DRM_MODE_DPMS_STANDBY: case DRM_MODE_DPMS_SUSPEND: case DRM_MODE_DPMS_OFF: exynos_drm_fn_encoder(crtc, &mode, exynos_drm_encoder_crtc_dpms); exynos_crtc->dpms = mode; break; default: DRM_ERROR("unspecified mode %d/n", mode); break; } mutex_unlock(&dev->struct_mutex);}
开发者ID:openube,项目名称:android_kernel_sony_c2305,代码行数:34,
示例7: exynos_drm_crtc_commitstatic void exynos_drm_crtc_commit(struct drm_crtc *crtc){ struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); DRM_DEBUG_KMS("%s/n", __FILE__); /* * when set_crtc is requested from user or at booting time, * crtc->commit would be called without dpms call so if dpms is * no power on then crtc->dpms should be called * with DRM_MODE_DPMS_ON for the hardware power to be on. */ if (exynos_crtc->dpms != DRM_MODE_DPMS_ON) { int mode = DRM_MODE_DPMS_ON; /* * enable hardware(power on) to all encoders hdmi connected * to current crtc. */ exynos_drm_crtc_dpms(crtc, mode); /* * enable dma to all encoders connected to current crtc and * lcd panel. */ exynos_drm_fn_encoder(crtc, &mode, exynos_drm_encoder_dpms_from_crtc); } exynos_drm_fn_encoder(crtc, &exynos_crtc->pipe, exynos_drm_encoder_crtc_commit);}
开发者ID:openube,项目名称:android_kernel_sony_c2305,代码行数:31,
示例8: exynos_drm_crtc_updatestatic int exynos_drm_crtc_update(struct drm_crtc *crtc){ struct exynos_drm_crtc *exynos_crtc; struct exynos_drm_overlay *overlay; struct exynos_drm_crtc_pos pos; struct drm_display_mode *mode = &crtc->mode; struct drm_framebuffer *fb = crtc->fb; if (!mode || !fb) return -EINVAL; exynos_crtc = to_exynos_crtc(crtc); overlay = &exynos_crtc->overlay; memset(&pos, 0, sizeof(struct exynos_drm_crtc_pos)); /* it means the offset of framebuffer to be displayed. */ pos.fb_x = crtc->x; pos.fb_y = crtc->y; /* OSD position to be displayed. */ pos.crtc_x = 0; pos.crtc_y = 0; pos.crtc_w = fb->width - crtc->x; pos.crtc_h = fb->height - crtc->y; return exynos_drm_overlay_update(overlay, crtc->fb, mode, &pos);}
开发者ID:openube,项目名称:android_kernel_sony_c2305,代码行数:28,
示例9: exynos_drm_crtc_mode_set_commitstatic int exynos_drm_crtc_mode_set_commit(struct drm_crtc *crtc, int x, int y, struct drm_framebuffer *old_fb){ struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); struct drm_plane *plane = exynos_crtc->plane; unsigned int crtc_w; unsigned int crtc_h; int ret; /* when framebuffer changing is requested, crtc's dpms should be on */ if (exynos_crtc->dpms > DRM_MODE_DPMS_ON) { DRM_ERROR("failed framebuffer changing request./n"); return -EPERM; } crtc_w = crtc->primary->fb->width - x; crtc_h = crtc->primary->fb->height - y; ret = exynos_plane_mode_set(plane, crtc, crtc->primary->fb, 0, 0, crtc_w, crtc_h, x, y, crtc_w, crtc_h); if (ret) return ret; exynos_drm_crtc_commit(crtc); return 0;}
开发者ID:atmark-techno,项目名称:linux-3.14-at,代码行数:27,
示例10: exynos_drm_crtc_disablestatic void exynos_drm_crtc_disable(struct drm_crtc *crtc){ struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); exynos_plane_dpms(exynos_crtc->plane, DRM_MODE_DPMS_OFF); exynos_drm_crtc_dpms(crtc, DRM_MODE_DPMS_OFF);}
开发者ID:atmark-techno,项目名称:linux-3.14-at,代码行数:7,
示例11: exynos_drm_crtc_commitstatic void exynos_drm_crtc_commit(struct drm_crtc *crtc){ struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); DRM_DEBUG_KMS("%s/n", __FILE__); /* */ if (exynos_crtc->dpms != DRM_MODE_DPMS_ON) { int mode = DRM_MODE_DPMS_ON; /* */ exynos_drm_crtc_dpms(crtc, mode); /* */ exynos_drm_fn_encoder(crtc, &mode, exynos_drm_encoder_dpms_from_crtc); } exynos_drm_fn_encoder(crtc, &exynos_crtc->pipe, exynos_drm_encoder_crtc_commit);}
开发者ID:romanbb,项目名称:android_kernel_lge_d851,代码行数:31,
示例12: exynos_crtc_atomic_flushstatic void exynos_crtc_atomic_flush(struct drm_crtc *crtc, struct drm_crtc_state *old_crtc_state){ struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); if (exynos_crtc->ops->atomic_flush) exynos_crtc->ops->atomic_flush(exynos_crtc);}
开发者ID:Anjali05,项目名称:linux,代码行数:8,
示例13: exynos_drm_crtc_mode_set_nofbstatic voidexynos_drm_crtc_mode_set_nofb(struct drm_crtc *crtc){ struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); if (exynos_crtc->ops->commit) exynos_crtc->ops->commit(exynos_crtc);}
开发者ID:DenisLug,项目名称:mptcp,代码行数:8,
示例14: exynos_drm_crtc_destroystatic void exynos_drm_crtc_destroy(struct drm_crtc *crtc){ struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); struct exynos_drm_private *private = crtc->dev->dev_private; DRM_DEBUG_KMS("%s/n", __FILE__); private->crtc[exynos_crtc->pipe] = NULL;
开发者ID:ARMP,项目名称:ARMP-i9300,代码行数:8,
示例15: exynos_drm_crtc_commitstatic void exynos_drm_crtc_commit(struct drm_crtc *crtc){ struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); exynos_drm_crtc_dpms(crtc, DRM_MODE_DPMS_ON); exynos_plane_commit(exynos_crtc->plane); exynos_plane_dpms(exynos_crtc->plane, DRM_MODE_DPMS_ON);}
开发者ID:atmark-techno,项目名称:linux-3.14-at,代码行数:8,
示例16: exynos_drm_crtc_page_flipstatic int exynos_drm_crtc_page_flip(struct drm_crtc *crtc, struct drm_framebuffer *fb, struct drm_pending_vblank_event *event){ struct drm_device *dev = crtc->dev; struct exynos_drm_private *dev_priv = dev->dev_private; struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); struct drm_framebuffer *old_fb = crtc->fb; int ret = -EINVAL; DRM_DEBUG_KMS("%s/n", __FILE__); /* when the page flip is requested, crtc's dpms should be on */ if (exynos_crtc->dpms > DRM_MODE_DPMS_ON) { DRM_ERROR("failed page flip request./n"); return -EINVAL; } mutex_lock(&dev->struct_mutex); if (event) { /* * the pipe from user always is 0 so we can set pipe number * of current owner to event. */ event->pipe = exynos_crtc->pipe; ret = drm_vblank_get(dev, exynos_crtc->pipe); if (ret) { DRM_DEBUG("failed to acquire vblank counter/n"); goto out; } spin_lock_irq(&dev->event_lock); list_add_tail(&event->base.link, &dev_priv->pageflip_event_list); atomic_set(&exynos_crtc->pending_flip, 1); spin_unlock_irq(&dev->event_lock); crtc->fb = fb; ret = exynos_drm_crtc_mode_set_base(crtc, crtc->x, crtc->y, NULL); if (ret) { crtc->fb = old_fb; spin_lock_irq(&dev->event_lock); drm_vblank_put(dev, exynos_crtc->pipe); list_del(&event->base.link); spin_unlock_irq(&dev->event_lock); goto out; } }out: mutex_unlock(&dev->struct_mutex); return ret;}
开发者ID:0x000000FF,项目名称:Linux4Edison,代码行数:58,
示例17: exynos_drm_crtc_commitstatic void exynos_drm_crtc_commit(struct drm_crtc *crtc){ struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); DRM_DEBUG_KMS("%s/n", __FILE__); exynos_plane_commit(exynos_crtc->plane); exynos_plane_dpms(exynos_crtc->plane, DRM_MODE_DPMS_ON);}
开发者ID:ARMP,项目名称:ARMP-i9300,代码行数:9,
示例18: exynos_drm_crtc_disablestatic void exynos_drm_crtc_disable(struct drm_crtc *crtc){ struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); DRM_DEBUG_KMS("%s/n", __FILE__); exynos_plane_dpms(exynos_crtc->plane, DRM_MODE_DPMS_OFF); exynos_drm_crtc_dpms(crtc, DRM_MODE_DPMS_OFF);}
开发者ID:ARMP,项目名称:ARMP-i9300,代码行数:9,
示例19: exynos_drm_crtc_enable_vblankstatic int exynos_drm_crtc_enable_vblank(struct drm_crtc *crtc){ struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); if (exynos_crtc->ops->enable_vblank) return exynos_crtc->ops->enable_vblank(exynos_crtc); return 0;}
开发者ID:Anjali05,项目名称:linux,代码行数:9,
示例20: exynos_drm_crtc_disablestatic void exynos_drm_crtc_disable(struct drm_crtc *crtc){ struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); drm_crtc_vblank_off(crtc); if (exynos_crtc->ops->disable) exynos_crtc->ops->disable(exynos_crtc);}
开发者ID:DenisLug,项目名称:mptcp,代码行数:9,
示例21: exynos_drm_crtc_applystatic void exynos_drm_crtc_apply(struct drm_crtc *crtc){ struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); struct exynos_drm_overlay *overlay = &exynos_crtc->overlay; exynos_drm_fn_encoder(crtc, overlay, exynos_drm_encoder_crtc_mode_set); exynos_drm_fn_encoder(crtc, &exynos_crtc->pipe, exynos_drm_encoder_crtc_commit);}
开发者ID:openube,项目名称:android_kernel_sony_c2305,代码行数:10,
示例22: exynos_crtc_mode_validstatic enum drm_mode_status exynos_crtc_mode_valid(struct drm_crtc *crtc, const struct drm_display_mode *mode){ struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); if (exynos_crtc->ops->mode_valid) return exynos_crtc->ops->mode_valid(exynos_crtc, mode); return MODE_OK;}
开发者ID:Anjali05,项目名称:linux,代码行数:10,
示例23: exynos_drm_crtc_atomic_enablestatic void exynos_drm_crtc_atomic_enable(struct drm_crtc *crtc, struct drm_crtc_state *old_state){ struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); if (exynos_crtc->ops->enable) exynos_crtc->ops->enable(exynos_crtc); drm_crtc_vblank_on(crtc);}
开发者ID:Anjali05,项目名称:linux,代码行数:10,
示例24: exynos_drm_crtc_page_flipstatic int exynos_drm_crtc_page_flip(struct drm_crtc *crtc, struct drm_framebuffer *fb, struct drm_pending_vblank_event *event){ struct drm_device *dev = crtc->dev; struct exynos_drm_private *dev_priv = dev->dev_private; struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); struct drm_framebuffer *old_fb = crtc->fb; int ret = -EINVAL; DRM_DEBUG_KMS("%s/n", __FILE__); mutex_lock(&dev->struct_mutex); if (event) { /* */ event->pipe = exynos_crtc->pipe; ret = drm_vblank_get(dev, exynos_crtc->pipe); if (ret) { DRM_DEBUG("failed to acquire vblank counter/n"); list_del(&event->base.link); goto out; } list_add_tail(&event->base.link, &dev_priv->pageflip_event_list); crtc->fb = fb; ret = exynos_drm_crtc_update(crtc); if (ret) { crtc->fb = old_fb; drm_vblank_put(dev, exynos_crtc->pipe); list_del(&event->base.link); goto out; } /* */ exynos_drm_crtc_apply(crtc); }out: mutex_unlock(&dev->struct_mutex); return ret;}
开发者ID:romanbb,项目名称:android_kernel_lge_d851,代码行数:54,
示例25: exynos_drm_crtc_page_flipstatic int exynos_drm_crtc_page_flip(struct drm_crtc *crtc, struct drm_framebuffer *fb, struct drm_pending_vblank_event *event){ struct drm_device *dev = crtc->dev; struct exynos_drm_private *dev_priv = dev->dev_private; struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); struct drm_framebuffer *old_fb = crtc->fb; int ret = -EINVAL; DRM_DEBUG_KMS("%s/n", __FILE__); mutex_lock(&dev->struct_mutex); if (event) { /* * the pipe from user always is 0 so we can set pipe number * of current owner to event. */ event->pipe = exynos_crtc->pipe; ret = drm_vblank_get(dev, exynos_crtc->pipe); if (ret) { DRM_DEBUG("failed to acquire vblank counter/n"); list_del(&event->base.link); goto out; } list_add_tail(&event->base.link, &dev_priv->pageflip_event_list); crtc->fb = fb; ret = exynos_drm_crtc_update(crtc); if (ret) { crtc->fb = old_fb; drm_vblank_put(dev, exynos_crtc->pipe); list_del(&event->base.link); goto out; } /* * the values related to a buffer of the drm framebuffer * to be applied should be set at here. because these values * first, are set to shadow registers and then to * real registers at vsync front porch period. */ exynos_drm_crtc_apply(crtc); }out: mutex_unlock(&dev->struct_mutex); return ret;}
开发者ID:openube,项目名称:android_kernel_sony_c2305,代码行数:54,
示例26: exynos_crtc_mode_fixupstatic bool exynos_crtc_mode_fixup(struct drm_crtc *crtc, const struct drm_display_mode *mode, struct drm_display_mode *adjusted_mode){ struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); if (exynos_crtc->ops->mode_fixup) return exynos_crtc->ops->mode_fixup(exynos_crtc, mode, adjusted_mode); return true;}
开发者ID:Anjali05,项目名称:linux,代码行数:12,
示例27: exynos_crtc_atomic_checkstatic int exynos_crtc_atomic_check(struct drm_crtc *crtc, struct drm_crtc_state *state){ struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); if (!state->enable) return 0; if (exynos_crtc->ops->atomic_check) return exynos_crtc->ops->atomic_check(exynos_crtc, state); return 0;}
开发者ID:Anjali05,项目名称:linux,代码行数:13,
示例28: exynos_dp_crtc_clock_enableint exynos_dp_crtc_clock_enable(struct analogix_dp_plat_data *plat_data, bool enable){ struct exynos_dp_device *dp = to_dp(plat_data); struct drm_encoder *encoder = &dp->encoder; if (!encoder->crtc) return -EPERM; exynos_drm_pipe_clk_enable(to_exynos_crtc(encoder->crtc), enable); return 0;}
开发者ID:AK101111,项目名称:linux,代码行数:13,
示例29: exynos_crtc_atomic_flushstatic void exynos_crtc_atomic_flush(struct drm_crtc *crtc, struct drm_crtc_state *old_crtc_state){ struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); struct drm_plane *plane; drm_atomic_crtc_for_each_plane(plane, crtc) { struct exynos_drm_plane *exynos_plane = to_exynos_plane(plane); if (exynos_crtc->ops->atomic_flush) exynos_crtc->ops->atomic_flush(exynos_crtc, exynos_plane); }}
开发者ID:DenisLug,项目名称:mptcp,代码行数:14,
示例30: exynos_crtc_atomic_beginstatic void exynos_crtc_atomic_begin(struct drm_crtc *crtc, struct drm_crtc_state *old_crtc_state){ struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); struct drm_plane *plane; exynos_crtc->event = crtc->state->event; drm_atomic_crtc_for_each_plane(plane, crtc) { struct exynos_drm_plane *exynos_plane = to_exynos_plane(plane); if (exynos_crtc->ops->atomic_begin) exynos_crtc->ops->atomic_begin(exynos_crtc, exynos_plane); }}
开发者ID:DenisLug,项目名称:mptcp,代码行数:16,
注:本文中的to_exynos_crtc函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ to_exynos_pcie函数代码示例 C++ to_ehrpwm_pwm函数代码示例 |