dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Boris Brezillon <boris.brezillon@bootlin.com>
To: David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
	dri-devel@lists.freedesktop.org
Cc: Liviu Dudau <Liviu.Dudau@arm.com>,
	Dan Carpenter <dan.carpenter@oracle.com>,
	Boris Brezillon <boris.brezillon@bootlin.com>
Subject: [PATCH v3 1/9] drm/atomic: Avoid connector to writeback_connector casts
Date: Mon,  2 Jul 2018 14:20:12 +0200	[thread overview]
Message-ID: <20180702122020.5921-2-boris.brezillon@bootlin.com> (raw)
In-Reply-To: <20180702122020.5921-1-boris.brezillon@bootlin.com>

Use container_of() instead of type casting so that it keeps working
even if base is moved inside the drm_writeback_connector struct.

Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
Reviewed-by: Liviu Dudau <liviu.dudau@arm.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
Changes in v3:
- Add Daniel's and Liviu's R-b
---
 drivers/gpu/drm/drm_atomic.c | 4 +++-
 include/drm/drm_writeback.h  | 6 ++++++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
index 178842380f75..6ea20d5dee66 100644
--- a/drivers/gpu/drm/drm_atomic.c
+++ b/drivers/gpu/drm/drm_atomic.c
@@ -2423,6 +2423,7 @@ static int prepare_signaling(struct drm_device *dev,
 	}
 
 	for_each_new_connector_in_state(state, conn, conn_state, i) {
+		struct drm_writeback_connector *wb_conn;
 		struct drm_writeback_job *job;
 		struct drm_out_fence_state *f;
 		struct dma_fence *fence;
@@ -2446,7 +2447,8 @@ static int prepare_signaling(struct drm_device *dev,
 		f[*num_fences].out_fence_ptr = fence_ptr;
 		*fence_state = f;
 
-		fence = drm_writeback_get_out_fence((struct drm_writeback_connector *)conn);
+		wb_conn = drm_connector_to_writeback(conn);
+		fence = drm_writeback_get_out_fence(wb_conn);
 		if (!fence)
 			return -ENOMEM;
 
diff --git a/include/drm/drm_writeback.h b/include/drm/drm_writeback.h
index a10fe556dfd4..23df9d463003 100644
--- a/include/drm/drm_writeback.h
+++ b/include/drm/drm_writeback.h
@@ -110,6 +110,12 @@ struct drm_writeback_job {
 	struct dma_fence *out_fence;
 };
 
+static inline struct drm_writeback_connector *
+drm_connector_to_writeback(struct drm_connector *connector)
+{
+	return container_of(connector, struct drm_writeback_connector, base);
+}
+
 int drm_writeback_connector_init(struct drm_device *dev,
 				 struct drm_writeback_connector *wb_connector,
 				 const struct drm_connector_funcs *con_funcs,
-- 
2.14.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2018-07-02 12:20 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-02 12:20 [PATCH v3 0/9] drm/vc4: Add support for the transposer IP Boris Brezillon
2018-07-02 12:20 ` Boris Brezillon [this message]
2018-07-02 12:20 ` [PATCH v3 2/9] drm/connector: Pass a drm_connector_state to ->atomic_commit() Boris Brezillon
2018-07-02 12:20 ` [PATCH v3 3/9] drm/connector: Make ->atomic_commit() optional Boris Brezillon
2018-07-02 12:56   ` Liviu Dudau
2018-07-02 15:30   ` kbuild test robot
2018-07-02 15:30   ` kbuild test robot
2018-07-02 16:41     ` Boris Brezillon
2018-07-02 12:20 ` [PATCH v3 4/9] drm/vc4: Use wait_for_flip_done() instead of wait_for_vblanks() Boris Brezillon
2018-07-02 12:20 ` [PATCH v3 5/9] drm/crtc: Add a generic infrastructure to fake VBLANK events Boris Brezillon
2018-07-02 12:20 ` [PATCH v3 6/9] drm/atomic: Call fake_vblank() from the generic commit_tail() helpers Boris Brezillon
2018-07-02 12:20 ` [PATCH v3 7/9] drm/vc4: Call drm_atomic_helper_fake_vblank() in the commit path Boris Brezillon
2018-07-02 12:20 ` [PATCH v3 8/9] drm/vc4: Add support for the transposer block Boris Brezillon
2018-07-02 18:52   ` Eric Anholt
2018-07-02 19:10     ` Boris Brezillon
2018-07-02 12:20 ` [PATCH v3 9/9] ARM: dts: bcm283x: Add Transposer block Boris Brezillon
2018-07-02 19:51   ` Eric Anholt

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=20180702122020.5921-2-boris.brezillon@bootlin.com \
    --to=boris.brezillon@bootlin.com \
    --cc=Liviu.Dudau@arm.com \
    --cc=airlied@linux.ie \
    --cc=dan.carpenter@oracle.com \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.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