linux-next: build failure after merge of the hmm tree

Subsystems: drm drivers, intel drm i915 driver (meteor lake, dg2 and older excluding poulsbo, moorestown and derivative), the rest

3 messages, 2 authors, 2021-09-01 · open the first message on its own page

linux-next: build failure after merge of the hmm tree

From: Stephen Rothwell <hidden>
Date: 2021-08-23 07:51:07

Hi all,

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

drivers/gpu/drm/i915/gem/i915_gem_ttm.c: In function 'i915_ttm_tt_get_st':
drivers/gpu/drm/i915/gem/i915_gem_ttm.c:396:7: error: implicit declaration of function '__sg_alloc_table_from_pages'; did you mean 'sg_alloc_table_from_pages'? [-Werror=implicit-function-declaration]
  396 |  sg = __sg_alloc_table_from_pages
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      |       sg_alloc_table_from_pages
drivers/gpu/drm/i915/gem/i915_gem_ttm.c:396:5: warning: assignment to 'struct scatterlist *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  396 |  sg = __sg_alloc_table_from_pages
      |     ^

Caused by commit

  fcbfe956561b ("lib/scatterlist: Provide a dedicated function to support table append")

interacting with commit

  213d50927763 ("drm/i915/ttm: Introduce a TTM i915 gem object backend")

from the drm tree.

I have applied the following merge resolution patch.

From: Stephen Rothwell <redacted>
Date: Mon, 23 Aug 2021 17:46:27 +1000
Subject: [PATCH] drm/i915/ttm: fix up for "lib/scatterlist: Provide a
 dedicated function to support tableappend"

Signed-off-by: Stephen Rothwell <redacted>
---
 drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
