All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel.vetter@ffwll.ch>
To: DRI Development <dri-devel@lists.freedesktop.org>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Subject: [PATCH 20/50] drm: Kill DRM_HZ
Date: Wed, 11 Dec 2013 11:34:41 +0100	[thread overview]
Message-ID: <1386758111-3446-21-git-send-email-daniel.vetter@ffwll.ch> (raw)
In-Reply-To: <1386758111-3446-1-git-send-email-daniel.vetter@ffwll.ch>

We don't have any userspace interfaces that use HZ as a time unit, so
having our own DRM define is useless.

Remove this remnant from the shared drm core days.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/drm_irq.c               | 4 ++--
 drivers/gpu/drm/exynos/exynos_mixer.c   | 2 +-
 drivers/gpu/drm/gma500/accel_2d.c       | 2 +-
 drivers/gpu/drm/gma500/psb_drv.h        | 6 +++---
 drivers/gpu/drm/gma500/psb_irq.c        | 2 +-
 drivers/gpu/drm/i915/i915_dma.c         | 2 +-
 drivers/gpu/drm/mga/mga_irq.c           | 2 +-
 drivers/gpu/drm/nouveau/nouveau_fence.c | 2 +-
 drivers/gpu/drm/radeon/radeon_irq.c     | 2 +-
 drivers/gpu/drm/sis/sis_mm.c            | 2 +-
 drivers/gpu/drm/via/via_dmablit.c       | 8 ++++----
 drivers/gpu/drm/via/via_irq.c           | 4 ++--
 drivers/gpu/drm/via/via_video.c         | 2 +-
 include/drm/drm_os_linux.h              | 2 --
 14 files changed, 20 insertions(+), 22 deletions(-)

diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
index 64c34d5876ff..b52ff052b785 100644
--- a/drivers/gpu/drm/drm_irq.c
+++ b/drivers/gpu/drm/drm_irq.c
@@ -960,7 +960,7 @@ void drm_vblank_put(struct drm_device *dev, int crtc)
 	if (atomic_dec_and_test(&dev->vblank[crtc].refcount) &&
 	    (drm_vblank_offdelay > 0))
 		mod_timer(&dev->vblank_disable_timer,
-			  jiffies + ((drm_vblank_offdelay * DRM_HZ)/1000));
+			  jiffies + ((drm_vblank_offdelay * HZ)/1000));
 }
 EXPORT_SYMBOL(drm_vblank_put);
 
@@ -1244,7 +1244,7 @@ int drm_wait_vblank(struct drm_device *dev, void *data,
 	DRM_DEBUG("waiting on vblank count %d, crtc %d\n",
 		  vblwait->request.sequence, crtc);
 	dev->vblank[crtc].last_wait = vblwait->request.sequence;
-	DRM_WAIT_ON(ret, dev->vblank[crtc].queue, 3 * DRM_HZ,
+	DRM_WAIT_ON(ret, dev->vblank[crtc].queue, 3 * HZ,
 		    (((drm_vblank_count(dev, crtc) -
 		       vblwait->request.sequence) <= (1 << 23)) ||
 		     !dev->irq_enabled));
diff --git a/drivers/gpu/drm/exynos/exynos_mixer.c b/drivers/gpu/drm/exynos/exynos_mixer.c
index 63bc5f92fbb3..1433300565e5 100644
--- a/drivers/gpu/drm/exynos/exynos_mixer.c
+++ b/drivers/gpu/drm/exynos/exynos_mixer.c
@@ -868,7 +868,7 @@ static void mixer_wait_for_vblank(void *ctx)
 	 */
 	if (!wait_event_timeout(mixer_ctx->wait_vsync_queue,
 				!atomic_read(&mixer_ctx->wait_vsync_event),
-				DRM_HZ/20))
+				HZ/20))
 		DRM_DEBUG_KMS("vblank wait timed out.\n");
 }
 
