omap_crtc
struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
enum omap_channel channel = omap_crtc->channel;
if (WARN_ON(omap_crtc->enabled == enable))
omap_crtc->enabled = enable;
if (omap_crtc->pipe->output->type == OMAP_DISPLAY_TYPE_HDMI) {
omap_crtc->enabled = enable;
if (omap_crtc->channel == OMAP_DSS_CHANNEL_DIGIT) {
omap_crtc->ignore_digit_sync_lost = true;
omap_crtc->enabled = enable;
omap_crtc->name, enable ? "enable" : "disable");
if (omap_crtc->channel == OMAP_DSS_CHANNEL_DIGIT) {
omap_crtc->ignore_digit_sync_lost = false;
struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
dispc_mgr_set_timings(priv->dispc, omap_crtc->channel,
&omap_crtc->vm);
omap_crtc_set_enabled(&omap_crtc->base, true);
struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
omap_crtc_set_enabled(&omap_crtc->base, false);
struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
DBG("%s", omap_crtc->name);
omap_crtc->vm = *vm;
struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
DBG("%s", omap_crtc->name);
dispc_mgr_set_lcd_config(priv->dispc, omap_crtc->channel,
struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
struct drm_device *dev = omap_crtc->base.dev;
if (omap_crtc->framedone_handler)
dev_dbg(dev->dev, "register framedone %s", omap_crtc->name);
omap_crtc->framedone_handler = handler;
omap_crtc->framedone_handler_data = data;
struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
struct drm_device *dev = omap_crtc->base.dev;
dev_dbg(dev->dev, "unregister framedone %s", omap_crtc->name);
WARN_ON(omap_crtc->framedone_handler != handler);
WARN_ON(omap_crtc->framedone_handler_data != data);
omap_crtc->framedone_handler = NULL;
omap_crtc->framedone_handler_data = NULL;
struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
if (omap_crtc->ignore_digit_sync_lost) {
DRM_ERROR_RATELIMITED("%s: errors: %08x\n", omap_crtc->name, irqstatus);
struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
struct drm_device *dev = omap_crtc->base.dev;
#define to_omap_crtc(x) container_of(x, struct omap_crtc, base)
if (dispc_mgr_go_busy(priv->dispc, omap_crtc->channel)) {
if (omap_crtc->event) {
drm_crtc_send_vblank_event(crtc, omap_crtc->event);
omap_crtc->event = NULL;
pending = omap_crtc->pending;
omap_crtc->pending = false;
wake_up(&omap_crtc->pending_wait);
DBG("%s: apply done", omap_crtc->name);
struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
if (!omap_crtc->framedone_handler)
omap_crtc->framedone_handler(omap_crtc->framedone_handler_data);
if (omap_crtc->event) {
drm_crtc_send_vblank_event(crtc, omap_crtc->event);
omap_crtc->event = NULL;
omap_crtc->pending = false;
wake_up(&omap_crtc->pending_wait);
struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
if (!delayed_work_pending(&omap_crtc->update_work))
schedule_delayed_work(&omap_crtc->update_work, 0);
struct omap_crtc *omap_crtc =
container_of(data, struct omap_crtc, update_work.work);
struct omap_dss_device *dssdev = omap_crtc->pipe->output;
struct drm_device *dev = omap_crtc->base.dev;
omap_crtc->pending = false;
wake_up(&omap_crtc->pending_wait);
struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
dispc_mgr_setup(priv->dispc, omap_crtc->channel, &info);
struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
DBG("%s", omap_crtc->name);
kfree(omap_crtc);
struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
WARN_ON(omap_crtc->pending);
omap_crtc->pending = true;
omap_crtc->event = crtc->state->event;
struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
DBG("%s", omap_crtc->name);
struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
DBG("%s", omap_crtc->name);
cancel_delayed_work(&omap_crtc->update_work);
struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
if (omap_crtc->pipe->output->type != OMAP_DISPLAY_TYPE_DSI) {
omap_crtc->channel,
struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
omap_crtc->name, DRM_MODE_ARG(mode));
drm_display_mode_to_videomode(mode, &omap_crtc->vm);
struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
struct omap_dss_device *dssdev = omap_crtc->pipe->output;
struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
return &omap_crtc->vm;
struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
dispc_mgr_set_gamma(priv->dispc, omap_crtc->channel,
struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
if (!omap_crtc->enabled)
DBG("%s: GO", omap_crtc->name);
return omap_crtc->channel;
dispc_mgr_go(priv->dispc, omap_crtc->channel);
struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
pending = omap_crtc->pending;
struct omap_crtc *omap_crtc;
omap_crtc = kzalloc_obj(*omap_crtc);
if (!omap_crtc)
crtc = &omap_crtc->base;
init_waitqueue_head(&omap_crtc->pending_wait);
omap_crtc->pipe = pipe;
omap_crtc->channel = channel;
omap_crtc->name = channel_names[channel];
INIT_DELAYED_WORK(&omap_crtc->update_work,
kfree(omap_crtc);
struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
return wait_event_timeout(omap_crtc->pending_wait,