Commit 27019328 authored by Andrzej Hajda's avatar Andrzej Hajda Committed by Inki Dae

drm/exynos: add helper to get crtc from pipe

The helper abstracts out conversion from pipeline
to crtc. Currently it is used in two places, but
there will be more uses in next patches.
Signed-off-by: default avatarAndrzej Hajda <a.hajda@samsung.com>
Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
parent 3d30ec54
...@@ -157,9 +157,8 @@ struct exynos_drm_crtc *exynos_drm_crtc_create(struct drm_device *drm_dev, ...@@ -157,9 +157,8 @@ struct exynos_drm_crtc *exynos_drm_crtc_create(struct drm_device *drm_dev,
int exynos_drm_crtc_enable_vblank(struct drm_device *dev, unsigned int pipe) int exynos_drm_crtc_enable_vblank(struct drm_device *dev, unsigned int pipe)
{ {
struct exynos_drm_private *private = dev->dev_private; struct exynos_drm_crtc *exynos_crtc = exynos_drm_crtc_from_pipe(dev,
struct exynos_drm_crtc *exynos_crtc = pipe);
to_exynos_crtc(private->crtc[pipe]);
if (exynos_crtc->ops->enable_vblank) if (exynos_crtc->ops->enable_vblank)
return exynos_crtc->ops->enable_vblank(exynos_crtc); return exynos_crtc->ops->enable_vblank(exynos_crtc);
...@@ -169,9 +168,8 @@ int exynos_drm_crtc_enable_vblank(struct drm_device *dev, unsigned int pipe) ...@@ -169,9 +168,8 @@ int exynos_drm_crtc_enable_vblank(struct drm_device *dev, unsigned int pipe)
void exynos_drm_crtc_disable_vblank(struct drm_device *dev, unsigned int pipe) void exynos_drm_crtc_disable_vblank(struct drm_device *dev, unsigned int pipe)
{ {
struct exynos_drm_private *private = dev->dev_private; struct exynos_drm_crtc *exynos_crtc = exynos_drm_crtc_from_pipe(dev,
struct exynos_drm_crtc *exynos_crtc = pipe);
to_exynos_crtc(private->crtc[pipe]);
if (exynos_crtc->ops->disable_vblank) if (exynos_crtc->ops->disable_vblank)
exynos_crtc->ops->disable_vblank(exynos_crtc); exynos_crtc->ops->disable_vblank(exynos_crtc);
......
...@@ -232,6 +232,14 @@ struct exynos_drm_private { ...@@ -232,6 +232,14 @@ struct exynos_drm_private {
wait_queue_head_t wait; wait_queue_head_t wait;
}; };
static inline struct exynos_drm_crtc *
exynos_drm_crtc_from_pipe(struct drm_device *dev, int pipe)
{
struct exynos_drm_private *private = dev->dev_private;
return to_exynos_crtc(private->crtc[pipe]);
}
static inline struct device *to_dma_dev(struct drm_device *dev) static inline struct device *to_dma_dev(struct drm_device *dev)
{ {
struct exynos_drm_private *priv = dev->dev_private; struct exynos_drm_private *priv = dev->dev_private;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment