All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gerd Hoffmann <kraxel@redhat.com>
To: dri-devel@lists.freedesktop.org, David Airlie <airlied@redhat.com>
Cc: andr2000@gmail.com, open list <linux-kernel@vger.kernel.org>,
	"open list:DRM DRIVER FOR BOCHS VIRTUAL GPU"
	<virtualization@lists.linux-foundation.org>,
	David Airlie <airlied@linux.ie>,
	noralf@tronnes.org
Subject: [PATCH v4 03/16] drm/bochs: atomic: add atomic_flush+atomic_enable callbacks.
Date: Fri, 11 Jan 2019 06:37:39 +0100	[thread overview]
Message-ID: <20190111053752.4004-4-kraxel__36111.7902132266$1547692838$gmane$org@redhat.com> (raw)
In-Reply-To: <20190111053752.4004-1-kraxel@redhat.com>

Conversion to atomic modesetting, step one.
Add atomic crtc helper callbacks.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/bochs/bochs_kms.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/drivers/gpu/drm/bochs/bochs_kms.c b/drivers/gpu/drm/bochs/bochs_kms.c
index f7e6d1a9b3..2cbd406b1f 100644
--- a/drivers/gpu/drm/bochs/bochs_kms.c
+++ b/drivers/gpu/drm/bochs/bochs_kms.c
@@ -115,6 +115,29 @@ static int bochs_crtc_page_flip(struct drm_crtc *crtc,
 	return 0;
 }
 
