Hi all,
After merging the drm-misc tree, today's linux-next build (x86_64
allmodconfig) failed like this:
Caused by commit
a78a8da51b36 ("drm/ttm: replace busy placement with flags v6")
interacting with commit
dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel GPUs")
(and maybe others) from Linus' tree (v6.8-rc1).
I have applied the following merge fix patch for today. This makes it build,
but more is likely needed ...
From: Stephen Rothwell <[email protected]>
Date: Tue, 6 Feb 2024 12:21:07 +1100
Subject: [PATCH] fix up for "drm/ttm: replace busy placement with flags v6"
interacting with commit
dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel GPUs")
Signed-off-by: Stephen Rothwell <[email protected]>
---
drivers/gpu/drm/xe/xe_bo.c | 11 -----------
1 file changed, 11 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_bo.c b/drivers/gpu/drm/xe/xe_bo.c
index 0b0e262e2166..280dbda8ae5a 100644
--- a/drivers/gpu/drm/xe/xe_bo.c
+++ b/drivers/gpu/drm/xe/xe_bo.c
@@ -38,8 +38,6 @@ static const struct ttm_place sys_placement_flags = {
static struct ttm_placement sys_placement = {
.num_placement = 1,
.placement = &sys_placement_flags,
- .num_busy_placement = 1,
- .busy_placement = &sys_placement_flags,
};
static const struct ttm_place tt_placement_flags = {
@@ -52,8 +50,6 @@ static const struct ttm_place tt_placement_flags = {
static struct ttm_placement tt_placement = {
.num_placement = 1,
.placement = &tt_placement_flags,
- .num_busy_placement = 1,
- .busy_placement = &sys_placement_flags,
};
bool mem_type_is_vram(u32 mem_type)
@@ -230,8 +226,6 @@ static int __xe_bo_placement_for_flags(struct xe_device *xe, struct xe_bo *bo,
bo->placement = (struct ttm_placement) {
.num_placement = c,
.placement = bo->placements,
- .num_busy_placement = c,
- .busy_placement = bo->placements,
};
return 0;
@@ -251,7 +245,6 @@ static void xe_evict_flags(struct ttm_buffer_object *tbo,
/* Don't handle scatter gather BOs */
if (tbo->type == ttm_bo_type_sg) {
placement->num_placement = 0;
- placement->num_busy_placement = 0;
return;
}
@@ -1353,8 +1346,6 @@ static int __xe_bo_fixed_placement(struct xe_device *xe,
bo->placement = (struct ttm_placement) {
.num_placement = 1,
.placement = place,
- .num_busy_placement = 1,
- .busy_placement = place,
};
return 0;
@@ -2112,9 +2103,7 @@ int xe_bo_migrate(struct xe_bo *bo, u32 mem_type)
xe_place_from_ttm_type(mem_type, &requested);
placement.num_placement = 1;
- placement.num_busy_placement = 1;
placement.placement = &requested;
- placement.busy_placement = &requested;
/*
* Stolen needs to be handled like below VRAM handling if we ever need
--
2.43.0
--
Cheers,
Stephen Rothwell
On Tue, 06 Feb 2024, Stephen Rothwell <[email protected]> wrote:
> Hi all,
>
> After merging the drm-misc tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
>
>
> Caused by commit
>
> a78a8da51b36 ("drm/ttm: replace busy placement with flags v6")
>
> interacting with commit
>
> dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel GPUs")
>
> (and maybe others) from Linus' tree (v6.8-rc1).
>
> I have applied the following merge fix patch for today. This makes it build,
> but more is likely needed ...
>
> From: Stephen Rothwell <[email protected]>
> Date: Tue, 6 Feb 2024 12:21:07 +1100
> Subject: [PATCH] fix up for "drm/ttm: replace busy placement with flags v6"
>
> interacting with commit
>
> dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel GPUs")
>
> Signed-off-by: Stephen Rothwell <[email protected]>
> ---
> drivers/gpu/drm/xe/xe_bo.c | 11 -----------
> 1 file changed, 11 deletions(-)
Please see the new MAINTAINERS entry for drm/xe changes:
INTEL DRM XE DRIVER (Lunar Lake and newer)
M: Lucas De Marchi <[email protected]>
M: Oded Gabbay <[email protected]>
M: Thomas Hellström <[email protected]>
L: [email protected]
BR,
Jani.
--
Jani Nikula, Intel
Hi
On Tue, 2024-02-06 at 12:28 +1100, Stephen Rothwell wrote:
> Hi all,
>
> After merging the drm-misc tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
>
>
> Caused by commit
>
> a78a8da51b36 ("drm/ttm: replace busy placement with flags v6")
>
> interacting with commit
>
> dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel GPUs")
>
> (and maybe others) from Linus' tree (v6.8-rc1).
>
> I have applied the following merge fix patch for today. This makes
> it build,
> but more is likely needed ...
There was a manual fixup for the drm-misc-next merge into drm-tip that
did the right thing here.
How do we ensure these are included into the linux-next builds?
Thanks,
Thomas
>
> From: Stephen Rothwell <[email protected]>
> Date: Tue, 6 Feb 2024 12:21:07 +1100
> Subject: [PATCH] fix up for "drm/ttm: replace busy placement with
> flags v6"
>
> interacting with commit
>
> dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel GPUs")
>
> Signed-off-by: Stephen Rothwell <[email protected]>
> ---
> drivers/gpu/drm/xe/xe_bo.c | 11 -----------
> 1 file changed, 11 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_bo.c b/drivers/gpu/drm/xe/xe_bo.c
> index 0b0e262e2166..280dbda8ae5a 100644
> --- a/drivers/gpu/drm/xe/xe_bo.c
> +++ b/drivers/gpu/drm/xe/xe_bo.c
> @@ -38,8 +38,6 @@ static const struct ttm_place sys_placement_flags =
> {
> static struct ttm_placement sys_placement = {
> .num_placement = 1,
> .placement = &sys_placement_flags,
> - .num_busy_placement = 1,
> - .busy_placement = &sys_placement_flags,
> };
>
> static const struct ttm_place tt_placement_flags = {
> @@ -52,8 +50,6 @@ static const struct ttm_place tt_placement_flags =
> {
> static struct ttm_placement tt_placement = {
> .num_placement = 1,
> .placement = &tt_placement_flags,
> - .num_busy_placement = 1,
> - .busy_placement = &sys_placement_flags,
> };
>
> bool mem_type_is_vram(u32 mem_type)
> @@ -230,8 +226,6 @@ static int __xe_bo_placement_for_flags(struct
> xe_device *xe, struct xe_bo *bo,
> bo->placement = (struct ttm_placement) {
> .num_placement = c,
> .placement = bo->placements,
> - .num_busy_placement = c,
> - .busy_placement = bo->placements,
> };
>
> return 0;
> @@ -251,7 +245,6 @@ static void xe_evict_flags(struct
> ttm_buffer_object *tbo,
> /* Don't handle scatter gather BOs */
> if (tbo->type == ttm_bo_type_sg) {
> placement->num_placement = 0;
> - placement->num_busy_placement = 0;
> return;
> }
>
> @@ -1353,8 +1346,6 @@ static int __xe_bo_fixed_placement(struct
> xe_device *xe,
> bo->placement = (struct ttm_placement) {
> .num_placement = 1,
> .placement = place,
> - .num_busy_placement = 1,
> - .busy_placement = place,
> };
>
> return 0;
> @@ -2112,9 +2103,7 @@ int xe_bo_migrate(struct xe_bo *bo, u32
> mem_type)
>
> xe_place_from_ttm_type(mem_type, &requested);
> placement.num_placement = 1;
> - placement.num_busy_placement = 1;
> placement.placement = &requested;
> - placement.busy_placement = &requested;
>
> /*
> * Stolen needs to be handled like below VRAM handling if we
> ever need
> --
> 2.43.0
>
On Tue, Feb 06, 2024 at 01:39:28PM +0100, Thomas Hellstr?m wrote:
>Hi
>
>On Tue, 2024-02-06 at 12:28 +1100, Stephen Rothwell wrote:
>> Hi all,
>>
>> After merging the drm-misc tree, today's linux-next build (x86_64
>> allmodconfig) failed like this:
>>
>>
>> Caused by commit
>>
>> ? a78a8da51b36 ("drm/ttm: replace busy placement with flags v6")
>>
>> interacting with commit
>>
>> ? dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel GPUs")
>>
>> (and maybe others) from Linus' tree (v6.8-rc1).
>>
>> I have applied the following merge fix patch for today.? This makes
>> it build,
>> but more is likely needed ...
>
>There was a manual fixup for the drm-misc-next merge into drm-tip that
>did the right thing here.
>
>How do we ensure these are included into the linux-next builds?
I think it should have been done in commit 4db102dcb039 ("Merge drm/drm-next into drm-misc-next")
when drm-next merged back into drm-misc-next. Now one option is probably a
commit on drm-misc-next with this content:
https://cgit.freedesktop.org/drm-tip/tree/fixups/drm-misc-next.patch?h=rerere-cache&id=c39c6e3d74203820ef630884a5323237696bd36c
Lucas De Marchi
Hi all,
On Tue, 6 Feb 2024 12:28:22 +1100 Stephen Rothwell <[email protected]> wrote:
>
> After merging the drm-misc tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
drivers/gpu/drm/xe/xe_bo.c:41:10: error: 'struct ttm_placement' has no member named 'num_busy_placement'; did you mean 'num_placement'?
41 | .num_busy_placement = 1,
| ^~~~~~~~~~~~~~~~~~
| num_placement
drivers/gpu/drm/xe/xe_bo.c:41:31: error: excess elements in struct initializer [-Werror]
41 | .num_busy_placement = 1,
| ^
drivers/gpu/drm/xe/xe_bo.c:41:31: note: (near initialization for 'sys_placement')
drivers/gpu/drm/xe/xe_bo.c:42:10: error: 'struct ttm_placement' has no member named 'busy_placement'; did you mean 'num_placement'?
42 | .busy_placement = &sys_placement_flags,
| ^~~~~~~~~~~~~~
| num_placement
drivers/gpu/drm/xe/xe_bo.c:42:27: error: excess elements in struct initializer [-Werror]
42 | .busy_placement = &sys_placement_flags,
| ^
drivers/gpu/drm/xe/xe_bo.c:42:27: note: (near initialization for 'sys_placement')
drivers/gpu/drm/xe/xe_bo.c:55:10: error: 'struct ttm_placement' has no member named 'num_busy_placement'; did you mean 'num_placement'?
55 | .num_busy_placement = 1,
| ^~~~~~~~~~~~~~~~~~
| num_placement
drivers/gpu/drm/xe/xe_bo.c:55:31: error: excess elements in struct initializer [-Werror]
55 | .num_busy_placement = 1,
| ^
drivers/gpu/drm/xe/xe_bo.c:55:31: note: (near initialization for 'tt_placement')
drivers/gpu/drm/xe/xe_bo.c:56:10: error: 'struct ttm_placement' has no member named 'busy_placement'; did you mean 'num_placement'?
56 | .busy_placement = &sys_placement_flags,
| ^~~~~~~~~~~~~~
| num_placement
drivers/gpu/drm/xe/xe_bo.c:56:27: error: excess elements in struct initializer [-Werror]
56 | .busy_placement = &sys_placement_flags,
| ^
drivers/gpu/drm/xe/xe_bo.c:56:27: note: (near initialization for 'tt_placement')
drivers/gpu/drm/xe/xe_bo.c: In function '__xe_bo_placement_for_flags':
drivers/gpu/drm/xe/xe_bo.c:233:18: error: 'struct ttm_placement' has no member named 'num_busy_placement'; did you mean 'num_placement'?
233 | .num_busy_placement = c,
| ^~~~~~~~~~~~~~~~~~
| num_placement
drivers/gpu/drm/xe/xe_bo.c:233:39: error: excess elements in struct initializer [-Werror]
233 | .num_busy_placement = c,
| ^
drivers/gpu/drm/xe/xe_bo.c:233:39: note: (near initialization for '(anonymous)')
drivers/gpu/drm/xe/xe_bo.c:234:18: error: 'struct ttm_placement' has no member named 'busy_placement'; did you mean 'num_placement'?
234 | .busy_placement = bo->placements,
| ^~~~~~~~~~~~~~
| num_placement
drivers/gpu/drm/xe/xe_bo.c:234:35: error: excess elements in struct initializer [-Werror]
234 | .busy_placement = bo->placements,
| ^~
drivers/gpu/drm/xe/xe_bo.c:234:35: note: (near initialization for '(anonymous)')
drivers/gpu/drm/xe/xe_bo.c: In function 'xe_evict_flags':
drivers/gpu/drm/xe/xe_bo.c:254:36: error: 'struct ttm_placement' has no member named 'num_busy_placement'; did you mean 'num_placement'?
254 | placement->num_busy_placement = 0;
| ^~~~~~~~~~~~~~~~~~
| num_placement
drivers/gpu/drm/xe/xe_bo.c: In function '__xe_bo_fixed_placement':
drivers/gpu/drm/xe/xe_bo.c:1356:18: error: 'struct ttm_placement' has no member named 'num_busy_placement'; did you mean 'num_placement'?
1356 | .num_busy_placement = 1,
| ^~~~~~~~~~~~~~~~~~
| num_placement
drivers/gpu/drm/xe/xe_bo.c:1356:39: error: excess elements in struct initializer [-Werror]
1356 | .num_busy_placement = 1,
| ^
drivers/gpu/drm/xe/xe_bo.c:1356:39: note: (near initialization for '(anonymous)')
drivers/gpu/drm/xe/xe_bo.c:1357:18: error: 'struct ttm_placement' has no member named 'busy_placement'; did you mean 'num_placement'?
1357 | .busy_placement = place,
| ^~~~~~~~~~~~~~
| num_placement
drivers/gpu/drm/xe/xe_bo.c:1357:35: error: excess elements in struct initializer [-Werror]
1357 | .busy_placement = place,
| ^~~~~
drivers/gpu/drm/xe/xe_bo.c:1357:35: note: (near initialization for '(anonymous)')
drivers/gpu/drm/xe/xe_bo.c: In function 'xe_bo_migrate':
drivers/gpu/drm/xe/xe_bo.c:2115:19: error: 'struct ttm_placement' has no member named 'num_busy_placement'; did you mean 'num_placement'?
2115 | placement.num_busy_placement = 1;
| ^~~~~~~~~~~~~~~~~~
| num_placement
drivers/gpu/drm/xe/xe_bo.c:2117:19: error: 'struct ttm_placement' has no member named 'busy_placement'; did you mean 'num_placement'?
2117 | placement.busy_placement = &requested;
| ^~~~~~~~~~~~~~
| num_placement
> Caused by commit
>
> a78a8da51b36 ("drm/ttm: replace busy placement with flags v6")
>
> interacting with commit
>
> dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel GPUs")
>
> (and maybe others) from Linus' tree (v6.8-rc1).
Given that the latter above commit(s) are also in the drm-misc tree, I
have just used the drm-misc tree from next-20240205 for today.
--
Cheers,
Stephen Rothwell
On Wed, 07 Feb 2024, Thomas Hellström <[email protected]> wrote:
> Indeed. Not even drm-misc itself compiles with xe enabled. I'll ping
> drm-misc maintainers.
We'll need CONFIG_DRM_XE=m enabled in drm-rerere/drm-misc-*_defconfig,
and get people to use that.
BR,
Jani.
--
Jani Nikula, Intel
On Tue, 2024-02-06 at 14:21 -0600, Lucas De Marchi wrote:
> On Tue, Feb 06, 2024 at 01:39:28PM +0100, Thomas Hellström wrote:
> > Hi
> >
> > On Tue, 2024-02-06 at 12:28 +1100, Stephen Rothwell wrote:
> > > Hi all,
> > >
> > > After merging the drm-misc tree, today's linux-next build (x86_64
> > > allmodconfig) failed like this:
> > >
> > >
> > > Caused by commit
> > >
> > > a78a8da51b36 ("drm/ttm: replace busy placement with flags v6")
> > >
> > > interacting with commit
> > >
> > > dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel
> > > GPUs")
> > >
> > > (and maybe others) from Linus' tree (v6.8-rc1).
> > >
> > > I have applied the following merge fix patch for today. This
> > > makes
> > > it build,
> > > but more is likely needed ...
> >
> > There was a manual fixup for the drm-misc-next merge into drm-tip
> > that
> > did the right thing here.
> >
> > How do we ensure these are included into the linux-next builds?
>
> I think it should have been done in commit 4db102dcb039 ("Merge
> drm/drm-next into drm-misc-next")
> when drm-next merged back into drm-misc-next. Now one option is
> probably a
> commit on drm-misc-next with this content:
> https://cgit.freedesktop.org/drm-tip/tree/fixups/drm-misc-next.patch?h=rerere-cache&id=c39c6e3d74203820ef630884a5323237696bd36c
>
>
> Lucas De Marchi
Indeed. Not even drm-misc itself compiles with xe enabled. I'll ping
drm-misc maintainers.
/Thomas