All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t 1/2] lib/i915/intel_memory_region: Add gem_has_smallbar
@ 2023-01-20 10:07 Nirmoy Das
  2023-01-20 10:07 ` [igt-dev] [PATCH i-g-t 2/2] test/i915/gem_eio: Skip suspend test on smallbar machine Nirmoy Das
                   ` (5 more replies)
  0 siblings, 6 replies; 12+ messages in thread
From: Nirmoy Das @ 2023-01-20 10:07 UTC (permalink / raw)
  To: igt-dev; +Cc: matthew.auld, Nirmoy Das

Add gem_has_smallbar() to detect a device with smallbar.

Signed-off-by: Nirmoy Das <nirmoy.das@intel.com>
---
 lib/i915/intel_memory_region.c | 32 ++++++++++++++++++++++++++++++++
 lib/i915/intel_memory_region.h |  1 +
 2 files changed, 33 insertions(+)

diff --git a/lib/i915/intel_memory_region.c b/lib/i915/intel_memory_region.c
index 84e1bceb3..655720819 100644
--- a/lib/i915/intel_memory_region.c
+++ b/lib/i915/intel_memory_region.c
@@ -183,6 +183,38 @@ bool gem_has_lmem(int fd)
 	return gem_get_lmem_region_count(fd) > 0;
 }
 