index 771eb2963123..d3d95934a047 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
@@ -382,7 +382,6 @@ i915_ttm_region(struct ttm_device *bdev, int ttm_mem_type)
 static struct sg_table *i915_ttm_tt_get_st(struct ttm_tt *ttm)
 {
 	struct i915_ttm_tt *i915_tt = container_of(ttm, typeof(*i915_tt), ttm);
-	struct scatterlist *sg;
 	struct sg_table *st;
 	int ret;
 
@@ -393,13 +392,13 @@ static struct sg_table *i915_ttm_tt_get_st(struct ttm_tt *ttm)
 	if (!st)
 		return ERR_PTR(-ENOMEM);
 
-	sg = __sg_alloc_table_from_pages
+	ret = sg_alloc_table_from_pages_segment
 		(st, ttm->pages, ttm->num_pages, 0,
 		 (unsigned long)ttm->num_pages << PAGE_SHIFT,
-		 i915_sg_segment_size(), NULL, 0, GFP_KERNEL);
-	if (IS_ERR(sg)) {
+		 i915_sg_segment_size(), GFP_KERNEL);
+	if (ret) {
 		kfree(st);
-		return ERR_CAST(sg);
+		return ERR_PTR(ret);
 	}
 
 	ret = dma_map_sgtable(i915_tt->dev, st, DMA_BIDIRECTIONAL, 0);
-- 
2.32.0

-- 
Cheers,
Stephen Rothwell

Re: linux-next: build failure after merge of the hmm tree

From: Jason Gunthorpe <jgg@nvidia.com>
Date: 2021-08-23 17:33:46

On Mon, Aug 23, 2021 at 05:50:27PM +1000, Stephen Rothwell wrote:
quoted hunk
From: Stephen Rothwell <redacted>
Date: Mon, 23 Aug 2021 17:46:27 +1000
Subject: [PATCH] drm/i915/ttm: fix up for "lib/scatterlist: Provide a
 dedicated function to support tableappend"

Signed-off-by: Stephen Rothwell <redacted>
 drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
index 771eb2963123..d3d95934a047 100644
+++ b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
@@ -382,7 +382,6 @@ i915_ttm_region(struct ttm_device *bdev, int ttm_mem_type)
 static struct sg_table *i915_ttm_tt_get_st(struct ttm_tt *ttm)
 {
 	struct i915_ttm_tt *i915_tt = container_of(ttm, typeof(*i915_tt), ttm);
-	struct scatterlist *sg;
 	struct sg_table *st;
 	int ret;
 
@@ -393,13 +392,13 @@ static struct sg_table *i915_ttm_tt_get_st(struct ttm_tt *ttm)
 	if (!st)
 		return ERR_PTR(-ENOMEM);
 
-	sg = __sg_alloc_table_from_pages
+	ret = sg_alloc_table_from_pages_segment
 		(st, ttm->pages, ttm->num_pages, 0,
 		 (unsigned long)ttm->num_pages << PAGE_SHIFT,
-		 i915_sg_segment_size(), NULL, 0, GFP_KERNEL);
-	if (IS_ERR(sg)) {
+		 i915_sg_segment_size(), GFP_KERNEL);
+	if (ret) {
 		kfree(st);
-		return ERR_CAST(sg);
+		return ERR_PTR(ret);
 	}
Looks right, thanks

Jason

Re: linux-next: build failure after merge of the hmm tree

From: Stephen Rothwell <hidden>
Date: 2021-09-01 22:01:34

Hi ,

On Mon, 23 Aug 2021 17:50:27 +1000 Stephen Rothwell [off-list ref] wrote:
quoted hunk
Hi all,

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

drivers/gpu/drm/i915/gem/i915_gem_ttm.c: In function 'i915_ttm_tt_get_st':
drivers/gpu/drm/i915/gem/i915_gem_ttm.c:396:7: error: implicit declaration of function '__sg_alloc_table_from_pages'; did you mean 'sg_alloc_table_from_pages'? [-Werror=implicit-function-declaration]
  396 |  sg = __sg_alloc_table_from_pages
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      |       sg_alloc_table_from_pages
drivers/gpu/drm/i915/gem/i915_gem_ttm.c:396:5: warning: assignment to 'struct scatterlist *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  396 |  sg = __sg_alloc_table_from_pages
      |     ^

Caused by commit

  fcbfe956561b ("lib/scatterlist: Provide a dedicated function to support table append")

interacting with commit

  213d50927763 ("drm/i915/ttm: Introduce a TTM i915 gem object backend")

from the drm tree.

I have applied the following merge resolution patch.

From: Stephen Rothwell <redacted>
Date: Mon, 23 Aug 2021 17:46:27 +1000
Subject: [PATCH] drm/i915/ttm: fix up for "lib/scatterlist: Provide a
 dedicated function to support tableappend"

Signed-off-by: Stephen Rothwell <redacted>
---
 drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
index 771eb2963123..d3d95934a047 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
@@ -382,7 +382,6 @@ i915_ttm_region(struct ttm_device *bdev, int ttm_mem_type)
 static struct sg_table *i915_ttm_tt_get_st(struct ttm_tt *ttm)
 {
 	struct i915_ttm_tt *i915_tt = container_of(ttm, typeof(*i915_tt), ttm);
-	struct scatterlist *sg;
 	struct sg_table *st;
 	int ret;
 
@@ -393,13 +392,13 @@ static struct sg_table *i915_ttm_tt_get_st(struct ttm_tt *ttm)
 	if (!st)
 		return ERR_PTR(-ENOMEM);
 
-	sg = __sg_alloc_table_from_pages
+	ret = sg_alloc_table_from_pages_segment
 		(st, ttm->pages, ttm->num_pages, 0,
 		 (unsigned long)ttm->num_pages << PAGE_SHIFT,
-		 i915_sg_segment_size(), NULL, 0, GFP_KERNEL);
-	if (IS_ERR(sg)) {
+		 i915_sg_segment_size(), GFP_KERNEL);
+	if (ret) {
 		kfree(st);
-		return ERR_CAST(sg);
+		return ERR_PTR(ret);
 	}
 
 	ret = dma_map_sgtable(i915_tt->dev, st, DMA_BIDIRECTIONAL, 0);
I am now applying this merge fix patch to the merge of the rdma tree
(since that has merged the hmm tree and the drm tree has been merged
upstream).

-- 
Cheers,
Stephen Rothwell
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help