From: wens@csie.org (Chen-Yu Tsai)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 10/11] drm/sun4i: Add backend pointer to sun4i_layer
Date: Thu, 23 Feb 2017 16:05:42 +0800 [thread overview]
Message-ID: <20170223080543.6659-11-wens@csie.org> (raw)
In-Reply-To: <20170223080543.6659-1-wens@csie.org>
sun4i_layer only controls the backend hardware block of the display
pipeline. Instead of getting a pointer to the underlying backend
through the drm_device structure, leave one in itself.
Also drop the drm_device pointer, since it is no longer needed.
The next step forward would be to pass the pointer in through
sun4i_layers_init as a parameter. This would make it easier to support
multiple display pipelines layer on.
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
---
drivers/gpu/drm/sun4i/sun4i_layer.c | 8 +++-----
drivers/gpu/drm/sun4i/sun4i_layer.h | 1 +
2 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/sun4i/sun4i_layer.c b/drivers/gpu/drm/sun4i/sun4i_layer.c
index 431e13362b62..6feaf85a5942 100644
--- a/drivers/gpu/drm/sun4i/sun4i_layer.c
+++ b/drivers/gpu/drm/sun4i/sun4i_layer.c
@@ -36,8 +36,7 @@ static void sun4i_backend_layer_atomic_disable(struct drm_plane *plane,
struct drm_plane_state *old_state)
{
struct sun4i_layer *layer = plane_to_sun4i_layer(plane);
- struct sun4i_drv *drv = layer->drv;
- struct sun4i_backend *backend = drv->backend;
+ struct sun4i_backend *backend = layer->backend;
sun4i_backend_layer_enable(backend, layer->id, false);
}
@@ -46,8 +45,7 @@ static void sun4i_backend_layer_atomic_update(struct drm_plane *plane,
struct drm_plane_state *old_state)
{
struct sun4i_layer *layer = plane_to_sun4i_layer(plane);
- struct sun4i_drv *drv = layer->drv;
- struct sun4i_backend *backend = drv->backend;
+ struct sun4i_backend *backend = layer->backend;
sun4i_backend_update_layer_coord(backend, layer->id, plane);
sun4i_backend_update_layer_formats(backend, layer->id, plane);
@@ -126,7 +124,7 @@ static struct sun4i_layer *sun4i_layer_init_one(struct drm_device *drm,
drm_plane_helper_add(&layer->plane,
&sun4i_backend_layer_helper_funcs);
- layer->drv = drv;
+ layer->backend = drv->backend;
return layer;
}
diff --git a/drivers/gpu/drm/sun4i/sun4i_layer.h b/drivers/gpu/drm/sun4i/sun4i_layer.h
index a2f65d7a3f4e..a97e376bae17 100644
--- a/drivers/gpu/drm/sun4i/sun4i_layer.h
+++ b/drivers/gpu/drm/sun4i/sun4i_layer.h
@@ -16,6 +16,7 @@
struct sun4i_layer {
struct drm_plane plane;
struct sun4i_drv *drv;
+ struct sun4i_backend *backend;
int id;
};
--
2.11.0
next prev parent reply other threads:[~2017-02-23 8:05 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-23 8:05 [PATCH 00/11] drm/sun4i: Various fixes and cleanups part 2 Chen-Yu Tsai
2017-02-23 8:05 ` [PATCH 01/11] drm/sun4i: Make sunxi_rgb2yuv_coef constant Chen-Yu Tsai
2017-02-23 18:18 ` Maxime Ripard
2017-02-23 8:05 ` [PATCH 02/11] drm/sun4i: Set drm_crtc.port to the underlying TCON's output port node Chen-Yu Tsai
2017-02-23 18:20 ` Maxime Ripard
2017-02-23 8:05 ` [PATCH 03/11] drm/sun4i: Add end of list element for sun4i_layers_init's returned list Chen-Yu Tsai
2017-02-23 18:21 ` Maxime Ripard
2017-02-23 8:05 ` [PATCH 04/11] drm/sun4i: Move layers from sun4i_drv to sun4i_crtc Chen-Yu Tsai
2017-02-23 18:22 ` Maxime Ripard
2017-02-23 8:05 ` [PATCH 05/11] drm/sun4i: Initialize crtc from tcon bind function Chen-Yu Tsai
2017-02-23 18:24 ` Maxime Ripard
2017-02-23 8:05 ` [PATCH 06/11] drm/sun4i: Drop primary layer pointer from sun4i_drv Chen-Yu Tsai
2017-02-23 18:26 ` Maxime Ripard
2017-02-23 8:05 ` [PATCH 07/11] drm/sun4i: Drop hardcoded .possible_crtcs values from layers Chen-Yu Tsai
2017-02-23 8:05 ` [PATCH 08/11] drm/sun4i: tv: Switch to drm_of_find_possible_crtcs Chen-Yu Tsai
2017-02-23 8:05 ` [PATCH 09/11] drm/sun4i: rgb: Pass tcon pointer when initializing RGB encoder Chen-Yu Tsai
2017-02-23 8:05 ` Chen-Yu Tsai [this message]
2017-02-23 8:05 ` [PATCH 11/11] drm/sun4i: Add backend and tcon pointers to sun4i_crtc Chen-Yu Tsai
2017-02-23 18:30 ` Maxime Ripard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170223080543.6659-11-wens@csie.org \
--to=wens@csie.org \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox