Intel-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/17] dri1 dragon slaughtering, v2
@ 2012-04-26 21:19 Daniel Vetter
       [not found] ` <1335475164-2933-2-git-send-email-daniel.vetter@ffwll.ch>
  0 siblings, 1 reply; 3+ messages in thread
From: Daniel Vetter @ 2012-04-26 21:19 UTC (permalink / raw)
  To: Intel Graphics Development; +Cc: Daniel Vetter

Hi all,

Essentially just rebased on top of latest dinq. Happy bikeshedding!

Cheers, Daniel

Daniel Vetter (17):
  drm/i915: move dri1 vblank stubs to i915_dma.c
  drm/i915: create dev_priv->dri1 dragon dungeon^W^W sub-struct
  drm/i915 disallow physical batchbuffers for KMS
  drm/i915: rip out dev_priv->tex_lru_log_granularity
  drm/i915: remove LP_RING&friends from modeset code
  drm/i915: kill intel_clear_scanline_wait
  drm/i915: rip out dri1 breadcrumb updates from gen5+ irq handlers
  drm/i915: move dri1 irq ioctl code to i915_dma.c
  drm/i915: extract dri1 breadcrumb update from irq handler
  drm/i915: move LP_RING&friends to i915_dma.c
  drm/i915: disallow clip rects on gen5+
  drm/i915: move the ips code to intel_pm.c
  drm/i915: move rps/emon function declarations
  drm/i915: kill pointless clearing of dev_priv->hws_map
  drm/i915: rework legacy GFX HWS handling
  drm/i915: fixup __iomem mixups in ringbuffer.c
  drm/i915: move pnv|ilk_gem_mem_freq to intel_pm.c

 drivers/gpu/drm/i915/i915_dma.c            |  815 ++++++++--------------------
 drivers/gpu/drm/i915/i915_drv.h            |   48 +--
 drivers/gpu/drm/i915/i915_gem.c            |    5 +-
 drivers/gpu/drm/i915/i915_gem_execbuffer.c |    5 +
 drivers/gpu/drm/i915/i915_irq.c            |  211 +-------
 drivers/gpu/drm/i915/intel_display.c       |  100 ++--
 drivers/gpu/drm/i915/intel_drv.h           |   12 +-
 drivers/gpu/drm/i915/intel_overlay.c       |   58 ++-
 drivers/gpu/drm/i915/intel_pm.c            |  618 +++++++++++++++++++++-
 drivers/gpu/drm/i915/intel_ringbuffer.c    |   44 +--
 drivers/gpu/drm/i915/intel_ringbuffer.h    |    8 +-
 11 files changed, 937 insertions(+), 987 deletions(-)

-- 
1.7.7.6

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

* [PATCH 01/17] drm/i915: move dri1 vblank stubs to i915_dma.c
  2012-04-26 21:28 [PATCH 00/17] dri1 dragon slaughtering, v2 Daniel Vetter
@ 2012-04-26 21:28 ` Daniel Vetter
  0 siblings, 0 replies; 3+ messages in thread
From: Daniel Vetter @ 2012-04-26 21:28 UTC (permalink / raw)
  To: Intel Graphics Development; +Cc: Daniel Vetter

i915_dma.c contains most of the old dri1 horror-show, so move
the remaining bits there, too. The code has been removed and
the only thing left are some stubs to ensure that userspace
doesn't try to use this stuff. vblank_pipe_set only returns 0
without any side-effects, so we can even stub it out with
the canonical drm_noop.

v2: Rebase against ENODEV changes.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/i915/i915_dma.c |   44 +++++++++++++++++++++++++++-
 drivers/gpu/drm/i915/i915_drv.h |    7 ----
 drivers/gpu/drm/i915/i915_irq.c |   61 ---------------------------------------
 3 files changed, 43 insertions(+), 69 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
index 7a55abb..653fc86 100644
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@ -721,6 +721,48 @@ fail_batch_free:
 	return ret;
 }
 