+static void bochs_crtc_atomic_enable(struct drm_crtc *crtc,
+				     struct drm_crtc_state *old_crtc_state)
+{
+}
+
+static void bochs_crtc_atomic_flush(struct drm_crtc *crtc,
+				    struct drm_crtc_state *old_crtc_state)
+{
+	struct drm_device *dev = crtc->dev;
+	struct drm_pending_vblank_event *event;
+
+	if (crtc->state && crtc->state->event) {
+		unsigned long irqflags;
+
+		spin_lock_irqsave(&dev->event_lock, irqflags);
+		event = crtc->state->event;
+		crtc->state->event = NULL;
+		drm_crtc_send_vblank_event(crtc, event);
+		spin_unlock_irqrestore(&dev->event_lock, irqflags);
+	}
+}
+
+
 /* These provide the minimum set of functions required to handle a CRTC */
 static const struct drm_crtc_funcs bochs_crtc_funcs = {
 	.set_config = drm_crtc_helper_set_config,
@@ -128,6 +151,8 @@ static const struct drm_crtc_helper_funcs bochs_helper_funcs = {
 	.mode_set_base = bochs_crtc_mode_set_base,
 	.prepare = bochs_crtc_prepare,
 	.commit = bochs_crtc_commit,
+	.atomic_enable = bochs_crtc_atomic_enable,
+	.atomic_flush = bochs_crtc_atomic_flush,
 };
 
 static const uint32_t bochs_formats[] = {
-- 
2.9.3

  parent reply	other threads:[~2019-01-11  5:37 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-11  5:37 [PATCH v4 00/16] drm/bochs: cleanups, atomic modesetting, generic fbdev Gerd Hoffmann
2019-01-11  5:37 ` [PATCH v4 01/16] drm/bochs: encoder cleanup Gerd Hoffmann
2019-01-11  5:37   ` Gerd Hoffmann
2019-01-11  5:37 ` Gerd Hoffmann
2019-01-11  5:37 ` [PATCH v4 02/16] drm/bochs: split bochs_hw_setmode Gerd Hoffmann
2019-01-11  5:37   ` Gerd Hoffmann
2019-01-11  5:37 ` Gerd Hoffmann
2019-01-11  5:37 ` Gerd Hoffmann [this message]
2019-01-11  5:37 ` [PATCH v4 03/16] drm/bochs: atomic: add atomic_flush+atomic_enable callbacks Gerd Hoffmann
2019-01-11  5:37   ` Gerd Hoffmann
2019-01-11  5:37 ` [PATCH v4 04/16] drm/bochs: atomic: add mode_set_nofb callback Gerd Hoffmann
2019-01-11  5:37   ` Gerd Hoffmann
2019-01-11  5:37 ` Gerd Hoffmann
2019-01-11  5:37 ` [PATCH v4 05/16] drm/bochs: atomic: switch planes to atomic, wire up helpers Gerd Hoffmann
2019-01-11  5:37 ` Gerd Hoffmann
2019-01-11  5:37   ` Gerd Hoffmann
2019-01-11  5:37 ` [PATCH v4 06/16] drm/bochs: atomic: use atomic set_config helper Gerd Hoffmann
2019-01-11  5:37   ` Gerd Hoffmann
2019-01-11  5:37 ` Gerd Hoffmann
2019-01-11  5:37 ` [PATCH v4 07/16] drm/bochs: atomic: use atomic page_flip helper Gerd Hoffmann
2019-01-11  5:37   ` Gerd Hoffmann
2019-01-11  5:37 ` Gerd Hoffmann
2019-01-11  5:37 ` [PATCH v4 08/16] drm/bochs: atomic: use suspend/resume helpers Gerd Hoffmann
2019-01-11  5:37 ` Gerd Hoffmann
2019-01-11  5:37   ` Gerd Hoffmann
2019-01-11 11:08   ` Oleksandr Andrushchenko
2019-01-11 11:08     ` Oleksandr Andrushchenko
2019-01-11  5:37 ` [PATCH v4 09/16] drm/bochs: atomic: set DRIVER_ATOMIC Gerd Hoffmann
2019-01-11  5:37 ` Gerd Hoffmann
2019-01-11  5:37   ` Gerd Hoffmann
2019-01-11  5:37 ` [PATCH v4 10/16] drm/bochs: remove old bochs_crtc_* functions Gerd Hoffmann
2019-01-11  5:37 ` Gerd Hoffmann
2019-01-11  5:37   ` Gerd Hoffmann
2019-01-11  5:37 ` [PATCH v4 11/16] drm/bochs: drop unused gpu_addr arg from bochs_bo_pin() Gerd Hoffmann
2019-01-11  5:37   ` Gerd Hoffmann
2019-01-11  5:37 ` Gerd Hoffmann
2019-01-11  5:37 ` [PATCH v4 12/16] drm/bochs: move ttm_bo_(un)reserve calls into bochs_bo_{pin, unpin} Gerd Hoffmann
2019-01-11  5:37 ` [PATCH v4 12/16] drm/bochs: move ttm_bo_(un)reserve calls into bochs_bo_{pin,unpin} Gerd Hoffmann
2019-01-11  5:37   ` [PATCH v4 12/16] drm/bochs: move ttm_bo_(un)reserve calls into bochs_bo_{pin, unpin} Gerd Hoffmann
2019-01-11  5:37 ` [PATCH v4 13/16] drm/bochs: add basic prime support Gerd Hoffmann
2019-01-11  5:37 ` Gerd Hoffmann
2019-01-11  5:37   ` Gerd Hoffmann
2019-01-11  5:37 ` [PATCH v4 14/16] drm/bochs: switch to generic drm fbdev emulation Gerd Hoffmann
2019-01-11  5:37 ` Gerd Hoffmann
2019-01-11  5:37   ` Gerd Hoffmann
2019-01-11  5:37 ` [PATCH v4 15/16] drm/bochs: drop old fbdev emulation code Gerd Hoffmann
2019-01-11  5:37 ` Gerd Hoffmann
2019-01-11  5:37   ` Gerd Hoffmann
2019-01-11  5:37 ` [PATCH v4 16/16] drm/bochs: move remaining fb bits to kms Gerd Hoffmann
2019-01-11  5:37 ` Gerd Hoffmann
2019-01-11  5:37   ` Gerd Hoffmann

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='20190111053752.4004-4-kraxel__36111.7902132266$1547692838$gmane$org@redhat.com' \
    --to=kraxel@redhat.com \
    --cc=airlied@linux.ie \
    --cc=airlied@redhat.com \
    --cc=andr2000@gmail.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=noralf@tronnes.org \
    --cc=virtualization@lists.linux-foundation.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.