linux-next: build failure after merge of the drm-xe tree

Stephen Rothwell posted 1 patch 11 months, 1 week ago
There is a newer version of this series
drivers/gpu/drm/drm_gpusvm.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
linux-next: build failure after merge of the drm-xe tree
Posted by Stephen Rothwell 11 months, 1 week ago
Hi all,

After merging the drm-xe tree, today's linux-next build (x86_64
allmodconfig) failed like this:

drivers/gpu/drm/drm_gpusvm.c: In function 'drm_gpusvm_range_get_pages':
drivers/gpu/drm/drm_gpusvm.c:1404:44: error: 'struct page' has no member named 'pgmap'
 1404 |                         if (pagemap != page->pgmap) {
      |                                            ^~
drivers/gpu/drm/drm_gpusvm.c:1410:47: error: 'struct page' has no member named 'pgmap'
 1410 |                                 pagemap = page->pgmap;
      |                                               ^~

Caused by commit

  99624bdff867 ("drm/gpusvm: Add support for GPU Shared Virtual Memory")

interacting with commit

  089b22f60a0f ("mm: allow compound zone device pages")

from the mm-unstable branch of the mm tree.

I have applied the following merge fix patch for today.

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Fri, 7 Mar 2025 12:48:32 +1100
Subject: [PATCH] fix up for "drm/gpusvm: Add support for GPU Shared Virtual
 Memory"

interacting with commit

  089b22f60a0f ("mm: allow compound zone device pages")

from the mm-unstable branch of the mm tree.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 drivers/gpu/drm/drm_gpusvm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/drm_gpusvm.c b/drivers/gpu/drm/drm_gpusvm.c
index f314f5c4af0f..5e9b18ce65f8 100644
--- a/drivers/gpu/drm/drm_gpusvm.c
+++ b/drivers/gpu/drm/drm_gpusvm.c
@@ -1401,13 +1401,13 @@ int drm_gpusvm_range_get_pages(struct drm_gpusvm *gpusvm,
 				goto err_unmap;
 			}
 			zdd = page->zone_device_data;
-			if (pagemap != page->pgmap) {
+			if (pagemap != page_pgmap(page)) {
 				if (i > 0) {
 					err = -EOPNOTSUPP;
 					goto err_unmap;
 				}
 
-				pagemap = page->pgmap;
+				pagemap = page_pgmap(page);
 				dpagemap = zdd->devmem_allocation->dpagemap;
 				if (drm_WARN_ON(gpusvm->drm, !dpagemap)) {
 					/*
-- 
2.45.2

-- 
Cheers,
Stephen Rothwell
Re: linux-next: build failure after merge of the drm-xe tree
Posted by Stephen Rothwell 11 months ago
Hi all,

On Fri, 7 Mar 2025 12:58:03 +1100 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> After merging the drm-xe tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
> 
> drivers/gpu/drm/drm_gpusvm.c: In function 'drm_gpusvm_range_get_pages':
> drivers/gpu/drm/drm_gpusvm.c:1404:44: error: 'struct page' has no member named 'pgmap'
>  1404 |                         if (pagemap != page->pgmap) {
>       |                                            ^~
> drivers/gpu/drm/drm_gpusvm.c:1410:47: error: 'struct page' has no member named 'pgmap'
>  1410 |                                 pagemap = page->pgmap;
>       |                                               ^~
> 
> Caused by commit
> 
>   99624bdff867 ("drm/gpusvm: Add support for GPU Shared Virtual Memory")
> 
> interacting with commit
> 
>   089b22f60a0f ("mm: allow compound zone device pages")
> 
> from the mm-unstable branch of the mm tree.
> 
> I have applied the following merge fix patch for today.
> 
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Fri, 7 Mar 2025 12:48:32 +1100
> Subject: [PATCH] fix up for "drm/gpusvm: Add support for GPU Shared Virtual
>  Memory"
> 
> interacting with commit
> 
>   089b22f60a0f ("mm: allow compound zone device pages")
> 
> from the mm-unstable branch of the mm tree.
> 
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
>  drivers/gpu/drm/drm_gpusvm.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_gpusvm.c b/drivers/gpu/drm/drm_gpusvm.c
> index f314f5c4af0f..5e9b18ce65f8 100644
> --- a/drivers/gpu/drm/drm_gpusvm.c
> +++ b/drivers/gpu/drm/drm_gpusvm.c
> @@ -1401,13 +1401,13 @@ int drm_gpusvm_range_get_pages(struct drm_gpusvm *gpusvm,
>  				goto err_unmap;
>  			}
>  			zdd = page->zone_device_data;
> -			if (pagemap != page->pgmap) {
> +			if (pagemap != page_pgmap(page)) {
>  				if (i > 0) {
>  					err = -EOPNOTSUPP;
>  					goto err_unmap;
>  				}
>  
> -				pagemap = page->pgmap;
> +				pagemap = page_pgmap(page);
>  				dpagemap = zdd->devmem_allocation->dpagemap;
>  				if (drm_WARN_ON(gpusvm->drm, !dpagemap)) {
>  					/*
> -- 
> 2.45.2

This is now a semantic conflict between the mm tree and the drm tree.

-- 
Cheers,
Stephen Rothwell