diff --git a/drivers/gpu/drm/gma500/accel_2d.c b/drivers/gpu/drm/gma500/accel_2d.c
index d5ef1a5793c8..de6f62a6ceb7 100644
--- a/drivers/gpu/drm/gma500/accel_2d.c
+++ b/drivers/gpu/drm/gma500/accel_2d.c
@@ -326,7 +326,7 @@ int psbfb_sync(struct fb_info *info)
 	struct psb_framebuffer *psbfb = &fbdev->pfb;
 	struct drm_device *dev = psbfb->base.dev;
 	struct drm_psb_private *dev_priv = dev->dev_private;
-	unsigned long _end = jiffies + DRM_HZ;
+	unsigned long _end = jiffies + HZ;
 	int busy = 0;
 	unsigned long flags;
 
diff --git a/drivers/gpu/drm/gma500/psb_drv.h b/drivers/gpu/drm/gma500/psb_drv.h
index b59e6588c343..8d2a395edbd2 100644
--- a/drivers/gpu/drm/gma500/psb_drv.h
+++ b/drivers/gpu/drm/gma500/psb_drv.h
@@ -212,8 +212,8 @@ enum {
 #define PSB_HIGH_REG_OFFS 0x0600
 
 #define PSB_NUM_VBLANKS 2
-#define PSB_WATCHDOG_DELAY (DRM_HZ * 2)
-#define PSB_LID_DELAY (DRM_HZ / 10)
+#define PSB_WATCHDOG_DELAY (HZ * 2)
+#define PSB_LID_DELAY (HZ / 10)
 
 #define MDFLD_PNW_B0 0x04
 #define MDFLD_PNW_C0 0x08
@@ -232,7 +232,7 @@ enum {
 #define MDFLD_DSR_RR		45
 #define MDFLD_DPU_ENABLE 	(1 << 31)
 #define MDFLD_DSR_FULLSCREEN 	(1 << 30)
-#define MDFLD_DSR_DELAY		(DRM_HZ / MDFLD_DSR_RR)
+#define MDFLD_DSR_DELAY		(HZ / MDFLD_DSR_RR)
 
 #define PSB_PWR_STATE_ON		1
 #define PSB_PWR_STATE_OFF		2
diff --git a/drivers/gpu/drm/gma500/psb_irq.c b/drivers/gpu/drm/gma500/psb_irq.c
index ba4830342d34..76224721177e 100644
--- a/drivers/gpu/drm/gma500/psb_irq.c
+++ b/drivers/gpu/drm/gma500/psb_irq.c
@@ -456,7 +456,7 @@ static int psb_vblank_do_wait(struct drm_device *dev,
 {
 	unsigned int cur_vblank;
 	int ret = 0;
-	DRM_WAIT_ON(ret, dev->vblank.queue, 3 * DRM_HZ,
+	DRM_WAIT_ON(ret, dev->vblank.queue, 3 * HZ,
 		    (((cur_vblank = atomic_read(counter))
 		      - *sequence) <= (1 << 23)));
 	*sequence = cur_vblank;
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
index 1244280946c2..e8ebbd8ad83b 100644
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@ -783,7 +783,7 @@ static int i915_wait_irq(struct drm_device * dev, int irq_nr)
 		master_priv->sarea_priv->perf_boxes |= I915_BOX_WAIT;
 
 	if (ring->irq_get(ring)) {
-		DRM_WAIT_ON(ret, ring->irq_queue, 3 * DRM_HZ,
+		DRM_WAIT_ON(ret, ring->irq_queue, 3 * HZ,
 			    READ_BREADCRUMB(dev_priv) >= irq_nr);
 		ring->irq_put(ring);
 	} else if (wait_for(READ_BREADCRUMB(dev_priv) >= irq_nr, 3000))
diff --git a/drivers/gpu/drm/mga/mga_irq.c b/drivers/gpu/drm/mga/mga_irq.c
index 2b0ceb8dc11b..8a92edb6bd61 100644
--- a/drivers/gpu/drm/mga/mga_irq.c
+++ b/drivers/gpu/drm/mga/mga_irq.c
@@ -128,7 +128,7 @@ int mga_driver_fence_wait(struct drm_device *dev, unsigned int *sequence)
 	 * by about a day rather than she wants to wait for years
 	 * using fences.
 	 */
-	DRM_WAIT_ON(ret, dev_priv->fence_queue, 3 * DRM_HZ,
+	DRM_WAIT_ON(ret, dev_priv->fence_queue, 3 * HZ,
 		    (((cur_fence = atomic_read(&dev_priv->last_fence_retired))
 		      - *sequence) <= (1 << 23)));
 
diff --git a/drivers/gpu/drm/nouveau/nouveau_fence.c b/drivers/gpu/drm/nouveau/nouveau_fence.c
index 40cf52e6d6d2..90074d620e31 100644
--- a/drivers/gpu/drm/nouveau/nouveau_fence.c
+++ b/drivers/gpu/drm/nouveau/nouveau_fence.c
@@ -143,7 +143,7 @@ nouveau_fence_emit(struct nouveau_fence *fence, struct nouveau_channel *chan)
 	int ret;
 
 	fence->channel  = chan;
-	fence->timeout  = jiffies + (15 * DRM_HZ);
+	fence->timeout  = jiffies + (15 * HZ);
 	fence->sequence = ++fctx->sequence;
 
 	ret = fctx->emit(fence);
diff --git a/drivers/gpu/drm/radeon/radeon_irq.c b/drivers/gpu/drm/radeon/radeon_irq.c
index 8d68e972789a..0b69d6ab869d 100644
--- a/drivers/gpu/drm/radeon/radeon_irq.c
+++ b/drivers/gpu/drm/radeon/radeon_irq.c
@@ -249,7 +249,7 @@ static int radeon_wait_irq(struct drm_device * dev, int swi_nr)
 
 	dev_priv->stats.boxes |= RADEON_BOX_WAIT_IDLE;
 
-	DRM_WAIT_ON(ret, dev_priv->swi_queue, 3 * DRM_HZ,
+	DRM_WAIT_ON(ret, dev_priv->swi_queue, 3 * HZ,
 		    RADEON_READ(RADEON_LAST_SWI_REG) >= swi_nr);
 
 	return ret;
diff --git a/drivers/gpu/drm/sis/sis_mm.c b/drivers/gpu/drm/sis/sis_mm.c
index 01857d836350..0573be0d2933 100644
--- a/drivers/gpu/drm/sis/sis_mm.c
+++ b/drivers/gpu/drm/sis/sis_mm.c
@@ -266,7 +266,7 @@ int sis_idle(struct drm_device *dev)
 	 * because its polling frequency is too low.
 	 */
 
-	end = jiffies + (DRM_HZ * 3);
+	end = jiffies + (HZ * 3);
 
 	for (i = 0; i < 4; ++i) {
 		do {
diff --git a/drivers/gpu/drm/via/via_dmablit.c b/drivers/gpu/drm/via/via_dmablit.c
index 8b0f25904e6d..9236ef1de270 100644
--- a/drivers/gpu/drm/via/via_dmablit.c
+++ b/drivers/gpu/drm/via/via_dmablit.c
@@ -363,7 +363,7 @@ via_dmablit_handler(struct drm_device *dev, int engine, int from_irq)
 
 		via_abort_dmablit(dev, engine);
 		blitq->aborting = 1;
-		blitq->end = jiffies + DRM_HZ;
+		blitq->end = jiffies + HZ;
 	}
 
 	if (!blitq->is_active) {
@@ -372,7 +372,7 @@ via_dmablit_handler(struct drm_device *dev, int engine, int from_irq)
 			blitq->is_active = 1;
 			blitq->cur = cur;
 			blitq->num_outstanding--;
-			blitq->end = jiffies + DRM_HZ;
+			blitq->end = jiffies + HZ;
 			if (!timer_pending(&blitq->poll_timer))
 				mod_timer(&blitq->poll_timer, jiffies + 1);
 		} else {
@@ -436,7 +436,7 @@ via_dmablit_sync(struct drm_device *dev, uint32_t handle, int engine)
 	int ret = 0;
 
 	if (via_dmablit_active(blitq, engine, handle, &queue)) {
-		DRM_WAIT_ON(ret, *queue, 3 * DRM_HZ,
+		DRM_WAIT_ON(ret, *queue, 3 * HZ,
 			    !via_dmablit_active(blitq, engine, handle, NULL));
 	}
 	DRM_DEBUG("DMA blit sync handle 0x%x engine %d returned %d\n",
@@ -688,7 +688,7 @@ via_dmablit_grab_slot(drm_via_blitq_t *blitq, int engine)
 	while (blitq->num_free == 0) {
 		spin_unlock_irqrestore(&blitq->blit_lock, irqsave);
 
-		DRM_WAIT_ON(ret, blitq->busy_queue, DRM_HZ, blitq->num_free > 0);
+		DRM_WAIT_ON(ret, blitq->busy_queue, HZ, blitq->num_free > 0);
 		if (ret)
 			return (-EINTR == ret) ? -EAGAIN : ret;
 
diff --git a/drivers/gpu/drm/via/via_irq.c b/drivers/gpu/drm/via/via_irq.c
index ac98964297cf..d0e2b988d067 100644
--- a/drivers/gpu/drm/via/via_irq.c
+++ b/drivers/gpu/drm/via/via_irq.c
@@ -239,12 +239,12 @@ via_driver_irq_wait(struct drm_device *dev, unsigned int irq, int force_sequence
 	cur_irq = dev_priv->via_irqs + real_irq;
 
 	if (masks[real_irq][2] && !force_sequence) {
-		DRM_WAIT_ON(ret, cur_irq->irq_queue, 3 * DRM_HZ,
+		DRM_WAIT_ON(ret, cur_irq->irq_queue, 3 * HZ,
 			    ((VIA_READ(masks[irq][2]) & masks[irq][3]) ==
 			     masks[irq][4]));
 		cur_irq_sequence = atomic_read(&cur_irq->irq_received);
 	} else {
-		DRM_WAIT_ON(ret, cur_irq->irq_queue, 3 * DRM_HZ,
+		DRM_WAIT_ON(ret, cur_irq->irq_queue, 3 * HZ,
 			    (((cur_irq_sequence =
 			       atomic_read(&cur_irq->irq_received)) -
 			      *sequence) <= (1 << 23)));
diff --git a/drivers/gpu/drm/via/via_video.c b/drivers/gpu/drm/via/via_video.c
index 6569efa2ff6e..f60cfb654428 100644
--- a/drivers/gpu/drm/via/via_video.c
+++ b/drivers/gpu/drm/via/via_video.c
@@ -83,7 +83,7 @@ int via_decoder_futex(struct drm_device *dev, void *data, struct drm_file *file_
 	switch (fx->func) {
 	case VIA_FUTEX_WAIT:
 		DRM_WAIT_ON(ret, dev_priv->decoder_queue[fx->lock],
-			    (fx->ms / 10) * (DRM_HZ / 100), *lock != fx->val);
+			    (fx->ms / 10) * (HZ / 100), *lock != fx->val);
 		return ret;
 	case VIA_FUTEX_WAKE:
 		DRM_WAKEUP(&(dev_priv->decoder_queue[fx->lock]));
diff --git a/include/drm/drm_os_linux.h b/include/drm/drm_os_linux.h
index fb90132b912e..42ce450420dd 100644
--- a/include/drm/drm_os_linux.h
+++ b/include/drm/drm_os_linux.h
@@ -58,8 +58,6 @@ static inline void writeq(u64 val, void __iomem *reg)
 #define DRM_COPY_TO_USER(arg1, arg2, arg3)		\
 	copy_to_user(arg1, arg2, arg3)
 
-#define DRM_HZ HZ
-
 #define DRM_WAIT_ON( ret, queue, timeout, condition )		\
 do {								\
 	DECLARE_WAITQUEUE(entry, current);			\
-- 
1.8.4.3

  parent reply	other threads:[~2013-12-11 10:34 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-11 10:34 [PATCH 00/50] more drm de-midlayering Daniel Vetter
2013-12-11 10:34 ` [PATCH 01/50] drm/rcar: call drm_put_dev directly in the ->remove hook Daniel Vetter
2013-12-11 10:34 ` [PATCH 02/50] drm/exynos: call drm_put_dev directly from ->remove Daniel Vetter
2013-12-11 10:34 ` [PATCH 03/50] drm/imx: directly call drm_put_dev in ->remove Daniel Vetter
2013-12-11 10:34 ` [PATCH 04/50] drm/tilcdc: call drm_put_dev directly from ->remove Daniel Vetter
2013-12-11 19:39   ` Rob Clark
2013-12-11 10:34 ` [PATCH 05/50] drm/omap: call drm_put_dev directly in ->remove Daniel Vetter
2013-12-11 12:02   ` Rob Clark
2013-12-11 13:20     ` [PATCH] " Daniel Vetter
2013-12-11 19:35       ` Rob Clark
2013-12-11 10:34 ` [PATCH 06/50] drm/shmob: call drm_put_dev directly from ->remove hook Daniel Vetter
2013-12-11 12:21   ` Laurent Pinchart
2013-12-11 10:34 ` [PATCH 07/50] drm/armada: directly call drm_put_dev in ->remove Daniel Vetter
2013-12-11 10:34 ` [PATCH 08/50] drm/msm: call drm_put_dev directly " Daniel Vetter
2013-12-11 19:38   ` Rob Clark
2013-12-11 10:34 ` [PATCH 09/50] drm: rip out drm_platform_exit Daniel Vetter
2013-12-11 10:34 ` [PATCH 10/50] drm: restrict the device list for shadow attached drivers Daniel Vetter
2013-12-11 10:34 ` [PATCH 11/50] drm/bufs: remove handling of _DRM_GEM mappings Daniel Vetter
2013-12-11 10:34 ` [PATCH 12/50] drm: kill DRIVER_REQUIRE_AGP Daniel Vetter
2013-12-11 10:34 ` [PATCH 13/50] drm: ->agp_init can't fail Daniel Vetter
2013-12-11 10:34 ` [PATCH 14/50] drm: rip out drm_core_has_AGP Daniel Vetter
2013-12-11 10:34 ` [PATCH 15/50] drm: remove agp_init() bus callback Daniel Vetter
2013-12-11 10:34 ` [PATCH 16/50] drm: inline drm_agp_destroy Daniel Vetter
2013-12-11 10:34 ` [PATCH 17/50] drm: kill the ->agp_destroy callback Daniel Vetter
2013-12-11 10:34 ` [PATCH 18/50] drm: remove global_mutex locking around agp_init Daniel Vetter
2013-12-11 10:34 ` [PATCH 19/50] drm: rip out DRM_AGP_MEM and DRM_AGP_KERN Daniel Vetter
2013-12-11 10:34 ` Daniel Vetter [this message]
2013-12-11 10:34 ` [PATCH 21/50] drm: Kill DRM_IRQ_ARGS Daniel Vetter
2013-12-11 10:34 ` [PATCH 22/50] drm: Kill DRM_WAKUP and DRM_INIT_WAITQUEUE Daniel Vetter
2013-12-11 10:34 ` [PATCH 23/50] drm: Kill DRM_COPY_(TO|FROM)_USER Daniel Vetter
2013-12-11 10:34 ` [PATCH 24/50] drm: Kill DRM_*MEMORYBARRIER Daniel Vetter
2013-12-11 10:34 ` [PATCH 25/50] drm: Kill DRM_SUSER Daniel Vetter
2013-12-11 10:34 ` [PATCH 26/50] drm/gma500: Remove dead code Daniel Vetter
2013-12-11 10:46   ` Patrik Jakobsson
2013-12-11 10:34 ` [PATCH 27/50] drm/irq: Replace DRM_WAIT_ON with wait_event Daniel Vetter
2013-12-11 10:34 ` [PATCH 28/50] drm: Remove DRM_WAIT_ON from all drivers Daniel Vetter
2013-12-18  1:39   ` Dave Airlie
2013-12-18  8:25     ` Daniel Vetter
2013-12-18  9:37       ` Thomas Hellstrom
2013-12-11 10:34 ` [PATCH 29/50] drm/irq: simplify irq checks in drm_wait_vblank Daniel Vetter
2013-12-12 11:29   ` Thierry Reding
2013-12-12 12:51     ` Daniel Vetter
2013-12-16 10:30   ` [PATCH] " Daniel Vetter
2013-12-16 11:18     ` Thierry Reding
2013-12-11 10:34 ` [PATCH 30/50] drm/pci: fold in irq_by_busid support Daniel Vetter
2013-12-11 10:34 ` [PATCH 31/50] drm/irq: drm_control is a legacy ioctl, so pci devices only Daniel Vetter
2013-12-11 10:34 ` [PATCH 32/50] drm/irq: remove cargo-culted locking from irq_install/unistall Daniel Vetter
2013-12-11 10:34 ` [PATCH 33/50] drm: remove drm_dev_to_irq from drivers Daniel Vetter
2013-12-11 10:34 ` [PATCH 34/50] drm: kill drm_bus->bus_type Daniel Vetter
2013-12-11 10:34 ` [PATCH 35/50] drm: Rip out totally bogus vga_switcheroo->can_switch locking Daniel Vetter
2013-12-11 10:34 ` [PATCH 36/50] drm: rename dev->count_lock to dev->buf_lock Daniel Vetter
2013-12-12 11:33   ` Thierry Reding
2013-12-12 12:52     ` Daniel Vetter
2013-12-16 10:29   ` [PATCH] " Daniel Vetter
2013-12-16 11:17     ` Thierry Reding
2013-12-11 10:34 ` [PATCH 37/50] drm/irq: track the irq installed in drm_irq_install in dev->irq Daniel Vetter
2013-12-16 10:29   ` [PATCH] " Daniel Vetter
2013-12-16 11:17     ` Thierry Reding
2013-12-11 10:34 ` [PATCH 38/50] drm/irq: Look up the pci irq directly in the drm_control ioctl Daniel Vetter
2013-12-11 10:35 ` [PATCH 39/50] drm: pass the irq explicitly to drm_irq_install Daniel Vetter
2013-12-11 10:35 ` [PATCH 40/50] drm: remove bus->get_irq implementations Daniel Vetter
2013-12-11 10:35 ` [PATCH 41/50] drm: inline drm_pci_set_unique Daniel Vetter
2013-12-11 10:35 ` [PATCH 42/50] drm: rip out dev->devname Daniel Vetter
2013-12-11 10:35 ` [PATCH 43/50] drm: remove drm_bus->get_name Daniel Vetter
2013-12-11 10:35 ` [PATCH 44/50] drm: Remove dev->kdriver Daniel Vetter
2013-12-11 10:35 ` [PATCH 45/50] drm/<drivers>: don't set driver->dev_priv_size to 0 Daniel Vetter
2014-01-10 15:25   ` Damien Lespiau
2013-12-11 10:35 ` [PATCH 46/50] drm: store the gem vma offset manager in a typed pointer Daniel Vetter
2013-12-11 10:53   ` David Herrmann
2013-12-11 13:24     ` [PATCH 1/2] " Daniel Vetter
2013-12-11 13:24       ` [PATCH 2/2] drm/gma500: Remove unused function declaration Daniel Vetter
2013-12-11 16:04         ` Patrik Jakobsson
2013-12-18  1:04       ` [PATCH 1/2] drm: store the gem vma offset manager in a typed pointer Dave Airlie
2013-12-18  1:22         ` Rob Clark
2013-12-11 10:35 ` [PATCH 47/50] drm: rip out dev->ioctl_count tracking Daniel Vetter
2013-12-11 10:35 ` [PATCH 48/50] drm: Kill file_priv->ioctl_count tracking Daniel Vetter
2013-12-11 10:35 ` [PATCH 49/50] drm: remove dev->vma_count Daniel Vetter
2013-12-11 10:35 ` [PATCH 50/50] drm: use memdup_user() as a cleanup Daniel Vetter
2013-12-12 18:08 ` [PATCH 00/50] more drm de-midlayering Jakob Bornecrantz

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=1386758111-3446-21-git-send-email-daniel.vetter@ffwll.ch \
    --to=daniel.vetter@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 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.