+/**
+ * gem_has_smallbar:
+ * @fd: open i915 drm file descriptor
+ *
+ * Helper function to check if the device comes with small-bar.
+ *
+ * Returns: True if at least one lmem region was found.
+ */
+bool gem_has_smallbar(int fd)
+{
+	struct drm_i915_query_memory_regions *info;
+	struct drm_i915_memory_region_info *rf;
+	bool ret = false;
+
+	info = gem_get_query_memory_regions(fd);
+	igt_assert(info);
+
+	for (int i = 0; i < info->num_regions; i++) {
+		rf = &info->regions[i];
+		if (rf->region.memory_class == I915_MEMORY_CLASS_DEVICE) {
+			if (rf->probed_size > rf->probed_cpu_visible_size) {
+				ret = true;
+				break;
+			}
+		}
+	}
+	free(info);
+
+	return ret;
+}
+
+
 /* A version of gem_create_in_memory_region_list which can be allowed to
    fail so that the object creation can be retried */
 int __gem_create_in_memory_region_list(int fd, uint32_t *handle, uint64_t *size, uint32_t flags,
diff --git a/lib/i915/intel_memory_region.h b/lib/i915/intel_memory_region.h
index 425bda0ec..9e24bd8fb 100644
--- a/lib/i915/intel_memory_region.h
+++ b/lib/i915/intel_memory_region.h
@@ -62,6 +62,7 @@ struct drm_i915_query_memory_regions *gem_get_query_memory_regions(int fd);
 unsigned int gem_get_lmem_region_count(int fd);
 
 bool gem_has_lmem(int fd);
+bool gem_has_smallbar(int fd);
 
 int __gem_create_in_memory_region_list(int fd, uint32_t *handle, uint64_t *size, uint32_t flags,
 				       const struct drm_i915_gem_memory_class_instance *mem_regions,
-- 
2.39.0

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

* [igt-dev] [PATCH i-g-t 2/2] test/i915/gem_eio: Skip suspend test on smallbar machine
  2023-01-20 10:07 [igt-dev] [PATCH i-g-t 1/2] lib/i915/intel_memory_region: Add gem_has_smallbar Nirmoy Das
@ 2023-01-20 10:07 ` Nirmoy Das
  2023-01-20 15:45   ` Matthew Auld
  2023-01-20 10:14 ` [igt-dev] [PATCH i-g-t 1/2] lib/i915/intel_memory_region: Add gem_has_smallbar Das, Nirmoy
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 12+ messages in thread
From: Nirmoy Das @ 2023-01-20 10:07 UTC (permalink / raw)
  To: igt-dev; +Cc: matthew.auld, Nirmoy Das

Suspending machine requires backing up gem objects to
system memory. CPU non-visible lmem objects can only be
backed up with the help of GPU on a smallbar device and if
the gpu is wedged then such backup action will fail with -EIO.

This test sets the gpu to wedge state before suspending the
machine which will always fail on smallbar machine.

References: https://gitlab.freedesktop.org/drm/intel/-/issues/7896
Signed-off-by: Nirmoy Das <nirmoy.das@intel.com>
---
 tests/i915/gem_eio.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tests/i915/gem_eio.c b/tests/i915/gem_eio.c
index 70e82b811..8dbaa7a75 100644
--- a/tests/i915/gem_eio.c
+++ b/tests/i915/gem_eio.c
@@ -500,6 +500,7 @@ static void test_wait(int fd, unsigned int flags, unsigned int wait)
 
 static void test_suspend(int fd, int state)
 {
+	igt_require(!gem_has_smallbar(fd));
 	/* Do a suspend first so that we don't skip inside the test */
 	igt_system_suspend_autoresume(state, SUSPEND_TEST_DEVICES);
 
-- 
2.39.0

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

* Re: [igt-dev] [PATCH i-g-t 1/2] lib/i915/intel_memory_region: Add gem_has_smallbar
  2023-01-20 10:07 [igt-dev] [PATCH i-g-t 1/2] lib/i915/intel_memory_region: Add gem_has_smallbar Nirmoy Das
  2023-01-20 10:07 ` [igt-dev] [PATCH i-g-t 2/2] test/i915/gem_eio: Skip suspend test on smallbar machine Nirmoy Das
@ 2023-01-20 10:14 ` Das, Nirmoy
  2023-01-20 11:30 ` [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t,1/2] " Patchwork
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 12+ messages in thread
From: Das, Nirmoy @ 2023-01-20 10:14 UTC (permalink / raw)
  To: igt-dev; +Cc: matthew.auld


On 1/20/2023 11:07 AM, Nirmoy Das wrote:
> Add gem_has_smallbar() to detect a device with smallbar.
>
> Signed-off-by: Nirmoy Das <nirmoy.das@intel.com>
> ---
>   lib/i915/intel_memory_region.c | 32 ++++++++++++++++++++++++++++++++
>   lib/i915/intel_memory_region.h |  1 +
>   2 files changed, 33 insertions(+)
>
> diff --git a/lib/i915/intel_memory_region.c b/lib/i915/intel_memory_region.c
> index 84e1bceb3..655720819 100644
> --- a/lib/i915/intel_memory_region.c
> +++ b/lib/i915/intel_memory_region.c
> @@ -183,6 +183,38 @@ bool gem_has_lmem(int fd)
>   	return gem_get_lmem_region_count(fd) > 0;
>   }
>   
> +/**
> + * gem_has_smallbar:
> + * @fd: open i915 drm file descriptor
> + *
> + * Helper function to check if the device comes with small-bar.
> + *
> + * Returns: True if at least one lmem region was found.


oops left over from gem_has_lmem() I will wait for reviews before 
resending it.

> + */
> +bool gem_has_smallbar(int fd)
> +{
> +	struct drm_i915_query_memory_regions *info;
> +	struct drm_i915_memory_region_info *rf;
> +	bool ret = false;
> +
> +	info = gem_get_query_memory_regions(fd);
> +	igt_assert(info);
> +
> +	for (int i = 0; i < info->num_regions; i++) {
> +		rf = &info->regions[i];
> +		if (rf->region.memory_class == I915_MEMORY_CLASS_DEVICE) {
> +			if (rf->probed_size > rf->probed_cpu_visible_size) {
> +				ret = true;
> +				break;
> +			}
> +		}
> +	}
> +	free(info);
> +
> +	return ret;
> +}
> +
> +
>   /* A version of gem_create_in_memory_region_list which can be allowed to
>      fail so that the object creation can be retried */
>   int __gem_create_in_memory_region_list(int fd, uint32_t *handle, uint64_t *size, uint32_t flags,
> diff --git a/lib/i915/intel_memory_region.h b/lib/i915/intel_memory_region.h
> index 425bda0ec..9e24bd8fb 100644
> --- a/lib/i915/intel_memory_region.h
> +++ b/lib/i915/intel_memory_region.h
> @@ -62,6 +62,7 @@ struct drm_i915_query_memory_regions *gem_get_query_memory_regions(int fd);
>   unsigned int gem_get_lmem_region_count(int fd);
>   
>   bool gem_has_lmem(int fd);
> +bool gem_has_smallbar(int fd);
>   
>   int __gem_create_in_memory_region_list(int fd, uint32_t *handle, uint64_t *size, uint32_t flags,
>   				       const struct drm_i915_gem_memory_class_instance *mem_regions,

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

* [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t,1/2] lib/i915/intel_memory_region: Add gem_has_smallbar
  2023-01-20 10:07 [igt-dev] [PATCH i-g-t 1/2] lib/i915/intel_memory_region: Add gem_has_smallbar Nirmoy Das
  2023-01-20 10:07 ` [igt-dev] [PATCH i-g-t 2/2] test/i915/gem_eio: Skip suspend test on smallbar machine Nirmoy Das
  2023-01-20 10:14 ` [igt-dev] [PATCH i-g-t 1/2] lib/i915/intel_memory_region: Add gem_has_smallbar Das, Nirmoy
@ 2023-01-20 11:30 ` Patchwork
  2023-01-23 11:56 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/2] lib/i915/intel_memory_region: Add gem_has_smallbar (rev2) Patchwork
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2023-01-20 11:30 UTC (permalink / raw)
  To: Das, Nirmoy; +Cc: igt-dev

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

== Series Details ==

Series: series starting with [i-g-t,1/2] lib/i915/intel_memory_region: Add gem_has_smallbar
URL   : https://patchwork.freedesktop.org/series/113143/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_12616 -> IGTPW_8379
====================================================

Summary
-------

  **FAILURE**

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

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

Participating hosts (38 -> 36)
------------------------------

  Missing    (2): fi-bsw-kefka fi-snb-2520m 

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@i915_selftest@live@slpc:
    - fi-kbl-soraka:      [PASS][1] -> [INCOMPLETE][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12616/fi-kbl-soraka/igt@i915_selftest@live@slpc.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8379/fi-kbl-soraka/igt@i915_selftest@live@slpc.html

  
#### Suppressed ####

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

  * igt@i915_selftest@live@requests:
    - {bat-adlm-1}:       [PASS][3] -> [INCOMPLETE][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12616/bat-adlm-1/igt@i915_selftest@live@requests.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8379/bat-adlm-1/igt@i915_selftest@live@requests.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@i915_module_load@load:
    - fi-ctg-p8600:       [PASS][5] -> [DMESG-WARN][6] ([i915#6020])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12616/fi-ctg-p8600/igt@i915_module_load@load.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8379/fi-ctg-p8600/igt@i915_module_load@load.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions:
    - fi-bsw-n3050:       [PASS][7] -> [FAIL][8] ([i915#6298])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12616/fi-bsw-n3050/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8379/fi-bsw-n3050/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@requests:
    - {bat-rpls-1}:       [INCOMPLETE][9] ([i915#4983] / [i915#6257]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12616/bat-rpls-1/igt@i915_selftest@live@requests.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8379/bat-rpls-1/igt@i915_selftest@live@requests.html

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

  [i915#4258]: https://gitlab.freedesktop.org/drm/intel/issues/4258
  [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
  [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
  [i915#6020]: https://gitlab.freedesktop.org/drm/intel/issues/6020
  [i915#6257]: https://gitlab.freedesktop.org/drm/intel/issues/6257
  [i915#6298]: https://gitlab.freedesktop.org/drm/intel/issues/6298
  [i915#7609]: https://gitlab.freedesktop.org/drm/intel/issues/7609
  [i915#7834]: https://gitlab.freedesktop.org/drm/intel/issues/7834


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

  * CI: CI-20190529 -> None
  * IGT: IGT_7127 -> IGTPW_8379

  CI-20190529: 20190529
  CI_DRM_12616: 98179da8401990f46b6dc1277f2b8eb1cf1d5c46 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_8379: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8379/index.html
  IGT_7127: 99f10de03e984778f3994fc3d05f8fa1f8575b30 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git

== Logs ==

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

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

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

* Re: [igt-dev] [PATCH i-g-t 2/2] test/i915/gem_eio: Skip suspend test on smallbar machine
  2023-01-20 10:07 ` [igt-dev] [PATCH i-g-t 2/2] test/i915/gem_eio: Skip suspend test on smallbar machine Nirmoy Das
@ 2023-01-20 15:45   ` Matthew Auld
  2023-01-20 19:38     ` Das, Nirmoy
  0 siblings, 1 reply; 12+ messages in thread
From: Matthew Auld @ 2023-01-20 15:45 UTC (permalink / raw)
  To: Nirmoy Das, igt-dev

On 20/01/2023 10:07, Nirmoy Das wrote:
> Suspending machine requires backing up gem objects to
> system memory. CPU non-visible lmem objects can only be
> backed up with the help of GPU on a smallbar device and if
> the gpu is wedged then such backup action will fail with -EIO.
> 
> This test sets the gpu to wedge state before suspending the
> machine which will always fail on smallbar machine.
> 
> References: https://gitlab.freedesktop.org/drm/intel/-/issues/7896
> Signed-off-by: Nirmoy Das <nirmoy.das@intel.com>

For the series,
Reviewed-by: Matthew Auld <matthew.auld@intel.com>

I guess this would also fail on full-bar, if there were some userspace 
lmem objects allocated during the test (due to ccs).

> ---
>   tests/i915/gem_eio.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/tests/i915/gem_eio.c b/tests/i915/gem_eio.c
> index 70e82b811..8dbaa7a75 100644
> --- a/tests/i915/gem_eio.c
> +++ b/tests/i915/gem_eio.c
> @@ -500,6 +500,7 @@ static void test_wait(int fd, unsigned int flags, unsigned int wait)
>   
>   static void test_suspend(int fd, int state)
>   {
> +	igt_require(!gem_has_smallbar(fd));
>   	/* Do a suspend first so that we don't skip inside the test */
>   	igt_system_suspend_autoresume(state, SUSPEND_TEST_DEVICES);
>   

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

* Re: [igt-dev] [PATCH i-g-t 2/2] test/i915/gem_eio: Skip suspend test on smallbar machine
  2023-01-20 15:45   ` Matthew Auld
@ 2023-01-20 19:38     ` Das, Nirmoy
  0 siblings, 0 replies; 12+ messages in thread
From: Das, Nirmoy @ 2023-01-20 19:38 UTC (permalink / raw)
  To: Matthew Auld, Nirmoy Das, igt-dev


On 1/20/2023 4:45 PM, Matthew Auld wrote:
> On 20/01/2023 10:07, Nirmoy Das wrote:
>> Suspending machine requires backing up gem objects to
>> system memory. CPU non-visible lmem objects can only be
>> backed up with the help of GPU on a smallbar device and if
>> the gpu is wedged then such backup action will fail with -EIO.
>>
>> This test sets the gpu to wedge state before suspending the
>> machine which will always fail on smallbar machine.
>>
>> References: https://gitlab.freedesktop.org/drm/intel/-/issues/7896
>> Signed-off-by: Nirmoy Das <nirmoy.das@intel.com>
>
> For the series,
> Reviewed-by: Matthew Auld <matthew.auld@intel.com>


Thanks, Matt! Also please help merging these.

>
> I guess this would also fail on full-bar, if there were some userspace 
> lmem objects allocated during the test (due to ccs).


True that can happen. Not sure if we can do anything in that case.

Regards,

Nirmoy

>
>
>> ---
>>   tests/i915/gem_eio.c | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/tests/i915/gem_eio.c b/tests/i915/gem_eio.c
>> index 70e82b811..8dbaa7a75 100644
>> --- a/tests/i915/gem_eio.c
>> +++ b/tests/i915/gem_eio.c
>> @@ -500,6 +500,7 @@ static void test_wait(int fd, unsigned int flags, 
>> unsigned int wait)
>>     static void test_suspend(int fd, int state)
>>   {
>> +    igt_require(!gem_has_smallbar(fd));
>>       /* Do a suspend first so that we don't skip inside the test */
>>       igt_system_suspend_autoresume(state, SUSPEND_TEST_DEVICES);

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

* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/2] lib/i915/intel_memory_region: Add gem_has_smallbar (rev2)
  2023-01-20 10:07 [igt-dev] [PATCH i-g-t 1/2] lib/i915/intel_memory_region: Add gem_has_smallbar Nirmoy Das
                   ` (2 preceding siblings ...)
  2023-01-20 11:30 ` [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t,1/2] " Patchwork
@ 2023-01-23 11:56 ` Patchwork
  2023-01-23 15:16 ` [igt-dev] [PATCH i-g-t 1/2] lib/i915/intel_memory_region: Add gem_has_smallbar Andrzej Hajda
  2023-01-24  1:23 ` [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,1/2] lib/i915/intel_memory_region: Add gem_has_smallbar (rev2) Patchwork
  5 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2023-01-23 11:56 UTC (permalink / raw)
  To: Nirmoy Das; +Cc: igt-dev

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

== Series Details ==

Series: series starting with [i-g-t,1/2] lib/i915/intel_memory_region: Add gem_has_smallbar (rev2)
URL   : https://patchwork.freedesktop.org/series/113143/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_12622 -> IGTPW_8390
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Participating hosts (39 -> 37)
------------------------------

  Missing    (2): bat-rpls-2 fi-snb-2520m 

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

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

### IGT changes ###

#### Issues hit ####

  * igt@kms_pipe_crc_basic@suspend-read-crc@pipe-b-lvds-1:
    - fi-ctg-p8600:       [PASS][1] -> [FAIL][2] ([fdo#103375])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/fi-ctg-p8600/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-b-lvds-1.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/fi-ctg-p8600/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-b-lvds-1.html

  
#### Possible fixes ####

  * igt@i915_module_load@load:
    - fi-ctg-p8600:       [DMESG-WARN][3] ([i915#6020]) -> [PASS][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/fi-ctg-p8600/igt@i915_module_load@load.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/fi-ctg-p8600/igt@i915_module_load@load.html

  * igt@i915_selftest@live@migrate:
    - {bat-dg2-11}:       [DMESG-WARN][5] ([i915#7699]) -> [PASS][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/bat-dg2-11/igt@i915_selftest@live@migrate.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/bat-dg2-11/igt@i915_selftest@live@migrate.html

  * igt@i915_selftest@live@mman:
    - fi-rkl-guc:         [TIMEOUT][7] ([i915#6794]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/fi-rkl-guc/igt@i915_selftest@live@mman.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/fi-rkl-guc/igt@i915_selftest@live@mman.html

  * igt@kms_pipe_crc_basic@suspend-read-crc@pipe-d-hdmi-a-2:
    - bat-dg1-5:          [FAIL][9] ([fdo#103375]) -> [PASS][10] +3 similar issues
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/bat-dg1-5/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-d-hdmi-a-2.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/bat-dg1-5/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-d-hdmi-a-2.html

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

  [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
  [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
  [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
  [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
  [i915#6020]: https://gitlab.freedesktop.org/drm/intel/issues/6020
  [i915#6257]: https://gitlab.freedesktop.org/drm/intel/issues/6257
  [i915#6794]: https://gitlab.freedesktop.org/drm/intel/issues/6794
  [i915#7077]: https://gitlab.freedesktop.org/drm/intel/issues/7077
  [i915#7699]: https://gitlab.freedesktop.org/drm/intel/issues/7699


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

  * CI: CI-20190529 -> None
  * IGT: IGT_7131 -> IGTPW_8390

  CI-20190529: 20190529
  CI_DRM_12622: 93e8ce8fb03496d8d0ccf15e7363563af90a4f8f @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_8390: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/index.html
  IGT_7131: 13b07163b012f6a195463bc14c06b84ecbd9f094 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git

== Logs ==

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

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

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

* Re: [igt-dev] [PATCH i-g-t 1/2] lib/i915/intel_memory_region: Add gem_has_smallbar
  2023-01-20 10:07 [igt-dev] [PATCH i-g-t 1/2] lib/i915/intel_memory_region: Add gem_has_smallbar Nirmoy Das
                   ` (3 preceding siblings ...)
  2023-01-23 11:56 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/2] lib/i915/intel_memory_region: Add gem_has_smallbar (rev2) Patchwork
@ 2023-01-23 15:16 ` Andrzej Hajda
  2023-01-23 15:45   ` Das, Nirmoy
  2023-01-24  1:23 ` [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,1/2] lib/i915/intel_memory_region: Add gem_has_smallbar (rev2) Patchwork
  5 siblings, 1 reply; 12+ messages in thread
From: Andrzej Hajda @ 2023-01-23 15:16 UTC (permalink / raw)
  To: Nirmoy Das, igt-dev; +Cc: matthew.auld



On 20.01.2023 11:07, Nirmoy Das wrote:
> Add gem_has_smallbar() to detect a device with smallbar.
>
> Signed-off-by: Nirmoy Das <nirmoy.das@intel.com>
> ---
>   lib/i915/intel_memory_region.c | 32 ++++++++++++++++++++++++++++++++
>   lib/i915/intel_memory_region.h |  1 +
>   2 files changed, 33 insertions(+)
>
> diff --git a/lib/i915/intel_memory_region.c b/lib/i915/intel_memory_region.c
> index 84e1bceb3..655720819 100644
> --- a/lib/i915/intel_memory_region.c
> +++ b/lib/i915/intel_memory_region.c
> @@ -183,6 +183,38 @@ bool gem_has_lmem(int fd)
>   	return gem_get_lmem_region_count(fd) > 0;
>   }
>   
> +/**
> + * gem_has_smallbar:
> + * @fd: open i915 drm file descriptor
> + *
> + * Helper function to check if the device comes with small-bar.
> + *
> + * Returns: True if at least one lmem region was found.
> + */
> +bool gem_has_smallbar(int fd)
> +{
> +	struct drm_i915_query_memory_regions *info;
> +	struct drm_i915_memory_region_info *rf;
> +	bool ret = false;
> +
> +	info = gem_get_query_memory_regions(fd);
> +	igt_assert(info);
> +
> +	for (int i = 0; i < info->num_regions; i++) {
> +		rf = &info->regions[i];
> +		if (rf->region.memory_class == I915_MEMORY_CLASS_DEVICE) {
> +			if (rf->probed_size > rf->probed_cpu_visible_size) {
> +				ret = true;
> +				break;
> +			}
> +		}
> +	}
> +	free(info);

Why not for_each_memory_region ?

Regards
Andrzej

> +
> +	return ret;
> +}
> +
> +
>   /* A version of gem_create_in_memory_region_list which can be allowed to
>      fail so that the object creation can be retried */
>   int __gem_create_in_memory_region_list(int fd, uint32_t *handle, uint64_t *size, uint32_t flags,
> diff --git a/lib/i915/intel_memory_region.h b/lib/i915/intel_memory_region.h
> index 425bda0ec..9e24bd8fb 100644
> --- a/lib/i915/intel_memory_region.h
> +++ b/lib/i915/intel_memory_region.h
> @@ -62,6 +62,7 @@ struct drm_i915_query_memory_regions *gem_get_query_memory_regions(int fd);
>   unsigned int gem_get_lmem_region_count(int fd);
>   
>   bool gem_has_lmem(int fd);
> +bool gem_has_smallbar(int fd);
>   
>   int __gem_create_in_memory_region_list(int fd, uint32_t *handle, uint64_t *size, uint32_t flags,
>   				       const struct drm_i915_gem_memory_class_instance *mem_regions,

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

* Re: [igt-dev] [PATCH i-g-t 1/2] lib/i915/intel_memory_region: Add gem_has_smallbar
  2023-01-23 15:16 ` [igt-dev] [PATCH i-g-t 1/2] lib/i915/intel_memory_region: Add gem_has_smallbar Andrzej Hajda
@ 2023-01-23 15:45   ` Das, Nirmoy
  2023-01-23 19:53     ` Andrzej Hajda
  0 siblings, 1 reply; 12+ messages in thread
From: Das, Nirmoy @ 2023-01-23 15:45 UTC (permalink / raw)
  To: Andrzej Hajda, igt-dev; +Cc: matthew.auld


On 1/23/2023 4:16 PM, Andrzej Hajda wrote:
>
>
> On 20.01.2023 11:07, Nirmoy Das wrote:
>> Add gem_has_smallbar() to detect a device with smallbar.
>>
>> Signed-off-by: Nirmoy Das <nirmoy.das@intel.com>
>> ---
>>   lib/i915/intel_memory_region.c | 32 ++++++++++++++++++++++++++++++++
>>   lib/i915/intel_memory_region.h |  1 +
>>   2 files changed, 33 insertions(+)
>>
>> diff --git a/lib/i915/intel_memory_region.c 
>> b/lib/i915/intel_memory_region.c
>> index 84e1bceb3..655720819 100644
>> --- a/lib/i915/intel_memory_region.c
>> +++ b/lib/i915/intel_memory_region.c
>> @@ -183,6 +183,38 @@ bool gem_has_lmem(int fd)
>>       return gem_get_lmem_region_count(fd) > 0;
>>   }
>>   +/**
>> + * gem_has_smallbar:
>> + * @fd: open i915 drm file descriptor
>> + *
>> + * Helper function to check if the device comes with small-bar.
>> + *
>> + * Returns: True if at least one lmem region was found.
>> + */
>> +bool gem_has_smallbar(int fd)
>> +{
>> +    struct drm_i915_query_memory_regions *info;
>> +    struct drm_i915_memory_region_info *rf;
>> +    bool ret = false;
>> +
>> +    info = gem_get_query_memory_regions(fd);
>> +    igt_assert(info);
>> +
>> +    for (int i = 0; i < info->num_regions; i++) {
>> +        rf = &info->regions[i];
>> +        if (rf->region.memory_class == I915_MEMORY_CLASS_DEVICE) {
>> +            if (rf->probed_size > rf->probed_cpu_visible_size) {
>> +                ret = true;
>> +                break;
>> +            }
>> +        }
>> +    }
>> +    free(info);
>
> Why not for_each_memory_region ?


No particular reason, it is inspired by existing code from the same 
file.  for_each_memory_region() though calls into 
gem_get_query_memory_regions() eventually.


Regards,

Nirmoy

>
> Regards
> Andrzej
>
>> +
>> +    return ret;
>> +}
>> +
>> +
>>   /* A version of gem_create_in_memory_region_list which can be 
>> allowed to
>>      fail so that the object creation can be retried */
>>   int __gem_create_in_memory_region_list(int fd, uint32_t *handle, 
>> uint64_t *size, uint32_t flags,
>> diff --git a/lib/i915/intel_memory_region.h 
>> b/lib/i915/intel_memory_region.h
>> index 425bda0ec..9e24bd8fb 100644
>> --- a/lib/i915/intel_memory_region.h
>> +++ b/lib/i915/intel_memory_region.h
>> @@ -62,6 +62,7 @@ struct drm_i915_query_memory_regions 
>> *gem_get_query_memory_regions(int fd);
>>   unsigned int gem_get_lmem_region_count(int fd);
>>     bool gem_has_lmem(int fd);
>> +bool gem_has_smallbar(int fd);
>>     int __gem_create_in_memory_region_list(int fd, uint32_t *handle, 
>> uint64_t *size, uint32_t flags,
>>                          const struct 
>> drm_i915_gem_memory_class_instance *mem_regions,
>

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

* Re: [igt-dev] [PATCH i-g-t 1/2] lib/i915/intel_memory_region: Add gem_has_smallbar
  2023-01-23 15:45   ` Das, Nirmoy
@ 2023-01-23 19:53     ` Andrzej Hajda
  2023-01-24  8:01       ` Das, Nirmoy
  0 siblings, 1 reply; 12+ messages in thread
From: Andrzej Hajda @ 2023-01-23 19:53 UTC (permalink / raw)
  To: Das, Nirmoy, igt-dev; +Cc: matthew.auld



On 23.01.2023 16:45, Das, Nirmoy wrote:
>
> On 1/23/2023 4:16 PM, Andrzej Hajda wrote:
>>
>>
>> On 20.01.2023 11:07, Nirmoy Das wrote:
>>> Add gem_has_smallbar() to detect a device with smallbar.
>>>
>>> Signed-off-by: Nirmoy Das <nirmoy.das@intel.com>
>>> ---
>>>   lib/i915/intel_memory_region.c | 32 ++++++++++++++++++++++++++++++++
>>>   lib/i915/intel_memory_region.h |  1 +
>>>   2 files changed, 33 insertions(+)
>>>
>>> diff --git a/lib/i915/intel_memory_region.c 
>>> b/lib/i915/intel_memory_region.c
>>> index 84e1bceb3..655720819 100644
>>> --- a/lib/i915/intel_memory_region.c
>>> +++ b/lib/i915/intel_memory_region.c
>>> @@ -183,6 +183,38 @@ bool gem_has_lmem(int fd)
>>>       return gem_get_lmem_region_count(fd) > 0;
>>>   }
>>>   +/**
>>> + * gem_has_smallbar:
>>> + * @fd: open i915 drm file descriptor
>>> + *
>>> + * Helper function to check if the device comes with small-bar.
>>> + *
>>> + * Returns: True if at least one lmem region was found.
>>> + */
>>> +bool gem_has_smallbar(int fd)
>>> +{
>>> +    struct drm_i915_query_memory_regions *info;
>>> +    struct drm_i915_memory_region_info *rf;
>>> +    bool ret = false;
>>> +
>>> +    info = gem_get_query_memory_regions(fd);
>>> +    igt_assert(info);
>>> +
>>> +    for (int i = 0; i < info->num_regions; i++) {
>>> +        rf = &info->regions[i];
>>> +        if (rf->region.memory_class == I915_MEMORY_CLASS_DEVICE) {
>>> +            if (rf->probed_size > rf->probed_cpu_visible_size) {
>>> +                ret = true;
>>> +                break;
>>> +            }
>>> +        }
>>> +    }
>>> +    free(info);
>>
>> Why not for_each_memory_region ?
>
>
> No particular reason, it is inspired by existing code from the same 
> file.  for_each_memory_region() though calls into 
> gem_get_query_memory_regions() eventually.

I though it could be shorter, sth like:
bool gem_has_smallbar(int fd)
{
     bool ret;

     for_each_memory_region(r, fd)
         if (r->ci.memory_class == I915_MEMORY_CLASS_DEVICE && r->size > 
r->cpu_size)
             ret = true;
     return ret;
}

Apparently 'break' leaks memory, so it is not so perfect :)
Up to you.

Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com>

Regards
Andrzej

>
>
> Regards,
>
> Nirmoy
>
>>
>> Regards
>> Andrzej
>>
>>> +
>>> +    return ret;
>>> +}
>>> +
>>> +
>>>   /* A version of gem_create_in_memory_region_list which can be 
>>> allowed to
>>>      fail so that the object creation can be retried */
>>>   int __gem_create_in_memory_region_list(int fd, uint32_t *handle, 
>>> uint64_t *size, uint32_t flags,
>>> diff --git a/lib/i915/intel_memory_region.h 
>>> b/lib/i915/intel_memory_region.h
>>> index 425bda0ec..9e24bd8fb 100644
>>> --- a/lib/i915/intel_memory_region.h
>>> +++ b/lib/i915/intel_memory_region.h
>>> @@ -62,6 +62,7 @@ struct drm_i915_query_memory_regions 
>>> *gem_get_query_memory_regions(int fd);
>>>   unsigned int gem_get_lmem_region_count(int fd);
>>>     bool gem_has_lmem(int fd);
>>> +bool gem_has_smallbar(int fd);
>>>     int __gem_create_in_memory_region_list(int fd, uint32_t *handle, 
>>> uint64_t *size, uint32_t flags,
>>>                          const struct 
>>> drm_i915_gem_memory_class_instance *mem_regions,
>>

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

* [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,1/2] lib/i915/intel_memory_region: Add gem_has_smallbar (rev2)
  2023-01-20 10:07 [igt-dev] [PATCH i-g-t 1/2] lib/i915/intel_memory_region: Add gem_has_smallbar Nirmoy Das
                   ` (4 preceding siblings ...)
  2023-01-23 15:16 ` [igt-dev] [PATCH i-g-t 1/2] lib/i915/intel_memory_region: Add gem_has_smallbar Andrzej Hajda
@ 2023-01-24  1:23 ` Patchwork
  5 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2023-01-24  1:23 UTC (permalink / raw)
  To: Das, Nirmoy; +Cc: igt-dev

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

== Series Details ==

Series: series starting with [i-g-t,1/2] lib/i915/intel_memory_region: Add gem_has_smallbar (rev2)
URL   : https://patchwork.freedesktop.org/series/113143/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_12622_full -> IGTPW_8390_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

  Additional (1): shard-rkl0 
  Missing    (2): pig-skl-6260u pig-kbl-iris 

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_fair@basic-none-solo@rcs0:
    - shard-apl:          [PASS][1] -> [FAIL][2] ([i915#2842])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/shard-apl7/igt@gem_exec_fair@basic-none-solo@rcs0.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/shard-apl2/igt@gem_exec_fair@basic-none-solo@rcs0.html

  * igt@gem_exec_fair@basic-none@rcs0:
    - shard-glk:          [PASS][3] -> [FAIL][4] ([i915#2842]) +1 similar issue
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/shard-glk5/igt@gem_exec_fair@basic-none@rcs0.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/shard-glk3/igt@gem_exec_fair@basic-none@rcs0.html

  * igt@gem_exec_fair@basic-pace-solo@rcs0:
    - shard-glk:          NOTRUN -> [FAIL][5] ([i915#2842])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/shard-glk9/igt@gem_exec_fair@basic-pace-solo@rcs0.html

  * igt@i915_pm_dc@dc9-dpms:
    - shard-apl:          [PASS][6] -> [SKIP][7] ([fdo#109271])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/shard-apl2/igt@i915_pm_dc@dc9-dpms.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/shard-apl7/igt@i915_pm_dc@dc9-dpms.html

  * igt@i915_pm_rps@engine-order:
    - shard-apl:          [PASS][8] -> [FAIL][9] ([i915#6537])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/shard-apl1/igt@i915_pm_rps@engine-order.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/shard-apl7/igt@i915_pm_rps@engine-order.html

  * igt@kms_ccs@pipe-c-missing-ccs-buffer-y_tiled_gen12_mc_ccs:
    - shard-glk:          NOTRUN -> [SKIP][10] ([fdo#109271] / [i915#3886])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/shard-glk2/igt@kms_ccs@pipe-c-missing-ccs-buffer-y_tiled_gen12_mc_ccs.html

  * igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions:
    - shard-apl:          [PASS][11] -> [FAIL][12] ([i915#2346])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/shard-apl7/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/shard-apl3/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a2:
    - shard-glk:          [PASS][13] -> [FAIL][14] ([i915#79])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/shard-glk5/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a2.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/shard-glk3/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a2.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-mmap-wc:
    - shard-glk:          NOTRUN -> [SKIP][15] ([fdo#109271]) +31 similar issues
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/shard-glk4/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-mmap-wc.html

  * igt@sysfs_clients@pidname:
    - shard-glk:          NOTRUN -> [SKIP][16] ([fdo#109271] / [i915#2994])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/shard-glk3/igt@sysfs_clients@pidname.html

  
#### Possible fixes ####

  * igt@gem_ctx_exec@basic-nohangcheck:
    - {shard-tglu}:       [FAIL][17] ([i915#6268]) -> [PASS][18]
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/shard-tglu-5/igt@gem_ctx_exec@basic-nohangcheck.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/shard-tglu-5/igt@gem_ctx_exec@basic-nohangcheck.html

  * igt@gem_exec_fair@basic-pace-solo@rcs0:
    - shard-apl:          [FAIL][19] ([i915#2842]) -> [PASS][20]
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/shard-apl3/igt@gem_exec_fair@basic-pace-solo@rcs0.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/shard-apl7/igt@gem_exec_fair@basic-pace-solo@rcs0.html

  * igt@gem_exec_reloc@basic-gtt:
    - {shard-rkl}:        [SKIP][21] ([i915#3281]) -> [PASS][22] +2 similar issues
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/shard-rkl-1/igt@gem_exec_reloc@basic-gtt.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/shard-rkl-5/igt@gem_exec_reloc@basic-gtt.html

  * igt@gem_pread@self:
    - {shard-rkl}:        [SKIP][23] ([i915#3282]) -> [PASS][24] +1 similar issue
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/shard-rkl-6/igt@gem_pread@self.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/shard-rkl-5/igt@gem_pread@self.html

  * igt@gen9_exec_parse@unaligned-access:
    - {shard-rkl}:        [SKIP][25] ([i915#2527]) -> [PASS][26]
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/shard-rkl-6/igt@gen9_exec_parse@unaligned-access.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/shard-rkl-5/igt@gen9_exec_parse@unaligned-access.html

  * igt@i915_hangman@gt-engine-error@bcs0:
    - {shard-rkl}:        [SKIP][27] ([i915#6258]) -> [PASS][28]
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/shard-rkl-5/igt@i915_hangman@gt-engine-error@bcs0.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/shard-rkl-1/igt@i915_hangman@gt-engine-error@bcs0.html

  * igt@i915_pm_dc@dc6-dpms:
    - {shard-rkl}:        [SKIP][29] ([i915#3361]) -> [PASS][30] +1 similar issue
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/shard-rkl-5/igt@i915_pm_dc@dc6-dpms.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/shard-rkl-6/igt@i915_pm_dc@dc6-dpms.html

  * igt@i915_pm_rpm@pm-tiling:
    - {shard-rkl}:        [SKIP][31] ([fdo#109308]) -> [PASS][32]
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/shard-rkl-5/igt@i915_pm_rpm@pm-tiling.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/shard-rkl-6/igt@i915_pm_rpm@pm-tiling.html

  * igt@i915_selftest@live@gt_heartbeat:
    - shard-apl:          [DMESG-FAIL][33] ([i915#5334]) -> [PASS][34]
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/shard-apl1/igt@i915_selftest@live@gt_heartbeat.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/shard-apl7/igt@i915_selftest@live@gt_heartbeat.html

  * igt@kms_async_flips@alternate-sync-async-flip@pipe-a-hdmi-a-1:
    - shard-glk:          [FAIL][35] ([i915#2521]) -> [PASS][36]
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/shard-glk9/igt@kms_async_flips@alternate-sync-async-flip@pipe-a-hdmi-a-1.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/shard-glk8/igt@kms_async_flips@alternate-sync-async-flip@pipe-a-hdmi-a-1.html

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy:
    - shard-glk:          [FAIL][37] ([i915#72]) -> [PASS][38]
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/shard-glk4/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/shard-glk3/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@a-dp1:
    - shard-apl:          [FAIL][39] ([i915#79]) -> [PASS][40]
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/shard-apl6/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-dp1.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/shard-apl2/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-dp1.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-plflip-blt:
    - {shard-rkl}:        [SKIP][41] ([i915#1849] / [i915#4098]) -> [PASS][42] +14 similar issues
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/shard-rkl-5/igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-plflip-blt.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-plflip-blt.html

  * igt@kms_plane@pixel-format@pipe-b-planes:
    - {shard-rkl}:        [SKIP][43] ([i915#1849]) -> [PASS][44] +2 similar issues
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/shard-rkl-1/igt@kms_plane@pixel-format@pipe-b-planes.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/shard-rkl-6/igt@kms_plane@pixel-format@pipe-b-planes.html

  * igt@kms_properties@plane-properties-atomic:
    - {shard-tglu}:       [SKIP][45] ([i915#1849]) -> [PASS][46]
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/shard-tglu-6/igt@kms_properties@plane-properties-atomic.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/shard-tglu-7/igt@kms_properties@plane-properties-atomic.html

  * igt@kms_psr@sprite_mmap_gtt:
    - {shard-rkl}:        [SKIP][47] ([i915#1072]) -> [PASS][48] +1 similar issue
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/shard-rkl-3/igt@kms_psr@sprite_mmap_gtt.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/shard-rkl-6/igt@kms_psr@sprite_mmap_gtt.html

  * igt@kms_vblank@invalid:
    - {shard-tglu}:       [SKIP][49] ([i915#7651]) -> [PASS][50] +6 similar issues
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/shard-tglu-6/igt@kms_vblank@invalid.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/shard-tglu-8/igt@kms_vblank@invalid.html

  * igt@kms_vblank@pipe-b-query-idle:
    - {shard-rkl}:        [SKIP][51] ([i915#1845] / [i915#4098]) -> [PASS][52] +23 similar issues
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/shard-rkl-1/igt@kms_vblank@pipe-b-query-idle.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/shard-rkl-6/igt@kms_vblank@pipe-b-query-idle.html

  * igt@perf@gen12-oa-tlb-invalidate:
    - {shard-rkl}:        [SKIP][53] ([fdo#109289]) -> [PASS][54]
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/shard-rkl-5/igt@perf@gen12-oa-tlb-invalidate.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/shard-rkl-1/igt@perf@gen12-oa-tlb-invalidate.html

  * igt@perf@polling-small-buf:
    - {shard-rkl}:        [FAIL][55] ([i915#1722]) -> [PASS][56]
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/shard-rkl-1/igt@perf@polling-small-buf.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/shard-rkl-2/igt@perf@polling-small-buf.html

  * igt@perf@stress-open-close:
    - shard-glk:          [INCOMPLETE][57] ([i915#5213]) -> [PASS][58]
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/shard-glk9/igt@perf@stress-open-close.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/shard-glk4/igt@perf@stress-open-close.html

  * igt@prime_vgem@basic-fence-flip:
    - {shard-tglu}:       [SKIP][59] ([fdo#109295]) -> [PASS][60]
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/shard-tglu-6/igt@prime_vgem@basic-fence-flip.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/shard-tglu-1/igt@prime_vgem@basic-fence-flip.html

  * igt@sysfs_heartbeat_interval@precise@vcs0:
    - {shard-dg1}:        [FAIL][61] ([i915#1755]) -> [PASS][62] +2 similar issues
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12622/shard-dg1-17/igt@sysfs_heartbeat_interval@precise@vcs0.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/shard-dg1-12/igt@sysfs_heartbeat_interval@precise@vcs0.html

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

  [IGT#2]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/2
  [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
  [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
  [fdo#109283]: https://bugs.freedesktop.org/show_bug.cgi?id=109283
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
  [fdo#109300]: https://bugs.freedesktop.org/show_bug.cgi?id=109300
  [fdo#109302]: https://bugs.freedesktop.org/show_bug.cgi?id=109302
  [fdo#109303]: https://bugs.freedesktop.org/show_bug.cgi?id=109303
  [fdo#109308]: https://bugs.freedesktop.org/show_bug.cgi?id=109308
  [fdo#109309]: https://bugs.freedesktop.org/show_bug.cgi?id=109309
  [fdo#109312]: https://bugs.freedesktop.org/show_bug.cgi?id=109312
  [fdo#109313]: https://bugs.freedesktop.org/show_bug.cgi?id=109313
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
  [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
  [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
  [fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
  [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
  [fdo#111644]: https://bugs.freedesktop.org/show_bug.cgi?id=111644
  [fdo#111656]: https://bugs.freedesktop.org/show_bug.cgi?id=111656
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054
  [fdo#112283]: https://bugs.freedesktop.org/show_bug.cgi?id=112283
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#132]: https://gitlab.freedesktop.org/drm/intel/issues/132
  [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
  [i915#1722]: https://gitlab.freedesktop.org/drm/intel/issues/1722
  [i915#1755]: https://gitlab.freedesktop.org/drm/intel/issues/1755
  [i915#1769]: https://gitlab.freedesktop.org/drm/intel/issues/1769
  [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
  [i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839
  [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
  [i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849
  [i915#1850]: https://gitlab.freedesktop.org/drm/intel/issues/1850
  [i915#1902]: https://gitlab.freedesktop.org/drm/intel/issues/1902
  [i915#1937]: https://gitlab.freedesktop.org/drm/intel/issues/1937
  [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
  [i915#2433]: https://gitlab.freedesktop.org/drm/intel/issues/2433
  [i915#2434]: https://gitlab.freedesktop.org/drm/intel/issues/2434
  [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
  [i915#2521]: https://gitlab.freedesktop.org/drm/intel/issues/2521
  [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
  [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
  [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
  [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
  [i915#2658]: https://gitlab.freedesktop.org/drm/intel/issues/2658
  [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
  [i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681
  [i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705
  [i915#284]: https://gitlab.freedesktop.org/drm/intel/issues/284
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856
  [i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920
  [i915#2994]: https://gitlab.freedesktop.org/drm/intel/issues/2994
  [i915#3116]: https://gitlab.freedesktop.org/drm/intel/issues/3116
  [i915#315]: https://gitlab.freedesktop.org/drm/intel/issues/315
  [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
  [i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299
  [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
  [i915#3318]: https://gitlab.freedesktop.org/drm/intel/issues/3318
  [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
  [i915#3361]: https://gitlab.freedesktop.org/drm/intel/issues/3361
  [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
  [i915#3469]: https://gitlab.freedesktop.org/drm/intel/issues/3469
  [i915#3528]: https://gitlab.freedesktop.org/drm/intel/issues/3528
  [i915#3536]: https://gitlab.freedesktop.org/drm/intel/issues/3536
  [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
  [i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546
  [i915#3547]: https://gitlab.freedesktop.org/drm/intel/issues/3547
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3558]: https://gitlab.freedesktop.org/drm/intel/issues/3558
  [i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591
  [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
  [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
  [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734
  [i915#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742
  [i915#3826]: https://gitlab.freedesktop.org/drm/intel/issues/3826
  [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
  [i915#3936]: https://gitlab.freedesktop.org/drm/intel/issues/3936
  [i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
  [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
  [i915#426]: https://gitlab.freedesktop.org/drm/intel/issues/426
  [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
  [i915#4281]: https://gitlab.freedesktop.org/drm/intel/issues/4281
  [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
  [i915#4391]: https://gitlab.freedesktop.org/drm/intel/issues/4391
  [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
  [i915#4565]: https://gitlab.freedesktop.org/drm/intel/issues/4565
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4767]: https://gitlab.freedesktop.org/drm/intel/issues/4767
  [i915#4771]: https://gitlab.freedesktop.org/drm/intel/issues/4771
  [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812
  [i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833
  [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
  [i915#4854]: https://gitlab.freedesktop.org/drm/intel/issues/4854
  [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860
  [i915#4873]: https://gitlab.freedesktop.org/drm/intel/issues/4873
  [i915#4877]: https://gitlab.freedesktop.org/drm/intel/issues/4877
  [i915#4879]: https://gitlab.freedesktop.org/drm/intel/issues/4879
  [i915#4881]: https://gitlab.freedesktop.org/drm/intel/issues/4881
  [i915#4884]: https://gitlab.freedesktop.org/drm/intel/issues/4884
  [i915#4885]: https://gitlab.freedesktop.org/drm/intel/issues/4885
  [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
  [i915#5122]: https://gitlab.freedesktop.org/drm/intel/issues/5122
  [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
  [i915#5213]: https://gitlab.freedesktop.org/drm/intel/issues/5213
  [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
  [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
  [i915#5288]: https://gitlab.freedesktop.org/drm/intel/issues/5288
  [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
  [i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325
  [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
  [i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334
  [i915#5439]: https://gitlab.freedesktop.org/drm/intel/issues/5439
  [i915#5461]: https://gitlab.freedesktop.org/drm/intel/issues/5461
  [i915#5563]: https://gitlab.freedesktop.org/drm/intel/issues/5563
  [i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784
  [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
  [i915#6230]: https://gitlab.freedesktop.org/drm/intel/issues/6230
  [i915#6248]: https://gitlab.freedesktop.org/drm/intel/issues/6248
  [i915#6258]: https://gitlab.freedesktop.org/drm/intel/issues/6258
  [i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268
  [i915#6334]: https://gitlab.freedesktop.org/drm/intel/issues/6334
  [i915#6344]: https://gitlab.freedesktop.org/drm/intel/issues/6344
  [i915#6355]: https://gitlab.freedesktop.org/drm/intel/issues/6355
  [i915#6433]: https://gitlab.freedesktop.org/drm/intel/issues/6433
  [i915#6463]: https://gitlab.freedesktop.org/drm/intel/issues/6463
  [i915#6493]: https://gitlab.freedesktop.org/drm/intel/issues/6493
  [i915#6497]: https://gitlab.freedesktop.org/drm/intel/issues/6497
  [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524
  [i915#6537]: https://gitlab.freedesktop.org/drm/intel/issues/6537
  [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
  [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
  [i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768
  [i915#6944]: https://gitlab.freedesktop.org/drm/intel/issues/6944
  [i915#6946]: https://gitlab.freedesktop.org/drm/intel/issues/6946
  [i915#6953]: https://gitlab.freedesktop.org/drm/intel/issues/6953
  [i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116
  [i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118
  [i915#7128]: https://gitlab.freedesktop.org/drm/intel/issues/7128
  [i915#72]: https://gitlab.freedesktop.org/drm/intel/issues/72
  [i915#7294]: https://gitlab.freedesktop.org/drm/intel/issues/7294
  [i915#7443]: https://gitlab.freedesktop.org/drm/intel/issues/7443
  [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
  [i915#7582]: https://gitlab.freedesktop.org/drm/intel/issues/7582
  [i915#7651]: https://gitlab.freedesktop.org/drm/intel/issues/7651
  [i915#7697]: https://gitlab.freedesktop.org/drm/intel/issues/7697
  [i915#7701]: https://gitlab.freedesktop.org/drm/intel/issues/7701
  [i915#7707]: https://gitlab.freedesktop.org/drm/intel/issues/7707
  [i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711
  [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
  [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79


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

  * CI: CI-20190529 -> None
  * IGT: IGT_7131 -> IGTPW_8390
  * Piglit: piglit_4509 -> None

  CI-20190529: 20190529
  CI_DRM_12622: 93e8ce8fb03496d8d0ccf15e7363563af90a4f8f @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_8390: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8390/index.html
  IGT_7131: 13b07163b012f6a195463bc14c06b84ecbd9f094 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

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

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

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

* Re: [igt-dev] [PATCH i-g-t 1/2] lib/i915/intel_memory_region: Add gem_has_smallbar
  2023-01-23 19:53     ` Andrzej Hajda
@ 2023-01-24  8:01       ` Das, Nirmoy
  0 siblings, 0 replies; 12+ messages in thread
From: Das, Nirmoy @ 2023-01-24  8:01 UTC (permalink / raw)
  To: Andrzej Hajda, Das, Nirmoy, igt-dev; +Cc: matthew.auld


On 1/23/2023 8:53 PM, Andrzej Hajda wrote:
>
>
> On 23.01.2023 16:45, Das, Nirmoy wrote:
>>
>> On 1/23/2023 4:16 PM, Andrzej Hajda wrote:
>>>
>>>
>>> On 20.01.2023 11:07, Nirmoy Das wrote:
>>>> Add gem_has_smallbar() to detect a device with smallbar.
>>>>
>>>> Signed-off-by: Nirmoy Das <nirmoy.das@intel.com>
>>>> ---
>>>>   lib/i915/intel_memory_region.c | 32 ++++++++++++++++++++++++++++++++
>>>>   lib/i915/intel_memory_region.h |  1 +
>>>>   2 files changed, 33 insertions(+)
>>>>
>>>> diff --git a/lib/i915/intel_memory_region.c 
>>>> b/lib/i915/intel_memory_region.c
>>>> index 84e1bceb3..655720819 100644
>>>> --- a/lib/i915/intel_memory_region.c
>>>> +++ b/lib/i915/intel_memory_region.c
>>>> @@ -183,6 +183,38 @@ bool gem_has_lmem(int fd)
>>>>       return gem_get_lmem_region_count(fd) > 0;
>>>>   }
>>>>   +/**
>>>> + * gem_has_smallbar:
>>>> + * @fd: open i915 drm file descriptor
>>>> + *
>>>> + * Helper function to check if the device comes with small-bar.
>>>> + *
>>>> + * Returns: True if at least one lmem region was found.
>>>> + */
>>>> +bool gem_has_smallbar(int fd)
>>>> +{
>>>> +    struct drm_i915_query_memory_regions *info;
>>>> +    struct drm_i915_memory_region_info *rf;
>>>> +    bool ret = false;
>>>> +
>>>> +    info = gem_get_query_memory_regions(fd);
>>>> +    igt_assert(info);
>>>> +
>>>> +    for (int i = 0; i < info->num_regions; i++) {
>>>> +        rf = &info->regions[i];
>>>> +        if (rf->region.memory_class == I915_MEMORY_CLASS_DEVICE) {
>>>> +            if (rf->probed_size > rf->probed_cpu_visible_size) {
>>>> +                ret = true;
>>>> +                break;
>>>> +            }
>>>> +        }
>>>> +    }
>>>> +    free(info);
>>>
>>> Why not for_each_memory_region ?
>>
>>
>> No particular reason, it is inspired by existing code from the same 
>> file.  for_each_memory_region() though calls into 
>> gem_get_query_memory_regions() eventually.
>
> I though it could be shorter, sth like:
> bool gem_has_smallbar(int fd)
> {
>     bool ret;
>
>     for_each_memory_region(r, fd)
>         if (r->ci.memory_class == I915_MEMORY_CLASS_DEVICE && r->size 
> > r->cpu_size)
>             ret = true;
>     return ret;
> }
>
> Apparently 'break' leaks memory, so it is not so perfect :)
> Up to you.
>

Looks good but because you r-b this version, lazy me will take it 
without re-spinning it :)

> Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com>


Thanks, Andrzej.


Nirmoy

>
>
> Regards
> Andrzej
>
>>
>>
>> Regards,
>>
>> Nirmoy
>>
>>>
>>> Regards
>>> Andrzej
>>>
>>>> +
>>>> +    return ret;
>>>> +}
>>>> +
>>>> +
>>>>   /* A version of gem_create_in_memory_region_list which can be 
>>>> allowed to
>>>>      fail so that the object creation can be retried */
>>>>   int __gem_create_in_memory_region_list(int fd, uint32_t *handle, 
>>>> uint64_t *size, uint32_t flags,
>>>> diff --git a/lib/i915/intel_memory_region.h 
>>>> b/lib/i915/intel_memory_region.h
>>>> index 425bda0ec..9e24bd8fb 100644
>>>> --- a/lib/i915/intel_memory_region.h
>>>> +++ b/lib/i915/intel_memory_region.h
>>>> @@ -62,6 +62,7 @@ struct drm_i915_query_memory_regions 
>>>> *gem_get_query_memory_regions(int fd);
>>>>   unsigned int gem_get_lmem_region_count(int fd);
>>>>     bool gem_has_lmem(int fd);
>>>> +bool gem_has_smallbar(int fd);
>>>>     int __gem_create_in_memory_region_list(int fd, uint32_t 
>>>> *handle, uint64_t *size, uint32_t flags,
>>>>                          const struct 
>>>> drm_i915_gem_memory_class_instance *mem_regions,
>>>
>

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

end of thread, other threads:[~2023-01-24  8:01 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-20 10:07 [igt-dev] [PATCH i-g-t 1/2] lib/i915/intel_memory_region: Add gem_has_smallbar Nirmoy Das
2023-01-20 10:07 ` [igt-dev] [PATCH i-g-t 2/2] test/i915/gem_eio: Skip suspend test on smallbar machine Nirmoy Das
2023-01-20 15:45   ` Matthew Auld
2023-01-20 19:38     ` Das, Nirmoy
2023-01-20 10:14 ` [igt-dev] [PATCH i-g-t 1/2] lib/i915/intel_memory_region: Add gem_has_smallbar Das, Nirmoy
2023-01-20 11:30 ` [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t,1/2] " Patchwork
2023-01-23 11:56 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/2] lib/i915/intel_memory_region: Add gem_has_smallbar (rev2) Patchwork
2023-01-23 15:16 ` [igt-dev] [PATCH i-g-t 1/2] lib/i915/intel_memory_region: Add gem_has_smallbar Andrzej Hajda
2023-01-23 15:45   ` Das, Nirmoy
2023-01-23 19:53     ` Andrzej Hajda
2023-01-24  8:01       ` Das, Nirmoy
2023-01-24  1:23 ` [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,1/2] lib/i915/intel_memory_region: Add gem_has_smallbar (rev2) 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.