Lines Matching defs:pipe

25 psb_pipestat(int pipe)
27 if (pipe == 0)
29 if (pipe == 1)
31 if (pipe == 2)
37 mid_pipe_event(int pipe)
39 if (pipe == 0)
41 if (pipe == 1)
43 if (pipe == 2)
49 mid_pipe_vsync(int pipe)
51 if (pipe == 0)
53 if (pipe == 1)
55 if (pipe == 2)
61 mid_pipeconf(int pipe)
63 if (pipe == 0)
65 if (pipe == 1)
67 if (pipe == 2)
73 psb_enable_pipestat(struct drm_psb_private *dev_priv, int pipe, u32 mask)
75 if ((dev_priv->pipestat[pipe] & mask) != mask) {
76 u32 reg = psb_pipestat(pipe);
77 dev_priv->pipestat[pipe] |= mask;
90 psb_disable_pipestat(struct drm_psb_private *dev_priv, int pipe, u32 mask)
92 if ((dev_priv->pipestat[pipe] & mask) != 0) {
93 u32 reg = psb_pipestat(pipe);
94 dev_priv->pipestat[pipe] &= ~mask;
105 static void mid_enable_pipe_event(struct drm_psb_private *dev_priv, int pipe)
108 u32 pipe_event = mid_pipe_event(pipe);
116 static void mid_disable_pipe_event(struct drm_psb_private *dev_priv, int pipe)
118 if (dev_priv->pipestat[pipe] == 0) {
120 u32 pipe_event = mid_pipe_event(pipe);
130 * Display controller interrupt handler for pipe event.
133 static void mid_pipe_event_handler(struct drm_device *dev, int pipe)
139 uint32_t pipe_stat_reg = psb_pipestat(pipe);
140 uint32_t pipe_enable = dev_priv->pipestat[pipe];
141 uint32_t pipe_status = dev_priv->pipestat[pipe] >> 16;
165 "%s, can't clear status bits for pipe %d, its value = 0x%x.\n",
166 __func__, pipe, PSB_RVDC32(pipe_stat_reg));
170 struct drm_crtc *crtc = drm_crtc_from_index(dev, pipe);
174 drm_handle_vblank(dev, pipe);
502 unsigned int pipe = crtc->index;
506 uint32_t pipeconf_reg = mid_pipeconf(pipe);
511 return mdfld_enable_te(dev, pipe);
523 if (pipe == 0)
525 else if (pipe == 1)
530 psb_enable_pipestat(dev_priv, pipe, PIPE_VBLANK_INTERRUPT_ENABLE);
543 unsigned int pipe = crtc->index;
548 mdfld_disable_te(dev, pipe);
551 if (pipe == 0)
553 else if (pipe == 1)
558 psb_disable_pipestat(dev_priv, pipe, PIPE_VBLANK_INTERRUPT_ENABLE);
566 int mdfld_enable_te(struct drm_device *dev, int pipe)
572 uint32_t pipeconf_reg = mid_pipeconf(pipe);
584 mid_enable_pipe_event(dev_priv, pipe);
585 psb_enable_pipestat(dev_priv, pipe, PIPE_TE_ENABLE);
595 void mdfld_disable_te(struct drm_device *dev, int pipe)
606 mid_disable_pipe_event(dev_priv, pipe);
607 psb_disable_pipestat(dev_priv, pipe, PIPE_TE_ENABLE);
613 * we use as a pipe index
618 unsigned int pipe = crtc->index;
625 switch (pipe) {
639 dev_err(dev->dev, "%s, invalid pipe.\n", __func__);
649 dev_err(dev->dev, "trying to get vblank count for disabled pipe %u\n",
650 pipe);