+static int i915_vblank_pipe_get(struct drm_device *dev, void *data,
+			 struct drm_file *file_priv)
+{
+	drm_i915_private_t *dev_priv = dev->dev_private;
+	drm_i915_vblank_pipe_t *pipe = data;
+
+	if (drm_core_check_feature(dev, DRIVER_MODESET))
+		return -ENODEV;
+
+	if (!dev_priv) {
+		DRM_ERROR("called with no initialization\n");
+		return -EINVAL;
+	}
+
+	pipe->pipe = DRM_I915_VBLANK_PIPE_A | DRM_I915_VBLANK_PIPE_B;
+
+	return 0;
+}
+
+/**
+ * Schedule buffer swap at given vertical blank.
+ */
+static int i915_vblank_swap(struct drm_device *dev, void *data,
+		     struct drm_file *file_priv)
+{
+	/* The delayed swap mechanism was fundamentally racy, and has been
+	 * removed.  The model was that the client requested a delayed flip/swap
+	 * from the kernel, then waited for vblank before continuing to perform
+	 * rendering.  The problem was that the kernel might wake the client
+	 * up before it dispatched the vblank swap (since the lock has to be
+	 * held while touching the ringbuffer), in which case the client would
+	 * clear and start the next frame before the swap occurred, and
+	 * flicker would occur in addition to likely missing the vblank.
+	 *
+	 * In the absence of this ioctl, userland falls back to a correct path
+	 * of waiting for a vblank, then dispatching the swap on its own.
+	 * Context switching to userland and back is plenty fast enough for
+	 * meeting the requirements of vblank swapping.
+	 */
+	return -EINVAL;
+}
+
 static int i915_flip_bufs(struct drm_device *dev, void *data,
 			  struct drm_file *file_priv)
 {
@@ -2156,7 +2198,7 @@ struct drm_ioctl_desc i915_ioctls[] = {
 	DRM_IOCTL_DEF_DRV(I915_INIT_HEAP, drm_noop, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
 	DRM_IOCTL_DEF_DRV(I915_CMDBUFFER, i915_cmdbuffer, DRM_AUTH),
 	DRM_IOCTL_DEF_DRV(I915_DESTROY_HEAP,  drm_noop, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
-	DRM_IOCTL_DEF_DRV(I915_SET_VBLANK_PIPE,  i915_vblank_pipe_set, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
+	DRM_IOCTL_DEF_DRV(I915_SET_VBLANK_PIPE,  drm_noop, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
 	DRM_IOCTL_DEF_DRV(I915_GET_VBLANK_PIPE,  i915_vblank_pipe_get, DRM_AUTH),
 	DRM_IOCTL_DEF_DRV(I915_VBLANK_SWAP, i915_vblank_swap, DRM_AUTH),
 	DRM_IOCTL_DEF_DRV(I915_HWS_ADDR, i915_set_status_page, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 0095c8d..d60b573 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1155,13 +1155,6 @@ extern int i915_irq_wait(struct drm_device *dev, void *data,
 
 extern void intel_irq_init(struct drm_device *dev);
 
-extern int i915_vblank_pipe_set(struct drm_device *dev, void *data,
-				struct drm_file *file_priv);
-extern int i915_vblank_pipe_get(struct drm_device *dev, void *data,
-				struct drm_file *file_priv);
-extern int i915_vblank_swap(struct drm_device *dev, void *data,
-			    struct drm_file *file_priv);
-
 void
 i915_enable_pipestat(drm_i915_private_t *dev_priv, int pipe, u32 mask);
 
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 5c360ee..874956c 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -1628,67 +1628,6 @@ static void valleyview_disable_vblank(struct drm_device *dev, int pipe)
 	spin_unlock_irqrestore(&dev_priv->irq_lock, irqflags);
 }
 
-
-/* Set the vblank monitor pipe
- */
-int i915_vblank_pipe_set(struct drm_device *dev, void *data,
-			 struct drm_file *file_priv)
-{
-	drm_i915_private_t *dev_priv = dev->dev_private;
-
-	if (drm_core_check_feature(dev, DRIVER_MODESET))
-		return -ENODEV;
-
-	if (!dev_priv) {
-		DRM_ERROR("called with no initialization\n");
-		return -EINVAL;
-	}
-
-	return 0;
-}
-
-int i915_vblank_pipe_get(struct drm_device *dev, void *data,
-			 struct drm_file *file_priv)
-{
-	drm_i915_private_t *dev_priv = dev->dev_private;
-	drm_i915_vblank_pipe_t *pipe = data;
-
-	if (drm_core_check_feature(dev, DRIVER_MODESET))
-		return -ENODEV;
-
-	if (!dev_priv) {
-		DRM_ERROR("called with no initialization\n");
-		return -EINVAL;
-	}
-
-	pipe->pipe = DRM_I915_VBLANK_PIPE_A | DRM_I915_VBLANK_PIPE_B;
-
-	return 0;
-}
-
-/**
- * Schedule buffer swap at given vertical blank.
- */
-int i915_vblank_swap(struct drm_device *dev, void *data,
-		     struct drm_file *file_priv)
-{
-	/* The delayed swap mechanism was fundamentally racy, and has been
-	 * removed.  The model was that the client requested a delayed flip/swap
-	 * from the kernel, then waited for vblank before continuing to perform
-	 * rendering.  The problem was that the kernel might wake the client
-	 * up before it dispatched the vblank swap (since the lock has to be
-	 * held while touching the ringbuffer), in which case the client would
-	 * clear and start the next frame before the swap occurred, and
-	 * flicker would occur in addition to likely missing the vblank.
-	 *
-	 * In the absence of this ioctl, userland falls back to a correct path
-	 * of waiting for a vblank, then dispatching the swap on its own.
-	 * Context switching to userland and back is plenty fast enough for
-	 * meeting the requirements of vblank swapping.
-	 */
-	return -EINVAL;
-}
-
 static u32
 ring_last_seqno(struct intel_ring_buffer *ring)
 {
-- 
1.7.7.6

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

* Re: [PATCH 01/17] drm/i915: move dri1 vblank stubs to i915_dma.c
       [not found] ` <1335475164-2933-2-git-send-email-daniel.vetter@ffwll.ch>
@ 2012-04-26 22:34   ` Daniel Vetter
  0 siblings, 0 replies; 3+ messages in thread
From: Daniel Vetter @ 2012-04-26 22:34 UTC (permalink / raw)
  To: Intel Graphics Development; +Cc: Daniel Vetter

On Thu, Apr 26, 2012 at 11:19:08PM +0200, Daniel Vetter wrote:
> i915_dma.c contains most of the old dri1 horror-show, so move
> the remaining bits there, too. The code has been removed and
> the only thing left are some stubs to ensure that userspace
> doesn't try to use this stuff. vblank_pipe_set only returns 0
> without any side-effects, so we can even stub it out with
> the canonical drm_noop.
> 
> v2: Rebase against ENODEV changes.
> 
> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

Ignore this patchbomb, gmail crapped out :(
-Daniel
-- 
Daniel Vetter
Mail: daniel@ffwll.ch
Mobile: +41 (0)79 365 57 48

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

end of thread, other threads:[~2012-04-26 22:33 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-04-26 21:19 [PATCH 00/17] dri1 dragon slaughtering, v2 Daniel Vetter
     [not found] ` <1335475164-2933-2-git-send-email-daniel.vetter@ffwll.ch>
2012-04-26 22:34   ` [PATCH 01/17] drm/i915: move dri1 vblank stubs to i915_dma.c Daniel Vetter
  -- strict thread matches above, loose matches on Subject: below --
2012-04-26 21:28 [PATCH 00/17] dri1 dragon slaughtering, v2 Daniel Vetter
2012-04-26 21:28 ` [PATCH 01/17] drm/i915: move dri1 vblank stubs to i915_dma.c Daniel Vetter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox