aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/sun4i/sun4i_backend.c
diff options
context:
space:
mode:
authorChen-Yu Tsai <wens@csie.org>2017-10-14 12:02:47 +0800
committerMaxime Ripard <maxime.ripard@free-electrons.com>2017-10-16 09:53:50 +0200
commit8270249fbeaf0a37250b0c533fd3613886ca3493 (patch)
tree916e29a1cf8a7e99108407dc9aad4ce82b37e01f /drivers/gpu/drm/sun4i/sun4i_backend.c
parentdrm/sun4i: don't add components that are already in the queue (diff)
downloadlinux-dev-8270249fbeaf0a37250b0c533fd3613886ca3493.tar.xz
linux-dev-8270249fbeaf0a37250b0c533fd3613886ca3493.zip
drm/sun4i: backend: Create regmap after access is possible
The backend has various clocks and reset controls that need to be enabled and deasserted before register access is possible. Move the creation of the regmap to after the clocks and reset controls have been configured where it makes more sense. Signed-off-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Link: https://patchwork.freedesktop.org/patch/msgid/20171014040252.9621-3-wens@csie.org
Diffstat (limited to '')
-rw-r--r--drivers/gpu/drm/sun4i/sun4i_backend.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/gpu/drm/sun4i/sun4i_backend.c b/drivers/gpu/drm/sun4i/sun4i_backend.c
index ec5943627aa5..1cc1780f5091 100644
--- a/drivers/gpu/drm/sun4i/sun4i_backend.c
+++ b/drivers/gpu/drm/sun4i/sun4i_backend.c
@@ -369,13 +369,6 @@ static int sun4i_backend_bind(struct device *dev, struct device *master,
if (IS_ERR(regs))
return PTR_ERR(regs);
- backend->engine.regs = devm_regmap_init_mmio(dev, regs,
- &sun4i_backend_regmap_config);
- if (IS_ERR(backend->engine.regs)) {
- dev_err(dev, "Couldn't create the backend regmap\n");
- return PTR_ERR(backend->engine.regs);
- }
-
backend->reset = devm_reset_control_get(dev, NULL);
if (IS_ERR(backend->reset)) {
dev_err(dev, "Couldn't get our reset line\n");
@@ -421,6 +414,13 @@ static int sun4i_backend_bind(struct device *dev, struct device *master,
}
}
+ backend->engine.regs = devm_regmap_init_mmio(dev, regs,
+ &sun4i_backend_regmap_config);
+ if (IS_ERR(backend->engine.regs)) {
+ dev_err(dev, "Couldn't create the backend regmap\n");
+ return PTR_ERR(backend->engine.regs);
+ }
+
list_add_tail(&backend->engine.list, &drv->engine_list);
/* Reset the registers */