All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Rothwell <sfr@canb.auug.org.au>
To: Dave Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>,
	Intel Graphics <intel-gfx@lists.freedesktop.org>,
	DRI <dri-devel@lists.freedesktop.org>,
	Linux Next Mailing List <linux-next@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Sidong Yang <realwakka@gmail.com>,
	Alex Deucher <alexander.deucher@amd.com>
Subject: Re: linux-next: build failure after merge of the drm-misc tree
Date: Wed, 2 Sep 2020 13:06:24 +1000	[thread overview]
Message-ID: <20200902130624.18983108@canb.auug.org.au> (raw)
In-Reply-To: <20200826105547.4f6ea26d@canb.auug.org.au>

[-- Attachment #1: Type: text/plain, Size: 6480 bytes --]

Hi all,

On Wed, 26 Aug 2020 10:55:47 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> After merging the drm-misc tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
> 
> drivers/gpu/drm/qxl/qxl_display.c: In function 'qxl_display_read_client_monitors_config':
> include/drm/drm_modeset_lock.h:167:7: error: implicit declaration of function 'drm_drv_uses_atomic_modeset' [-Werror=implicit-function-declaration]
>   167 |  if (!drm_drv_uses_atomic_modeset(dev))    \
>       |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/qxl/qxl_display.c:187:2: note: in expansion of macro 'DRM_MODESET_LOCK_ALL_BEGIN'
>   187 |  DRM_MODESET_LOCK_ALL_BEGIN(dev, ctx, DRM_MODESET_ACQUIRE_INTERRUPTIBLE, ret);
>       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/qxl/qxl_display.c:189:35: error: macro "DRM_MODESET_LOCK_ALL_END" requires 3 arguments, but only 2 given
>   189 |  DRM_MODESET_LOCK_ALL_END(ctx, ret);
>       |                                   ^
> In file included from include/drm/drm_crtc.h:36,
>                  from include/drm/drm_atomic.h:31,
>                  from drivers/gpu/drm/qxl/qxl_display.c:29:
> include/drm/drm_modeset_lock.h:194: note: macro "DRM_MODESET_LOCK_ALL_END" defined here
>   194 | #define DRM_MODESET_LOCK_ALL_END(dev, ctx, ret)    \
>       | 
> drivers/gpu/drm/qxl/qxl_display.c:189:2: error: 'DRM_MODESET_LOCK_ALL_END' undeclared (first use in this function)
>   189 |  DRM_MODESET_LOCK_ALL_END(ctx, ret);
>       |  ^~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/qxl/qxl_display.c:189:2: note: each undeclared identifier is reported only once for each function it appears in
> drivers/gpu/drm/qxl/qxl_display.c:187:2: error: label 'modeset_lock_fail' used but not defined
>   187 |  DRM_MODESET_LOCK_ALL_BEGIN(dev, ctx, DRM_MODESET_ACQUIRE_INTERRUPTIBLE, ret);
>       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from include/drm/drm_crtc.h:36,
>                  from include/drm/drm_atomic.h:31,
>                  from drivers/gpu/drm/qxl/qxl_display.c:29:
> include/drm/drm_modeset_lock.h:170:1: warning: label 'modeset_lock_retry' defined but not used [-Wunused-label]
>   170 | modeset_lock_retry:       \
>       | ^~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/qxl/qxl_display.c:187:2: note: in expansion of macro 'DRM_MODESET_LOCK_ALL_BEGIN'
>   187 |  DRM_MODESET_LOCK_ALL_BEGIN(dev, ctx, DRM_MODESET_ACQUIRE_INTERRUPTIBLE, ret);
>       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/qxl/qxl_display.c: In function 'qxl_framebuffer_surface_dirty':
> drivers/gpu/drm/qxl/qxl_display.c:434:35: error: macro "DRM_MODESET_LOCK_ALL_END" requires 3 arguments, but only 2 given
>   434 |  DRM_MODESET_LOCK_ALL_END(ctx, ret);
>       |                                   ^
> In file included from include/drm/drm_crtc.h:36,
>                  from include/drm/drm_atomic.h:31,
>                  from drivers/gpu/drm/qxl/qxl_display.c:29:
> include/drm/drm_modeset_lock.h:194: note: macro "DRM_MODESET_LOCK_ALL_END" defined here
>   194 | #define DRM_MODESET_LOCK_ALL_END(dev, ctx, ret)    \
>       | 
> drivers/gpu/drm/qxl/qxl_display.c:434:2: error: 'DRM_MODESET_LOCK_ALL_END' undeclared (first use in this function)
>   434 |  DRM_MODESET_LOCK_ALL_END(ctx, ret);
>       |  ^~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/qxl/qxl_display.c:411:2: error: label 'modeset_lock_fail' used but not defined
>   411 |  DRM_MODESET_LOCK_ALL_BEGIN(fb->dev, ctx, DRM_MODESET_ACQUIRE_INTERRUPTIBLE, ret);
>       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from include/drm/drm_crtc.h:36,
>                  from include/drm/drm_atomic.h:31,
>                  from drivers/gpu/drm/qxl/qxl_display.c:29:
> include/drm/drm_modeset_lock.h:170:1: warning: label 'modeset_lock_retry' defined but not used [-Wunused-label]
>   170 | modeset_lock_retry:       \
>       | ^~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/qxl/qxl_display.c:411:2: note: in expansion of macro 'DRM_MODESET_LOCK_ALL_BEGIN'
>   411 |  DRM_MODESET_LOCK_ALL_BEGIN(fb->dev, ctx, DRM_MODESET_ACQUIRE_INTERRUPTIBLE, ret);
>       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> Caused by commit
> 
>   bbaac1354cc9 ("drm/qxl: Replace deprecated function in qxl_display")
> 
> interacting with commit
> 
>   77ef38574beb ("drm/modeset-lock: Take the modeset BKL for legacy drivers")
> 
> from the drm-misc-fixes tree.
> 
> drivers/gpu/drm/qxl/qxl_display.c manages to include
> drm/drm_modeset_lock.h by some indirect route, but fails to have
> drm/drm_drv.h similarly included.  In fact, drm/drm_modeset_lock.h should
> have included drm/drm_drv.h since it uses things declared there, and
> drivers/gpu/drm/qxl/qxl_display.c should include drm/drm_modeset_lock.h
> similarly.
> 
> I have added the following hack patch for today.
> 
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Wed, 26 Aug 2020 10:40:18 +1000
> Subject: [PATCH] fix interaction with drm-misc-fix commit
> 
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
>  drivers/gpu/drm/qxl/qxl_display.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c
> index fa79688013b7..6063f3a15329 100644
> --- a/drivers/gpu/drm/qxl/qxl_display.c
> +++ b/drivers/gpu/drm/qxl/qxl_display.c
> @@ -26,6 +26,7 @@
>  #include <linux/crc32.h>
>  #include <linux/delay.h>
>  
> +#include <drm/drm_drv.h>
>  #include <drm/drm_atomic.h>
>  #include <drm/drm_atomic_helper.h>
>  #include <drm/drm_gem_framebuffer_helper.h>
> @@ -186,7 +187,7 @@ void qxl_display_read_client_monitors_config(struct qxl_device *qdev)
>  
>  	DRM_MODESET_LOCK_ALL_BEGIN(dev, ctx, DRM_MODESET_ACQUIRE_INTERRUPTIBLE, ret);
>  	qxl_update_offset_props(qdev);
> -	DRM_MODESET_LOCK_ALL_END(ctx, ret);
> +	DRM_MODESET_LOCK_ALL_END(dev, ctx, ret);
>  	if (!drm_helper_hpd_irq_event(dev)) {
>  		/* notify that the monitor configuration changed, to
>  		   adjust at the arbitrary resolution */
> @@ -431,7 +432,7 @@ static int qxl_framebuffer_surface_dirty(struct drm_framebuffer *fb,
>  			  clips, num_clips, inc, 0);
>  
>  out_lock_end:
> -	DRM_MODESET_LOCK_ALL_END(ctx, ret);
> +	DRM_MODESET_LOCK_ALL_END(fb->dev, ctx, ret);
>  
>  	return 0;
>  }
> -- 
> 2.28.0

This is now a build failure in the drm tree merg.  I have added the
above hack to the merge of the drm tree today.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Stephen Rothwell <sfr@canb.auug.org.au>
To: Dave Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>,
	Intel Graphics <intel-gfx@lists.freedesktop.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	DRI <dri-devel@lists.freedesktop.org>,
	Linux Next Mailing List <linux-next@vger.kernel.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Alex Deucher <alexander.deucher@amd.com>,
	Sidong Yang <realwakka@gmail.com>
Subject: Re: linux-next: build failure after merge of the drm-misc tree
Date: Wed, 2 Sep 2020 13:06:24 +1000	[thread overview]
Message-ID: <20200902130624.18983108@canb.auug.org.au> (raw)
In-Reply-To: <20200826105547.4f6ea26d@canb.auug.org.au>


[-- Attachment #1.1: Type: text/plain, Size: 6480 bytes --]

Hi all,

On Wed, 26 Aug 2020 10:55:47 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> After merging the drm-misc tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
> 
> drivers/gpu/drm/qxl/qxl_display.c: In function 'qxl_display_read_client_monitors_config':
> include/drm/drm_modeset_lock.h:167:7: error: implicit declaration of function 'drm_drv_uses_atomic_modeset' [-Werror=implicit-function-declaration]
>   167 |  if (!drm_drv_uses_atomic_modeset(dev))    \
>       |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/qxl/qxl_display.c:187:2: note: in expansion of macro 'DRM_MODESET_LOCK_ALL_BEGIN'
>   187 |  DRM_MODESET_LOCK_ALL_BEGIN(dev, ctx, DRM_MODESET_ACQUIRE_INTERRUPTIBLE, ret);
>       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/qxl/qxl_display.c:189:35: error: macro "DRM_MODESET_LOCK_ALL_END" requires 3 arguments, but only 2 given
>   189 |  DRM_MODESET_LOCK_ALL_END(ctx, ret);
>       |                                   ^
> In file included from include/drm/drm_crtc.h:36,
>                  from include/drm/drm_atomic.h:31,
>                  from drivers/gpu/drm/qxl/qxl_display.c:29:
> include/drm/drm_modeset_lock.h:194: note: macro "DRM_MODESET_LOCK_ALL_END" defined here
>   194 | #define DRM_MODESET_LOCK_ALL_END(dev, ctx, ret)    \
>       | 
> drivers/gpu/drm/qxl/qxl_display.c:189:2: error: 'DRM_MODESET_LOCK_ALL_END' undeclared (first use in this function)
>   189 |  DRM_MODESET_LOCK_ALL_END(ctx, ret);
>       |  ^~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/qxl/qxl_display.c:189:2: note: each undeclared identifier is reported only once for each function it appears in
> drivers/gpu/drm/qxl/qxl_display.c:187:2: error: label 'modeset_lock_fail' used but not defined
>   187 |  DRM_MODESET_LOCK_ALL_BEGIN(dev, ctx, DRM_MODESET_ACQUIRE_INTERRUPTIBLE, ret);
>       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from include/drm/drm_crtc.h:36,
>                  from include/drm/drm_atomic.h:31,
>                  from drivers/gpu/drm/qxl/qxl_display.c:29:
> include/drm/drm_modeset_lock.h:170:1: warning: label 'modeset_lock_retry' defined but not used [-Wunused-label]
>   170 | modeset_lock_retry:       \
>       | ^~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/qxl/qxl_display.c:187:2: note: in expansion of macro 'DRM_MODESET_LOCK_ALL_BEGIN'
>   187 |  DRM_MODESET_LOCK_ALL_BEGIN(dev, ctx, DRM_MODESET_ACQUIRE_INTERRUPTIBLE, ret);
>       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/qxl/qxl_display.c: In function 'qxl_framebuffer_surface_dirty':
> drivers/gpu/drm/qxl/qxl_display.c:434:35: error: macro "DRM_MODESET_LOCK_ALL_END" requires 3 arguments, but only 2 given
>   434 |  DRM_MODESET_LOCK_ALL_END(ctx, ret);
>       |                                   ^
> In file included from include/drm/drm_crtc.h:36,
>                  from include/drm/drm_atomic.h:31,
>                  from drivers/gpu/drm/qxl/qxl_display.c:29:
> include/drm/drm_modeset_lock.h:194: note: macro "DRM_MODESET_LOCK_ALL_END" defined here
>   194 | #define DRM_MODESET_LOCK_ALL_END(dev, ctx, ret)    \
>       | 
> drivers/gpu/drm/qxl/qxl_display.c:434:2: error: 'DRM_MODESET_LOCK_ALL_END' undeclared (first use in this function)
>   434 |  DRM_MODESET_LOCK_ALL_END(ctx, ret);
>       |  ^~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/qxl/qxl_display.c:411:2: error: label 'modeset_lock_fail' used but not defined
>   411 |  DRM_MODESET_LOCK_ALL_BEGIN(fb->dev, ctx, DRM_MODESET_ACQUIRE_INTERRUPTIBLE, ret);
>       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from include/drm/drm_crtc.h:36,
>                  from include/drm/drm_atomic.h:31,
>                  from drivers/gpu/drm/qxl/qxl_display.c:29:
> include/drm/drm_modeset_lock.h:170:1: warning: label 'modeset_lock_retry' defined but not used [-Wunused-label]
>   170 | modeset_lock_retry:       \
>       | ^~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/qxl/qxl_display.c:411:2: note: in expansion of macro 'DRM_MODESET_LOCK_ALL_BEGIN'
>   411 |  DRM_MODESET_LOCK_ALL_BEGIN(fb->dev, ctx, DRM_MODESET_ACQUIRE_INTERRUPTIBLE, ret);
>       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> Caused by commit
> 
>   bbaac1354cc9 ("drm/qxl: Replace deprecated function in qxl_display")
> 
> interacting with commit
> 
>   77ef38574beb ("drm/modeset-lock: Take the modeset BKL for legacy drivers")
> 
> from the drm-misc-fixes tree.
> 
> drivers/gpu/drm/qxl/qxl_display.c manages to include
> drm/drm_modeset_lock.h by some indirect route, but fails to have
> drm/drm_drv.h similarly included.  In fact, drm/drm_modeset_lock.h should
> have included drm/drm_drv.h since it uses things declared there, and
> drivers/gpu/drm/qxl/qxl_display.c should include drm/drm_modeset_lock.h
> similarly.
> 
> I have added the following hack patch for today.
> 
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Wed, 26 Aug 2020 10:40:18 +1000
> Subject: [PATCH] fix interaction with drm-misc-fix commit
> 
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
>  drivers/gpu/drm/qxl/qxl_display.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c
> index fa79688013b7..6063f3a15329 100644
> --- a/drivers/gpu/drm/qxl/qxl_display.c
> +++ b/drivers/gpu/drm/qxl/qxl_display.c
> @@ -26,6 +26,7 @@
>  #include <linux/crc32.h>
>  #include <linux/delay.h>
>  
> +#include <drm/drm_drv.h>
>  #include <drm/drm_atomic.h>
>  #include <drm/drm_atomic_helper.h>
>  #include <drm/drm_gem_framebuffer_helper.h>
> @@ -186,7 +187,7 @@ void qxl_display_read_client_monitors_config(struct qxl_device *qdev)
>  
>  	DRM_MODESET_LOCK_ALL_BEGIN(dev, ctx, DRM_MODESET_ACQUIRE_INTERRUPTIBLE, ret);
>  	qxl_update_offset_props(qdev);
> -	DRM_MODESET_LOCK_ALL_END(ctx, ret);
> +	DRM_MODESET_LOCK_ALL_END(dev, ctx, ret);
>  	if (!drm_helper_hpd_irq_event(dev)) {
>  		/* notify that the monitor configuration changed, to
>  		   adjust at the arbitrary resolution */
> @@ -431,7 +432,7 @@ static int qxl_framebuffer_surface_dirty(struct drm_framebuffer *fb,
>  			  clips, num_clips, inc, 0);
>  
>  out_lock_end:
> -	DRM_MODESET_LOCK_ALL_END(ctx, ret);
> +	DRM_MODESET_LOCK_ALL_END(fb->dev, ctx, ret);
>  
>  	return 0;
>  }
> -- 
> 2.28.0

This is now a build failure in the drm tree merg.  I have added the
above hack to the merge of the drm tree today.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

WARNING: multiple messages have this Message-ID (diff)
From: Stephen Rothwell <sfr@canb.auug.org.au>
To: Dave Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>,
	Intel Graphics <intel-gfx@lists.freedesktop.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	DRI <dri-devel@lists.freedesktop.org>,
	Linux Next Mailing List <linux-next@vger.kernel.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Alex Deucher <alexander.deucher@amd.com>,
	Sidong Yang <realwakka@gmail.com>
Subject: Re: [Intel-gfx] linux-next: build failure after merge of the drm-misc tree
Date: Wed, 2 Sep 2020 13:06:24 +1000	[thread overview]
Message-ID: <20200902130624.18983108@canb.auug.org.au> (raw)
In-Reply-To: <20200826105547.4f6ea26d@canb.auug.org.au>


[-- Attachment #1.1: Type: text/plain, Size: 6480 bytes --]

Hi all,

On Wed, 26 Aug 2020 10:55:47 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> After merging the drm-misc tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
> 
> drivers/gpu/drm/qxl/qxl_display.c: In function 'qxl_display_read_client_monitors_config':
> include/drm/drm_modeset_lock.h:167:7: error: implicit declaration of function 'drm_drv_uses_atomic_modeset' [-Werror=implicit-function-declaration]
>   167 |  if (!drm_drv_uses_atomic_modeset(dev))    \
>       |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/qxl/qxl_display.c:187:2: note: in expansion of macro 'DRM_MODESET_LOCK_ALL_BEGIN'
>   187 |  DRM_MODESET_LOCK_ALL_BEGIN(dev, ctx, DRM_MODESET_ACQUIRE_INTERRUPTIBLE, ret);
>       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/qxl/qxl_display.c:189:35: error: macro "DRM_MODESET_LOCK_ALL_END" requires 3 arguments, but only 2 given
>   189 |  DRM_MODESET_LOCK_ALL_END(ctx, ret);
>       |                                   ^
> In file included from include/drm/drm_crtc.h:36,
>                  from include/drm/drm_atomic.h:31,
>                  from drivers/gpu/drm/qxl/qxl_display.c:29:
> include/drm/drm_modeset_lock.h:194: note: macro "DRM_MODESET_LOCK_ALL_END" defined here
>   194 | #define DRM_MODESET_LOCK_ALL_END(dev, ctx, ret)    \
>       | 
> drivers/gpu/drm/qxl/qxl_display.c:189:2: error: 'DRM_MODESET_LOCK_ALL_END' undeclared (first use in this function)
>   189 |  DRM_MODESET_LOCK_ALL_END(ctx, ret);
>       |  ^~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/qxl/qxl_display.c:189:2: note: each undeclared identifier is reported only once for each function it appears in
> drivers/gpu/drm/qxl/qxl_display.c:187:2: error: label 'modeset_lock_fail' used but not defined
>   187 |  DRM_MODESET_LOCK_ALL_BEGIN(dev, ctx, DRM_MODESET_ACQUIRE_INTERRUPTIBLE, ret);
>       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from include/drm/drm_crtc.h:36,
>                  from include/drm/drm_atomic.h:31,
>                  from drivers/gpu/drm/qxl/qxl_display.c:29:
> include/drm/drm_modeset_lock.h:170:1: warning: label 'modeset_lock_retry' defined but not used [-Wunused-label]
>   170 | modeset_lock_retry:       \
>       | ^~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/qxl/qxl_display.c:187:2: note: in expansion of macro 'DRM_MODESET_LOCK_ALL_BEGIN'
>   187 |  DRM_MODESET_LOCK_ALL_BEGIN(dev, ctx, DRM_MODESET_ACQUIRE_INTERRUPTIBLE, ret);
>       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/qxl/qxl_display.c: In function 'qxl_framebuffer_surface_dirty':
> drivers/gpu/drm/qxl/qxl_display.c:434:35: error: macro "DRM_MODESET_LOCK_ALL_END" requires 3 arguments, but only 2 given
>   434 |  DRM_MODESET_LOCK_ALL_END(ctx, ret);
>       |                                   ^
> In file included from include/drm/drm_crtc.h:36,
>                  from include/drm/drm_atomic.h:31,
>                  from drivers/gpu/drm/qxl/qxl_display.c:29:
> include/drm/drm_modeset_lock.h:194: note: macro "DRM_MODESET_LOCK_ALL_END" defined here
>   194 | #define DRM_MODESET_LOCK_ALL_END(dev, ctx, ret)    \
>       | 
> drivers/gpu/drm/qxl/qxl_display.c:434:2: error: 'DRM_MODESET_LOCK_ALL_END' undeclared (first use in this function)
>   434 |  DRM_MODESET_LOCK_ALL_END(ctx, ret);
>       |  ^~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/qxl/qxl_display.c:411:2: error: label 'modeset_lock_fail' used but not defined
>   411 |  DRM_MODESET_LOCK_ALL_BEGIN(fb->dev, ctx, DRM_MODESET_ACQUIRE_INTERRUPTIBLE, ret);
>       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from include/drm/drm_crtc.h:36,
>                  from include/drm/drm_atomic.h:31,
>                  from drivers/gpu/drm/qxl/qxl_display.c:29:
> include/drm/drm_modeset_lock.h:170:1: warning: label 'modeset_lock_retry' defined but not used [-Wunused-label]
>   170 | modeset_lock_retry:       \
>       | ^~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/qxl/qxl_display.c:411:2: note: in expansion of macro 'DRM_MODESET_LOCK_ALL_BEGIN'
>   411 |  DRM_MODESET_LOCK_ALL_BEGIN(fb->dev, ctx, DRM_MODESET_ACQUIRE_INTERRUPTIBLE, ret);
>       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> Caused by commit
> 
>   bbaac1354cc9 ("drm/qxl: Replace deprecated function in qxl_display")
> 
> interacting with commit
> 
>   77ef38574beb ("drm/modeset-lock: Take the modeset BKL for legacy drivers")
> 
> from the drm-misc-fixes tree.
> 
> drivers/gpu/drm/qxl/qxl_display.c manages to include
> drm/drm_modeset_lock.h by some indirect route, but fails to have
> drm/drm_drv.h similarly included.  In fact, drm/drm_modeset_lock.h should
> have included drm/drm_drv.h since it uses things declared there, and
> drivers/gpu/drm/qxl/qxl_display.c should include drm/drm_modeset_lock.h
> similarly.
> 
> I have added the following hack patch for today.
> 
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Wed, 26 Aug 2020 10:40:18 +1000
> Subject: [PATCH] fix interaction with drm-misc-fix commit
> 
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
>  drivers/gpu/drm/qxl/qxl_display.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c
> index fa79688013b7..6063f3a15329 100644
> --- a/drivers/gpu/drm/qxl/qxl_display.c
> +++ b/drivers/gpu/drm/qxl/qxl_display.c
> @@ -26,6 +26,7 @@
>  #include <linux/crc32.h>
>  #include <linux/delay.h>
>  
> +#include <drm/drm_drv.h>
>  #include <drm/drm_atomic.h>
>  #include <drm/drm_atomic_helper.h>
>  #include <drm/drm_gem_framebuffer_helper.h>
> @@ -186,7 +187,7 @@ void qxl_display_read_client_monitors_config(struct qxl_device *qdev)
>  
>  	DRM_MODESET_LOCK_ALL_BEGIN(dev, ctx, DRM_MODESET_ACQUIRE_INTERRUPTIBLE, ret);
>  	qxl_update_offset_props(qdev);
> -	DRM_MODESET_LOCK_ALL_END(ctx, ret);
> +	DRM_MODESET_LOCK_ALL_END(dev, ctx, ret);
>  	if (!drm_helper_hpd_irq_event(dev)) {
>  		/* notify that the monitor configuration changed, to
>  		   adjust at the arbitrary resolution */
> @@ -431,7 +432,7 @@ static int qxl_framebuffer_surface_dirty(struct drm_framebuffer *fb,
>  			  clips, num_clips, inc, 0);
>  
>  out_lock_end:
> -	DRM_MODESET_LOCK_ALL_END(ctx, ret);
> +	DRM_MODESET_LOCK_ALL_END(fb->dev, ctx, ret);
>  
>  	return 0;
>  }
> -- 
> 2.28.0

This is now a build failure in the drm tree merg.  I have added the
above hack to the merge of the drm tree today.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  parent reply	other threads:[~2020-09-02  3:06 UTC|newest]

Thread overview: 332+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-26  0:55 linux-next: build failure after merge of the drm-misc tree Stephen Rothwell
2020-08-26  0:55 ` [Intel-gfx] " Stephen Rothwell
2020-08-26  0:55 ` Stephen Rothwell
2020-08-26  1:12 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for " Patchwork
2020-09-02  3:06 ` Stephen Rothwell [this message]
2020-09-02  3:06   ` [Intel-gfx] " Stephen Rothwell
2020-09-02  3:06   ` Stephen Rothwell
  -- strict thread matches above, loose matches on Subject: below --
2024-04-02 23:47 Stephen Rothwell
2024-02-22  1:46 Stephen Rothwell
2024-02-22  8:14 ` Biju Das
2024-02-22  8:29   ` Geert Uytterhoeven
2024-02-22  9:16     ` Biju Das
2024-02-22  8:32   ` Maxime Ripard
2024-02-22  8:49     ` Biju Das
2024-02-13  1:04 Stephen Rothwell
2024-02-12  1:26 Stephen Rothwell
2024-02-12  9:12 ` Jani Nikula
2024-02-12 13:09   ` Jani Nikula
2024-02-06  4:28 Stephen Rothwell
2024-02-12  1:25 ` Stephen Rothwell
2024-02-12 13:15 ` Jani Nikula
2024-02-19 21:48   ` Stephen Rothwell
2024-02-25 21:41     ` Stephen Rothwell
2024-02-25 21:47       ` Stephen Rothwell
2024-02-26 12:56         ` Christian König
2024-02-06  1:28 Stephen Rothwell
2024-02-06 11:46 ` Jani Nikula
2024-02-06 12:39 ` Thomas Hellström
2024-02-07  2:46 ` Stephen Rothwell
2023-11-26 23:38 Stephen Rothwell
2023-11-26 23:38 ` Stephen Rothwell
2023-11-27  2:12 ` Luben Tuikov
2023-11-27  2:12   ` Luben Tuikov
2023-10-12  1:22 Stephen Rothwell
2023-10-12  1:22 ` Stephen Rothwell
2023-10-12  1:27 ` Stephen Rothwell
2023-10-12  1:27   ` Stephen Rothwell
2023-10-12  7:09   ` Greg Kroah-Hartman
2023-10-12  7:09     ` Greg Kroah-Hartman
2023-10-20  2:00   ` Stephen Rothwell
2023-10-20  2:00     ` Stephen Rothwell
2023-08-07  1:36 Stephen Rothwell
2023-08-07  1:36 ` Stephen Rothwell
2023-04-03  2:16 Stephen Rothwell
2023-04-03  2:16 ` Stephen Rothwell
2023-04-03  8:51 ` Qiang Yu
2023-04-03  8:51   ` Qiang Yu
2023-04-04  1:14   ` Stephen Rothwell
2023-04-04  1:14     ` Stephen Rothwell
2022-11-17  7:32 Stephen Rothwell
2022-11-17  7:32 ` Stephen Rothwell
2022-11-23  5:20 ` Stephen Rothwell
2022-11-23  5:20   ` Stephen Rothwell
2022-11-23  5:35   ` David Airlie
2022-11-23  5:35     ` David Airlie
2022-11-23  6:22     ` Stephen Rothwell
2022-11-23  6:22       ` Stephen Rothwell
2022-11-23  8:33     ` Thomas Zimmermann
2022-11-23  8:33       ` Thomas Zimmermann
2022-11-16  0:38 Stephen Rothwell
2022-11-16  0:38 ` Stephen Rothwell
2022-11-10  0:10 Stephen Rothwell
2022-11-10  0:10 ` Stephen Rothwell
2022-10-21  0:02 Stephen Rothwell
2022-10-21  0:02 ` Stephen Rothwell
2022-10-21  1:11 ` Zack Rusin
2022-06-21  2:36 Stephen Rothwell
2022-06-21  2:36 ` Stephen Rothwell
2022-06-21  7:48 ` Ville Syrjälä
2022-06-21  7:48   ` Ville Syrjälä
2022-06-22  1:04   ` Stephen Rothwell
2022-06-22  1:04     ` Stephen Rothwell
2022-06-22 13:55     ` Ville Syrjälä
2022-06-22 13:55       ` Ville Syrjälä
2022-06-10  4:49 Stephen Rothwell
2022-06-10  4:49 ` Stephen Rothwell
2022-06-10  9:23 ` Javier Martinez Canillas
2022-04-08  1:10 Stephen Rothwell
2022-04-08  1:10 ` Stephen Rothwell
2022-04-08  8:17 ` Christian König
2022-04-08  8:17   ` Christian König
2022-04-06  0:50 Stephen Rothwell
2022-04-06  0:50 ` Stephen Rothwell
2022-04-06  8:56 ` Paul Cercueil
2022-04-06  8:56   ` Paul Cercueil
2021-10-15  9:26 Stephen Rothwell
2021-10-15  9:56 ` Jani Nikula
2021-10-15 10:23   ` Stephen Rothwell
2021-11-01  8:42 ` Stephen Rothwell
2021-11-01  8:42   ` Stephen Rothwell
2021-11-05  6:15   ` Stephen Rothwell
2021-11-05  6:15     ` Stephen Rothwell
2021-11-05 11:03     ` Jani Nikula
2021-11-05 11:03       ` Jani Nikula
2021-11-05 11:57       ` Maxime Ripard
2021-11-05 11:57         ` Maxime Ripard
2021-11-06  2:33       ` Stephen Rothwell
2021-11-06  2:33         ` Stephen Rothwell
2021-11-09  7:40         ` Jani Nikula
2021-11-09  7:40           ` Jani Nikula
2021-11-09  9:16           ` Daniel Vetter
2021-11-09  9:16             ` Daniel Vetter
2021-11-09 11:09             ` Jani Nikula
2021-11-09 11:09               ` Jani Nikula
2021-10-12  2:18 Stephen Rothwell
2021-10-12 11:29 ` Karol Herbst
2021-10-14  3:02 ` luo.penghao
2021-10-14  5:42   ` linux-next: " Karol Herbst
2021-09-17  7:09 Stephen Rothwell
2021-06-08  2:50 Stephen Rothwell
2021-06-08  2:50 ` Stephen Rothwell
2021-06-08  5:37 ` Felix Kuehling
2021-06-08  5:37   ` Felix Kuehling
2021-06-08  6:55   ` Christian König
2021-06-08  6:55     ` Christian König
2021-06-08  7:06     ` Felix Kuehling
2021-06-08  7:06       ` Felix Kuehling
2021-06-08  7:11       ` Christian König
2021-06-08  7:11         ` Christian König
2021-06-09 13:48         ` Daniel Vetter
2021-06-09 13:48           ` Daniel Vetter
2021-06-07  2:33 Stephen Rothwell
2021-06-07  2:33 ` Stephen Rothwell
2021-06-07  6:39 ` Christian König
2021-06-07  6:39   ` Christian König
2021-05-12  5:00 Stephen Rothwell
2021-05-12  5:00 ` Stephen Rothwell
2021-05-12 18:58 ` Thomas Zimmermann
2021-05-12 18:58   ` Thomas Zimmermann
2021-02-10  3:11 Stephen Rothwell
2021-02-10  3:11 ` Stephen Rothwell
2021-02-10 14:31 ` Maarten Lankhorst
2021-02-10 14:31   ` Maarten Lankhorst
2021-02-01  2:10 Stephen Rothwell
2021-02-01  2:10 ` Stephen Rothwell
2021-01-14  0:31 Stephen Rothwell
2021-01-14  0:31 ` Stephen Rothwell
2021-01-14 11:16 ` Thomas Zimmermann
2021-01-14 11:16   ` Thomas Zimmermann
2020-11-10  2:26 Stephen Rothwell
2020-11-10  2:26 ` Stephen Rothwell
2020-11-02  1:43 Stephen Rothwell
2020-11-02  1:43 ` Stephen Rothwell
2020-11-02  9:28 ` Daniel Vetter
2020-11-02  9:28   ` Daniel Vetter
2020-11-02 10:23   ` Michael S. Tsirkin
2020-11-02 10:23     ` Michael S. Tsirkin
2020-11-02 10:28     ` Daniel Vetter
2020-11-02 10:28       ` Daniel Vetter
2020-11-02 10:27   ` Christoph Hellwig
2020-11-02 11:05     ` Michael S. Tsirkin
2020-11-02 11:05       ` Michael S. Tsirkin
2020-11-02 10:19 ` Michael S. Tsirkin
2020-11-02 10:19   ` Michael S. Tsirkin
2020-11-11  6:10   ` Stephen Rothwell
2020-11-11  6:10     ` Stephen Rothwell
2020-11-11 12:48     ` Michael S. Tsirkin
2020-11-11 12:48       ` Michael S. Tsirkin
2020-10-30  0:07 Stephen Rothwell
2020-10-30  0:07 ` Stephen Rothwell
2020-10-30  7:53 ` Christian König
2020-10-30  7:53   ` Christian König
2020-10-08  3:09 Stephen Rothwell
2020-10-08  3:09 ` Stephen Rothwell
2020-10-08  4:42 ` Stephen Rothwell
2020-10-08  4:42   ` Stephen Rothwell
2020-10-12  4:24   ` Stephen Rothwell
2020-10-12  4:24     ` Stephen Rothwell
2020-10-12  4:26     ` Stephen Rothwell
2020-10-12  4:26       ` Stephen Rothwell
2020-10-12 10:15     ` Paul Cercueil
2020-10-12 10:15       ` Paul Cercueil
2020-10-13 11:12     ` Paul Cercueil
2020-10-13 11:12       ` Paul Cercueil
2020-06-17  0:59 Stephen Rothwell
2020-06-17  0:59 ` Stephen Rothwell
2020-06-17  6:33 ` Thomas Zimmermann
2020-06-17  6:33   ` Thomas Zimmermann
2020-06-17  7:03   ` Stephen Rothwell
2020-06-17  7:03     ` Stephen Rothwell
2020-06-17 19:06     ` Emil Velikov
2020-06-17 19:06       ` Emil Velikov
2020-06-24  1:36 ` Stephen Rothwell
2020-06-24  1:36   ` Stephen Rothwell
2020-06-24  5:47   ` Dave Airlie
2020-06-24  5:47     ` Dave Airlie
2020-06-24  7:16     ` Stephen Rothwell
2020-06-24  7:16       ` Stephen Rothwell
2020-04-20  3:01 Stephen Rothwell
2020-04-20  3:01 ` Stephen Rothwell
2020-04-28 22:33 ` Stephen Rothwell
2020-04-28 22:33   ` Stephen Rothwell
2020-04-29  8:09   ` Bartlomiej Zolnierkiewicz
2020-04-29  8:09     ` Bartlomiej Zolnierkiewicz
2020-04-29 10:50     ` Bartlomiej Zolnierkiewicz
2020-04-29 10:50       ` Bartlomiej Zolnierkiewicz
2019-12-16  1:23 Stephen Rothwell
2019-12-16  1:23 ` Stephen Rothwell
2019-12-17 13:19 ` Daniel Vetter
2019-12-17 13:19   ` Daniel Vetter
2019-12-17 20:22   ` Stephen Rothwell
2019-12-17 20:22     ` Stephen Rothwell
2019-12-18 11:53     ` Daniel Vetter
2019-12-18 11:53       ` Daniel Vetter
2019-10-16  0:22 Stephen Rothwell
2019-10-16 16:21 ` Alex Deucher
2019-10-09  0:35 Stephen Rothwell
2019-10-09 16:17 ` Alex Deucher
2019-10-07 23:30 Stephen Rothwell
2019-10-08  3:02 ` Stephen Rothwell
2019-10-08  7:56 ` Hans Verkuil
2019-10-14  0:12 ` Stephen Rothwell
2019-10-14  0:12   ` Stephen Rothwell
2019-08-28  8:55 Stephen Rothwell
2019-08-28  8:55 ` Stephen Rothwell
2019-08-28  9:15 ` Gerd Hoffmann
2019-08-07  3:21 Stephen Rothwell
2019-08-07  3:21 ` Stephen Rothwell
2019-08-01  2:30 Stephen Rothwell
2019-08-01  2:30 ` Stephen Rothwell
2019-06-14  4:41 Stephen Rothwell
2019-06-14  4:41 ` Stephen Rothwell
2019-04-09  6:08 Stephen Rothwell
2019-04-09  6:08 ` Stephen Rothwell
2019-04-09  7:22 ` Gerd Hoffmann
2019-04-09  8:08   ` Stephen Rothwell
2019-04-09  8:31     ` Gerd Hoffmann
2019-04-05  4:55 Stephen Rothwell
2019-04-05  6:03 ` Stephen Rothwell
2019-04-05  6:03   ` Stephen Rothwell
2019-04-01 23:50 Stephen Rothwell
2019-04-01 23:50 ` Stephen Rothwell
2019-04-02  5:55 ` Qiang Yu
2019-04-02  7:57   ` Daniel Vetter
2019-04-02  8:59     ` Qiang Yu
2019-04-02  9:08       ` Daniel Vetter
2019-04-02  9:08         ` Daniel Vetter
2019-04-02 11:26   ` Matthew Wilcox
2019-04-02 13:56     ` Qiang Yu
2019-04-02 14:10       ` Matthew Wilcox
2019-04-02 11:21 ` Matthew Wilcox
2019-04-02 11:21   ` Matthew Wilcox
2019-04-02 13:33   ` Qiang Yu
2019-02-08  1:38 Stephen Rothwell
2019-02-08  1:38 ` Stephen Rothwell
2019-02-08  8:52 ` Daniel Vetter
2019-02-08 22:17   ` Sam Ravnborg
2019-01-08  0:12 Stephen Rothwell
2019-01-08  0:12 ` Stephen Rothwell
2019-01-08  8:37 ` Daniel Vetter
2019-01-08  8:37   ` Daniel Vetter
2019-01-08 14:01   ` Kazlauskas, Nicholas
2019-01-08 14:01     ` Kazlauskas, Nicholas
2019-01-09  0:29   ` Stephen Rothwell
2018-12-06  2:32 Stephen Rothwell
2018-12-06  2:32 ` Stephen Rothwell
2018-12-07 12:37 ` Koenig, Christian
2018-12-07 12:37   ` Koenig, Christian
2017-12-06  1:00 Stephen Rothwell
2017-07-19  1:46 Stephen Rothwell
2017-07-19  1:46 ` Stephen Rothwell
2017-07-21  0:08 ` Stephen Rothwell
2017-07-21  0:08   ` Stephen Rothwell
2017-07-21  7:24   ` Daniel Vetter
2017-07-21  7:24     ` Daniel Vetter
2017-07-21 19:01     ` Hans de Goede
2017-07-24  0:03     ` Stephen Rothwell
2017-07-24  0:03       ` Stephen Rothwell
2017-07-24  8:24       ` Daniel Vetter
2017-07-24 18:33         ` Greg KH
2017-07-24 18:33           ` Greg KH
2017-07-18  1:38 Stephen Rothwell
2017-04-21  2:10 Stephen Rothwell
2017-04-21  2:10 ` Stephen Rothwell
2017-04-21  2:10 ` Stephen Rothwell
2017-04-21  5:03 ` Logan Gunthorpe
2017-04-21  5:03   ` Logan Gunthorpe
2017-04-21  5:03   ` Logan Gunthorpe
2017-04-24  1:25 ` Stephen Rothwell
2017-04-24  1:25   ` Stephen Rothwell
2017-05-02  8:25   ` Daniel Vetter
2017-05-02  8:25     ` Daniel Vetter
2017-05-02  8:25     ` Daniel Vetter
2017-05-02  8:41     ` Stephen Rothwell
2017-05-02  8:41       ` Stephen Rothwell
2017-05-02  8:55       ` Arnd Bergmann
2017-05-02  8:55         ` Arnd Bergmann
2017-05-02  9:34         ` Daniel Vetter
2017-05-02  9:34           ` Daniel Vetter
2017-05-03 23:50 ` Stephen Rothwell
2017-05-03 23:50   ` Stephen Rothwell
2017-05-03 23:50   ` Stephen Rothwell
2017-04-03  3:31 Stephen Rothwell
2017-04-03  3:31 ` Stephen Rothwell
2017-04-03 17:26 ` Sinclair Yeh
2017-04-03 17:26   ` Sinclair Yeh
2017-01-05  0:53 Stephen Rothwell
2017-01-05  0:53 ` Stephen Rothwell
2017-01-05 10:24 ` [Intel-gfx] " Jani Nikula
2017-01-05 10:46   ` Stephen Rothwell
2016-11-09  0:14 Stephen Rothwell
2016-11-09  0:14 ` Stephen Rothwell
2016-10-24  0:24 Stephen Rothwell
2016-10-24  0:24 ` Stephen Rothwell
2016-02-10  1:24 Stephen Rothwell
2016-02-10  1:24 ` Stephen Rothwell
2016-02-10  6:31 ` Daniel Vetter
2016-02-10  8:41 ` Lukas Wunner
2016-02-10  8:41   ` Lukas Wunner
2016-02-10 13:17   ` Lukas Wunner
2016-02-10 13:17     ` Lukas Wunner
2016-02-10 13:37     ` Daniel Vetter
2016-02-10 13:37       ` Daniel Vetter
2015-12-08  0:20 Stephen Rothwell
2015-12-08  0:20 ` Stephen Rothwell
2015-10-01  2:47 Stephen Rothwell
2015-10-01  2:47 ` Stephen Rothwell
2015-10-01  6:41 ` Daniel Vetter
2015-09-03  0:49 Stephen Rothwell
2015-09-03  0:49 ` Stephen Rothwell
2015-09-07 23:42 ` Stephen Rothwell
2015-09-07 23:42   ` Stephen Rothwell
2015-09-08  4:48   ` Maarten Lankhorst
2015-09-08  4:48     ` Maarten Lankhorst
2015-09-08  8:16     ` Daniel Vetter
2015-09-08  8:16       ` Daniel Vetter
2015-07-14  2:52 Stephen Rothwell
2015-07-14  2:52 ` Stephen Rothwell
2015-07-14  5:00 ` Archit Taneja
2015-07-14  7:36   ` Daniel Vetter
2015-07-14  7:36     ` Daniel Vetter
2015-02-24  0:41 Stephen Rothwell
2015-02-24  0:41 ` Stephen Rothwell
2015-02-24  0:59 ` Daniel Vetter

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=20200902130624.18983108@canb.auug.org.au \
    --to=sfr@canb.auug.org.au \
    --cc=airlied@linux.ie \
    --cc=alexander.deucher@amd.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=kraxel@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=realwakka@gmail.com \
    /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.