All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] drm: add a check to verify the size alignment
@ 2022-03-23  7:34 ` Arunpravin Paneer Selvam
  0 siblings, 0 replies; 19+ messages in thread
From: Arunpravin Paneer Selvam @ 2022-03-23  7:34 UTC (permalink / raw)
  To: intel-gfx, dri-devel, amd-gfx
  Cc: pmenzel, Arunpravin Paneer Selvam, matthew.auld,
	alexander.deucher, christian.koenig

Add a simple check to reject any size not aligned to the
min_page_size.

handle instances when size is not aligned with the min_page_size.
Unigine Heaven has allocation requests for example required pages
are 257 and alignment request is 256. To allocate the left over 1
page, continues the iteration to find the order value which is 0
and when it compares with min_order = 8, triggers the BUG_ON(order
< min_order). To avoid this problem, we added a simple check to
return -EINVAL if size is not aligned to the min_page_size.

v2: Added more details to the commit description

Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
Suggested-by: Matthew Auld <matthew.auld@intel.com>
---
 drivers/gpu/drm/drm_buddy.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/drm_buddy.c b/drivers/gpu/drm/drm_buddy.c
index 72f52f293249..b503c88786b0 100644
--- a/drivers/gpu/drm/drm_buddy.c
+++ b/drivers/gpu/drm/drm_buddy.c
@@ -661,6 +661,9 @@ int drm_buddy_alloc_blocks(struct drm_buddy *mm,
 	if (range_overflows(start, size, mm->size))
 		return -EINVAL;
 
+	if (WARN_ON(!IS_ALIGNED(size, min_page_size)))
+		return -EINVAL;
+
 	/* Actual range allocation */
 	if (start + size == end)
 		return __drm_buddy_alloc_range(mm, start, size, blocks);

base-commit: 056d47eaf6ea753fa2e21da31f9cbd8b721bbb7b
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [Intel-gfx] [PATCH v2] drm: add a check to verify the size alignment
@ 2022-03-23  7:34 ` Arunpravin Paneer Selvam
  0 siblings, 0 replies; 19+ messages in thread
From: Arunpravin Paneer Selvam @ 2022-03-23  7:34 UTC (permalink / raw)
  To: intel-gfx, dri-devel, amd-gfx
  Cc: pmenzel, Arunpravin Paneer Selvam, matthew.auld,
	alexander.deucher, christian.koenig

Add a simple check to reject any size not aligned to the
min_page_size.

handle instances when size is not aligned with the min_page_size.
Unigine Heaven has allocation requests for example required pages
are 257 and alignment request is 256. To allocate the left over 1
page, continues the iteration to find the order value which is 0
and when it compares with min_order = 8, triggers the BUG_ON(order
< min_order). To avoid this problem, we added a simple check to
return -EINVAL if size is not aligned to the min_page_size.

v2: Added more details to the commit description

Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
Suggested-by: Matthew Auld <matthew.auld@intel.com>
---
 drivers/gpu/drm/drm_buddy.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/drm_buddy.c b/drivers/gpu/drm/drm_buddy.c
index 72f52f293249..b503c88786b0 100644
--- a/drivers/gpu/drm/drm_buddy.c
+++ b/drivers/gpu/drm/drm_buddy.c
@@ -661,6 +661,9 @@ int drm_buddy_alloc_blocks(struct drm_buddy *mm,
 	if (range_overflows(start, size, mm->size))
 		return -EINVAL;
 
+	if (WARN_ON(!IS_ALIGNED(size, min_page_size)))
+		return -EINVAL;
+
 	/* Actual range allocation */
 	if (start + size == end)
 		return __drm_buddy_alloc_range(mm, start, size, blocks);

base-commit: 056d47eaf6ea753fa2e21da31f9cbd8b721bbb7b
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH v2] drm: add a check to verify the size alignment
@ 2022-03-23  7:34 ` Arunpravin Paneer Selvam
  0 siblings, 0 replies; 19+ messages in thread
From: Arunpravin Paneer Selvam @ 2022-03-23  7:34 UTC (permalink / raw)
  To: intel-gfx, dri-devel, amd-gfx
  Cc: pmenzel, Arunpravin Paneer Selvam, matthew.auld, daniel,
	alexander.deucher, christian.koenig

Add a simple check to reject any size not aligned to the
min_page_size.

handle instances when size is not aligned with the min_page_size.
Unigine Heaven has allocation requests for example required pages
are 257 and alignment request is 256. To allocate the left over 1
page, continues the iteration to find the order value which is 0
and when it compares with min_order = 8, triggers the BUG_ON(order
< min_order). To avoid this problem, we added a simple check to
return -EINVAL if size is not aligned to the min_page_size.

v2: Added more details to the commit description

Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
Suggested-by: Matthew Auld <matthew.auld@intel.com>
---
 drivers/gpu/drm/drm_buddy.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/drm_buddy.c b/drivers/gpu/drm/drm_buddy.c
index 72f52f293249..b503c88786b0 100644
--- a/drivers/gpu/drm/drm_buddy.c
+++ b/drivers/gpu/drm/drm_buddy.c
@@ -661,6 +661,9 @@ int drm_buddy_alloc_blocks(struct drm_buddy *mm,
 	if (range_overflows(start, size, mm->size))
 		return -EINVAL;
 
+	if (WARN_ON(!IS_ALIGNED(size, min_page_size)))
+		return -EINVAL;
+
 	/* Actual range allocation */
 	if (start + size == end)
 		return __drm_buddy_alloc_range(mm, start, size, blocks);

base-commit: 056d47eaf6ea753fa2e21da31f9cbd8b721bbb7b
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [PATCH v2] drm: add a check to verify the size alignment
  2022-03-23  7:34 ` [Intel-gfx] " Arunpravin Paneer Selvam
  (?)
@ 2022-03-23  7:45   ` Christian König
  -1 siblings, 0 replies; 19+ messages in thread
From: Christian König @ 2022-03-23  7:45 UTC (permalink / raw)
  To: Arunpravin Paneer Selvam, intel-gfx, dri-devel, amd-gfx
  Cc: alexander.deucher, pmenzel, matthew.auld, christian.koenig

Am 23.03.22 um 08:34 schrieb Arunpravin Paneer Selvam:
> Add a simple check to reject any size not aligned to the
> min_page_size.
>
> handle instances when size is not aligned with the min_page_size.
> Unigine Heaven has allocation requests for example required pages
> are 257 and alignment request is 256. To allocate the left over 1
> page, continues the iteration to find the order value which is 0
> and when it compares with min_order = 8, triggers the BUG_ON(order
> < min_order). To avoid this problem, we added a simple check to
> return -EINVAL if size is not aligned to the min_page_size.
>
> v2: Added more details to the commit description
>
> Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
> Suggested-by: Matthew Auld <matthew.auld@intel.com>
> ---
>   drivers/gpu/drm/drm_buddy.c | 3 +++
>   1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_buddy.c b/drivers/gpu/drm/drm_buddy.c
> index 72f52f293249..b503c88786b0 100644
> --- a/drivers/gpu/drm/drm_buddy.c
> +++ b/drivers/gpu/drm/drm_buddy.c
> @@ -661,6 +661,9 @@ int drm_buddy_alloc_blocks(struct drm_buddy *mm,
>   	if (range_overflows(start, size, mm->size))
>   		return -EINVAL;
>   
> +	if (WARN_ON(!IS_ALIGNED(size, min_page_size)))
> +		return -EINVAL;
> +

I'm not that happy with the handling here.

See a minimum page size larger than the requested size is perfectly 
valid, it just means that the remaining pages needs to be trimmed.

In other words when the request is to allocate 1 page with an alignment 
of 256 we just need to give the remaining 255 pages back to the allocator.

Regards,
Christian.

>   	/* Actual range allocation */
>   	if (start + size == end)
>   		return __drm_buddy_alloc_range(mm, start, size, blocks);
>
> base-commit: 056d47eaf6ea753fa2e21da31f9cbd8b721bbb7b


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v2] drm: add a check to verify the size alignment
@ 2022-03-23  7:45   ` Christian König
  0 siblings, 0 replies; 19+ messages in thread
From: Christian König @ 2022-03-23  7:45 UTC (permalink / raw)
  To: Arunpravin Paneer Selvam, intel-gfx, dri-devel, amd-gfx
  Cc: alexander.deucher, pmenzel, matthew.auld, daniel, christian.koenig

