From: Sean Paul <seanpaul@chromium.org>
To: dri-devel@lists.freedesktop.org, inki.dae@samsung.com
Cc: marcheu@chromium.org
Subject: [PATCH v2 04/26] drm/exynos: Use manager_op initialize in fimd
Date: Wed, 16 Oct 2013 15:26:34 -0400 [thread overview]
Message-ID: <1381951616-12548-5-git-send-email-seanpaul@chromium.org> (raw)
In-Reply-To: <1381951616-12548-1-git-send-email-seanpaul@chromium.org>
This patch implements the intitialize manager op in fimd.
Signed-off-by: Sean Paul <seanpaul@chromium.org>
---
Changes in v2: None
drivers/gpu/drm/exynos/exynos_drm_fimd.c | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
index f271f22..90fcd6f 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
@@ -106,6 +106,7 @@ struct fimd_win_data {
struct fimd_context {
struct exynos_drm_subdrv subdrv;
+ struct drm_device *drm_dev;
int irq;
struct drm_crtc *crtc;
struct clk *bus_clk;
@@ -490,6 +491,16 @@ static void fimd_win_disable(struct device *dev, int zpos)
win_data->enabled = false;
}
+static int fimd_mgr_initialize(struct device *subdrv_dev,
+ struct drm_device *drm_dev)
+{
+ struct fimd_context *ctx = get_fimd_context(subdrv_dev);
+
+ ctx->drm_dev = drm_dev;
+
+ return 0;
+}
+
static void fimd_dpms(struct device *subdrv_dev, int mode)
{
struct fimd_context *ctx = get_fimd_context(subdrv_dev);
@@ -660,6 +671,7 @@ static void fimd_wait_for_vblank(struct device *dev)
}
static struct exynos_drm_manager_ops fimd_manager_ops = {
+ .initialize = fimd_mgr_initialize,
.dpms = fimd_dpms,
.apply = fimd_apply,
.commit = fimd_commit,
@@ -681,7 +693,6 @@ static irqreturn_t fimd_irq_handler(int irq, void *dev_id)
{
struct fimd_context *ctx = (struct fimd_context *)dev_id;
struct exynos_drm_subdrv *subdrv = &ctx->subdrv;
- struct drm_device *drm_dev = subdrv->drm_dev;
struct exynos_drm_manager *manager = subdrv->manager;
u32 val;
@@ -692,11 +703,11 @@ static irqreturn_t fimd_irq_handler(int irq, void *dev_id)
writel(VIDINTCON1_INT_FRAME, ctx->regs + VIDINTCON1);
/* check the crtc is detached already from encoder */
- if (manager->pipe < 0)
+ if (manager->pipe < 0 || !ctx->drm_dev)
goto out;
- drm_handle_vblank(drm_dev, manager->pipe);
- exynos_drm_crtc_finish_pageflip(drm_dev, manager->pipe);
+ drm_handle_vblank(ctx->drm_dev, manager->pipe);
+ exynos_drm_crtc_finish_pageflip(ctx->drm_dev, manager->pipe);
/* set wait vsync event to zero and wake up queue. */
if (atomic_read(&ctx->wait_vsync_event)) {
--
1.8.4
next prev parent reply other threads:[~2013-10-16 19:27 UTC|newest]
Thread overview: 93+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-16 19:26 [PATCH v2 00/26] drm/exynos: Refactor parts of the exynos driver Sean Paul
2013-10-16 19:26 ` [PATCH v2 01/26] drm/exynos: Remove useless slab.h include Sean Paul
2013-10-16 19:26 ` [PATCH v2 02/26] drm/exynos: Merge overlay_ops into manager_ops Sean Paul
2013-10-16 19:26 ` [PATCH v2 03/26] drm/exynos: Add an initialize function to manager and display Sean Paul
2013-10-16 19:26 ` Sean Paul [this message]
2013-10-16 19:26 ` [PATCH v2 05/26] drm/exynos: hdmi: Implement initialize op for hdmi Sean Paul
2013-10-16 19:26 ` [PATCH v2 06/26] drm/exynos: Pass exynos_drm_manager in manager ops instead of dev Sean Paul
2013-10-16 19:26 ` [PATCH v2 07/26] drm/exynos: Remove apply manager callback Sean Paul
2013-10-16 19:26 ` [PATCH v2 08/26] drm/exynos: Remove dpms link between encoder/connector Sean Paul
2013-10-16 19:26 ` [PATCH v2 09/26] drm/exynos: Rename display_op power_on to dpms Sean Paul
2013-10-16 19:26 ` [PATCH v2 10/26] drm/exynos: Don't keep dpms state in encoder Sean Paul
2013-10-16 19:26 ` [PATCH v2 11/26] drm/exynos: Use unsigned long for possible_crtcs Sean Paul
2013-10-16 19:26 ` [PATCH v2 12/26] drm/exynos: Split manager/display/subdrv Sean Paul
2013-10-17 8:21 ` Inki Dae
2013-10-17 14:37 ` Sean Paul
2013-10-18 2:31 ` Inki Dae
2013-10-21 14:46 ` Sean Paul
2013-10-21 21:17 ` Sean Paul
2013-10-22 5:30 ` Inki Dae
2013-10-22 13:45 ` Sean Paul
2013-10-23 2:28 ` Inki Dae
2013-10-23 2:40 ` Stéphane Marchesin
2013-10-23 3:38 ` Inki Dae
2013-10-23 4:03 ` Stéphane Marchesin
2013-10-23 4:15 ` Inki Dae
2013-10-23 4:28 ` Stéphane Marchesin
2013-10-23 4:48 ` Inki Dae
2013-10-23 5:19 ` Sean Paul
2013-10-23 5:42 ` Inki Dae
2013-10-23 12:20 ` Sean Paul
2013-10-23 13:18 ` Inki Dae
2013-10-23 14:29 ` Dave Airlie
2013-10-23 14:45 ` Sean Paul
2013-10-23 15:22 ` Dave Airlie
2013-10-23 15:27 ` Rob Clark
2013-10-23 15:27 ` Sean Paul
2013-10-23 15:28 ` Sean Paul
2013-10-23 15:53 ` Dave Airlie
2013-10-23 16:09 ` Sean Paul
2013-10-28 16:49 ` Olof Johansson
2013-10-28 17:39 ` Sean Paul
2013-10-28 23:13 ` Tomasz Figa
2013-10-29 19:19 ` Olof Johansson
2013-10-29 19:23 ` Tomasz Figa
2013-10-29 19:47 ` Sylwester Nawrocki
2013-10-29 23:08 ` Laurent Pinchart
2013-10-29 20:36 ` Sean Paul
2013-10-29 20:50 ` Tomasz Figa
2013-10-29 21:29 ` Rob Clark
2013-10-29 23:32 ` Laurent Pinchart
2013-11-04 10:21 ` Thierry Reding
2013-11-04 10:10 ` Thierry Reding
2013-11-04 12:14 ` Rob Clark
2013-11-04 12:52 ` Thierry Reding
2013-11-04 16:12 ` Daniel Vetter
2013-10-30 3:46 ` Stéphane Marchesin
2013-11-04 10:25 ` Thierry Reding
2013-11-04 11:30 ` Inki Dae
2013-11-04 15:44 ` Sean Paul
2013-11-05 7:38 ` Inki Dae
2013-10-30 15:32 ` Sean Paul
2013-10-30 15:45 ` Laurent Pinchart
2013-10-30 15:56 ` Sean Paul
2013-11-04 10:12 ` Laurent Pinchart
2013-10-30 15:53 ` Daniel Vetter
2013-11-04 10:13 ` Laurent Pinchart
2013-11-04 10:36 ` Thierry Reding
2013-11-04 10:08 ` Thierry Reding
2013-10-24 6:47 ` Inki Dae
2013-10-23 14:51 ` Rob Clark
2013-10-24 7:46 ` Inki Dae
2013-10-25 5:15 ` Inki Dae
2013-10-28 20:43 ` Rob Clark
2013-10-23 3:39 ` Sean Paul
2013-10-22 4:55 ` Inki Dae
2013-10-22 10:30 ` Inki Dae
2013-10-23 5:18 ` Inki Dae
2013-10-16 19:26 ` [PATCH v2 13/26] drm/exynos: hdmi: remove the i2c drivers and use devtree Sean Paul
2013-10-16 19:26 ` [PATCH v2 14/26] drm/exynos: Remove exynos_drm_hdmi shim Sean Paul
2013-10-16 19:26 ` [PATCH v2 15/26] drm/exynos: Use drm_mode_copy to copy modes Sean Paul
2013-10-16 19:26 ` [PATCH v2 16/26] drm/exynos: Disable unused crtc planes from crtc Sean Paul
2013-10-16 19:26 ` [PATCH v2 17/26] drm/exynos: Add mode_set manager operation Sean Paul
2013-10-16 19:26 ` [PATCH v2 18/26] drm/exynos: Implement mode_fixup " Sean Paul
2013-10-16 19:26 ` [PATCH v2 19/26] drm/exynos: Use mode_set to configure fimd Sean Paul
2013-10-16 19:26 ` [PATCH v2 20/26] drm/exynos: Remove unused/useless fimd_context members Sean Paul
2013-10-16 19:26 ` [PATCH v2 21/26] drm/exynos: Move dp driver from video/ to drm/ Sean Paul
2013-10-16 19:26 ` [PATCH v2 22/26] drm/exynos: Move display implementation into dp Sean Paul
2013-10-16 19:26 ` [PATCH v2 23/26] ARM: dts: Move display-timings node from fimd to dp Sean Paul
2013-10-16 19:26 ` [PATCH v2 24/26] drm/exynos: Implement dpms display callback in DP Sean Paul
2013-10-16 19:26 ` [PATCH v2 25/26] drm/exynos: Clean up FIMD power on/off routines Sean Paul
2013-10-16 19:26 ` [PATCH v2 26/26] drm/exynos: Consolidate suspend/resume in drm_drv Sean Paul
2013-10-16 20:40 ` Sean Paul
2013-10-17 5:10 ` Inki Dae
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=1381951616-12548-5-git-send-email-seanpaul@chromium.org \
--to=seanpaul@chromium.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=inki.dae@samsung.com \
--cc=marcheu@chromium.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;
as well as URLs for NNTP newsgroup(s).