Commit eb88e422 authored by Gustavo Padovan's avatar Gustavo Padovan Committed by Inki Dae

drm/exynos: remove drm_dev from struct exynos_drm_manager

manager-drm_dev is only accessed by exynos_drm_crtc_create() so this patch
pass drm_dev as argument on exynos_drm_crtc_create() and remove it from
struct exynos_drm_manager.
Signed-off-by: default avatarGustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
parent 5d1741ad
...@@ -299,12 +299,13 @@ static void exynos_drm_crtc_attach_mode_property(struct drm_crtc *crtc) ...@@ -299,12 +299,13 @@ static void exynos_drm_crtc_attach_mode_property(struct drm_crtc *crtc)
drm_object_attach_property(&crtc->base, prop, 0); drm_object_attach_property(&crtc->base, prop, 0);
} }
int exynos_drm_crtc_create(struct exynos_drm_manager *manager, int pipe, int exynos_drm_crtc_create(struct exynos_drm_manager *manager,
struct drm_device *drm_dev, int pipe,
enum exynos_drm_output_type type) enum exynos_drm_output_type type)
{ {
struct exynos_drm_crtc *exynos_crtc; struct exynos_drm_crtc *exynos_crtc;
struct drm_plane *plane; struct drm_plane *plane;
struct exynos_drm_private *private = manager->drm_dev->dev_private; struct exynos_drm_private *private = drm_dev->dev_private;
struct drm_crtc *crtc; struct drm_crtc *crtc;
int ret; int ret;
...@@ -319,7 +320,7 @@ int exynos_drm_crtc_create(struct exynos_drm_manager *manager, int pipe, ...@@ -319,7 +320,7 @@ int exynos_drm_crtc_create(struct exynos_drm_manager *manager, int pipe,
exynos_crtc->manager = manager; exynos_crtc->manager = manager;
exynos_crtc->pipe = pipe; exynos_crtc->pipe = pipe;
exynos_crtc->type = type; exynos_crtc->type = type;
plane = exynos_plane_init(manager->drm_dev, 1 << pipe, plane = exynos_plane_init(drm_dev, 1 << pipe,
DRM_PLANE_TYPE_PRIMARY); DRM_PLANE_TYPE_PRIMARY);
if (IS_ERR(plane)) { if (IS_ERR(plane)) {
ret = PTR_ERR(plane); ret = PTR_ERR(plane);
...@@ -331,7 +332,7 @@ int exynos_drm_crtc_create(struct exynos_drm_manager *manager, int pipe, ...@@ -331,7 +332,7 @@ int exynos_drm_crtc_create(struct exynos_drm_manager *manager, int pipe,
private->crtc[pipe] = crtc; private->crtc[pipe] = crtc;
ret = drm_crtc_init_with_planes(manager->drm_dev, crtc, plane, NULL, ret = drm_crtc_init_with_planes(drm_dev, crtc, plane, NULL,
&exynos_crtc_funcs); &exynos_crtc_funcs);
if (ret < 0) if (ret < 0)
goto err_crtc; goto err_crtc;
......
...@@ -17,7 +17,8 @@ ...@@ -17,7 +17,8 @@
#include "exynos_drm_drv.h" #include "exynos_drm_drv.h"
int exynos_drm_crtc_create(struct exynos_drm_manager *manager, int pipe, int exynos_drm_crtc_create(struct exynos_drm_manager *manager,
struct drm_device *drm_dev, int pipe,
enum exynos_drm_output_type type); enum exynos_drm_output_type type);
int exynos_drm_crtc_enable_vblank(struct drm_device *dev, int pipe); int exynos_drm_crtc_enable_vblank(struct drm_device *dev, int pipe);
void exynos_drm_crtc_disable_vblank(struct drm_device *dev, int pipe); void exynos_drm_crtc_disable_vblank(struct drm_device *dev, int pipe);
......
...@@ -211,7 +211,6 @@ struct exynos_drm_manager_ops { ...@@ -211,7 +211,6 @@ struct exynos_drm_manager_ops {
*/ */
struct exynos_drm_manager { struct exynos_drm_manager {
struct list_head list; struct list_head list;
struct drm_device *drm_dev;
struct drm_crtc *crtc; struct drm_crtc *crtc;
struct exynos_drm_manager_ops *ops; struct exynos_drm_manager_ops *ops;
}; };
......
...@@ -298,7 +298,7 @@ static int fimd_mgr_initialize(struct exynos_drm_manager *mgr, ...@@ -298,7 +298,7 @@ static int fimd_mgr_initialize(struct exynos_drm_manager *mgr,
struct exynos_drm_private *priv; struct exynos_drm_private *priv;
priv = drm_dev->dev_private; priv = drm_dev->dev_private;
mgr->drm_dev = ctx->drm_dev = drm_dev; ctx->drm_dev = drm_dev;
ctx->pipe = priv->pipe++; ctx->pipe = priv->pipe++;
/* attach this sub driver to iommu mapping if supported. */ /* attach this sub driver to iommu mapping if supported. */
...@@ -1076,7 +1076,7 @@ static int fimd_bind(struct device *dev, struct device *master, void *data) ...@@ -1076,7 +1076,7 @@ static int fimd_bind(struct device *dev, struct device *master, void *data)
struct drm_device *drm_dev = data; struct drm_device *drm_dev = data;
fimd_mgr_initialize(&ctx->manager, drm_dev); fimd_mgr_initialize(&ctx->manager, drm_dev);
exynos_drm_crtc_create(&ctx->manager, ctx->pipe, exynos_drm_crtc_create(&ctx->manager, drm_dev, ctx->pipe,
EXYNOS_DISPLAY_TYPE_LCD); EXYNOS_DISPLAY_TYPE_LCD);
if (ctx->display) if (ctx->display)
exynos_drm_create_enc_conn(drm_dev, ctx->display); exynos_drm_create_enc_conn(drm_dev, ctx->display);
......
...@@ -301,7 +301,7 @@ static int vidi_mgr_initialize(struct exynos_drm_manager *mgr, ...@@ -301,7 +301,7 @@ static int vidi_mgr_initialize(struct exynos_drm_manager *mgr,
struct vidi_context *ctx = manager_to_vidi(mgr); struct vidi_context *ctx = manager_to_vidi(mgr);
struct exynos_drm_private *priv = drm_dev->dev_private; struct exynos_drm_private *priv = drm_dev->dev_private;
mgr->drm_dev = ctx->drm_dev = drm_dev; ctx->drm_dev = drm_dev;
ctx->pipe = priv->pipe++; ctx->pipe = priv->pipe++;
return 0; return 0;
...@@ -558,7 +558,7 @@ static int vidi_bind(struct device *dev, struct device *master, void *data) ...@@ -558,7 +558,7 @@ static int vidi_bind(struct device *dev, struct device *master, void *data)
vidi_mgr_initialize(&ctx->manager, drm_dev); vidi_mgr_initialize(&ctx->manager, drm_dev);
ret = exynos_drm_crtc_create(&ctx->manager, ctx->pipe, ret = exynos_drm_crtc_create(&ctx->manager, drm_dev, ctx->pipe,
EXYNOS_DISPLAY_TYPE_VIDI); EXYNOS_DISPLAY_TYPE_VIDI);
if (ret) { if (ret) {
DRM_ERROR("failed to create crtc.\n"); DRM_ERROR("failed to create crtc.\n");
......
...@@ -862,7 +862,7 @@ static int mixer_initialize(struct exynos_drm_manager *mgr, ...@@ -862,7 +862,7 @@ static int mixer_initialize(struct exynos_drm_manager *mgr,
struct exynos_drm_private *priv; struct exynos_drm_private *priv;
priv = drm_dev->dev_private; priv = drm_dev->dev_private;
mgr->drm_dev = mixer_ctx->drm_dev = drm_dev; mixer_ctx->drm_dev = drm_dev;
mixer_ctx->pipe = priv->pipe++; mixer_ctx->pipe = priv->pipe++;
/* acquire resources: regs, irqs, clocks */ /* acquire resources: regs, irqs, clocks */
...@@ -1261,7 +1261,7 @@ static int mixer_bind(struct device *dev, struct device *manager, void *data) ...@@ -1261,7 +1261,7 @@ static int mixer_bind(struct device *dev, struct device *manager, void *data)
if (ret) if (ret)
return ret; return ret;
ret = exynos_drm_crtc_create(&ctx->manager, ctx->pipe, ret = exynos_drm_crtc_create(&ctx->manager, drm_dev, ctx->pipe,
EXYNOS_DISPLAY_TYPE_HDMI); EXYNOS_DISPLAY_TYPE_HDMI);
if (ret) { if (ret) {
mixer_mgr_remove(&ctx->manager); mixer_mgr_remove(&ctx->manager);
......
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