Am 23.03.22 um 08:34 schrieb Arunpravin Paneer Selvam:
> Add a simple check to reject any size not aligned to the
> min_page_size.
>
> handle instances when size is not aligned with the min_page_size.
> Unigine Heaven has allocation requests for example required pages
> are 257 and alignment request is 256. To allocate the left over 1
> page, continues the iteration to find the order value which is 0
> and when it compares with min_order = 8, triggers the BUG_ON(order
> < min_order). To avoid this problem, we added a simple check to
> return -EINVAL if size is not aligned to the min_page_size.
>
> v2: Added more details to the commit description
>
> Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
> Suggested-by: Matthew Auld <matthew.auld@intel.com>
> ---
>   drivers/gpu/drm/drm_buddy.c | 3 +++
>   1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_buddy.c b/drivers/gpu/drm/drm_buddy.c
> index 72f52f293249..b503c88786b0 100644
> --- a/drivers/gpu/drm/drm_buddy.c
> +++ b/drivers/gpu/drm/drm_buddy.c
> @@ -661,6 +661,9 @@ int drm_buddy_alloc_blocks(struct drm_buddy *mm,
>   	if (range_overflows(start, size, mm->size))
>   		return -EINVAL;
>   
> +	if (WARN_ON(!IS_ALIGNED(size, min_page_size)))
> +		return -EINVAL;
> +

I'm not that happy with the handling here.

See a minimum page size larger than the requested size is perfectly 
valid, it just means that the remaining pages needs to be trimmed.

In other words when the request is to allocate 1 page with an alignment 
of 256 we just need to give the remaining 255 pages back to the allocator.

Regards,
Christian.

>   	/* Actual range allocation */
>   	if (start + size == end)
>   		return __drm_buddy_alloc_range(mm, start, size, blocks);
>
> base-commit: 056d47eaf6ea753fa2e21da31f9cbd8b721bbb7b


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Intel-gfx] [PATCH v2] drm: add a check to verify the size alignment
@ 2022-03-23  7:45   ` Christian König
  0 siblings, 0 replies; 19+ messages in thread
From: Christian König @ 2022-03-23  7:45 UTC (permalink / raw)
  To: Arunpravin Paneer Selvam, intel-gfx, dri-devel, amd-gfx
  Cc: alexander.deucher, pmenzel, matthew.auld, christian.koenig

Am 23.03.22 um 08:34 schrieb Arunpravin Paneer Selvam:
> Add a simple check to reject any size not aligned to the
> min_page_size.
>
> handle instances when size is not aligned with the min_page_size.
> Unigine Heaven has allocation requests for example required pages
> are 257 and alignment request is 256. To allocate the left over 1
> page, continues the iteration to find the order value which is 0
> and when it compares with min_order = 8, triggers the BUG_ON(order
> < min_order). To avoid this problem, we added a simple check to
> return -EINVAL if size is not aligned to the min_page_size.
>
> v2: Added more details to the commit description
>
> Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
> Suggested-by: Matthew Auld <matthew.auld@intel.com>
> ---
>   drivers/gpu/drm/drm_buddy.c | 3 +++
>   1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_buddy.c b/drivers/gpu/drm/drm_buddy.c
> index 72f52f293249..b503c88786b0 100644
> --- a/drivers/gpu/drm/drm_buddy.c
> +++ b/drivers/gpu/drm/drm_buddy.c
> @@ -661,6 +661,9 @@ int drm_buddy_alloc_blocks(struct drm_buddy *mm,
>   	if (range_overflows(start, size, mm->size))
>   		return -EINVAL;
>   
> +	if (WARN_ON(!IS_ALIGNED(size, min_page_size)))
> +		return -EINVAL;
> +

I'm not that happy with the handling here.

See a minimum page size larger than the requested size is perfectly 
valid, it just means that the remaining pages needs to be trimmed.

In other words when the request is to allocate 1 page with an alignment 
of 256 we just need to give the remaining 255 pages back to the allocator.

Regards,
Christian.

>   	/* Actual range allocation */
>   	if (start + size == end)
>   		return __drm_buddy_alloc_range(mm, start, size, blocks);
>
> base-commit: 056d47eaf6ea753fa2e21da31f9cbd8b721bbb7b


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Intel-gfx] ✗ Fi.CI.DOCS: warning for drm: add a check to verify the size alignment (rev2)
  2022-03-23  7:34 ` [Intel-gfx] " Arunpravin Paneer Selvam
                   ` (2 preceding siblings ...)
  (?)
@ 2022-03-23  9:33 ` Patchwork
  -1 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2022-03-23  9:33 UTC (permalink / raw)
  To: Arunpravin Paneer Selvam; +Cc: intel-gfx

== Series Details ==

Series: drm: add a check to verify the size alignment (rev2)
URL   : https://patchwork.freedesktop.org/series/101569/
State : warning

== Summary ==

$ make htmldocs 2>&1 > /dev/null | grep i915
./drivers/gpu/drm/i915/display/intel_drrs.c:1: warning: 'intel_drrs_enable' not found
./drivers/gpu/drm/i915/display/intel_drrs.c:1: warning: 'intel_drrs_disable' not found



^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Intel-gfx] ✓ Fi.CI.BAT: success for drm: add a check to verify the size alignment (rev2)
  2022-03-23  7:34 ` [Intel-gfx] " Arunpravin Paneer Selvam
                   ` (3 preceding siblings ...)
  (?)
@ 2022-03-23 10:04 ` Patchwork
  -1 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2022-03-23 10:04 UTC (permalink / raw)
  To: Arunpravin Paneer Selvam; +Cc: intel-gfx

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

== Series Details ==

Series: drm: add a check to verify the size alignment (rev2)
URL   : https://patchwork.freedesktop.org/series/101569/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_11397 -> Patchwork_22653
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/index.html

Participating hosts (49 -> 42)
------------------------------

  Additional (1): fi-pnv-d510 
  Missing    (8): shard-tglu fi-hsw-4200u bat-adlm-1 fi-bsw-cyan fi-ctg-p8600 shard-rkl shard-dg1 fi-bdw-samus 

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_22653:

### IGT changes ###

#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@i915_selftest@live@active:
    - {bat-rpls-2}:       [PASS][1] -> [INCOMPLETE][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/bat-rpls-2/igt@i915_selftest@live@active.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/bat-rpls-2/igt@i915_selftest@live@active.html

  
Known issues
------------

  Here are the changes found in Patchwork_22653 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_huc_copy@huc-copy:
    - fi-pnv-d510:        NOTRUN -> [SKIP][3] ([fdo#109271]) +57 similar issues
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/fi-pnv-d510/igt@gem_huc_copy@huc-copy.html

  * igt@i915_selftest@live@gt_engines:
    - bat-dg1-6:          [PASS][4] -> [INCOMPLETE][5] ([i915#4418])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/bat-dg1-6/igt@i915_selftest@live@gt_engines.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/bat-dg1-6/igt@i915_selftest@live@gt_engines.html

  * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-c:
    - fi-pnv-d510:        NOTRUN -> [SKIP][6] ([fdo#109271] / [i915#5341])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/fi-pnv-d510/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-c.html

  * igt@runner@aborted:
    - bat-dg1-6:          NOTRUN -> [FAIL][7] ([i915#4312] / [i915#5257])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/bat-dg1-6/igt@runner@aborted.html

  
#### Possible fixes ####

  * igt@gem_exec_suspend@basic-s0@smem:
    - fi-glk-dsi:         [DMESG-WARN][8] ([i915#2943]) -> [PASS][9]
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/fi-glk-dsi/igt@gem_exec_suspend@basic-s0@smem.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/fi-glk-dsi/igt@gem_exec_suspend@basic-s0@smem.html

  * igt@i915_selftest@live@hangcheck:
    - {fi-hsw-g3258}:     [INCOMPLETE][10] ([i915#4785]) -> [PASS][11]
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/fi-hsw-g3258/igt@i915_selftest@live@hangcheck.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/fi-hsw-g3258/igt@i915_selftest@live@hangcheck.html

  
#### Warnings ####

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
    - fi-rkl-guc:         [SKIP][12] ([i915#4103]) -> [SKIP][13] ([i915#4070] / [i915#4103]) +1 similar issue
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/fi-rkl-guc/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/fi-rkl-guc/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html

  * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d:
    - fi-rkl-guc:         [SKIP][14] ([i915#533]) -> [SKIP][15] ([i915#4070] / [i915#533])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/fi-rkl-guc/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/fi-rkl-guc/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [i915#2943]: https://gitlab.freedesktop.org/drm/intel/issues/2943
  [i915#3576]: https://gitlab.freedesktop.org/drm/intel/issues/3576
  [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
  [i915#4391]: https://gitlab.freedesktop.org/drm/intel/issues/4391
  [i915#4418]: https://gitlab.freedesktop.org/drm/intel/issues/4418
  [i915#4785]: https://gitlab.freedesktop.org/drm/intel/issues/4785
  [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
  [i915#5257]: https://gitlab.freedesktop.org/drm/intel/issues/5257
  [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
  [i915#5339]: https://gitlab.freedesktop.org/drm/intel/issues/5339
  [i915#5341]: https://gitlab.freedesktop.org/drm/intel/issues/5341
  [i915#5342]: https://gitlab.freedesktop.org/drm/intel/issues/5342


Build changes
-------------

  * Linux: CI_DRM_11397 -> Patchwork_22653

  CI-20190529: 20190529
  CI_DRM_11397: 056d47eaf6ea753fa2e21da31f9cbd8b721bbb7b @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_6387: 04d012b18355b53798af5a55a8915afb1a421bba @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_22653: 7c7aadd7d0554d64d5beb1686bc9b3e561bc717e @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

7c7aadd7d055 drm: add a check to verify the size alignment

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/index.html

[-- Attachment #2: Type: text/html, Size: 6537 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Intel-gfx] ✗ Fi.CI.IGT: failure for drm: add a check to verify the size alignment (rev2)
  2022-03-23  7:34 ` [Intel-gfx] " Arunpravin Paneer Selvam
                   ` (4 preceding siblings ...)
  (?)
@ 2022-03-23 11:39 ` Patchwork
  -1 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2022-03-23 11:39 UTC (permalink / raw)
  To: Arunpravin Paneer Selvam; +Cc: intel-gfx

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

== Series Details ==

Series: drm: add a check to verify the size alignment (rev2)
URL   : https://patchwork.freedesktop.org/series/101569/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_11397_full -> Patchwork_22653_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_22653_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_22653_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  

Participating hosts (12 -> 12)
------------------------------

  No changes in participating hosts

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_22653_full:

### IGT changes ###

