linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 01/10] drm/nouveau: replace legacy vblank helpers
@ 2016-06-07 14:07 Gustavo Padovan
  2016-06-07 14:07 ` [PATCH 02/10] drm: remove legacy drm_send_vblank_event() Gustavo Padovan
                   ` (8 more replies)
  0 siblings, 9 replies; 17+ messages in thread
From: Gustavo Padovan @ 2016-06-07 14:07 UTC (permalink / raw)
  To: dri-devel
  Cc: Gustavo Padovan, Ben Skeggs, David Airlie,
	open list:DRM DRIVER FOR NVIDIA GEFORCE/QUADRO GPUS, open list

From: Gustavo Padovan <gustavo.padovan@collabora.co.uk>

Replace the legacy drm_send_vblank_event(), drm_arm_vblank_event() and
drm_vblank_{get,put}() with the new helper functions.

v2: add crtc to nouveau_page_flip_state (comment from Mario Kleiner)

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
---
 drivers/gpu/drm/nouveau/nouveau_display.c | 22 +++++++++++-----------
 drivers/gpu/drm/nouveau/nouveau_display.h |  3 ++-
 2 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c b/drivers/gpu/drm/nouveau/nouveau_display.c
index 7c77f96..6072fe2 100644
--- a/drivers/gpu/drm/nouveau/nouveau_display.c
+++ b/drivers/gpu/drm/nouveau/nouveau_display.c
@@ -760,12 +760,11 @@ nouveau_crtc_page_flip(struct drm_crtc *crtc, struct drm_framebuffer *fb,
 
 	/* Initialize a page flip struct */
 	*s = (struct nouveau_page_flip_state)
-		{ { }, event, nouveau_crtc(crtc)->index,
-		  fb->bits_per_pixel, fb->pitches[0], crtc->x, crtc->y,
+		{ { }, event, crtc, fb->bits_per_pixel, fb->pitches[0],
 		  new_bo->bo.offset };
 
 	/* Keep vblanks on during flip, for the target crtc of this flip */
-	drm_vblank_get(dev, nouveau_crtc(crtc)->index);
+	drm_crtc_vblank_get(crtc);
 
 	/* Emit a page flip */
 	if (drm->device.info.family >= NV_DEVICE_INFO_V0_TESLA) {
@@ -810,7 +809,7 @@ nouveau_crtc_page_flip(struct drm_crtc *crtc, struct drm_framebuffer *fb,
 	return 0;
 
 fail_unreserve:
-	drm_vblank_put(dev, nouveau_crtc(crtc)->index);
+	drm_crtc_vblank_put(crtc);
 	ttm_bo_unreserve(&old_bo->bo);
 fail_unpin:
 	mutex_unlock(&cli->mutex);
@@ -842,17 +841,17 @@ nouveau_finish_page_flip(struct nouveau_channel *chan,
 	s = list_first_entry(&fctx->flip, struct nouveau_page_flip_state, head);
 	if (s->event) {
 		if (drm->device.info.family < NV_DEVICE_INFO_V0_TESLA) {
-			drm_arm_vblank_event(dev, s->crtc, s->event);
+			drm_crtc_arm_vblank_event(s->crtc, s->event);
 		} else {
-			drm_send_vblank_event(dev, s->crtc, s->event);
+			drm_crtc_send_vblank_event(s->crtc, s->event);
 
 			/* Give up ownership of vblank for page-flipped crtc */
-			drm_vblank_put(dev, s->crtc);
+			drm_crtc_vblank_put(s->crtc);
 		}
 	}
 	else {
 		/* Give up ownership of vblank for page-flipped crtc */
-		drm_vblank_put(dev, s->crtc);
+		drm_crtc_vblank_put(s->crtc);
 	}
 
 	list_del(&s->head);
@@ -873,9 +872,10 @@ nouveau_flip_complete(struct nvif_notify *notify)
 
 	if (!nouveau_finish_page_flip(chan, &state)) {
 		if (drm->device.info.family < NV_DEVICE_INFO_V0_TESLA) {
-			nv_set_crtc_base(drm->dev, state.crtc, state.offset +
-					 state.y * state.pitch +
-					 state.x * state.bpp / 8);
+			nv_set_crtc_base(drm->dev, drm_crtc_index(state.crtc),
+					 state.offset + state.crtc->y *
+					 state.pitch + state.crtc->x *
+					 state.bpp / 8);
 		}
 	}
 
diff --git a/drivers/gpu/drm/nouveau/nouveau_display.h b/drivers/gpu/drm/nouveau/nouveau_display.h
index 24273ba..0420ee8 100644
--- a/drivers/gpu/drm/nouveau/nouveau_display.h
+++ b/drivers/gpu/drm/nouveau/nouveau_display.h
@@ -28,7 +28,8 @@ int nouveau_framebuffer_init(struct drm_device *, struct nouveau_framebuffer *,
 struct nouveau_page_flip_state {
 	struct list_head head;
 	struct drm_pending_vblank_event *event;
-	int crtc, bpp, pitch, x, y;
+	struct drm_crtc *crtc;
+	int bpp, pitch;
 	u64 offset;
 };
 
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 02/10] drm: remove legacy drm_send_vblank_event()
  2016-06-07 14:07 [PATCH 01/10] drm/nouveau: replace legacy vblank helpers Gustavo Padovan
@ 2016-06-07 14:07 ` Gustavo Padovan
  2016-06-07 14:07 ` [PATCH 03/10] drm: remove legacy drm_arm_vblank_event() Gustavo Padovan
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 17+ messages in thread
From: Gustavo Padovan @ 2016-06-07 14:07 UTC (permalink / raw)
  To: dri-devel; +Cc: Gustavo Padovan, David Airlie, open list

From: Gustavo Padovan <gustavo.padovan@collabora.co.uk>

We don't have any user of this function anymore, let's remove it.

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
---
 drivers/gpu/drm/drm_irq.c | 31 ++++++-------------------------
 include/drm/drmP.h        |  2 --
 2 files changed, 6 insertions(+), 27 deletions(-)

diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
index 4dc41ff..6eb17a2 100644
--- a/drivers/gpu/drm/drm_irq.c
+++ b/drivers/gpu/drm/drm_irq.c
@@ -1052,21 +1052,19 @@ void drm_crtc_arm_vblank_event(struct drm_crtc *crtc,
 EXPORT_SYMBOL(drm_crtc_arm_vblank_event);
 
 /**
- * drm_send_vblank_event - helper to send vblank event after pageflip
- * @dev: DRM device
- * @pipe: CRTC index
+ * drm_crtc_send_vblank_event - helper to send vblank event after pageflip
+ * @crtc: the source CRTC of the vblank event
  * @e: the event to send
  *
  * Updates sequence # and timestamp on event, and sends it to userspace.
  * Caller must hold event lock.
- *
- * This is the legacy version of drm_crtc_send_vblank_event().
  */
-void drm_send_vblank_event(struct drm_device *dev, unsigned int pipe,
-			   struct drm_pending_vblank_event *e)
+void drm_crtc_send_vblank_event(struct drm_crtc *crtc,
+				struct drm_pending_vblank_event *e)
 {
+	struct drm_device *dev = crtc->dev;
+	unsigned int seq, pipe = drm_crtc_index(crtc);
 	struct timeval now;
-	unsigned int seq;
 
 	if (dev->num_crtcs > 0) {
 		seq = drm_vblank_count_and_time(dev, pipe, &now);
@@ -1078,23 +1076,6 @@ void drm_send_vblank_event(struct drm_device *dev, unsigned int pipe,
 	e->pipe = pipe;
 	send_vblank_event(dev, e, seq, &now);
 }
-EXPORT_SYMBOL(drm_send_vblank_event);
-
-/**
- * drm_crtc_send_vblank_event - helper to send vblank event after pageflip
- * @crtc: the source CRTC of the vblank event
- * @e: the event to send
- *
- * Updates sequence # and timestamp on event, and sends it to userspace.
- * Caller must hold event lock.
- *
- * This is the native KMS version of drm_send_vblank_event().
- */
-void drm_crtc_send_vblank_event(struct drm_crtc *crtc,
-				struct drm_pending_vblank_event *e)
-{
-	drm_send_vblank_event(crtc->dev, drm_crtc_index(crtc), e);
-}
 EXPORT_SYMBOL(drm_crtc_send_vblank_event);
 
 /**
diff --git a/include/drm/drmP.h b/include/drm/drmP.h
index 9e5eefd..5aff206 100644
--- a/include/drm/drmP.h
+++ b/include/drm/drmP.h
@@ -969,8 +969,6 @@ extern u32 drm_vblank_count_and_time(struct drm_device *dev, unsigned int pipe,
 				     struct timeval *vblanktime);
 extern u32 drm_crtc_vblank_count_and_time(struct drm_crtc *crtc,
 					  struct timeval *vblanktime);
-extern void drm_send_vblank_event(struct drm_device *dev, unsigned int pipe,
-				  struct drm_pending_vblank_event *e);
 extern void drm_crtc_send_vblank_event(struct drm_crtc *crtc,
 				       struct drm_pending_vblank_event *e);
 extern void drm_arm_vblank_event(struct drm_device *dev, unsigned int pipe,
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 03/10] drm: remove legacy drm_arm_vblank_event()
  2016-06-07 14:07 [PATCH 01/10] drm/nouveau: replace legacy vblank helpers Gustavo Padovan
  2016-06-07 14:07 ` [PATCH 02/10] drm: remove legacy drm_send_vblank_event() Gustavo Padovan
@ 2016-06-07 14:07 ` Gustavo Padovan
  2016-06-07 14:07 ` [PATCH 04/10] drm: make drm_vblank_{get,put}() static Gustavo Padovan
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 17+ messages in thread
From: Gustavo Padovan @ 2016-06-07 14:07 UTC (permalink / raw)
  To: dri-devel; +Cc: Gustavo Padovan, David Airlie, open list

From: Gustavo Padovan <gustavo.padovan@collabora.co.uk>

We don't have any user of this function anymore, let's remove it.

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
---
 drivers/gpu/drm/drm_irq.c | 39 ++++++++-------------------------------
 include/drm/drmP.h        |  2 --
 2 files changed, 8 insertions(+), 33 deletions(-)

diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
index 6eb17a2..38cc782 100644
--- a/drivers/gpu/drm/drm_irq.c
+++ b/drivers/gpu/drm/drm_irq.c
@@ -1001,34 +1001,6 @@ static void send_vblank_event(struct drm_device *dev,
 }
 
 /**
- * drm_arm_vblank_event - arm vblank event after pageflip
- * @dev: DRM device
- * @pipe: CRTC index
- * @e: the event to prepare to send
- *
- * A lot of drivers need to generate vblank events for the very next vblank
- * interrupt. For example when the page flip interrupt happens when the page
- * flip gets armed, but not when it actually executes within the next vblank
- * period. This helper function implements exactly the required vblank arming
- * behaviour.
- *
- * Caller must hold event lock. Caller must also hold a vblank reference for
- * the event @e, which will be dropped when the next vblank arrives.
- *
- * This is the legacy version of drm_crtc_arm_vblank_event().
- */
-void drm_arm_vblank_event(struct drm_device *dev, unsigned int pipe,
-			  struct drm_pending_vblank_event *e)
-{
-	assert_spin_locked(&dev->event_lock);
-
-	e->pipe = pipe;
-	e->event.sequence = drm_vblank_count(dev, pipe);
-	list_add_tail(&e->base.link, &dev->vblank_event_list);
-}
-EXPORT_SYMBOL(drm_arm_vblank_event);
-
-/**
  * drm_crtc_arm_vblank_event - arm vblank event after pageflip
  * @crtc: the source CRTC of the vblank event
  * @e: the event to send
@@ -1041,13 +1013,18 @@ EXPORT_SYMBOL(drm_arm_vblank_event);
  *
  * Caller must hold event lock. Caller must also hold a vblank reference for
  * the event @e, which will be dropped when the next vblank arrives.
- *
- * This is the native KMS version of drm_arm_vblank_event().
  */
 void drm_crtc_arm_vblank_event(struct drm_crtc *crtc,
 			       struct drm_pending_vblank_event *e)
 {
-	drm_arm_vblank_event(crtc->dev, drm_crtc_index(crtc), e);
+	struct drm_device *dev = crtc->dev;
+	unsigned int pipe = drm_crtc_index(crtc);
+
+	assert_spin_locked(&dev->event_lock);
+
+	e->pipe = pipe;
+	e->event.sequence = drm_vblank_count(dev, pipe);
+	list_add_tail(&e->base.link, &dev->vblank_event_list);
 }
 EXPORT_SYMBOL(drm_crtc_arm_vblank_event);
 
diff --git a/include/drm/drmP.h b/include/drm/drmP.h
index 5aff206..924b4fd 100644
--- a/include/drm/drmP.h
+++ b/include/drm/drmP.h
@@ -971,8 +971,6 @@ extern u32 drm_crtc_vblank_count_and_time(struct drm_crtc *crtc,
 					  struct timeval *vblanktime);
 extern void drm_crtc_send_vblank_event(struct drm_crtc *crtc,
 				       struct drm_pending_vblank_event *e);
-extern void drm_arm_vblank_event(struct drm_device *dev, unsigned int pipe,
-				 struct drm_pending_vblank_event *e);
 extern void drm_crtc_arm_vblank_event(struct drm_crtc *crtc,
 				      struct drm_pending_vblank_event *e);
 extern bool drm_handle_vblank(struct drm_device *dev, unsigned int pipe);
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 04/10] drm: make drm_vblank_{get,put}() static
  2016-06-07 14:07 [PATCH 01/10] drm/nouveau: replace legacy vblank helpers Gustavo Padovan
  2016-06-07 14:07 ` [PATCH 02/10] drm: remove legacy drm_send_vblank_event() Gustavo Padovan
  2016-06-07 14:07 ` [PATCH 03/10] drm: remove legacy drm_arm_vblank_event() Gustavo Padovan
@ 2016-06-07 14:07 ` Gustavo Padovan
  2016-08-03  6:30   ` Rodrigo Vivi
  2016-06-07 14:07 ` [PATCH 05/10] drm: make drm_vblank_count_and_time() static Gustavo Padovan
                   ` (5 subsequent siblings)
  8 siblings, 1 reply; 17+ messages in thread
From: Gustavo Padovan @ 2016-06-07 14:07 UTC (permalink / raw)
  To: dri-devel; +Cc: Gustavo Padovan, David Airlie, open list

From: Gustavo Padovan <gustavo.padovan@collabora.co.uk>

As they are not used anywhere outside drm_irq.c make them static.

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
---
 drivers/gpu/drm/drm_irq.c | 10 ++--------
 include/drm/drmP.h        |  2 --
 2 files changed, 2 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
index 38cc782..76e39c5 100644
--- a/drivers/gpu/drm/drm_irq.c
+++ b/drivers/gpu/drm/drm_irq.c
@@ -1108,7 +1108,7 @@ static int drm_vblank_enable(struct drm_device *dev, unsigned int pipe)
  * Returns:
  * Zero on success or a negative error code on failure.
  */
-int drm_vblank_get(struct drm_device *dev, unsigned int pipe)
+static int drm_vblank_get(struct drm_device *dev, unsigned int pipe)
 {
 	struct drm_vblank_crtc *vblank = &dev->vblank[pipe];
 	unsigned long irqflags;
@@ -1134,7 +1134,6 @@ int drm_vblank_get(struct drm_device *dev, unsigned int pipe)
 
 	return ret;
 }
-EXPORT_SYMBOL(drm_vblank_get);
 
 /**
  * drm_crtc_vblank_get - get a reference count on vblank events
@@ -1143,8 +1142,6 @@ EXPORT_SYMBOL(drm_vblank_get);
  * Acquire a reference count on vblank events to avoid having them disabled
  * while in use.
  *
- * This is the native kms version of drm_vblank_get().
- *
  * Returns:
  * Zero on success or a negative error code on failure.
  */
@@ -1164,7 +1161,7 @@ EXPORT_SYMBOL(drm_crtc_vblank_get);
  *
  * This is the legacy version of drm_crtc_vblank_put().
  */
-void drm_vblank_put(struct drm_device *dev, unsigned int pipe)
+static void drm_vblank_put(struct drm_device *dev, unsigned int pipe)
 {
 	struct drm_vblank_crtc *vblank = &dev->vblank[pipe];
 
@@ -1185,7 +1182,6 @@ void drm_vblank_put(struct drm_device *dev, unsigned int pipe)
 				  jiffies + ((drm_vblank_offdelay * HZ)/1000));
 	}
 }
-EXPORT_SYMBOL(drm_vblank_put);
 
 /**
  * drm_crtc_vblank_put - give up ownership of vblank events
@@ -1193,8 +1189,6 @@ EXPORT_SYMBOL(drm_vblank_put);
  *
  * Release ownership of a given vblank counter, turning off interrupts
  * if possible. Disable interrupts after drm_vblank_offdelay milliseconds.
- *
- * This is the native kms version of drm_vblank_put().
  */
 void drm_crtc_vblank_put(struct drm_crtc *crtc)
 {
diff --git a/include/drm/drmP.h b/include/drm/drmP.h
index 924b4fd..23f79a5 100644
--- a/include/drm/drmP.h
+++ b/include/drm/drmP.h
@@ -975,8 +975,6 @@ extern void drm_crtc_arm_vblank_event(struct drm_crtc *crtc,
 				      struct drm_pending_vblank_event *e);
 extern bool drm_handle_vblank(struct drm_device *dev, unsigned int pipe);
 extern bool drm_crtc_handle_vblank(struct drm_crtc *crtc);
-extern int drm_vblank_get(struct drm_device *dev, unsigned int pipe);
-extern void drm_vblank_put(struct drm_device *dev, unsigned int pipe);
 extern int drm_crtc_vblank_get(struct drm_crtc *crtc);
 extern void drm_crtc_vblank_put(struct drm_crtc *crtc);
 extern void drm_wait_one_vblank(struct drm_device *dev, unsigned int pipe);
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 05/10] drm: make drm_vblank_count_and_time() static
  2016-06-07 14:07 [PATCH 01/10] drm/nouveau: replace legacy vblank helpers Gustavo Padovan
                   ` (2 preceding siblings ...)
  2016-06-07 14:07 ` [PATCH 04/10] drm: make drm_vblank_{get,put}() static Gustavo Padovan
@ 2016-06-07 14:07 ` Gustavo Padovan
  2016-06-07 14:58   ` Gustavo Padovan
  2016-06-07 14:07 ` [PATCH 06/10] drm/amdgpu: use drm_crtc_vblank_{on,off}() Gustavo Padovan
                   ` (4 subsequent siblings)
  8 siblings, 1 reply; 17+ messages in thread
From: Gustavo Padovan @ 2016-06-07 14:07 UTC (permalink / raw)
  To: dri-devel; +Cc: Gustavo Padovan, David Airlie, open list

From: Gustavo Padovan <gustavo.padovan@collabora.co.uk>

As they are not used anywhere outside drm_irq.c make them static.

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
---
 drivers/gpu/drm/drm_irq.c | 7 ++-----
 include/drm/drmP.h        | 2 --
 2 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
index 76e39c5..44ea2fa 100644
--- a/drivers/gpu/drm/drm_irq.c
+++ b/drivers/gpu/drm/drm_irq.c
@@ -945,8 +945,8 @@ EXPORT_SYMBOL(drm_crtc_vblank_count);
  *
  * This is the legacy version of drm_crtc_vblank_count_and_time().
  */
-u32 drm_vblank_count_and_time(struct drm_device *dev, unsigned int pipe,
-			      struct timeval *vblanktime)
+static u32 drm_vblank_count_and_time(struct drm_device *dev, unsigned int pipe,
+				     struct timeval *vblanktime)
 {
 	struct drm_vblank_crtc *vblank = &dev->vblank[pipe];
 	u32 vblank_count;
@@ -963,7 +963,6 @@ u32 drm_vblank_count_and_time(struct drm_device *dev, unsigned int pipe,
 
 	return vblank_count;
 }
-EXPORT_SYMBOL(drm_vblank_count_and_time);
 
 /**
  * drm_crtc_vblank_count_and_time - retrieve "cooked" vblank counter value
@@ -975,8 +974,6 @@ EXPORT_SYMBOL(drm_vblank_count_and_time);
  * vblank events since the system was booted, including lost events due to
  * modesetting activity. Returns corresponding system timestamp of the time
  * of the vblank interval that corresponds to the current vblank counter value.
- *
- * This is the native KMS version of drm_vblank_count_and_time().
  */
 u32 drm_crtc_vblank_count_and_time(struct drm_crtc *crtc,
 				   struct timeval *vblanktime)
diff --git a/include/drm/drmP.h b/include/drm/drmP.h
index 23f79a5..f7f5fbb 100644
--- a/include/drm/drmP.h
+++ b/include/drm/drmP.h
@@ -965,8 +965,6 @@ extern int drm_wait_vblank(struct drm_device *dev, void *data,
 			   struct drm_file *filp);
 extern u32 drm_vblank_count(struct drm_device *dev, unsigned int pipe);
 extern u32 drm_crtc_vblank_count(struct drm_crtc *crtc);
-extern u32 drm_vblank_count_and_time(struct drm_device *dev, unsigned int pipe,
-				     struct timeval *vblanktime);
 extern u32 drm_crtc_vblank_count_and_time(struct drm_crtc *crtc,
 					  struct timeval *vblanktime);
 extern void drm_crtc_send_vblank_event(struct drm_crtc *crtc,
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 06/10] drm/amdgpu: use drm_crtc_vblank_{on,off}()
  2016-06-07 14:07 [PATCH 01/10] drm/nouveau: replace legacy vblank helpers Gustavo Padovan
                   ` (3 preceding siblings ...)
  2016-06-07 14:07 ` [PATCH 05/10] drm: make drm_vblank_count_and_time() static Gustavo Padovan
@ 2016-06-07 14:07 ` Gustavo Padovan
  2016-06-08  3:55   ` Michel Dänzer
  2016-06-07 14:07 ` [PATCH 07/10] drm/gma500: " Gustavo Padovan
                   ` (3 subsequent siblings)
  8 siblings, 1 reply; 17+ messages in thread
From: Gustavo Padovan @ 2016-06-07 14:07 UTC (permalink / raw)
  To: dri-devel
  Cc: Gustavo Padovan, Alex Deucher, Christian König,
	David Airlie, Michel Dänzer, open list

From: Gustavo Padovan <gustavo.padovan@collabora.co.uk>

Replace the legacy drm_vblank_{on,off}() with the new helper functions.

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
---
 drivers/gpu/drm/amd/amdgpu/dce_v10_0.c | 4 ++--
 drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | 4 ++--
 drivers/gpu/drm/amd/amdgpu/dce_v8_0.c  | 4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c
index 7e57447..5d9021b 100644
--- a/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c
@@ -2717,13 +2717,13 @@ static void dce_v10_0_crtc_dpms(struct drm_crtc *crtc, int mode)
 		type = amdgpu_crtc_idx_to_irq_type(adev, amdgpu_crtc->crtc_id);
 		amdgpu_irq_update(adev, &adev->crtc_irq, type);
 		amdgpu_irq_update(adev, &adev->pageflip_irq, type);
-		drm_vblank_on(dev, amdgpu_crtc->crtc_id);
+		drm_crtc_vblank_on(crtc);
 		dce_v10_0_crtc_load_lut(crtc);
 		break;
 	case DRM_MODE_DPMS_STANDBY:
 	case DRM_MODE_DPMS_SUSPEND:
 	case DRM_MODE_DPMS_OFF:
-		drm_vblank_off(dev, amdgpu_crtc->crtc_id);
+		drm_crtc_vblank_off(crtc);
 		if (amdgpu_crtc->enabled) {
 			dce_v10_0_vga_enable(crtc, true);
 			amdgpu_atombios_crtc_blank(crtc, ATOM_ENABLE);
diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c
index da10155..5e3a815 100644
--- a/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c
@@ -2728,13 +2728,13 @@ static void dce_v11_0_crtc_dpms(struct drm_crtc *crtc, int mode)
 		type = amdgpu_crtc_idx_to_irq_type(adev, amdgpu_crtc->crtc_id);
 		amdgpu_irq_update(adev, &adev->crtc_irq, type);
 		amdgpu_irq_update(adev, &adev->pageflip_irq, type);
-		drm_vblank_on(dev, amdgpu_crtc->crtc_id);
+		drm_crtc_vblank_on(crtc);
 		dce_v11_0_crtc_load_lut(crtc);
 		break;
 	case DRM_MODE_DPMS_STANDBY:
 	case DRM_MODE_DPMS_SUSPEND:
 	case DRM_MODE_DPMS_OFF:
-		drm_vblank_off(dev, amdgpu_crtc->crtc_id);
+		drm_crtc_vblank_off(crtc);
 		if (amdgpu_crtc->enabled) {
 			dce_v11_0_vga_enable(crtc, true);
 			amdgpu_atombios_crtc_blank(crtc, ATOM_ENABLE);
diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
index 41d9bc5..a823e73 100644
--- a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
@@ -2624,13 +2624,13 @@ static void dce_v8_0_crtc_dpms(struct drm_crtc *crtc, int mode)
 		type = amdgpu_crtc_idx_to_irq_type(adev, amdgpu_crtc->crtc_id);
 		amdgpu_irq_update(adev, &adev->crtc_irq, type);
 		amdgpu_irq_update(adev, &adev->pageflip_irq, type);
-		drm_vblank_on(dev, amdgpu_crtc->crtc_id);
+		drm_crtc_vblank_on(crtc);
 		dce_v8_0_crtc_load_lut(crtc);
 		break;
 	case DRM_MODE_DPMS_STANDBY:
 	case DRM_MODE_DPMS_SUSPEND:
 	case DRM_MODE_DPMS_OFF:
-		drm_vblank_off(dev, amdgpu_crtc->crtc_id);
+		drm_crtc_vblank_off(crtc);
 		if (amdgpu_crtc->enabled) {
 			dce_v8_0_vga_enable(crtc, true);
 			amdgpu_atombios_crtc_blank(crtc, ATOM_ENABLE);
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 07/10] drm/gma500: use drm_crtc_vblank_{on,off}()
  2016-06-07 14:07 [PATCH 01/10] drm/nouveau: replace legacy vblank helpers Gustavo Padovan
                   ` (4 preceding siblings ...)
  2016-06-07 14:07 ` [PATCH 06/10] drm/amdgpu: use drm_crtc_vblank_{on,off}() Gustavo Padovan
@ 2016-06-07 14:07 ` Gustavo Padovan
  2016-06-07 14:34   ` Patrik Jakobsson
  2016-06-07 14:08 ` [PATCH 08/10] drm/radeon: " Gustavo Padovan
                   ` (2 subsequent siblings)
  8 siblings, 1 reply; 17+ messages in thread
From: Gustavo Padovan @ 2016-06-07 14:07 UTC (permalink / raw)
  To: dri-devel; +Cc: Gustavo Padovan, Patrik Jakobsson, David Airlie, open list

From: Gustavo Padovan <gustavo.padovan@collabora.co.uk>

Replace the legacy drm_vblank_{on,off}() with the new helper functions.

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
---
 drivers/gpu/drm/gma500/gma_display.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/gma500/gma_display.c b/drivers/gpu/drm/gma500/gma_display.c
index c95406e..e3d9e35 100644
--- a/drivers/gpu/drm/gma500/gma_display.c
+++ b/drivers/gpu/drm/gma500/gma_display.c
@@ -281,7 +281,7 @@ void gma_crtc_dpms(struct drm_crtc *crtc, int mode)
 		REG_WRITE(VGACNTRL, VGA_DISP_DISABLE);
 
 		/* Turn off vblank interrupts */
-		drm_vblank_off(dev, pipe);
+		drm_crtc_vblank_off(crtc);
 
 		/* Wait for vblank for the disable to take effect */
 		gma_wait_for_vblank(dev);
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 08/10] drm/radeon: use drm_crtc_vblank_{on,off}()
  2016-06-07 14:07 [PATCH 01/10] drm/nouveau: replace legacy vblank helpers Gustavo Padovan
                   ` (5 preceding siblings ...)
  2016-06-07 14:07 ` [PATCH 07/10] drm/gma500: " Gustavo Padovan
@ 2016-06-07 14:08 ` Gustavo Padovan
  2016-06-07 14:08 ` [PATCH 09/10] drm/amdgpu: use crtc directly in drm_crtc_vblank_put() Gustavo Padovan
  2016-06-07 14:08 ` [PATCH 10/10] drm/radeon: " Gustavo Padovan
  8 siblings, 0 replies; 17+ messages in thread
From: Gustavo Padovan @ 2016-06-07 14:08 UTC (permalink / raw)
  To: dri-devel
  Cc: Gustavo Padovan, Alex Deucher, Christian König,
	David Airlie, open list

From: Gustavo Padovan <gustavo.padovan@collabora.co.uk>

Replace the legacy drm_vblank_{on,off}() with the new helper functions.

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
---
 drivers/gpu/drm/radeon/atombios_crtc.c      | 4 ++--
 drivers/gpu/drm/radeon/radeon_legacy_crtc.c | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/radeon/atombios_crtc.c b/drivers/gpu/drm/radeon/atombios_crtc.c
index 2e216e2..e91763d 100644
--- a/drivers/gpu/drm/radeon/atombios_crtc.c
+++ b/drivers/gpu/drm/radeon/atombios_crtc.c
@@ -276,14 +276,14 @@ void atombios_crtc_dpms(struct drm_crtc *crtc, int mode)
 			atombios_enable_crtc_memreq(crtc, ATOM_ENABLE);
 		atombios_blank_crtc(crtc, ATOM_DISABLE);
 		if (dev->num_crtcs > radeon_crtc->crtc_id)
-			drm_vblank_on(dev, radeon_crtc->crtc_id);
+			drm_crtc_vblank_on(crtc);
 		radeon_crtc_load_lut(crtc);
 		break;
 	case DRM_MODE_DPMS_STANDBY:
 	case DRM_MODE_DPMS_SUSPEND:
 	case DRM_MODE_DPMS_OFF:
 		if (dev->num_crtcs > radeon_crtc->crtc_id)
-			drm_vblank_off(dev, radeon_crtc->crtc_id);
+			drm_crtc_vblank_off(crtc);
 		if (radeon_crtc->enabled)
 			atombios_blank_crtc(crtc, ATOM_ENABLE);
 		if (ASIC_IS_DCE3(rdev) && !ASIC_IS_DCE6(rdev))
diff --git a/drivers/gpu/drm/radeon/radeon_legacy_crtc.c b/drivers/gpu/drm/radeon/radeon_legacy_crtc.c
index 478d409..d0de4022 100644
--- a/drivers/gpu/drm/radeon/radeon_legacy_crtc.c
+++ b/drivers/gpu/drm/radeon/radeon_legacy_crtc.c
@@ -332,14 +332,14 @@ static void radeon_crtc_dpms(struct drm_crtc *crtc, int mode)
 			WREG32_P(RADEON_CRTC_EXT_CNTL, crtc_ext_cntl, ~(mask | crtc_ext_cntl));
 		}
 		if (dev->num_crtcs > radeon_crtc->crtc_id)
-			drm_vblank_on(dev, radeon_crtc->crtc_id);
+			drm_crtc_vblank_on(crtc);
 		radeon_crtc_load_lut(crtc);
 		break;
 	case DRM_MODE_DPMS_STANDBY:
 	case DRM_MODE_DPMS_SUSPEND:
 	case DRM_MODE_DPMS_OFF:
 		if (dev->num_crtcs > radeon_crtc->crtc_id)
-			drm_vblank_off(dev, radeon_crtc->crtc_id);
+			drm_crtc_vblank_off(crtc);
 		if (radeon_crtc->crtc_id)
 			WREG32_P(RADEON_CRTC2_GEN_CNTL, mask, ~(RADEON_CRTC2_EN | mask));
 		else {
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 09/10] drm/amdgpu: use crtc directly in drm_crtc_vblank_put()
  2016-06-07 14:07 [PATCH 01/10] drm/nouveau: replace legacy vblank helpers Gustavo Padovan
                   ` (6 preceding siblings ...)
  2016-06-07 14:08 ` [PATCH 08/10] drm/radeon: " Gustavo Padovan
@ 2016-06-07 14:08 ` Gustavo Padovan
  2016-06-07 14:08 ` [PATCH 10/10] drm/radeon: " Gustavo Padovan
  8 siblings, 0 replies; 17+ messages in thread
From: Gustavo Padovan @ 2016-06-07 14:08 UTC (permalink / raw)
  To: dri-devel
  Cc: Gustavo Padovan, Alex Deucher, Christian König,
	David Airlie, open list

From: Gustavo Padovan <gustavo.padovan@collabora.co.uk>

We don't need to use &amdgpu_crtc->base there as crtc is available
in the function.

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
index 0b5f3ac..a6eecf6 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
@@ -268,7 +268,7 @@ int amdgpu_crtc_page_flip(struct drm_crtc *crtc,
 	return 0;
 
 vblank_cleanup:
-	drm_crtc_vblank_put(&amdgpu_crtc->base);
+	drm_crtc_vblank_put(crtc);
 
 pflip_cleanup:
 	if (unlikely(amdgpu_bo_reserve(new_rbo, false) != 0)) {
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 10/10] drm/radeon: use crtc directly in drm_crtc_vblank_put()
  2016-06-07 14:07 [PATCH 01/10] drm/nouveau: replace legacy vblank helpers Gustavo Padovan
                   ` (7 preceding siblings ...)
  2016-06-07 14:08 ` [PATCH 09/10] drm/amdgpu: use crtc directly in drm_crtc_vblank_put() Gustavo Padovan
@ 2016-06-07 14:08 ` Gustavo Padovan
  2016-06-13 16:39   ` Daniel Vetter
  8 siblings, 1 reply; 17+ messages in thread
From: Gustavo Padovan @ 2016-06-07 14:08 UTC (permalink / raw)
  To: dri-devel
  Cc: Gustavo Padovan, Alex Deucher, Christian König,
	David Airlie, open list

From: Gustavo Padovan <gustavo.padovan@collabora.co.uk>

We don't need to use &radeon_crtc->base there as crtc is available
in the function.

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
---
 drivers/gpu/drm/radeon/radeon_display.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c
index 2fb18f1..fb461f9 100644
--- a/drivers/gpu/drm/radeon/radeon_display.c
+++ b/drivers/gpu/drm/radeon/radeon_display.c
@@ -625,7 +625,7 @@ static int radeon_crtc_page_flip(struct drm_crtc *crtc,
 	return 0;
 
 vblank_cleanup:
-	drm_crtc_vblank_put(&radeon_crtc->base);
+	drm_crtc_vblank_put(crtc);
 
 pflip_cleanup:
 	if (unlikely(radeon_bo_reserve(new_rbo, false) != 0)) {
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [PATCH 07/10] drm/gma500: use drm_crtc_vblank_{on,off}()
  2016-06-07 14:07 ` [PATCH 07/10] drm/gma500: " Gustavo Padovan
@ 2016-06-07 14:34   ` Patrik Jakobsson
  0 siblings, 0 replies; 17+ messages in thread
From: Patrik Jakobsson @ 2016-06-07 14:34 UTC (permalink / raw)
  To: Gustavo Padovan; +Cc: dri-devel, Gustavo Padovan, David Airlie, open list

On Tue, Jun 7, 2016 at 4:07 PM, Gustavo Padovan <gustavo@padovan.org> wrote:
> From: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
>
> Replace the legacy drm_vblank_{on,off}() with the new helper functions.
>
> Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>

Acked-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>

> ---
>  drivers/gpu/drm/gma500/gma_display.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/gma500/gma_display.c b/drivers/gpu/drm/gma500/gma_display.c
> index c95406e..e3d9e35 100644
> --- a/drivers/gpu/drm/gma500/gma_display.c
> +++ b/drivers/gpu/drm/gma500/gma_display.c
> @@ -281,7 +281,7 @@ void gma_crtc_dpms(struct drm_crtc *crtc, int mode)
>                 REG_WRITE(VGACNTRL, VGA_DISP_DISABLE);
>
>                 /* Turn off vblank interrupts */
> -               drm_vblank_off(dev, pipe);
> +               drm_crtc_vblank_off(crtc);
>
>                 /* Wait for vblank for the disable to take effect */
>                 gma_wait_for_vblank(dev);
> --
> 2.5.5
>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 05/10] drm: make drm_vblank_count_and_time() static
  2016-06-07 14:07 ` [PATCH 05/10] drm: make drm_vblank_count_and_time() static Gustavo Padovan
@ 2016-06-07 14:58   ` Gustavo Padovan
  0 siblings, 0 replies; 17+ messages in thread
From: Gustavo Padovan @ 2016-06-07 14:58 UTC (permalink / raw)
  To: dri-devel; +Cc: Gustavo Padovan, David Airlie, open list

2016-06-07 Gustavo Padovan <gustavo@padovan.org>:

> From: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
> 
> As they are not used anywhere outside drm_irq.c make them static.
> 
> Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
> ---
>  drivers/gpu/drm/drm_irq.c | 7 ++-----
>  include/drm/drmP.h        | 2 --
>  2 files changed, 2 insertions(+), 7 deletions(-)

This one is broken. Ignore it for now.

	Gustavo

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 06/10] drm/amdgpu: use drm_crtc_vblank_{on,off}()
  2016-06-07 14:07 ` [PATCH 06/10] drm/amdgpu: use drm_crtc_vblank_{on,off}() Gustavo Padovan
@ 2016-06-08  3:55   ` Michel Dänzer
  0 siblings, 0 replies; 17+ messages in thread
From: Michel Dänzer @ 2016-06-08  3:55 UTC (permalink / raw)
  To: Gustavo Padovan
  Cc: dri-devel, open list, Alex Deucher, Gustavo Padovan,
	Christian König

On 07.06.2016 23:07, Gustavo Padovan wrote:
> From: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
> 
> Replace the legacy drm_vblank_{on,off}() with the new helper functions.
> 
> Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>

Patches 6 & 8-10 are

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>


-- 
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 10/10] drm/radeon: use crtc directly in drm_crtc_vblank_put()
  2016-06-07 14:08 ` [PATCH 10/10] drm/radeon: " Gustavo Padovan
@ 2016-06-13 16:39   ` Daniel Vetter
  0 siblings, 0 replies; 17+ messages in thread
From: Daniel Vetter @ 2016-06-13 16:39 UTC (permalink / raw)
  To: Gustavo Padovan
  Cc: dri-devel, Alex Deucher, Gustavo Padovan, Christian König,
	open list

On Tue, Jun 07, 2016 at 11:08:02AM -0300, Gustavo Padovan wrote:
> From: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
> 
> We don't need to use &radeon_crtc->base there as crtc is available
> in the function.
> 
> Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>

All expect patch 5 merged, thanks.
-Daniel

> ---
>  drivers/gpu/drm/radeon/radeon_display.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c
> index 2fb18f1..fb461f9 100644
> --- a/drivers/gpu/drm/radeon/radeon_display.c
> +++ b/drivers/gpu/drm/radeon/radeon_display.c
> @@ -625,7 +625,7 @@ static int radeon_crtc_page_flip(struct drm_crtc *crtc,
>  	return 0;
>  
>  vblank_cleanup:
> -	drm_crtc_vblank_put(&radeon_crtc->base);
> +	drm_crtc_vblank_put(crtc);
>  
>  pflip_cleanup:
>  	if (unlikely(radeon_bo_reserve(new_rbo, false) != 0)) {
> -- 
> 2.5.5
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 04/10] drm: make drm_vblank_{get,put}() static
  2016-06-07 14:07 ` [PATCH 04/10] drm: make drm_vblank_{get,put}() static Gustavo Padovan
@ 2016-08-03  6:30   ` Rodrigo Vivi
  2016-08-03  7:22     ` Daniel Vetter
  0 siblings, 1 reply; 17+ messages in thread
From: Rodrigo Vivi @ 2016-08-03  6:30 UTC (permalink / raw)
  To: Gustavo Padovan; +Cc: DRI mailing list, Gustavo Padovan, open list

I was going to remove the legacy get/put versions right now, but
decided to check if there were any pending patch in mailing lists and
found this.

What about deleting the functions at all instead of having it internally?


On Tue, Jun 7, 2016 at 7:07 AM, Gustavo Padovan <gustavo@padovan.org> wrote:
> From: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
>
> As they are not used anywhere outside drm_irq.c make them static.
>
> Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
> ---
>  drivers/gpu/drm/drm_irq.c | 10 ++--------
>  include/drm/drmP.h        |  2 --
>  2 files changed, 2 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
> index 38cc782..76e39c5 100644
> --- a/drivers/gpu/drm/drm_irq.c
> +++ b/drivers/gpu/drm/drm_irq.c
> @@ -1108,7 +1108,7 @@ static int drm_vblank_enable(struct drm_device *dev, unsigned int pipe)
>   * Returns:
>   * Zero on success or a negative error code on failure.
>   */
> -int drm_vblank_get(struct drm_device *dev, unsigned int pipe)
> +static int drm_vblank_get(struct drm_device *dev, unsigned int pipe)
>  {
>         struct drm_vblank_crtc *vblank = &dev->vblank[pipe];
>         unsigned long irqflags;
> @@ -1134,7 +1134,6 @@ int drm_vblank_get(struct drm_device *dev, unsigned int pipe)
>
>         return ret;
>  }
> -EXPORT_SYMBOL(drm_vblank_get);
>
>  /**
>   * drm_crtc_vblank_get - get a reference count on vblank events
> @@ -1143,8 +1142,6 @@ EXPORT_SYMBOL(drm_vblank_get);
>   * Acquire a reference count on vblank events to avoid having them disabled
>   * while in use.
>   *
> - * This is the native kms version of drm_vblank_get().
> - *
>   * Returns:
>   * Zero on success or a negative error code on failure.
>   */
> @@ -1164,7 +1161,7 @@ EXPORT_SYMBOL(drm_crtc_vblank_get);
>   *
>   * This is the legacy version of drm_crtc_vblank_put().
>   */
> -void drm_vblank_put(struct drm_device *dev, unsigned int pipe)
> +static void drm_vblank_put(struct drm_device *dev, unsigned int pipe)
>  {
>         struct drm_vblank_crtc *vblank = &dev->vblank[pipe];
>
> @@ -1185,7 +1182,6 @@ void drm_vblank_put(struct drm_device *dev, unsigned int pipe)
>                                   jiffies + ((drm_vblank_offdelay * HZ)/1000));
>         }
>  }
> -EXPORT_SYMBOL(drm_vblank_put);
>
>  /**
>   * drm_crtc_vblank_put - give up ownership of vblank events
> @@ -1193,8 +1189,6 @@ EXPORT_SYMBOL(drm_vblank_put);
>   *
>   * Release ownership of a given vblank counter, turning off interrupts
>   * if possible. Disable interrupts after drm_vblank_offdelay milliseconds.
> - *
> - * This is the native kms version of drm_vblank_put().
>   */
>  void drm_crtc_vblank_put(struct drm_crtc *crtc)
>  {
> diff --git a/include/drm/drmP.h b/include/drm/drmP.h
> index 924b4fd..23f79a5 100644
> --- a/include/drm/drmP.h
> +++ b/include/drm/drmP.h
> @@ -975,8 +975,6 @@ extern void drm_crtc_arm_vblank_event(struct drm_crtc *crtc,
>                                       struct drm_pending_vblank_event *e);
>  extern bool drm_handle_vblank(struct drm_device *dev, unsigned int pipe);
>  extern bool drm_crtc_handle_vblank(struct drm_crtc *crtc);
> -extern int drm_vblank_get(struct drm_device *dev, unsigned int pipe);
> -extern void drm_vblank_put(struct drm_device *dev, unsigned int pipe);
>  extern int drm_crtc_vblank_get(struct drm_crtc *crtc);
>  extern void drm_crtc_vblank_put(struct drm_crtc *crtc);
>  extern void drm_wait_one_vblank(struct drm_device *dev, unsigned int pipe);
> --
> 2.5.5
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel



-- 
Rodrigo Vivi
Blog: http://blog.vivi.eng.br

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 04/10] drm: make drm_vblank_{get,put}() static
  2016-08-03  6:30   ` Rodrigo Vivi
@ 2016-08-03  7:22     ` Daniel Vetter
  2016-08-03 18:15       ` Rodrigo Vivi
  0 siblings, 1 reply; 17+ messages in thread
From: Daniel Vetter @ 2016-08-03  7:22 UTC (permalink / raw)
  To: Rodrigo Vivi
  Cc: Gustavo Padovan, Gustavo Padovan, open list, DRI mailing list

On Tue, Aug 02, 2016 at 11:30:21PM -0700, Rodrigo Vivi wrote:
> I was going to remove the legacy get/put versions right now, but
> decided to check if there were any pending patch in mailing lists and
> found this.
> 
> What about deleting the functions at all instead of having it internally?

There's (very few) users left, but if you can convert them over to
drm_crtc_ versions then sure, go ahead, it'd be great!
-Daniel

> 
> 
> On Tue, Jun 7, 2016 at 7:07 AM, Gustavo Padovan <gustavo@padovan.org> wrote:
> > From: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
> >
> > As they are not used anywhere outside drm_irq.c make them static.
> >
> > Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
> > ---
> >  drivers/gpu/drm/drm_irq.c | 10 ++--------
> >  include/drm/drmP.h        |  2 --
> >  2 files changed, 2 insertions(+), 10 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
> > index 38cc782..76e39c5 100644
> > --- a/drivers/gpu/drm/drm_irq.c
> > +++ b/drivers/gpu/drm/drm_irq.c
> > @@ -1108,7 +1108,7 @@ static int drm_vblank_enable(struct drm_device *dev, unsigned int pipe)
> >   * Returns:
> >   * Zero on success or a negative error code on failure.
> >   */
> > -int drm_vblank_get(struct drm_device *dev, unsigned int pipe)
> > +static int drm_vblank_get(struct drm_device *dev, unsigned int pipe)
> >  {
> >         struct drm_vblank_crtc *vblank = &dev->vblank[pipe];
> >         unsigned long irqflags;
> > @@ -1134,7 +1134,6 @@ int drm_vblank_get(struct drm_device *dev, unsigned int pipe)
> >
> >         return ret;
> >  }
> > -EXPORT_SYMBOL(drm_vblank_get);
> >
> >  /**
> >   * drm_crtc_vblank_get - get a reference count on vblank events
> > @@ -1143,8 +1142,6 @@ EXPORT_SYMBOL(drm_vblank_get);
> >   * Acquire a reference count on vblank events to avoid having them disabled
> >   * while in use.
> >   *
> > - * This is the native kms version of drm_vblank_get().
> > - *
> >   * Returns:
> >   * Zero on success or a negative error code on failure.
> >   */
> > @@ -1164,7 +1161,7 @@ EXPORT_SYMBOL(drm_crtc_vblank_get);
> >   *
> >   * This is the legacy version of drm_crtc_vblank_put().
> >   */
> > -void drm_vblank_put(struct drm_device *dev, unsigned int pipe)
> > +static void drm_vblank_put(struct drm_device *dev, unsigned int pipe)
> >  {
> >         struct drm_vblank_crtc *vblank = &dev->vblank[pipe];
> >
> > @@ -1185,7 +1182,6 @@ void drm_vblank_put(struct drm_device *dev, unsigned int pipe)
> >                                   jiffies + ((drm_vblank_offdelay * HZ)/1000));
> >         }
> >  }
> > -EXPORT_SYMBOL(drm_vblank_put);
> >
> >  /**
> >   * drm_crtc_vblank_put - give up ownership of vblank events
> > @@ -1193,8 +1189,6 @@ EXPORT_SYMBOL(drm_vblank_put);
> >   *
> >   * Release ownership of a given vblank counter, turning off interrupts
> >   * if possible. Disable interrupts after drm_vblank_offdelay milliseconds.
> > - *
> > - * This is the native kms version of drm_vblank_put().
> >   */
> >  void drm_crtc_vblank_put(struct drm_crtc *crtc)
> >  {
> > diff --git a/include/drm/drmP.h b/include/drm/drmP.h
> > index 924b4fd..23f79a5 100644
> > --- a/include/drm/drmP.h
> > +++ b/include/drm/drmP.h
> > @@ -975,8 +975,6 @@ extern void drm_crtc_arm_vblank_event(struct drm_crtc *crtc,
> >                                       struct drm_pending_vblank_event *e);
> >  extern bool drm_handle_vblank(struct drm_device *dev, unsigned int pipe);
> >  extern bool drm_crtc_handle_vblank(struct drm_crtc *crtc);
> > -extern int drm_vblank_get(struct drm_device *dev, unsigned int pipe);
> > -extern void drm_vblank_put(struct drm_device *dev, unsigned int pipe);
> >  extern int drm_crtc_vblank_get(struct drm_crtc *crtc);
> >  extern void drm_crtc_vblank_put(struct drm_crtc *crtc);
> >  extern void drm_wait_one_vblank(struct drm_device *dev, unsigned int pipe);
> > --
> > 2.5.5
> >
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/dri-devel
> 
> 
> 
> -- 
> Rodrigo Vivi
> Blog: http://blog.vivi.eng.br
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 04/10] drm: make drm_vblank_{get,put}() static
  2016-08-03  7:22     ` Daniel Vetter
@ 2016-08-03 18:15       ` Rodrigo Vivi
  0 siblings, 0 replies; 17+ messages in thread
From: Rodrigo Vivi @ 2016-08-03 18:15 UTC (permalink / raw)
  To: Rodrigo Vivi, Gustavo Padovan, Gustavo Padovan, open list,
	DRI mailing list

Oh, nevermind... I saw the places that depends on changes on other
legacy usage like drm_wait_on_vblank...  (not trivial on intel_crt)
and other cases...

So better to just go with the static for now.

Feel free to use:
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>


On Wed, Aug 3, 2016 at 12:22 AM, Daniel Vetter <daniel@ffwll.ch> wrote:
> On Tue, Aug 02, 2016 at 11:30:21PM -0700, Rodrigo Vivi wrote:
>> I was going to remove the legacy get/put versions right now, but
>> decided to check if there were any pending patch in mailing lists and
>> found this.
>>
>> What about deleting the functions at all instead of having it internally?
>
> There's (very few) users left, but if you can convert them over to
> drm_crtc_ versions then sure, go ahead, it'd be great!
> -Daniel
>
>>
>>
>> On Tue, Jun 7, 2016 at 7:07 AM, Gustavo Padovan <gustavo@padovan.org> wrote:
>> > From: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
>> >
>> > As they are not used anywhere outside drm_irq.c make them static.
>> >
>> > Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
>> > ---
>> >  drivers/gpu/drm/drm_irq.c | 10 ++--------
>> >  include/drm/drmP.h        |  2 --
>> >  2 files changed, 2 insertions(+), 10 deletions(-)
>> >
>> > diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
>> > index 38cc782..76e39c5 100644
>> > --- a/drivers/gpu/drm/drm_irq.c
>> > +++ b/drivers/gpu/drm/drm_irq.c
>> > @@ -1108,7 +1108,7 @@ static int drm_vblank_enable(struct drm_device *dev, unsigned int pipe)
>> >   * Returns:
>> >   * Zero on success or a negative error code on failure.
>> >   */
>> > -int drm_vblank_get(struct drm_device *dev, unsigned int pipe)
>> > +static int drm_vblank_get(struct drm_device *dev, unsigned int pipe)
>> >  {
>> >         struct drm_vblank_crtc *vblank = &dev->vblank[pipe];
>> >         unsigned long irqflags;
>> > @@ -1134,7 +1134,6 @@ int drm_vblank_get(struct drm_device *dev, unsigned int pipe)
>> >
>> >         return ret;
>> >  }
>> > -EXPORT_SYMBOL(drm_vblank_get);
>> >
>> >  /**
>> >   * drm_crtc_vblank_get - get a reference count on vblank events
>> > @@ -1143,8 +1142,6 @@ EXPORT_SYMBOL(drm_vblank_get);
>> >   * Acquire a reference count on vblank events to avoid having them disabled
>> >   * while in use.
>> >   *
>> > - * This is the native kms version of drm_vblank_get().
>> > - *
>> >   * Returns:
>> >   * Zero on success or a negative error code on failure.
>> >   */
>> > @@ -1164,7 +1161,7 @@ EXPORT_SYMBOL(drm_crtc_vblank_get);
>> >   *
>> >   * This is the legacy version of drm_crtc_vblank_put().
>> >   */
>> > -void drm_vblank_put(struct drm_device *dev, unsigned int pipe)
>> > +static void drm_vblank_put(struct drm_device *dev, unsigned int pipe)
>> >  {
>> >         struct drm_vblank_crtc *vblank = &dev->vblank[pipe];
>> >
>> > @@ -1185,7 +1182,6 @@ void drm_vblank_put(struct drm_device *dev, unsigned int pipe)
>> >                                   jiffies + ((drm_vblank_offdelay * HZ)/1000));
>> >         }
>> >  }
>> > -EXPORT_SYMBOL(drm_vblank_put);
>> >
>> >  /**
>> >   * drm_crtc_vblank_put - give up ownership of vblank events
>> > @@ -1193,8 +1189,6 @@ EXPORT_SYMBOL(drm_vblank_put);
>> >   *
>> >   * Release ownership of a given vblank counter, turning off interrupts
>> >   * if possible. Disable interrupts after drm_vblank_offdelay milliseconds.
>> > - *
>> > - * This is the native kms version of drm_vblank_put().
>> >   */
>> >  void drm_crtc_vblank_put(struct drm_crtc *crtc)
>> >  {
>> > diff --git a/include/drm/drmP.h b/include/drm/drmP.h
>> > index 924b4fd..23f79a5 100644
>> > --- a/include/drm/drmP.h
>> > +++ b/include/drm/drmP.h
>> > @@ -975,8 +975,6 @@ extern void drm_crtc_arm_vblank_event(struct drm_crtc *crtc,
>> >                                       struct drm_pending_vblank_event *e);
>> >  extern bool drm_handle_vblank(struct drm_device *dev, unsigned int pipe);
>> >  extern bool drm_crtc_handle_vblank(struct drm_crtc *crtc);
>> > -extern int drm_vblank_get(struct drm_device *dev, unsigned int pipe);
>> > -extern void drm_vblank_put(struct drm_device *dev, unsigned int pipe);
>> >  extern int drm_crtc_vblank_get(struct drm_crtc *crtc);
>> >  extern void drm_crtc_vblank_put(struct drm_crtc *crtc);
>> >  extern void drm_wait_one_vblank(struct drm_device *dev, unsigned int pipe);
>> > --
>> > 2.5.5
>> >
>> > _______________________________________________
>> > dri-devel mailing list
>> > dri-devel@lists.freedesktop.org
>> > https://lists.freedesktop.org/mailman/listinfo/dri-devel
>>
>>
>>
>> --
>> Rodrigo Vivi
>> Blog: http://blog.vivi.eng.br
>> _______________________________________________
>> dri-devel mailing list
>> dri-devel@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/dri-devel
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch



-- 
Rodrigo Vivi
Blog: http://blog.vivi.eng.br

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2016-08-03 18:16 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-07 14:07 [PATCH 01/10] drm/nouveau: replace legacy vblank helpers Gustavo Padovan
2016-06-07 14:07 ` [PATCH 02/10] drm: remove legacy drm_send_vblank_event() Gustavo Padovan
2016-06-07 14:07 ` [PATCH 03/10] drm: remove legacy drm_arm_vblank_event() Gustavo Padovan
2016-06-07 14:07 ` [PATCH 04/10] drm: make drm_vblank_{get,put}() static Gustavo Padovan
2016-08-03  6:30   ` Rodrigo Vivi
2016-08-03  7:22     ` Daniel Vetter
2016-08-03 18:15       ` Rodrigo Vivi
2016-06-07 14:07 ` [PATCH 05/10] drm: make drm_vblank_count_and_time() static Gustavo Padovan
2016-06-07 14:58   ` Gustavo Padovan
2016-06-07 14:07 ` [PATCH 06/10] drm/amdgpu: use drm_crtc_vblank_{on,off}() Gustavo Padovan
2016-06-08  3:55   ` Michel Dänzer
2016-06-07 14:07 ` [PATCH 07/10] drm/gma500: " Gustavo Padovan
2016-06-07 14:34   ` Patrik Jakobsson
2016-06-07 14:08 ` [PATCH 08/10] drm/radeon: " Gustavo Padovan
2016-06-07 14:08 ` [PATCH 09/10] drm/amdgpu: use crtc directly in drm_crtc_vblank_put() Gustavo Padovan
2016-06-07 14:08 ` [PATCH 10/10] drm/radeon: " Gustavo Padovan
2016-06-13 16:39   ` Daniel Vetter

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).