#### Possible regressions ####

  * igt@gem_eio@in-flight-suspend:
    - shard-iclb:         [PASS][1] -> [SKIP][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-iclb5/igt@gem_eio@in-flight-suspend.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-iclb5/igt@gem_eio@in-flight-suspend.html

  * igt@gem_exec_whisper@basic-fds-priority-all:
    - shard-skl:          NOTRUN -> [INCOMPLETE][3]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-skl7/igt@gem_exec_whisper@basic-fds-priority-all.html

  
#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@gem_exec_schedule@smoketest@vecs0:
    - {shard-rkl}:        [PASS][4] -> ([INCOMPLETE][5], [PASS][6])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-rkl-1/igt@gem_exec_schedule@smoketest@vecs0.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-rkl-5/igt@gem_exec_schedule@smoketest@vecs0.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-rkl-4/igt@gem_exec_schedule@smoketest@vecs0.html

  
Known issues
------------

  Here are the changes found in Patchwork_22653_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_create@create-massive:
    - shard-skl:          NOTRUN -> [DMESG-WARN][7] ([i915#4991])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-skl4/igt@gem_create@create-massive.html

  * igt@gem_eio@unwedge-stress:
    - shard-iclb:         [PASS][8] -> [TIMEOUT][9] ([i915#2481] / [i915#3070])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-iclb1/igt@gem_eio@unwedge-stress.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-iclb3/igt@gem_eio@unwedge-stress.html

  * igt@gem_exec_fair@basic-none-rrul@rcs0:
    - shard-kbl:          [PASS][10] -> [FAIL][11] ([i915#2842])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-kbl1/igt@gem_exec_fair@basic-none-rrul@rcs0.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-kbl3/igt@gem_exec_fair@basic-none-rrul@rcs0.html

  * igt@gem_exec_fair@basic-pace@vcs0:
    - shard-glk:          [PASS][12] -> [FAIL][13] ([i915#2842]) +1 similar issue
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-glk4/igt@gem_exec_fair@basic-pace@vcs0.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-glk7/igt@gem_exec_fair@basic-pace@vcs0.html

  * igt@gem_exec_whisper@basic-queues-priority:
    - shard-iclb:         [PASS][14] -> [INCOMPLETE][15] ([i915#1895])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-iclb4/igt@gem_exec_whisper@basic-queues-priority.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-iclb7/igt@gem_exec_whisper@basic-queues-priority.html

  * igt@gem_lmem_swapping@parallel-random:
    - shard-skl:          NOTRUN -> [SKIP][16] ([fdo#109271] / [i915#4613]) +2 similar issues
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-skl7/igt@gem_lmem_swapping@parallel-random.html

  * igt@gem_userptr_blits@dmabuf-sync:
    - shard-tglb:         NOTRUN -> [SKIP][17] ([i915#3323])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-tglb8/igt@gem_userptr_blits@dmabuf-sync.html

  * igt@gem_userptr_blits@unsync-unmap-after-close:
    - shard-tglb:         NOTRUN -> [SKIP][18] ([i915#3297])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-tglb8/igt@gem_userptr_blits@unsync-unmap-after-close.html

  * igt@i915_pm_dc@dc6-psr:
    - shard-iclb:         [PASS][19] -> [FAIL][20] ([i915#454])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-iclb1/igt@i915_pm_dc@dc6-psr.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-iclb3/igt@i915_pm_dc@dc6-psr.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180:
    - shard-tglb:         NOTRUN -> [SKIP][21] ([i915#5286])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-tglb2/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180.html

  * igt@kms_big_fb@linear-64bpp-rotate-90:
    - shard-tglb:         NOTRUN -> [SKIP][22] ([fdo#111614])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-tglb2/igt@kms_big_fb@linear-64bpp-rotate-90.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
    - shard-skl:          NOTRUN -> [FAIL][23] ([i915#3743]) +1 similar issue
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-skl2/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
    - shard-skl:          NOTRUN -> [SKIP][24] ([fdo#109271] / [i915#3777]) +1 similar issue
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-skl7/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html

  * igt@kms_ccs@pipe-a-crc-primary-rotation-180-y_tiled_gen12_mc_ccs:
    - shard-tglb:         NOTRUN -> [SKIP][25] ([i915#3689] / [i915#3886])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-tglb2/igt@kms_ccs@pipe-a-crc-primary-rotation-180-y_tiled_gen12_mc_ccs.html

  * igt@kms_ccs@pipe-a-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc:
    - shard-skl:          NOTRUN -> [SKIP][26] ([fdo#109271] / [i915#3886]) +9 similar issues
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-skl4/igt@kms_ccs@pipe-a-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc.html

  * igt@kms_ccs@pipe-b-crc-sprite-planes-basic-yf_tiled_ccs:
    - shard-tglb:         NOTRUN -> [SKIP][27] ([fdo#111615] / [i915#3689]) +1 similar issue
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-tglb2/igt@kms_ccs@pipe-b-crc-sprite-planes-basic-yf_tiled_ccs.html

  * igt@kms_ccs@pipe-c-crc-primary-basic-y_tiled_gen12_mc_ccs:
    - shard-kbl:          NOTRUN -> [SKIP][28] ([fdo#109271] / [i915#3886])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-kbl1/igt@kms_ccs@pipe-c-crc-primary-basic-y_tiled_gen12_mc_ccs.html

  * igt@kms_ccs@pipe-d-missing-ccs-buffer-y_tiled_ccs:
    - shard-tglb:         NOTRUN -> [SKIP][29] ([i915#3689]) +2 similar issues
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-tglb2/igt@kms_ccs@pipe-d-missing-ccs-buffer-y_tiled_ccs.html

  * igt@kms_chamelium@dp-hpd-after-suspend:
    - shard-kbl:          NOTRUN -> [SKIP][30] ([fdo#109271] / [fdo#111827])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-kbl1/igt@kms_chamelium@dp-hpd-after-suspend.html

  * igt@kms_chamelium@hdmi-aspect-ratio:
    - shard-skl:          NOTRUN -> [SKIP][31] ([fdo#109271] / [fdo#111827]) +12 similar issues
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-skl4/igt@kms_chamelium@hdmi-aspect-ratio.html

  * igt@kms_color_chamelium@pipe-d-ctm-max:
    - shard-tglb:         NOTRUN -> [SKIP][32] ([fdo#109284] / [fdo#111827]) +5 similar issues
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-tglb2/igt@kms_color_chamelium@pipe-d-ctm-max.html

  * igt@kms_content_protection@atomic:
    - shard-apl:          NOTRUN -> [TIMEOUT][33] ([i915#1319])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-apl2/igt@kms_content_protection@atomic.html

  * igt@kms_content_protection@uevent:
    - shard-tglb:         NOTRUN -> [SKIP][34] ([i915#1063])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-tglb2/igt@kms_content_protection@uevent.html

  * igt@kms_cursor_crc@pipe-a-cursor-32x32-random:
    - shard-tglb:         NOTRUN -> [SKIP][35] ([i915#3319])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-tglb2/igt@kms_cursor_crc@pipe-a-cursor-32x32-random.html

  * igt@kms_cursor_crc@pipe-b-cursor-512x512-offscreen:
    - shard-tglb:         NOTRUN -> [SKIP][36] ([fdo#109279] / [i915#3359])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-tglb2/igt@kms_cursor_crc@pipe-b-cursor-512x512-offscreen.html

  * igt@kms_cursor_crc@pipe-c-cursor-suspend:
    - shard-kbl:          [PASS][37] -> [INCOMPLETE][38] ([i915#3614])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-kbl1/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-kbl4/igt@kms_cursor_crc@pipe-c-cursor-suspend.html

  * igt@kms_cursor_legacy@cursorb-vs-flipb-atomic:
    - shard-tglb:         NOTRUN -> [SKIP][39] ([fdo#109274] / [fdo#111825]) +1 similar issue
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-tglb2/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic.html

  * igt@kms_cursor_legacy@flip-vs-cursor-varying-size:
    - shard-iclb:         [PASS][40] -> [FAIL][41] ([i915#2346])
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-iclb5/igt@kms_cursor_legacy@flip-vs-cursor-varying-size.html
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-iclb7/igt@kms_cursor_legacy@flip-vs-cursor-varying-size.html

  * igt@kms_cursor_legacy@pipe-d-single-bo:
    - shard-skl:          NOTRUN -> [SKIP][42] ([fdo#109271] / [i915#533])
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-skl2/igt@kms_cursor_legacy@pipe-d-single-bo.html

  * igt@kms_draw_crc@draw-method-xrgb8888-mmap-gtt-4tiled:
    - shard-tglb:         NOTRUN -> [SKIP][43] ([i915#5287])
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-tglb2/igt@kms_draw_crc@draw-method-xrgb8888-mmap-gtt-4tiled.html

  * igt@kms_fbcon_fbt@fbc-suspend:
    - shard-kbl:          [PASS][44] -> [INCOMPLETE][45] ([i915#180] / [i915#636])
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-kbl4/igt@kms_fbcon_fbt@fbc-suspend.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-kbl7/igt@kms_fbcon_fbt@fbc-suspend.html

  * igt@kms_flip@2x-plain-flip-fb-recreate@ab-hdmi-a1-hdmi-a2:
    - shard-glk:          [PASS][46] -> [FAIL][47] ([i915#2122])
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-glk5/igt@kms_flip@2x-plain-flip-fb-recreate@ab-hdmi-a1-hdmi-a2.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-glk8/igt@kms_flip@2x-plain-flip-fb-recreate@ab-hdmi-a1-hdmi-a2.html

  * igt@kms_flip@flip-vs-suspend-interruptible@a-dp1:
    - shard-kbl:          [PASS][48] -> [DMESG-WARN][49] ([i915#180]) +6 similar issues
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-kbl7/igt@kms_flip@flip-vs-suspend-interruptible@a-dp1.html
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-kbl7/igt@kms_flip@flip-vs-suspend-interruptible@a-dp1.html

  * igt@kms_flip@flip-vs-suspend@a-dp1:
    - shard-apl:          [PASS][50] -> [DMESG-WARN][51] ([i915#180])
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-apl6/igt@kms_flip@flip-vs-suspend@a-dp1.html
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-apl2/igt@kms_flip@flip-vs-suspend@a-dp1.html

  * igt@kms_flip@plain-flip-fb-recreate@b-edp1:
    - shard-skl:          NOTRUN -> [FAIL][52] ([i915#2122]) +2 similar issues
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-skl2/igt@kms_flip@plain-flip-fb-recreate@b-edp1.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling:
    - shard-iclb:         [PASS][53] -> [SKIP][54] ([i915#3701])
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-iclb3/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-iclb2/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling.html

  * igt@kms_frontbuffer_tracking@fbc-1p-shrfb-fliptrack-mmap-gtt:
    - shard-skl:          NOTRUN -> [SKIP][55] ([fdo#109271]) +174 similar issues
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-skl4/igt@kms_frontbuffer_tracking@fbc-1p-shrfb-fliptrack-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-plflip-blt:
    - shard-tglb:         NOTRUN -> [SKIP][56] ([fdo#109280] / [fdo#111825]) +6 similar issues
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-tglb2/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-gtt:
    - shard-apl:          NOTRUN -> [SKIP][57] ([fdo#109271]) +5 similar issues
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-apl2/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-gtt.html

  * igt@kms_hdr@bpc-switch-suspend@bpc-switch-suspend-edp-1-pipe-a:
    - shard-skl:          [PASS][58] -> [FAIL][59] ([i915#1188])
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-skl8/igt@kms_hdr@bpc-switch-suspend@bpc-switch-suspend-edp-1-pipe-a.html
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-skl6/igt@kms_hdr@bpc-switch-suspend@bpc-switch-suspend-edp-1-pipe-a.html

  * igt@kms_hdr@static-toggle-suspend:
    - shard-tglb:         NOTRUN -> [SKIP][60] ([i915#3555]) +1 similar issue
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-tglb2/igt@kms_hdr@static-toggle-suspend.html

  * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d:
    - shard-kbl:          NOTRUN -> [SKIP][61] ([fdo#109271] / [i915#533])
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-kbl1/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html

  * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min:
    - shard-skl:          NOTRUN -> [FAIL][62] ([fdo#108145] / [i915#265])
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-skl2/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html

  * igt@kms_plane_alpha_blend@pipe-b-alpha-transparent-fb:
    - shard-skl:          NOTRUN -> [FAIL][63] ([i915#265])
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-skl7/igt@kms_plane_alpha_blend@pipe-b-alpha-transparent-fb.html

  * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
    - shard-skl:          [PASS][64] -> [FAIL][65] ([fdo#108145] / [i915#265])
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-skl7/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-skl9/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html

  * igt@kms_plane_alpha_blend@pipe-d-constant-alpha-min:
    - shard-kbl:          NOTRUN -> [SKIP][66] ([fdo#109271]) +4 similar issues
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-kbl1/igt@kms_plane_alpha_blend@pipe-d-constant-alpha-min.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-5@pipe-a-edp-1-planes-downscale:
    - shard-iclb:         [PASS][67] -> [SKIP][68] ([i915#5235]) +5 similar issues
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-iclb6/igt@kms_plane_scaling@planes-downscale-factor-0-5@pipe-a-edp-1-planes-downscale.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-iclb2/igt@kms_plane_scaling@planes-downscale-factor-0-5@pipe-a-edp-1-planes-downscale.html

  * igt@kms_psr2_su@frontbuffer-xrgb8888:
    - shard-iclb:         [PASS][69] -> [SKIP][70] ([fdo#109642] / [fdo#111068] / [i915#658])
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-iclb2/igt@kms_psr2_su@frontbuffer-xrgb8888.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-iclb6/igt@kms_psr2_su@frontbuffer-xrgb8888.html

  * igt@kms_psr2_su@page_flip-nv12:
    - shard-tglb:         NOTRUN -> [SKIP][71] ([i915#1911])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-tglb2/igt@kms_psr2_su@page_flip-nv12.html

  * igt@kms_psr2_su@page_flip-xrgb8888:
    - shard-skl:          NOTRUN -> [SKIP][72] ([fdo#109271] / [i915#658]) +1 similar issue
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-skl7/igt@kms_psr2_su@page_flip-xrgb8888.html

  * igt@kms_psr@psr2_dpms:
    - shard-iclb:         [PASS][73] -> [SKIP][74] ([fdo#109441])
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-iclb2/igt@kms_psr@psr2_dpms.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-iclb6/igt@kms_psr@psr2_dpms.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90:
    - shard-tglb:         NOTRUN -> [SKIP][75] ([fdo#111615])
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-tglb2/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html

  * igt@kms_universal_plane@universal-plane-pipe-c-sanity:
    - shard-skl:          NOTRUN -> [DMESG-WARN][76] ([i915#1982])
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-skl7/igt@kms_universal_plane@universal-plane-pipe-c-sanity.html

  * igt@kms_writeback@writeback-pixel-formats:
    - shard-skl:          NOTRUN -> [SKIP][77] ([fdo#109271] / [i915#2437]) +1 similar issue
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-skl2/igt@kms_writeback@writeback-pixel-formats.html

  * igt@nouveau_crc@pipe-a-source-rg:
    - shard-tglb:         NOTRUN -> [SKIP][78] ([i915#2530])
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-tglb8/igt@nouveau_crc@pipe-a-source-rg.html

  * igt@prime_nv_api@nv_i915_import_twice_check_flink_name:
    - shard-tglb:         NOTRUN -> [SKIP][79] ([fdo#109291])
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-tglb2/igt@prime_nv_api@nv_i915_import_twice_check_flink_name.html

  * igt@sysfs_clients@fair-0:
    - shard-skl:          NOTRUN -> [SKIP][80] ([fdo#109271] / [i915#2994]) +2 similar issues
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-skl7/igt@sysfs_clients@fair-0.html
    - shard-tglb:         NOTRUN -> [SKIP][81] ([i915#2994])
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-tglb2/igt@sysfs_clients@fair-0.html

  * igt@sysfs_clients@split-50:
    - shard-apl:          NOTRUN -> [SKIP][82] ([fdo#109271] / [i915#2994])
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-apl2/igt@sysfs_clients@split-50.html

  
#### Possible fixes ####

  * igt@fbdev@nullptr:
    - {shard-rkl}:        [SKIP][83] ([i915#2582]) -> [PASS][84]
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-rkl-5/igt@fbdev@nullptr.html
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-rkl-6/igt@fbdev@nullptr.html

  * igt@gem_eio@kms:
    - shard-tglb:         [FAIL][85] ([i915#232]) -> [PASS][86]
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-tglb1/igt@gem_eio@kms.html
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-tglb6/igt@gem_eio@kms.html

  * igt@gem_eio@unwedge-stress:
    - {shard-tglu}:       [TIMEOUT][87] ([i915#3063] / [i915#3648]) -> [PASS][88]
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-tglu-6/igt@gem_eio@unwedge-stress.html
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-tglu-3/igt@gem_eio@unwedge-stress.html

  * igt@gem_exec_endless@dispatch@vecs0:
    - shard-tglb:         [INCOMPLETE][89] ([i915#3778]) -> [PASS][90]
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-tglb3/igt@gem_exec_endless@dispatch@vecs0.html
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-tglb8/igt@gem_exec_endless@dispatch@vecs0.html

  * igt@gem_exec_fair@basic-none-share@rcs0:
    - shard-apl:          [SKIP][91] ([fdo#109271]) -> [PASS][92]
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-apl2/igt@gem_exec_fair@basic-none-share@rcs0.html
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-apl4/igt@gem_exec_fair@basic-none-share@rcs0.html

  * igt@gem_exec_fair@basic-pace-share@rcs0:
    - shard-tglb:         [FAIL][93] ([i915#2842]) -> [PASS][94] +1 similar issue
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-tglb5/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-tglb1/igt@gem_exec_fair@basic-pace-share@rcs0.html
    - {shard-rkl}:        [FAIL][95] ([i915#2842]) -> [PASS][96]
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-rkl-1/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-rkl-1/igt@gem_exec_fair@basic-pace-share@rcs0.html

  * igt@gem_exec_fair@basic-throttle@rcs0:
    - shard-iclb:         [FAIL][97] ([i915#2849]) -> [PASS][98]
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-iclb1/igt@gem_exec_fair@basic-throttle@rcs0.html
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-iclb4/igt@gem_exec_fair@basic-throttle@rcs0.html

  * igt@gem_exec_nop@basic-series:
    - shard-glk:          [DMESG-WARN][99] ([i915#118]) -> [PASS][100]
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-glk3/igt@gem_exec_nop@basic-series.html
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-glk5/igt@gem_exec_nop@basic-series.html

  * igt@i915_pm_rps@min-max-config-idle:
    - {shard-rkl}:        [FAIL][101] ([i915#4016]) -> [PASS][102]
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-rkl-6/igt@i915_pm_rps@min-max-config-idle.html
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-rkl-4/igt@i915_pm_rps@min-max-config-idle.html

  * igt@i915_suspend@sysfs-reader:
    - shard-apl:          [DMESG-WARN][103] ([i915#180]) -> [PASS][104]
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-apl6/igt@i915_suspend@sysfs-reader.html
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-apl2/igt@i915_suspend@sysfs-reader.html

  * igt@kms_big_fb@x-tiled-32bpp-rotate-0:
    - {shard-tglu}:       [DMESG-WARN][105] ([i915#402]) -> [PASS][106]
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-tglu-5/igt@kms_big_fb@x-tiled-32bpp-rotate-0.html
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-tglu-2/igt@kms_big_fb@x-tiled-32bpp-rotate-0.html

  * igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_gen12_rc_ccs:
    - {shard-rkl}:        ([SKIP][107], [SKIP][108]) ([i915#1845] / [i915#4098]) -> [PASS][109]
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-rkl-5/igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_gen12_rc_ccs.html
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-rkl-4/igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_gen12_rc_ccs.html
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-rkl-6/igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_gen12_rc_ccs.html

  * igt@kms_cursor_crc@pipe-b-cursor-128x42-offscreen:
    - {shard-rkl}:        ([PASS][110], [SKIP][111]) ([fdo#112022]) -> [PASS][112]
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-rkl-6/igt@kms_cursor_crc@pipe-b-cursor-128x42-offscreen.html
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-rkl-4/igt@kms_cursor_crc@pipe-b-cursor-128x42-offscreen.html
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-rkl-6/igt@kms_cursor_crc@pipe-b-cursor-128x42-offscreen.html

  * igt@kms_cursor_edge_walk@pipe-b-128x128-right-edge:
    - {shard-rkl}:        [SKIP][113] ([i915#1849] / [i915#4098]) -> [PASS][114] +1 similar issue
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-rkl-5/igt@kms_cursor_edge_walk@pipe-b-128x128-right-edge.html
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-rkl-6/igt@kms_cursor_edge_walk@pipe-b-128x128-right-edge.html

  * igt@kms_cursor_legacy@pipe-c-forked-move:
    - {shard-rkl}:        [SKIP][115] ([i915#4070]) -> [PASS][116]
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-rkl-1/igt@kms_cursor_legacy@pipe-c-forked-move.html
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-rkl-5/igt@kms_cursor_legacy@pipe-c-forked-move.html

  * igt@kms_draw_crc@draw-method-rgb565-pwrite-xtiled:
    - {shard-rkl}:        [SKIP][117] ([i915#4098] / [i915#4369]) -> [PASS][118]
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-rkl-4/igt@kms_draw_crc@draw-method-rgb565-pwrite-xtiled.html
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-rkl-6/igt@kms_draw_crc@draw-method-rgb565-pwrite-xtiled.html

  * igt@kms_draw_crc@draw-method-xrgb2101010-mmap-cpu-xtiled:
    - {shard-rkl}:        [SKIP][119] ([fdo#111314] / [i915#4098] / [i915#4369]) -> [PASS][120] +2 similar issues
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-rkl-5/igt@kms_draw_crc@draw-method-xrgb2101010-mmap-cpu-xtiled.html
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-rkl-6/igt@kms_draw_crc@draw-method-xrgb2101010-mmap-cpu-xtiled.html

  * igt@kms_flip@plain-flip-fb-recreate-interruptible@b-edp1:
    - shard-skl:          [FAIL][121] ([i915#2122]) -> [PASS][122]
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-skl8/igt@kms_flip@plain-flip-fb-recreate-interruptible@b-edp1.html
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-skl2/igt@kms_flip@plain-flip-fb-recreate-interruptible@b-edp1.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling:
    - shard-iclb:         [SKIP][123] ([i915#3701]) -> [PASS][124] +1 similar issue
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-iclb2/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling.html
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-iclb5/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling:
    - {shard-rkl}:        [INCOMPLETE][125] ([i915#3701]) -> [PASS][126]
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-rkl-5/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling.html
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-rkl-6/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt:
    - {shard-rkl}:        ([SKIP][127], [SKIP][128]) ([i915#1849] / [i915#4098]) -> [PASS][129] +2 similar issues
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-rkl-4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt.html
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-rkl-5/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt.html
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-mmap-wc:
    - {shard-rkl}:        ([PASS][130], [SKIP][131]) ([i915#4098]) -> [PASS][132]
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-mmap-wc.html
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-rkl-4/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-mmap-wc.html
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-msflip-blt:
    - {shard-rkl}:        [SKIP][133] ([i915#4098]) -> [PASS][134]
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-rkl-4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-msflip-blt.html
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-wc:
    - {shard-rkl}:        [SKIP][135] ([i915#1849]) -> [PASS][136] +5 similar issues
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-rkl-5/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-wc.html
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-wc.html

  * igt@kms_hdr@bpc-switch@bpc-switch-edp-1-pipe-a:
    - shard-skl:          [FAIL][137] ([i915#1188]) -> [PASS][138]
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-skl1/igt@kms_hdr@bpc-switch@bpc-switch-edp-1-pipe-a.html
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/shard-skl4/igt@kms_hdr@bpc-switch@bpc-switch-edp-1-pipe-a.html

  * igt@kms_invalid_mode@bad-htotal:
    - {shard-rkl}:        [SKIP][139] ([i915#4278]) -> [PASS][140]
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11397/shard-rkl-5/igt@kms_invalid_mode@bad-h

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22653/index.html

[-- Attachment #2: Type: text/html, Size: 33290 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v2] drm: add a check to verify the size alignment
  2022-03-29 11:28     ` [Intel-gfx] " Arunpravin Paneer Selvam
@ 2022-03-29 11:24       ` Matthew Auld
  -1 siblings, 0 replies; 19+ messages in thread
From: Matthew Auld @ 2022-03-29 11:24 UTC (permalink / raw)
  To: Arunpravin Paneer Selvam
  Cc: Christian König, Intel Graphics Development, amd-gfx list,
	ML dri-devel, alexander.deucher, Christian König,
	Matthew Auld

On Tue, 29 Mar 2022 at 12:17, Arunpravin Paneer Selvam
<arunpravin.paneerselvam@amd.com> wrote:
>
>
>
> On 23/03/22 1:15 pm, Christian König wrote:
> > Am 23.03.22 um 08:34 schrieb Arunpravin Paneer Selvam:
> >> Add a simple check to reject any size not aligned to the
> >> min_page_size.
> >>
> >> handle instances when size is not aligned with the min_page_size.
> >> Unigine Heaven has allocation requests for example required pages
> >> are 257 and alignment request is 256. To allocate the left over 1
> >> page, continues the iteration to find the order value which is 0
> >> and when it compares with min_order = 8, triggers the BUG_ON(order
> >> < min_order). To avoid this problem, we added a simple check to
> >> return -EINVAL if size is not aligned to the min_page_size.
> >>
> >> v2: Added more details to the commit description
> >>
> >> Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
> >> Suggested-by: Matthew Auld <matthew.auld@intel.com>
> >> ---
> >>   drivers/gpu/drm/drm_buddy.c | 3 +++
> >>   1 file changed, 3 insertions(+)
> >>
> >> diff --git a/drivers/gpu/drm/drm_buddy.c b/drivers/gpu/drm/drm_buddy.c
> >> index 72f52f293249..b503c88786b0 100644
> >> --- a/drivers/gpu/drm/drm_buddy.c
> >> +++ b/drivers/gpu/drm/drm_buddy.c
> >> @@ -661,6 +661,9 @@ int drm_buddy_alloc_blocks(struct drm_buddy *mm,
> >>      if (range_overflows(start, size, mm->size))
> >>              return -EINVAL;
> >>
> >> +    if (WARN_ON(!IS_ALIGNED(size, min_page_size)))
> >> +            return -EINVAL;
> >> +
> >
> > I'm not that happy with the handling here.
> >
> > See a minimum page size larger than the requested size is perfectly
> > valid, it just means that the remaining pages needs to be trimmed.
> >
> > In other words when the request is to allocate 1 page with an alignment
> > of 256 we just need to give the remaining 255 pages back to the allocator.
>
> In one of the previous mail Matthew explained that i915 expects to
> return -EINVAL error code if size is not aligned to min_page_size.

We could also move the WARN_ON() into i915 as a separate patch, and
just change the default buddy behaviour to transparently handle the
rounding + trim, if you prefer. I don't have a strong opinion.

>
> can we just modify in amdgpu code where we round_up the size to the
> min_page_size value and keep this error handling in drm_buddy.c?
> >
> > Regards,
> > Christian.
> >
> >>      /* Actual range allocation */
> >>      if (start + size == end)
> >>              return __drm_buddy_alloc_range(mm, start, size, blocks);
> >>
> >> base-commit: 056d47eaf6ea753fa2e21da31f9cbd8b721bbb7b
> >

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Intel-gfx] [PATCH v2] drm: add a check to verify the size alignment
@ 2022-03-29 11:24       ` Matthew Auld
  0 siblings, 0 replies; 19+ messages in thread
From: Matthew Auld @ 2022-03-29 11:24 UTC (permalink / raw)
  To: Arunpravin Paneer Selvam
  Cc: Christian König, Intel Graphics Development, amd-gfx list,
	ML dri-devel, alexander.deucher, Christian König,
	Matthew Auld

On Tue, 29 Mar 2022 at 12:17, Arunpravin Paneer Selvam
<arunpravin.paneerselvam@amd.com> wrote:
>
>
>
> On 23/03/22 1:15 pm, Christian König wrote:
> > Am 23.03.22 um 08:34 schrieb Arunpravin Paneer Selvam:
> >> Add a simple check to reject any size not aligned to the
> >> min_page_size.
> >>
> >> handle instances when size is not aligned with the min_page_size.
> >> Unigine Heaven has allocation requests for example required pages
> >> are 257 and alignment request is 256. To allocate the left over 1
> >> page, continues the iteration to find the order value which is 0
> >> and when it compares with min_order = 8, triggers the BUG_ON(order
> >> < min_order). To avoid this problem, we added a simple check to
> >> return -EINVAL if size is not aligned to the min_page_size.
> >>
> >> v2: Added more details to the commit description
> >>
> >> Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
> >> Suggested-by: Matthew Auld <matthew.auld@intel.com>
> >> ---
> >>   drivers/gpu/drm/drm_buddy.c | 3 +++
> >>   1 file changed, 3 insertions(+)
> >>
> >> diff --git a/drivers/gpu/drm/drm_buddy.c b/drivers/gpu/drm/drm_buddy.c
> >> index 72f52f293249..b503c88786b0 100644
> >> --- a/drivers/gpu/drm/drm_buddy.c
> >> +++ b/drivers/gpu/drm/drm_buddy.c
> >> @@ -661,6 +661,9 @@ int drm_buddy_alloc_blocks(struct drm_buddy *mm,
> >>      if (range_overflows(start, size, mm->size))
> >>              return -EINVAL;
> >>
> >> +    if (WARN_ON(!IS_ALIGNED(size, min_page_size)))
> >> +            return -EINVAL;
> >> +
> >
> > I'm not that happy with the handling here.
> >
> > See a minimum page size larger than the requested size is perfectly
> > valid, it just means that the remaining pages needs to be trimmed.
> >
> > In other words when the request is to allocate 1 page with an alignment
> > of 256 we just need to give the remaining 255 pages back to the allocator.
>
> In one of the previous mail Matthew explained that i915 expects to
> return -EINVAL error code if size is not aligned to min_page_size.

We could also move the WARN_ON() into i915 as a separate patch, and
just change the default buddy behaviour to transparently handle the
rounding + trim, if you prefer. I don't have a strong opinion.

>
> can we just modify in amdgpu code where we round_up the size to the
> min_page_size value and keep this error handling in drm_buddy.c?
> >
> > Regards,
> > Christian.
> >
> >>      /* Actual range allocation */
> >>      if (start + size == end)
> >>              return __drm_buddy_alloc_range(mm, start, size, blocks);
> >>
> >> base-commit: 056d47eaf6ea753fa2e21da31f9cbd8b721bbb7b
> >

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Intel-gfx] [PATCH v2] drm: add a check to verify the size alignment
  2022-03-29 11:28     ` [Intel-gfx] " Arunpravin Paneer Selvam
  (?)
@ 2022-03-29 11:25       ` Christian König
  -1 siblings, 0 replies; 19+ messages in thread
From: Christian König @ 2022-03-29 11:25 UTC (permalink / raw)
  To: Arunpravin Paneer Selvam, Christian König, intel-gfx,
	dri-devel, amd-gfx
  Cc: alexander.deucher, matthew.auld

Am 29.03.22 um 13:28 schrieb Arunpravin Paneer Selvam:
> On 23/03/22 1:15 pm, Christian König wrote:
>> Am 23.03.22 um 08:34 schrieb Arunpravin Paneer Selvam:
>>> Add a simple check to reject any size not aligned to the
>>> min_page_size.
>>>
>>> handle instances when size is not aligned with the min_page_size.
>>> Unigine Heaven has allocation requests for example required pages
>>> are 257 and alignment request is 256. To allocate the left over 1
>>> page, continues the iteration to find the order value which is 0
>>> and when it compares with min_order = 8, triggers the BUG_ON(order
>>> < min_order). To avoid this problem, we added a simple check to
>>> return -EINVAL if size is not aligned to the min_page_size.
>>>
>>> v2: Added more details to the commit description
>>>
>>> Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
>>> Suggested-by: Matthew Auld <matthew.auld@intel.com>
>>> ---
>>>    drivers/gpu/drm/drm_buddy.c | 3 +++
>>>    1 file changed, 3 insertions(+)
>>>
>>> diff --git a/drivers/gpu/drm/drm_buddy.c b/drivers/gpu/drm/drm_buddy.c
>>> index 72f52f293249..b503c88786b0 100644
>>> --- a/drivers/gpu/drm/drm_buddy.c
>>> +++ b/drivers/gpu/drm/drm_buddy.c
>>> @@ -661,6 +661,9 @@ int drm_buddy_alloc_blocks(struct drm_buddy *mm,
>>>    	if (range_overflows(start, size, mm->size))
>>>    		return -EINVAL;
>>>    
>>> +	if (WARN_ON(!IS_ALIGNED(size, min_page_size)))
>>> +		return -EINVAL;
>>> +
>> I'm not that happy with the handling here.
>>
>> See a minimum page size larger than the requested size is perfectly
>> valid, it just means that the remaining pages needs to be trimmed.
>>
>> In other words when the request is to allocate 1 page with an alignment
>> of 256 we just need to give the remaining 255 pages back to the allocator.
> In one of the previous mail Matthew explained that i915 expects to
> return -EINVAL error code if size is not aligned to min_page_size.
>
> can we just modify in amdgpu code where we round_up the size to the
> min_page_size value and keep this error handling in drm_buddy.c?

Yeah, I'm fine with that as well now.

I realized that this is probably the easiest option to check if an 
allocation is contiguous or not between the alloc and trim.

So having two functions for that sounds like a good idea to me.

Thanks,
Christian.

>> Regards,
>> Christian.
>>
>>>    	/* Actual range allocation */
>>>    	if (start + size == end)
>>>    		return __drm_buddy_alloc_range(mm, start, size, blocks);
>>>
>>> base-commit: 056d47eaf6ea753fa2e21da31f9cbd8b721bbb7b


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v2] drm: add a check to verify the size alignment
@ 2022-03-29 11:25       ` Christian König
  0 siblings, 0 replies; 19+ messages in thread
From: Christian König @ 2022-03-29 11:25 UTC (permalink / raw)
  To: Arunpravin Paneer Selvam, Christian König, intel-gfx,
	dri-devel, amd-gfx
  Cc: alexander.deucher, matthew.auld

Am 29.03.22 um 13:28 schrieb Arunpravin Paneer Selvam:
> On 23/03/22 1:15 pm, Christian König wrote:
>> Am 23.03.22 um 08:34 schrieb Arunpravin Paneer Selvam:
>>> Add a simple check to reject any size not aligned to the
>>> min_page_size.
>>>
>>> handle instances when size is not aligned with the min_page_size.
>>> Unigine Heaven has allocation requests for example required pages
>>> are 257 and alignment request is 256. To allocate the left over 1
>>> page, continues the iteration to find the order value which is 0
>>> and when it compares with min_order = 8, triggers the BUG_ON(order
>>> < min_order). To avoid this problem, we added a simple check to
>>> return -EINVAL if size is not aligned to the min_page_size.
>>>
>>> v2: Added more details to the commit description
>>>
>>> Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
>>> Suggested-by: Matthew Auld <matthew.auld@intel.com>
>>> ---
>>>    drivers/gpu/drm/drm_buddy.c | 3 +++
>>>    1 file changed, 3 insertions(+)
>>>
>>> diff --git a/drivers/gpu/drm/drm_buddy.c b/drivers/gpu/drm/drm_buddy.c
>>> index 72f52f293249..b503c88786b0 100644
>>> --- a/drivers/gpu/drm/drm_buddy.c
>>> +++ b/drivers/gpu/drm/drm_buddy.c
>>> @@ -661,6 +661,9 @@ int drm_buddy_alloc_blocks(struct drm_buddy *mm,
>>>    	if (range_overflows(start, size, mm->size))
>>>    		return -EINVAL;
>>>    
>>> +	if (WARN_ON(!IS_ALIGNED(size, min_page_size)))
>>> +		return -EINVAL;
>>> +
>> I'm not that happy with the handling here.
>>
>> See a minimum page size larger than the requested size is perfectly
>> valid, it just means that the remaining pages needs to be trimmed.
>>
>> In other words when the request is to allocate 1 page with an alignment
>> of 256 we just need to give the remaining 255 pages back to the allocator.
> In one of the previous mail Matthew explained that i915 expects to
> return -EINVAL error code if size is not aligned to min_page_size.
>
> can we just modify in amdgpu code where we round_up the size to the
> min_page_size value and keep this error handling in drm_buddy.c?

Yeah, I'm fine with that as well now.

I realized that this is probably the easiest option to check if an 
allocation is contiguous or not between the alloc and trim.

So having two functions for that sounds like a good idea to me.

Thanks,
Christian.

>> Regards,
>> Christian.
>>
>>>    	/* Actual range allocation */
>>>    	if (start + size == end)
>>>    		return __drm_buddy_alloc_range(mm, start, size, blocks);
>>>
>>> base-commit: 056d47eaf6ea753fa2e21da31f9cbd8b721bbb7b


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v2] drm: add a check to verify the size alignment
@ 2022-03-29 11:25       ` Christian König
  0 siblings, 0 replies; 19+ messages in thread
From: Christian König @ 2022-03-29 11:25 UTC (permalink / raw)
  To: Arunpravin Paneer Selvam, Christian König, intel-gfx,
	dri-devel, amd-gfx
  Cc: alexander.deucher, matthew.auld, daniel

Am 29.03.22 um 13:28 schrieb Arunpravin Paneer Selvam:
> On 23/03/22 1:15 pm, Christian König wrote:
>> Am 23.03.22 um 08:34 schrieb Arunpravin Paneer Selvam:
>>> Add a simple check to reject any size not aligned to the
>>> min_page_size.
>>>
>>> handle instances when size is not aligned with the min_page_size.
>>> Unigine Heaven has allocation requests for example required pages
>>> are 257 and alignment request is 256. To allocate the left over 1
>>> page, continues the iteration to find the order value which is 0
>>> and when it compares with min_order = 8, triggers the BUG_ON(order
>>> < min_order). To avoid this problem, we added a simple check to
>>> return -EINVAL if size is not aligned to the min_page_size.
>>>
>>> v2: Added more details to the commit description
>>>
>>> Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
>>> Suggested-by: Matthew Auld <matthew.auld@intel.com>
>>> ---
>>>    drivers/gpu/drm/drm_buddy.c | 3 +++
>>>    1 file changed, 3 insertions(+)
>>>
>>> diff --git a/drivers/gpu/drm/drm_buddy.c b/drivers/gpu/drm/drm_buddy.c
>>> index 72f52f293249..b503c88786b0 100644
>>> --- a/drivers/gpu/drm/drm_buddy.c
>>> +++ b/drivers/gpu/drm/drm_buddy.c
>>> @@ -661,6 +661,9 @@ int drm_buddy_alloc_blocks(struct drm_buddy *mm,
>>>    	if (range_overflows(start, size, mm->size))
>>>    		return -EINVAL;
>>>    
>>> +	if (WARN_ON(!IS_ALIGNED(size, min_page_size)))
>>> +		return -EINVAL;
>>> +
>> I'm not that happy with the handling here.
>>
>> See a minimum page size larger than the requested size is perfectly
>> valid, it just means that the remaining pages needs to be trimmed.
>>
>> In other words when the request is to allocate 1 page with an alignment
>> of 256 we just need to give the remaining 255 pages back to the allocator.
> In one of the previous mail Matthew explained that i915 expects to
> return -EINVAL error code if size is not aligned to min_page_size.
>
> can we just modify in amdgpu code where we round_up the size to the
> min_page_size value and keep this error handling in drm_buddy.c?

Yeah, I'm fine with that as well now.

I realized that this is probably the easiest option to check if an 
allocation is contiguous or not between the alloc and trim.

So having two functions for that sounds like a good idea to me.

Thanks,
Christian.

>> Regards,
>> Christian.
>>
>>>    	/* Actual range allocation */
>>>    	if (start + size == end)
>>>    		return __drm_buddy_alloc_range(mm, start, size, blocks);
>>>
>>> base-commit: 056d47eaf6ea753fa2e21da31f9cbd8b721bbb7b


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v2] drm: add a check to verify the size alignment
  2022-03-23  7:45   ` Christian König
  (?)
@ 2022-03-29 11:28     ` Arunpravin Paneer Selvam
  -1 siblings, 0 replies; 19+ messages in thread
From: Arunpravin Paneer Selvam @ 2022-03-29 11:28 UTC (permalink / raw)
  To: Christian König, intel-gfx, dri-devel, amd-gfx
  Cc: alexander.deucher, matthew.auld, christian.koenig



On 23/03/22 1:15 pm, Christian König wrote:
> Am 23.03.22 um 08:34 schrieb Arunpravin Paneer Selvam:
>> Add a simple check to reject any size not aligned to the
>> min_page_size.
>>
>> handle instances when size is not aligned with the min_page_size.
>> Unigine Heaven has allocation requests for example required pages
>> are 257 and alignment request is 256. To allocate the left over 1
>> page, continues the iteration to find the order value which is 0
>> and when it compares with min_order = 8, triggers the BUG_ON(order
>> < min_order). To avoid this problem, we added a simple check to
>> return -EINVAL if size is not aligned to the min_page_size.
>>
>> v2: Added more details to the commit description
>>
>> Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
>> Suggested-by: Matthew Auld <matthew.auld@intel.com>
>> ---
>>   drivers/gpu/drm/drm_buddy.c | 3 +++
>>   1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/drm_buddy.c b/drivers/gpu/drm/drm_buddy.c
>> index 72f52f293249..b503c88786b0 100644
>> --- a/drivers/gpu/drm/drm_buddy.c
>> +++ b/drivers/gpu/drm/drm_buddy.c
>> @@ -661,6 +661,9 @@ int drm_buddy_alloc_blocks(struct drm_buddy *mm,
>>   	if (range_overflows(start, size, mm->size))
>>   		return -EINVAL;
>>   
>> +	if (WARN_ON(!IS_ALIGNED(size, min_page_size)))
>> +		return -EINVAL;
>> +
> 
> I'm not that happy with the handling here.
> 
> See a minimum page size larger than the requested size is perfectly 
> valid, it just means that the remaining pages needs to be trimmed.
> 
> In other words when the request is to allocate 1 page with an alignment 
> of 256 we just need to give the remaining 255 pages back to the allocator.

In one of the previous mail Matthew explained that i915 expects to
return -EINVAL error code if size is not aligned to min_page_size.

can we just modify in amdgpu code where we round_up the size to the
min_page_size value and keep this error handling in drm_buddy.c?
> 
> Regards,
> Christian.
> 
>>   	/* Actual range allocation */
>>   	if (start + size == end)
>>   		return __drm_buddy_alloc_range(mm, start, size, blocks);
>>
>> base-commit: 056d47eaf6ea753fa2e21da31f9cbd8b721bbb7b
> 

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Intel-gfx] [PATCH v2] drm: add a check to verify the size alignment
@ 2022-03-29 11:28     ` Arunpravin Paneer Selvam
  0 siblings, 0 replies; 19+ messages in thread
From: Arunpravin Paneer Selvam @ 2022-03-29 11:28 UTC (permalink / raw)
  To: Christian König, intel-gfx, dri-devel, amd-gfx
  Cc: alexander.deucher, matthew.auld, christian.koenig



On 23/03/22 1:15 pm, Christian König wrote:
> Am 23.03.22 um 08:34 schrieb Arunpravin Paneer Selvam:
>> Add a simple check to reject any size not aligned to the
>> min_page_size.
>>
>> handle instances when size is not aligned with the min_page_size.
>> Unigine Heaven has allocation requests for example required pages
>> are 257 and alignment request is 256. To allocate the left over 1
>> page, continues the iteration to find the order value which is 0
>> and when it compares with min_order = 8, triggers the BUG_ON(order
>> < min_order). To avoid this problem, we added a simple check to
>> return -EINVAL if size is not aligned to the min_page_size.
>>
>> v2: Added more details to the commit description
>>
>> Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
>> Suggested-by: Matthew Auld <matthew.auld@intel.com>
>> ---
>>   drivers/gpu/drm/drm_buddy.c | 3 +++
>>   1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/drm_buddy.c b/drivers/gpu/drm/drm_buddy.c
>> index 72f52f293249..b503c88786b0 100644
>> --- a/drivers/gpu/drm/drm_buddy.c
>> +++ b/drivers/gpu/drm/drm_buddy.c
>> @@ -661,6 +661,9 @@ int drm_buddy_alloc_blocks(struct drm_buddy *mm,
>>   	if (range_overflows(start, size, mm->size))
>>   		return -EINVAL;
>>   
>> +	if (WARN_ON(!IS_ALIGNED(size, min_page_size)))
>> +		return -EINVAL;
>> +
> 
> I'm not that happy with the handling here.
> 
> See a minimum page size larger than the requested size is perfectly 
> valid, it just means that the remaining pages needs to be trimmed.
> 
> In other words when the request is to allocate 1 page with an alignment 
> of 256 we just need to give the remaining 255 pages back to the allocator.

In one of the previous mail Matthew explained that i915 expects to
return -EINVAL error code if size is not aligned to min_page_size.

can we just modify in amdgpu code where we round_up the size to the
min_page_size value and keep this error handling in drm_buddy.c?
> 
> Regards,
> Christian.
> 
>>   	/* Actual range allocation */
>>   	if (start + size == end)
>>   		return __drm_buddy_alloc_range(mm, start, size, blocks);
>>
>> base-commit: 056d47eaf6ea753fa2e21da31f9cbd8b721bbb7b
> 

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v2] drm: add a check to verify the size alignment
@ 2022-03-29 11:28     ` Arunpravin Paneer Selvam
  0 siblings, 0 replies; 19+ messages in thread
From: Arunpravin Paneer Selvam @ 2022-03-29 11:28 UTC (permalink / raw)
  To: Christian König, intel-gfx, dri-devel, amd-gfx
  Cc: alexander.deucher, matthew.auld, daniel, christian.koenig



On 23/03/22 1:15 pm, Christian König wrote:
> Am 23.03.22 um 08:34 schrieb Arunpravin Paneer Selvam:
>> Add a simple check to reject any size not aligned to the
>> min_page_size.
>>
>> handle instances when size is not aligned with the min_page_size.
>> Unigine Heaven has allocation requests for example required pages
>> are 257 and alignment request is 256. To allocate the left over 1
>> page, continues the iteration to find the order value which is 0
>> and when it compares with min_order = 8, triggers the BUG_ON(order
>> < min_order). To avoid this problem, we added a simple check to
>> return -EINVAL if size is not aligned to the min_page_size.
>>
>> v2: Added more details to the commit description
>>
>> Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
>> Suggested-by: Matthew Auld <matthew.auld@intel.com>
>> ---
>>   drivers/gpu/drm/drm_buddy.c | 3 +++
>>   1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/drm_buddy.c b/drivers/gpu/drm/drm_buddy.c
>> index 72f52f293249..b503c88786b0 100644
>> --- a/drivers/gpu/drm/drm_buddy.c
>> +++ b/drivers/gpu/drm/drm_buddy.c
>> @@ -661,6 +661,9 @@ int drm_buddy_alloc_blocks(struct drm_buddy *mm,
>>   	if (range_overflows(start, size, mm->size))
>>   		return -EINVAL;
>>   
>> +	if (WARN_ON(!IS_ALIGNED(size, min_page_size)))
>> +		return -EINVAL;
>> +
> 
> I'm not that happy with the handling here.
> 
> See a minimum page size larger than the requested size is perfectly 
> valid, it just means that the remaining pages needs to be trimmed.
> 
> In other words when the request is to allocate 1 page with an alignment 
> of 256 we just need to give the remaining 255 pages back to the allocator.

In one of the previous mail Matthew explained that i915 expects to
return -EINVAL error code if size is not aligned to min_page_size.

can we just modify in amdgpu code where we round_up the size to the
min_page_size value and keep this error handling in drm_buddy.c?
> 
> Regards,
> Christian.
> 
>>   	/* Actual range allocation */
>>   	if (start + size == end)
>>   		return __drm_buddy_alloc_range(mm, start, size, blocks);
>>
>> base-commit: 056d47eaf6ea753fa2e21da31f9cbd8b721bbb7b
> 

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v2] drm: add a check to verify the size alignment
  2022-03-29 11:24       ` [Intel-gfx] " Matthew Auld
@ 2022-03-30  9:17         ` Arunpravin Paneer Selvam
  -1 siblings, 0 replies; 19+ messages in thread
From: Arunpravin Paneer Selvam @ 2022-03-30  9:17 UTC (permalink / raw)
  To: Matthew Auld
  Cc: Christian König, Intel Graphics Development, amd-gfx list,
	ML dri-devel, alexander.deucher, Christian König,
	Matthew Auld



On 29/03/22 4:54 pm, Matthew Auld wrote:
> On Tue, 29 Mar 2022 at 12:17, Arunpravin Paneer Selvam
> <arunpravin.paneerselvam@amd.com> wrote:
>>
>>
>>
>> On 23/03/22 1:15 pm, Christian König wrote:
>>> Am 23.03.22 um 08:34 schrieb Arunpravin Paneer Selvam:
>>>> Add a simple check to reject any size not aligned to the
>>>> min_page_size.
>>>>
>>>> handle instances when size is not aligned with the min_page_size.
>>>> Unigine Heaven has allocation requests for example required pages
>>>> are 257 and alignment request is 256. To allocate the left over 1
>>>> page, continues the iteration to find the order value which is 0
>>>> and when it compares with min_order = 8, triggers the BUG_ON(order
>>>> < min_order). To avoid this problem, we added a simple check to
>>>> return -EINVAL if size is not aligned to the min_page_size.
>>>>
>>>> v2: Added more details to the commit description
>>>>
>>>> Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
>>>> Suggested-by: Matthew Auld <matthew.auld@intel.com>
>>>> ---
>>>>   drivers/gpu/drm/drm_buddy.c | 3 +++
>>>>   1 file changed, 3 insertions(+)
>>>>
>>>> diff --git a/drivers/gpu/drm/drm_buddy.c b/drivers/gpu/drm/drm_buddy.c
>>>> index 72f52f293249..b503c88786b0 100644
>>>> --- a/drivers/gpu/drm/drm_buddy.c
>>>> +++ b/drivers/gpu/drm/drm_buddy.c
>>>> @@ -661,6 +661,9 @@ int drm_buddy_alloc_blocks(struct drm_buddy *mm,
>>>>      if (range_overflows(start, size, mm->size))
>>>>              return -EINVAL;
>>>>
>>>> +    if (WARN_ON(!IS_ALIGNED(size, min_page_size)))
>>>> +            return -EINVAL;
>>>> +
>>>
>>> I'm not that happy with the handling here.
>>>
>>> See a minimum page size larger than the requested size is perfectly
>>> valid, it just means that the remaining pages needs to be trimmed.
>>>
>>> In other words when the request is to allocate 1 page with an alignment
>>> of 256 we just need to give the remaining 255 pages back to the allocator.
>>
>> In one of the previous mail Matthew explained that i915 expects to
>> return -EINVAL error code if size is not aligned to min_page_size.
> 
> We could also move the WARN_ON() into i915 as a separate patch, and
> just change the default buddy behaviour to transparently handle the
> rounding + trim, if you prefer. I don't have a strong opinion.

ok, I sent a patch handling rounding + trim in drm_buddy_alloc_blocks()
function. Please review the patch.
> 
>>
>> can we just modify in amdgpu code where we round_up the size to the
>> min_page_size value and keep this error handling in drm_buddy.c?
>>>
>>> Regards,
>>> Christian.
>>>
>>>>      /* Actual range allocation */
>>>>      if (start + size == end)
>>>>              return __drm_buddy_alloc_range(mm, start, size, blocks);
>>>>
>>>> base-commit: 056d47eaf6ea753fa2e21da31f9cbd8b721bbb7b
>>>

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Intel-gfx] [PATCH v2] drm: add a check to verify the size alignment
@ 2022-03-30  9:17         ` Arunpravin Paneer Selvam
  0 siblings, 0 replies; 19+ messages in thread
From: Arunpravin Paneer Selvam @ 2022-03-30  9:17 UTC (permalink / raw)
  To: Matthew Auld
  Cc: Christian König, Intel Graphics Development, amd-gfx list,
	ML dri-devel, alexander.deucher, Christian König,
	Matthew Auld



On 29/03/22 4:54 pm, Matthew Auld wrote:
> On Tue, 29 Mar 2022 at 12:17, Arunpravin Paneer Selvam
> <arunpravin.paneerselvam@amd.com> wrote:
>>
>>
>>
>> On 23/03/22 1:15 pm, Christian König wrote:
>>> Am 23.03.22 um 08:34 schrieb Arunpravin Paneer Selvam:
>>>> Add a simple check to reject any size not aligned to the
>>>> min_page_size.
>>>>
>>>> handle instances when size is not aligned with the min_page_size.
>>>> Unigine Heaven has allocation requests for example required pages
>>>> are 257 and alignment request is 256. To allocate the left over 1
>>>> page, continues the iteration to find the order value which is 0
>>>> and when it compares with min_order = 8, triggers the BUG_ON(order
>>>> < min_order). To avoid this problem, we added a simple check to
>>>> return -EINVAL if size is not aligned to the min_page_size.
>>>>
>>>> v2: Added more details to the commit description
>>>>
>>>> Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
>>>> Suggested-by: Matthew Auld <matthew.auld@intel.com>
>>>> ---
>>>>   drivers/gpu/drm/drm_buddy.c | 3 +++
>>>>   1 file changed, 3 insertions(+)
>>>>
>>>> diff --git a/drivers/gpu/drm/drm_buddy.c b/drivers/gpu/drm/drm_buddy.c
>>>> index 72f52f293249..b503c88786b0 100644
>>>> --- a/drivers/gpu/drm/drm_buddy.c
>>>> +++ b/drivers/gpu/drm/drm_buddy.c
>>>> @@ -661,6 +661,9 @@ int drm_buddy_alloc_blocks(struct drm_buddy *mm,
>>>>      if (range_overflows(start, size, mm->size))
>>>>              return -EINVAL;
>>>>
>>>> +    if (WARN_ON(!IS_ALIGNED(size, min_page_size)))
>>>> +            return -EINVAL;
>>>> +
>>>
>>> I'm not that happy with the handling here.
>>>
>>> See a minimum page size larger than the requested size is perfectly
>>> valid, it just means that the remaining pages needs to be trimmed.
>>>
>>> In other words when the request is to allocate 1 page with an alignment
>>> of 256 we just need to give the remaining 255 pages back to the allocator.
>>
>> In one of the previous mail Matthew explained that i915 expects to
>> return -EINVAL error code if size is not aligned to min_page_size.
> 
> We could also move the WARN_ON() into i915 as a separate patch, and
> just change the default buddy behaviour to transparently handle the
> rounding + trim, if you prefer. I don't have a strong opinion.

ok, I sent a patch handling rounding + trim in drm_buddy_alloc_blocks()
function. Please review the patch.
> 
>>
>> can we just modify in amdgpu code where we round_up the size to the
>> min_page_size value and keep this error handling in drm_buddy.c?
>>>
>>> Regards,
>>> Christian.
>>>
>>>>      /* Actual range allocation */
>>>>      if (start + size == end)
>>>>              return __drm_buddy_alloc_range(mm, start, size, blocks);
>>>>
>>>> base-commit: 056d47eaf6ea753fa2e21da31f9cbd8b721bbb7b
>>>

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2022-03-30  9:07 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-23  7:34 [PATCH v2] drm: add a check to verify the size alignment Arunpravin Paneer Selvam
2022-03-23  7:34 ` Arunpravin Paneer Selvam
2022-03-23  7:34 ` [Intel-gfx] " Arunpravin Paneer Selvam
2022-03-23  7:45 ` Christian König
2022-03-23  7:45   ` [Intel-gfx] " Christian König
2022-03-23  7:45   ` Christian König
2022-03-29 11:28   ` Arunpravin Paneer Selvam
2022-03-29 11:28     ` Arunpravin Paneer Selvam
2022-03-29 11:28     ` [Intel-gfx] " Arunpravin Paneer Selvam
2022-03-29 11:24     ` Matthew Auld
2022-03-29 11:24       ` [Intel-gfx] " Matthew Auld
2022-03-30  9:17       ` Arunpravin Paneer Selvam
2022-03-30  9:17         ` [Intel-gfx] " Arunpravin Paneer Selvam
2022-03-29 11:25     ` Christian König
2022-03-29 11:25       ` Christian König
2022-03-29 11:25       ` Christian König
2022-03-23  9:33 ` [Intel-gfx] ✗ Fi.CI.DOCS: warning for drm: add a check to verify the size alignment (rev2) Patchwork
2022-03-23 10:04 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2022-03-23 11:39 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork

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.