* [igt-dev] [PATCH i-g-t 1/2] lib/i915/mocs: Move mocs library to 'lib' folder
@ 2023-06-09 13:01 Christoph Manszewski
2023-06-09 13:01 ` [igt-dev] [PATCH i-g-t 2/2] lib/[gpu_cmds|intel_bufops]: Enable surface state mocs setting Christoph Manszewski
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Christoph Manszewski @ 2023-06-09 13:01 UTC (permalink / raw)
To: igt-dev
Since mocs are driver agnostic and are currently used in driver agnostic
code, move them to the 'lib' folder and get rid of i915 references.
Signed-off-by: Christoph Manszewski <christoph.manszewski@intel.com>
---
lib/igt_draw.c | 2 +-
lib/{i915 => }/intel_mocs.c | 9 ++++-----
lib/{i915 => }/intel_mocs.h | 0
lib/meson.build | 2 +-
tests/i915/gem_ccs.c | 2 +-
tests/i915/gem_exercise_blt.c | 2 +-
tests/i915/gem_lmem_swapping.c | 2 +-
7 files changed, 9 insertions(+), 10 deletions(-)
rename lib/{i915 => }/intel_mocs.c (89%)
rename lib/{i915 => }/intel_mocs.h (100%)
diff --git a/lib/igt_draw.c b/lib/igt_draw.c
index a5c0cbbf..6f362994 100644
--- a/lib/igt_draw.c
+++ b/lib/igt_draw.c
@@ -30,13 +30,13 @@
#include "intel_bufops.h"
#include "intel_batchbuffer.h"
#include "intel_chipset.h"
+#include "intel_mocs.h"
#include "igt_core.h"
#include "igt_fb.h"
#include "ioctl_wrappers.h"
#include "i830_reg.h"
#include "i915/gem_create.h"
#include "i915/gem_mman.h"
-#include "i915/intel_mocs.h"
#include "xe/xe_ioctl.h"
#include "xe/xe_query.h"
diff --git a/lib/i915/intel_mocs.c b/lib/intel_mocs.c
similarity index 89%
rename from lib/i915/intel_mocs.c
rename to lib/intel_mocs.c
index 95f0fbde..cf3b8e4f 100644
--- a/lib/i915/intel_mocs.c
+++ b/lib/intel_mocs.c
@@ -4,7 +4,6 @@
*/
#include "igt.h"
-#include "i915/gem.h"
#include "intel_mocs.h"
#define DG1_MOCS_UC_IDX 1
@@ -18,12 +17,12 @@
#define XY_BLOCK_COPY_BLT_MOCS_SHIFT 21
#define XY_CTRL_SURF_COPY_BLT_MOCS_SHIFT 25
-struct drm_i915_mocs_index {
+struct drm_intel_mocs_index {
uint8_t uc_index;
uint8_t wb_index;
};
-static void get_mocs_index(int fd, struct drm_i915_mocs_index *mocs)
+static void get_mocs_index(int fd, struct drm_intel_mocs_index *mocs)
{
uint16_t devid = intel_get_drm_devid(fd);
@@ -58,7 +57,7 @@ static void get_mocs_index(int fd, struct drm_i915_mocs_index *mocs)
uint8_t intel_get_wb_mocs(int fd)
{
- struct drm_i915_mocs_index mocs;
+ struct drm_intel_mocs_index mocs;
get_mocs_index(fd, &mocs);
return mocs.wb_index << 1;
@@ -66,7 +65,7 @@ uint8_t intel_get_wb_mocs(int fd)
uint8_t intel_get_uc_mocs(int fd)
{
- struct drm_i915_mocs_index mocs;
+ struct drm_intel_mocs_index mocs;
get_mocs_index(fd, &mocs);
return mocs.uc_index << 1;
diff --git a/lib/i915/intel_mocs.h b/lib/intel_mocs.h
similarity index 100%
rename from lib/i915/intel_mocs.h
rename to lib/intel_mocs.h
diff --git a/lib/meson.build b/lib/meson.build
index 55efdc83..ad5d999d 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -13,7 +13,6 @@ lib_sources = [
'i915/gem_vm.c',
'i915/intel_decode.c',
'i915/intel_memory_region.c',
- 'i915/intel_mocs.c',
'i915/intel_cmds_info.c',
'i915/i915_blt.c',
'i915/i915_crc.c',
@@ -60,6 +59,7 @@ lib_sources = [
'intel_ctx.c',
'intel_device_info.c',
'intel_mmio.c',
+ 'intel_mocs.c',
'ioctl_wrappers.c',
'media_spin.c',
'media_fill.c',
diff --git a/tests/i915/gem_ccs.c b/tests/i915/gem_ccs.c
index ff6504b3..d38ab49a 100644
--- a/tests/i915/gem_ccs.c
+++ b/tests/i915/gem_ccs.c
@@ -14,7 +14,7 @@
#include "i915/gem_create.h"
#include "lib/intel_chipset.h"
#include "i915/i915_blt.h"
-#include "i915/intel_mocs.h"
+#include "intel_mocs.h"
/**
* TEST: gem ccs
* Description: Exercise gen12 blitter with and without flatccs compression
diff --git a/tests/i915/gem_exercise_blt.c b/tests/i915/gem_exercise_blt.c
index 3287ced7..89f89d21 100644
--- a/tests/i915/gem_exercise_blt.c
+++ b/tests/i915/gem_exercise_blt.c
@@ -9,7 +9,7 @@
#include "i915/gem_create.h"
#include "lib/intel_chipset.h"
#include "i915/i915_blt.h"
-#include "i915/intel_mocs.h"
+#include "intel_mocs.h"
/**
* TEST: gem exercise blt
* Description: Exercise blitter commands
diff --git a/tests/i915/gem_lmem_swapping.c b/tests/i915/gem_lmem_swapping.c
index 6f1340ba..8211edbe 100644
--- a/tests/i915/gem_lmem_swapping.c
+++ b/tests/i915/gem_lmem_swapping.c
@@ -23,7 +23,7 @@
#include <sys/wait.h>
#include "drm.h"
#include "i915/i915_blt.h"
-#include "i915/intel_mocs.h"
+#include "intel_mocs.h"
/**
* TEST: gem lmem swapping
* Description: Exercise local memory swapping.
--
2.40.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [igt-dev] [PATCH i-g-t 2/2] lib/[gpu_cmds|intel_bufops]: Enable surface state mocs setting.
2023-06-09 13:01 [igt-dev] [PATCH i-g-t 1/2] lib/i915/mocs: Move mocs library to 'lib' folder Christoph Manszewski
@ 2023-06-09 13:01 ` Christoph Manszewski
2023-06-12 5:28 ` Zbigniew Kempczyński
2023-06-09 17:56 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/2] lib/i915/mocs: Move mocs library to 'lib' folder Patchwork
` (2 subsequent siblings)
3 siblings, 1 reply; 6+ messages in thread
From: Christoph Manszewski @ 2023-06-09 13:01 UTC (permalink / raw)
To: igt-dev
Allow the user to control the setting of surface caching.
Add 'mocs' field to intel_buf structure and update the surface state
fill commands to use introduced filed.
Signed-off-by: Dominik Grzegorzek <dominik.grzegorzek@intel.com>
Signed-off-by: Christoph Manszewski <christoph.manszewski@intel.com>
---
lib/gpu_cmds.c | 19 +++++++++++++++++++
lib/intel_bufops.c | 1 +
lib/intel_bufops.h | 20 ++++++++++++++++++++
3 files changed, 40 insertions(+)
diff --git a/lib/gpu_cmds.c b/lib/gpu_cmds.c
index 1f321ae4..aa4aa34d 100644
--- a/lib/gpu_cmds.c
+++ b/lib/gpu_cmds.c
@@ -23,6 +23,7 @@
*/
#include "gpu_cmds.h"
+#include "intel_mocs.h"
uint32_t
gen7_fill_curbe_buffer_data(struct intel_bb *ibb, uint8_t color)
@@ -135,6 +136,7 @@ gen8_fill_surface_state(struct intel_bb *ibb,
struct gen8_surface_state *ss;
uint32_t write_domain, read_domain, offset;
uint64_t address;
+ enum intel_buf_mocs mocs = intel_buf_get_mocs(buf);
if (is_dst) {
write_domain = read_domain = I915_GEM_DOMAIN_RENDER;
@@ -154,6 +156,11 @@ gen8_fill_surface_state(struct intel_bb *ibb,
ss->ss0.vertical_alignment = 1; /* align 4 */
ss->ss0.horizontal_alignment = 1; /* align 4 */
+ if (mocs == INTEL_BUF_MOCS_UC)
+ ss->ss1.memory_object_control = intel_get_uc_mocs(ibb->fd);
+ else if (mocs == INTEL_BUF_MOCS_WB)
+ ss->ss1.memory_object_control = intel_get_wb_mocs(ibb->fd);
+
if (buf->tiling == I915_TILING_X)
ss->ss0.tiled_mode = 2;
else if (buf->tiling == I915_TILING_Y || buf->tiling == I915_TILING_4)
@@ -190,6 +197,7 @@ gen11_fill_surface_state(struct intel_bb *ibb,
struct gen8_surface_state *ss;
uint32_t write_domain, read_domain, offset;
uint64_t address;
+ enum intel_buf_mocs mocs = intel_buf_get_mocs(buf);
if (is_dst) {
write_domain = read_domain = I915_GEM_DOMAIN_RENDER;
@@ -209,6 +217,11 @@ gen11_fill_surface_state(struct intel_bb *ibb,
ss->ss0.vertical_alignment = vertical_alignment; /* align 4 */
ss->ss0.horizontal_alignment = horizontal_alignment; /* align 4 */
+ if (mocs == INTEL_BUF_MOCS_UC)
+ ss->ss1.memory_object_control = intel_get_uc_mocs(ibb->fd);
+ else if (mocs == INTEL_BUF_MOCS_WB)
+ ss->ss1.memory_object_control = intel_get_wb_mocs(ibb->fd);
+
if (buf->tiling == I915_TILING_X)
ss->ss0.tiled_mode = 2;
else if (buf->tiling == I915_TILING_Y || buf->tiling == I915_TILING_4)
@@ -817,6 +830,7 @@ xehp_fill_surface_state(struct intel_bb *ibb,
struct xehp_surface_state *ss;
uint32_t write_domain, read_domain, offset;
uint64_t address;
+ enum intel_buf_mocs mocs = intel_buf_get_mocs(buf);
if (is_dst) {
write_domain = read_domain = I915_GEM_DOMAIN_RENDER;
@@ -836,6 +850,11 @@ xehp_fill_surface_state(struct intel_bb *ibb,
ss->ss0.vertical_alignment = 1; /* align 4 */
ss->ss0.horizontal_alignment = 1; /* align 4 */
+ if (mocs == INTEL_BUF_MOCS_UC)
+ ss->ss1.memory_object_control = intel_get_uc_mocs(ibb->fd);
+ else if (mocs == INTEL_BUF_MOCS_WB)
+ ss->ss1.memory_object_control = intel_get_wb_mocs(ibb->fd);
+
if (buf->tiling == I915_TILING_X)
ss->ss0.tiled_mode = 2;
else if (buf->tiling == I915_TILING_Y || buf->tiling == I915_TILING_4)
diff --git a/lib/intel_bufops.c b/lib/intel_bufops.c
index 46fd981f..52475793 100644
--- a/lib/intel_bufops.c
+++ b/lib/intel_bufops.c
@@ -837,6 +837,7 @@ static void __intel_buf_init(struct buf_ops *bops,
buf->bops = bops;
buf->addr.offset = INTEL_BUF_INVALID_ADDRESS;
IGT_INIT_LIST_HEAD(&buf->link);
+ buf->mocs = INTEL_BUF_MOCS_DEFAULT;
if (compression) {
igt_require(bops->intel_gen >= 9);
diff --git a/lib/intel_bufops.h b/lib/intel_bufops.h
index 0037548a..4dfe4681 100644
--- a/lib/intel_bufops.h
+++ b/lib/intel_bufops.h
@@ -12,6 +12,12 @@ struct buf_ops;
#define INTEL_BUF_NAME_MAXSIZE 32
#define INVALID_ADDR(x) ((x) == INTEL_BUF_INVALID_ADDRESS)
+enum intel_buf_mocs {
+ INTEL_BUF_MOCS_DEFAULT,
+ INTEL_BUF_MOCS_UC,
+ INTEL_BUF_MOCS_WB,
+};
+
struct intel_buf {
struct buf_ops *bops;
@@ -23,6 +29,7 @@ struct intel_buf {
uint32_t compression;
uint32_t swizzle_mode;
uint32_t yuv_semiplanar_bpp;
+ enum intel_buf_mocs mocs;
bool format_is_yuv;
bool format_is_yuv_semiplanar;
struct {
@@ -212,4 +219,17 @@ const char *intel_buf_set_name(struct intel_buf *buf, const char *name);
void intel_buf_write_to_png(struct intel_buf *buf, const char *filename);
void intel_buf_write_aux_to_png(struct intel_buf *buf, const char *filename);
+static inline enum intel_buf_mocs intel_buf_get_mocs(const struct intel_buf *buf)
+{
+ igt_assert(buf);
+ return buf->mocs;
+}
+
+static inline void intel_buf_set_mocs(struct intel_buf *buf,
+ enum intel_buf_mocs mocs)
+{
+ igt_assert(buf);
+ buf->mocs = mocs;
+}
+
#endif
--
2.40.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/2] lib/i915/mocs: Move mocs library to 'lib' folder
2023-06-09 13:01 [igt-dev] [PATCH i-g-t 1/2] lib/i915/mocs: Move mocs library to 'lib' folder Christoph Manszewski
2023-06-09 13:01 ` [igt-dev] [PATCH i-g-t 2/2] lib/[gpu_cmds|intel_bufops]: Enable surface state mocs setting Christoph Manszewski
@ 2023-06-09 17:56 ` Patchwork
2023-06-11 2:25 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2023-06-12 5:25 ` [igt-dev] [PATCH i-g-t 1/2] " Zbigniew Kempczyński
3 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2023-06-09 17:56 UTC (permalink / raw)
To: Christoph Manszewski; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 5603 bytes --]
== Series Details ==
Series: series starting with [i-g-t,1/2] lib/i915/mocs: Move mocs library to 'lib' folder
URL : https://patchwork.freedesktop.org/series/119139/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_13256 -> IGTPW_9142
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/index.html
Participating hosts (36 -> 35)
------------------------------
Missing (1): fi-pnv-d510
Known issues
------------
Here are the changes found in IGTPW_9142 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_selftest@live@guc:
- bat-rpls-2: [PASS][1] -> [DMESG-WARN][2] ([i915#7852])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/bat-rpls-2/igt@i915_selftest@live@guc.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/bat-rpls-2/igt@i915_selftest@live@guc.html
* igt@i915_selftest@live@workarounds:
- bat-adlp-9: [PASS][3] -> [INCOMPLETE][4] ([i915#4983] / [i915#7677] / [i915#7913])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/bat-adlp-9/igt@i915_selftest@live@workarounds.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/bat-adlp-9/igt@i915_selftest@live@workarounds.html
#### Possible fixes ####
* igt@i915_selftest@live@gem_contexts:
- {bat-mtlp-8}: [ABORT][5] -> [PASS][6]
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/bat-mtlp-8/igt@i915_selftest@live@gem_contexts.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/bat-mtlp-8/igt@i915_selftest@live@gem_contexts.html
* igt@i915_selftest@live@gt_pm:
- bat-rpls-2: [DMESG-FAIL][7] ([i915#4258] / [i915#7913]) -> [PASS][8]
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/bat-rpls-2/igt@i915_selftest@live@gt_pm.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/bat-rpls-2/igt@i915_selftest@live@gt_pm.html
* igt@kms_busy@basic@modeset:
- {bat-adlp-11}: [ABORT][9] ([i915#4423]) -> [PASS][10]
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/bat-adlp-11/igt@kms_busy@basic@modeset.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/bat-adlp-11/igt@kms_busy@basic@modeset.html
* igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-c-dp-1:
- bat-dg2-8: [FAIL][11] ([i915#7932]) -> [PASS][12]
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-c-dp-1.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-c-dp-1.html
* igt@kms_pipe_crc_basic@suspend-read-crc@pipe-c-dp-1:
- fi-cfl-8109u: [ABORT][13] -> [PASS][14]
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/fi-cfl-8109u/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-c-dp-1.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/fi-cfl-8109u/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-c-dp-1.html
#### Warnings ####
* igt@i915_selftest@live@reset:
- bat-rpls-1: [ABORT][15] ([i915#4983] / [i915#7461] / [i915#7981] / [i915#8347] / [i915#8384]) -> [ABORT][16] ([i915#4983] / [i915#7461] / [i915#8347] / [i915#8384])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/bat-rpls-1/igt@i915_selftest@live@reset.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/bat-rpls-1/igt@i915_selftest@live@reset.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
[i915#4093]: https://gitlab.freedesktop.org/drm/intel/issues/4093
[i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
[i915#4229]: https://gitlab.freedesktop.org/drm/intel/issues/4229
[i915#4258]: https://gitlab.freedesktop.org/drm/intel/issues/4258
[i915#4423]: https://gitlab.freedesktop.org/drm/intel/issues/4423
[i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
[i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367
[i915#6645]: https://gitlab.freedesktop.org/drm/intel/issues/6645
[i915#6868]: https://gitlab.freedesktop.org/drm/intel/issues/6868
[i915#7059]: https://gitlab.freedesktop.org/drm/intel/issues/7059
[i915#7461]: https://gitlab.freedesktop.org/drm/intel/issues/7461
[i915#7677]: https://gitlab.freedesktop.org/drm/intel/issues/7677
[i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
[i915#7852]: https://gitlab.freedesktop.org/drm/intel/issues/7852
[i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913
[i915#7932]: https://gitlab.freedesktop.org/drm/intel/issues/7932
[i915#7981]: https://gitlab.freedesktop.org/drm/intel/issues/7981
[i915#8347]: https://gitlab.freedesktop.org/drm/intel/issues/8347
[i915#8384]: https://gitlab.freedesktop.org/drm/intel/issues/8384
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_7322 -> IGTPW_9142
CI-20190529: 20190529
CI_DRM_13256: be85dc2d44c075230eec4366e27bc1fe75ee59ff @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_9142: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/index.html
IGT_7322: 2dd77d6d827a308caae49ce3eba759c2bab394ed @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/index.html
[-- Attachment #2: Type: text/html, Size: 6177 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,1/2] lib/i915/mocs: Move mocs library to 'lib' folder
2023-06-09 13:01 [igt-dev] [PATCH i-g-t 1/2] lib/i915/mocs: Move mocs library to 'lib' folder Christoph Manszewski
2023-06-09 13:01 ` [igt-dev] [PATCH i-g-t 2/2] lib/[gpu_cmds|intel_bufops]: Enable surface state mocs setting Christoph Manszewski
2023-06-09 17:56 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/2] lib/i915/mocs: Move mocs library to 'lib' folder Patchwork
@ 2023-06-11 2:25 ` Patchwork
2023-06-12 5:25 ` [igt-dev] [PATCH i-g-t 1/2] " Zbigniew Kempczyński
3 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2023-06-11 2:25 UTC (permalink / raw)
To: Christoph Manszewski; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 19725 bytes --]
== Series Details ==
Series: series starting with [i-g-t,1/2] lib/i915/mocs: Move mocs library to 'lib' folder
URL : https://patchwork.freedesktop.org/series/119139/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_13256_full -> IGTPW_9142_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/index.html
Participating hosts (7 -> 7)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_9142_full:
### IGT changes ###
#### Suppressed ####
The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.
* igt@gem_exec_whisper@basic-queues-priority-all:
- {shard-tglu}: [PASS][1] -> [DMESG-WARN][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/shard-tglu-8/igt@gem_exec_whisper@basic-queues-priority-all.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/shard-tglu-5/igt@gem_exec_whisper@basic-queues-priority-all.html
Known issues
------------
Here are the changes found in IGTPW_9142_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_ctx_persistence@processes:
- shard-snb: NOTRUN -> [SKIP][3] ([fdo#109271] / [i915#1099]) +1 similar issue
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/shard-snb1/igt@gem_ctx_persistence@processes.html
* igt@gem_exec_fair@basic-pace-share@rcs0:
- shard-apl: [PASS][4] -> [FAIL][5] ([i915#2842])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/shard-apl3/igt@gem_exec_fair@basic-pace-share@rcs0.html
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/shard-apl1/igt@gem_exec_fair@basic-pace-share@rcs0.html
* igt@gem_exec_fair@basic-pace-solo@rcs0:
- shard-glk: NOTRUN -> [FAIL][6] ([i915#2842])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/shard-glk8/igt@gem_exec_fair@basic-pace-solo@rcs0.html
* igt@i915_module_load@load:
- shard-glk: NOTRUN -> [SKIP][7] ([fdo#109271] / [i915#6227])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/shard-glk7/igt@i915_module_load@load.html
* igt@i915_module_load@reload-no-display:
- shard-snb: [PASS][8] -> [ABORT][9] ([i915#4528] / [i915#8393])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/shard-snb4/igt@i915_module_load@reload-no-display.html
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/shard-snb5/igt@i915_module_load@reload-no-display.html
* igt@i915_pipe_stress@stress-xrgb8888-untiled:
- shard-snb: [PASS][10] -> [SKIP][11] ([fdo#109271]) +2 similar issues
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/shard-snb4/igt@i915_pipe_stress@stress-xrgb8888-untiled.html
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/shard-snb5/igt@i915_pipe_stress@stress-xrgb8888-untiled.html
* igt@kms_ccs@pipe-b-bad-rotation-90-y_tiled_gen12_mc_ccs:
- shard-glk: NOTRUN -> [SKIP][12] ([fdo#109271] / [i915#3886])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/shard-glk7/igt@kms_ccs@pipe-b-bad-rotation-90-y_tiled_gen12_mc_ccs.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
- shard-apl: [PASS][13] -> [FAIL][14] ([i915#2346])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/shard-apl2/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/shard-apl2/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible@b-hdmi-a2:
- shard-glk: [PASS][15] -> [FAIL][16] ([i915#79])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/shard-glk6/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-hdmi-a2.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/shard-glk6/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-hdmi-a2.html
* igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-25@pipe-b-vga-1:
- shard-snb: NOTRUN -> [SKIP][17] ([fdo#109271] / [i915#4579]) +20 similar issues
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/shard-snb6/igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-25@pipe-b-vga-1.html
* igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-a-vga-1:
- shard-snb: NOTRUN -> [SKIP][18] ([fdo#109271]) +88 similar issues
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/shard-snb5/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-a-vga-1.html
* igt@kms_plane_scaling@plane-upscale-with-rotation-20x20@pipe-c-hdmi-a-1:
- shard-glk: NOTRUN -> [SKIP][19] ([fdo#109271] / [i915#4579]) +2 similar issues
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/shard-glk4/igt@kms_plane_scaling@plane-upscale-with-rotation-20x20@pipe-c-hdmi-a-1.html
* igt@kms_setmode@basic@pipe-a-hdmi-a-1:
- shard-snb: NOTRUN -> [FAIL][20] ([i915#5465]) +1 similar issue
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/shard-snb1/igt@kms_setmode@basic@pipe-a-hdmi-a-1.html
* igt@kms_vblank@pipe-d-wait-busy-hang:
- shard-glk: NOTRUN -> [SKIP][21] ([fdo#109271]) +37 similar issues
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/shard-glk5/igt@kms_vblank@pipe-d-wait-busy-hang.html
#### Possible fixes ####
* igt@drm_fdinfo@most-busy-idle-check-all@rcs0:
- {shard-rkl}: [FAIL][22] ([i915#7742]) -> [PASS][23]
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/shard-rkl-4/igt@drm_fdinfo@most-busy-idle-check-all@rcs0.html
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/shard-rkl-2/igt@drm_fdinfo@most-busy-idle-check-all@rcs0.html
* igt@gem_exec_fair@basic-none-solo@rcs0:
- shard-apl: [FAIL][24] ([i915#2842]) -> [PASS][25]
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/shard-apl1/igt@gem_exec_fair@basic-none-solo@rcs0.html
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/shard-apl1/igt@gem_exec_fair@basic-none-solo@rcs0.html
* igt@gem_exec_fair@basic-pace-share@rcs0:
- {shard-rkl}: [FAIL][26] ([i915#2842]) -> [PASS][27] +1 similar issue
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/shard-rkl-6/igt@gem_exec_fair@basic-pace-share@rcs0.html
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/shard-rkl-7/igt@gem_exec_fair@basic-pace-share@rcs0.html
* igt@gem_exec_fair@basic-pace@vcs0:
- shard-glk: [FAIL][28] ([i915#2842]) -> [PASS][29] +2 similar issues
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/shard-glk2/igt@gem_exec_fair@basic-pace@vcs0.html
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/shard-glk9/igt@gem_exec_fair@basic-pace@vcs0.html
* igt@gen9_exec_parse@allowed-single:
- shard-glk: [ABORT][30] ([i915#5566]) -> [PASS][31]
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/shard-glk5/igt@gen9_exec_parse@allowed-single.html
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/shard-glk9/igt@gen9_exec_parse@allowed-single.html
* igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a:
- {shard-rkl}: [SKIP][32] ([i915#1937] / [i915#4579]) -> [PASS][33]
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/shard-rkl-3/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a.html
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/shard-rkl-7/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a.html
* igt@i915_pm_rps@reset:
- shard-snb: [INCOMPLETE][34] ([i915#7790]) -> [PASS][35]
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/shard-snb6/igt@i915_pm_rps@reset.html
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/shard-snb6/igt@i915_pm_rps@reset.html
* igt@i915_suspend@basic-s2idle-without-i915:
- {shard-tglu}: [ABORT][36] ([i915#8213]) -> [PASS][37]
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/shard-tglu-2/igt@i915_suspend@basic-s2idle-without-i915.html
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/shard-tglu-4/igt@i915_suspend@basic-s2idle-without-i915.html
* igt@kms_async_flips@alternate-sync-async-flip@pipe-a-vga-1:
- shard-snb: [FAIL][38] ([i915#2521]) -> [PASS][39]
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/shard-snb7/igt@kms_async_flips@alternate-sync-async-flip@pipe-a-vga-1.html
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/shard-snb7/igt@kms_async_flips@alternate-sync-async-flip@pipe-a-vga-1.html
* igt@kms_async_flips@alternate-sync-async-flip@pipe-b-hdmi-a-1:
- shard-glk: [FAIL][40] ([i915#2521]) -> [PASS][41]
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/shard-glk7/igt@kms_async_flips@alternate-sync-async-flip@pipe-b-hdmi-a-1.html
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/shard-glk8/igt@kms_async_flips@alternate-sync-async-flip@pipe-b-hdmi-a-1.html
* igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
- {shard-dg1}: [FAIL][42] ([i915#3743]) -> [PASS][43]
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/shard-dg1-19/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/shard-dg1-16/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
- shard-glk: [FAIL][44] ([i915#2346]) -> [PASS][45]
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/shard-glk1/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/shard-glk6/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
* igt@kms_cursor_legacy@forked-bo@pipe-b:
- {shard-rkl}: [INCOMPLETE][46] ([i915#8011]) -> [PASS][47]
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/shard-rkl-7/igt@kms_cursor_legacy@forked-bo@pipe-b.html
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/shard-rkl-4/igt@kms_cursor_legacy@forked-bo@pipe-b.html
* igt@perf_pmu@busy-double-start@vecs0:
- {shard-dg1}: [FAIL][48] ([i915#4349]) -> [PASS][49] +1 similar issue
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/shard-dg1-13/igt@perf_pmu@busy-double-start@vecs0.html
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/shard-dg1-14/igt@perf_pmu@busy-double-start@vecs0.html
* igt@perf_pmu@busy-idle-check-all@vecs0:
- {shard-dg1}: [FAIL][50] ([i915#4521]) -> [PASS][51] +2 similar issues
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/shard-dg1-17/igt@perf_pmu@busy-idle-check-all@vecs0.html
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/shard-dg1-18/igt@perf_pmu@busy-idle-check-all@vecs0.html
* igt@perf_pmu@most-busy-idle-check-all@rcs0:
- {shard-dg1}: [FAIL][52] ([i915#5234]) -> [PASS][53]
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/shard-dg1-15/igt@perf_pmu@most-busy-idle-check-all@rcs0.html
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/shard-dg1-12/igt@perf_pmu@most-busy-idle-check-all@rcs0.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#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
[fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
[fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
[fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
[fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
[fdo#109303]: https://bugs.freedesktop.org/show_bug.cgi?id=109303
[fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
[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#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
[i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
[i915#1099]: https://gitlab.freedesktop.org/drm/intel/issues/1099
[i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
[i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
[i915#1937]: https://gitlab.freedesktop.org/drm/intel/issues/1937
[i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
[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#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
[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#280]: https://gitlab.freedesktop.org/drm/intel/issues/280
[i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
[i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856
[i915#3023]: https://gitlab.freedesktop.org/drm/intel/issues/3023
[i915#3116]: https://gitlab.freedesktop.org/drm/intel/issues/3116
[i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
[i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
[i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
[i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299
[i915#3318]: https://gitlab.freedesktop.org/drm/intel/issues/3318
[i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
[i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[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#3743]: https://gitlab.freedesktop.org/drm/intel/issues/3743
[i915#3825]: https://gitlab.freedesktop.org/drm/intel/issues/3825
[i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
[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#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
[i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
[i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
[i915#4281]: https://gitlab.freedesktop.org/drm/intel/issues/4281
[i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349
[i915#4391]: https://gitlab.freedesktop.org/drm/intel/issues/4391
[i915#4521]: https://gitlab.freedesktop.org/drm/intel/issues/4521
[i915#4528]: https://gitlab.freedesktop.org/drm/intel/issues/4528
[i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
[i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833
[i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
[i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
[i915#5234]: https://gitlab.freedesktop.org/drm/intel/issues/5234
[i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
[i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
[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#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
[i915#5465]: https://gitlab.freedesktop.org/drm/intel/issues/5465
[i915#5493]: https://gitlab.freedesktop.org/drm/intel/issues/5493
[i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566
[i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784
[i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
[i915#6117]: https://gitlab.freedesktop.org/drm/intel/issues/6117
[i915#6227]: https://gitlab.freedesktop.org/drm/intel/issues/6227
[i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268
[i915#6344]: https://gitlab.freedesktop.org/drm/intel/issues/6344
[i915#6412]: https://gitlab.freedesktop.org/drm/intel/issues/6412
[i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
[i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768
[i915#7456]: https://gitlab.freedesktop.org/drm/intel/issues/7456
[i915#7461]: https://gitlab.freedesktop.org/drm/intel/issues/7461
[i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
[i915#7582]: https://gitlab.freedesktop.org/drm/intel/issues/7582
[i915#7697]: https://gitlab.freedesktop.org/drm/intel/issues/7697
[i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711
[i915#7742]: https://gitlab.freedesktop.org/drm/intel/issues/7742
[i915#7790]: https://gitlab.freedesktop.org/drm/intel/issues/7790
[i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
[i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
[i915#7975]: https://gitlab.freedesktop.org/drm/intel/issues/7975
[i915#8011]: https://gitlab.freedesktop.org/drm/intel/issues/8011
[i915#8174]: https://gitlab.freedesktop.org/drm/intel/issues/8174
[i915#8213]: https://gitlab.freedesktop.org/drm/intel/issues/8213
[i915#8311]: https://gitlab.freedesktop.org/drm/intel/issues/8311
[i915#8393]: https://gitlab.freedesktop.org/drm/intel/issues/8393
[i915#8398]: https://gitlab.freedesktop.org/drm/intel/issues/8398
[i915#8414]: https://gitlab.freedesktop.org/drm/intel/issues/8414
[i915#8502]: https://gitlab.freedesktop.org/drm/intel/issues/8502
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_7322 -> IGTPW_9142
* Piglit: piglit_4509 -> None
CI-20190529: 20190529
CI_DRM_13256: be85dc2d44c075230eec4366e27bc1fe75ee59ff @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_9142: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9142/index.html
IGT_7322: 2dd77d6d827a308caae49ce3eba759c2bab394ed @ 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_9142/index.html
[-- Attachment #2: Type: text/html, Size: 16284 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 1/2] lib/i915/mocs: Move mocs library to 'lib' folder
2023-06-09 13:01 [igt-dev] [PATCH i-g-t 1/2] lib/i915/mocs: Move mocs library to 'lib' folder Christoph Manszewski
` (2 preceding siblings ...)
2023-06-11 2:25 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
@ 2023-06-12 5:25 ` Zbigniew Kempczyński
3 siblings, 0 replies; 6+ messages in thread
From: Zbigniew Kempczyński @ 2023-06-12 5:25 UTC (permalink / raw)
To: Christoph Manszewski; +Cc: igt-dev
On Fri, Jun 09, 2023 at 03:01:27PM +0200, Christoph Manszewski wrote:
> Since mocs are driver agnostic and are currently used in driver agnostic
> code, move them to the 'lib' folder and get rid of i915 references.
>
> Signed-off-by: Christoph Manszewski <christoph.manszewski@intel.com>
Ok, we can reuse the code:
Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
--
Zbigniew
> ---
> lib/igt_draw.c | 2 +-
> lib/{i915 => }/intel_mocs.c | 9 ++++-----
> lib/{i915 => }/intel_mocs.h | 0
> lib/meson.build | 2 +-
> tests/i915/gem_ccs.c | 2 +-
> tests/i915/gem_exercise_blt.c | 2 +-
> tests/i915/gem_lmem_swapping.c | 2 +-
> 7 files changed, 9 insertions(+), 10 deletions(-)
> rename lib/{i915 => }/intel_mocs.c (89%)
> rename lib/{i915 => }/intel_mocs.h (100%)
>
> diff --git a/lib/igt_draw.c b/lib/igt_draw.c
> index a5c0cbbf..6f362994 100644
> --- a/lib/igt_draw.c
> +++ b/lib/igt_draw.c
> @@ -30,13 +30,13 @@
> #include "intel_bufops.h"
> #include "intel_batchbuffer.h"
> #include "intel_chipset.h"
> +#include "intel_mocs.h"
> #include "igt_core.h"
> #include "igt_fb.h"
> #include "ioctl_wrappers.h"
> #include "i830_reg.h"
> #include "i915/gem_create.h"
> #include "i915/gem_mman.h"
> -#include "i915/intel_mocs.h"
> #include "xe/xe_ioctl.h"
> #include "xe/xe_query.h"
>
> diff --git a/lib/i915/intel_mocs.c b/lib/intel_mocs.c
> similarity index 89%
> rename from lib/i915/intel_mocs.c
> rename to lib/intel_mocs.c
> index 95f0fbde..cf3b8e4f 100644
> --- a/lib/i915/intel_mocs.c
> +++ b/lib/intel_mocs.c
> @@ -4,7 +4,6 @@
> */
>
> #include "igt.h"
> -#include "i915/gem.h"
> #include "intel_mocs.h"
>
> #define DG1_MOCS_UC_IDX 1
> @@ -18,12 +17,12 @@
> #define XY_BLOCK_COPY_BLT_MOCS_SHIFT 21
> #define XY_CTRL_SURF_COPY_BLT_MOCS_SHIFT 25
>
> -struct drm_i915_mocs_index {
> +struct drm_intel_mocs_index {
> uint8_t uc_index;
> uint8_t wb_index;
> };
>
> -static void get_mocs_index(int fd, struct drm_i915_mocs_index *mocs)
> +static void get_mocs_index(int fd, struct drm_intel_mocs_index *mocs)
> {
> uint16_t devid = intel_get_drm_devid(fd);
>
> @@ -58,7 +57,7 @@ static void get_mocs_index(int fd, struct drm_i915_mocs_index *mocs)
>
> uint8_t intel_get_wb_mocs(int fd)
> {
> - struct drm_i915_mocs_index mocs;
> + struct drm_intel_mocs_index mocs;
>
> get_mocs_index(fd, &mocs);
> return mocs.wb_index << 1;
> @@ -66,7 +65,7 @@ uint8_t intel_get_wb_mocs(int fd)
>
> uint8_t intel_get_uc_mocs(int fd)
> {
> - struct drm_i915_mocs_index mocs;
> + struct drm_intel_mocs_index mocs;
>
> get_mocs_index(fd, &mocs);
> return mocs.uc_index << 1;
> diff --git a/lib/i915/intel_mocs.h b/lib/intel_mocs.h
> similarity index 100%
> rename from lib/i915/intel_mocs.h
> rename to lib/intel_mocs.h
> diff --git a/lib/meson.build b/lib/meson.build
> index 55efdc83..ad5d999d 100644
> --- a/lib/meson.build
> +++ b/lib/meson.build
> @@ -13,7 +13,6 @@ lib_sources = [
> 'i915/gem_vm.c',
> 'i915/intel_decode.c',
> 'i915/intel_memory_region.c',
> - 'i915/intel_mocs.c',
> 'i915/intel_cmds_info.c',
> 'i915/i915_blt.c',
> 'i915/i915_crc.c',
> @@ -60,6 +59,7 @@ lib_sources = [
> 'intel_ctx.c',
> 'intel_device_info.c',
> 'intel_mmio.c',
> + 'intel_mocs.c',
> 'ioctl_wrappers.c',
> 'media_spin.c',
> 'media_fill.c',
> diff --git a/tests/i915/gem_ccs.c b/tests/i915/gem_ccs.c
> index ff6504b3..d38ab49a 100644
> --- a/tests/i915/gem_ccs.c
> +++ b/tests/i915/gem_ccs.c
> @@ -14,7 +14,7 @@
> #include "i915/gem_create.h"
> #include "lib/intel_chipset.h"
> #include "i915/i915_blt.h"
> -#include "i915/intel_mocs.h"
> +#include "intel_mocs.h"
> /**
> * TEST: gem ccs
> * Description: Exercise gen12 blitter with and without flatccs compression
> diff --git a/tests/i915/gem_exercise_blt.c b/tests/i915/gem_exercise_blt.c
> index 3287ced7..89f89d21 100644
> --- a/tests/i915/gem_exercise_blt.c
> +++ b/tests/i915/gem_exercise_blt.c
> @@ -9,7 +9,7 @@
> #include "i915/gem_create.h"
> #include "lib/intel_chipset.h"
> #include "i915/i915_blt.h"
> -#include "i915/intel_mocs.h"
> +#include "intel_mocs.h"
> /**
> * TEST: gem exercise blt
> * Description: Exercise blitter commands
> diff --git a/tests/i915/gem_lmem_swapping.c b/tests/i915/gem_lmem_swapping.c
> index 6f1340ba..8211edbe 100644
> --- a/tests/i915/gem_lmem_swapping.c
> +++ b/tests/i915/gem_lmem_swapping.c
> @@ -23,7 +23,7 @@
> #include <sys/wait.h>
> #include "drm.h"
> #include "i915/i915_blt.h"
> -#include "i915/intel_mocs.h"
> +#include "intel_mocs.h"
> /**
> * TEST: gem lmem swapping
> * Description: Exercise local memory swapping.
> --
> 2.40.1
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 2/2] lib/[gpu_cmds|intel_bufops]: Enable surface state mocs setting.
2023-06-09 13:01 ` [igt-dev] [PATCH i-g-t 2/2] lib/[gpu_cmds|intel_bufops]: Enable surface state mocs setting Christoph Manszewski
@ 2023-06-12 5:28 ` Zbigniew Kempczyński
0 siblings, 0 replies; 6+ messages in thread
From: Zbigniew Kempczyński @ 2023-06-12 5:28 UTC (permalink / raw)
To: Christoph Manszewski; +Cc: igt-dev
On Fri, Jun 09, 2023 at 03:01:28PM +0200, Christoph Manszewski wrote:
> Allow the user to control the setting of surface caching.
> Add 'mocs' field to intel_buf structure and update the surface state
> fill commands to use introduced filed.
>
> Signed-off-by: Dominik Grzegorzek <dominik.grzegorzek@intel.com>
> Signed-off-by: Christoph Manszewski <christoph.manszewski@intel.com>
> ---
> lib/gpu_cmds.c | 19 +++++++++++++++++++
> lib/intel_bufops.c | 1 +
> lib/intel_bufops.h | 20 ++++++++++++++++++++
> 3 files changed, 40 insertions(+)
>
> diff --git a/lib/gpu_cmds.c b/lib/gpu_cmds.c
> index 1f321ae4..aa4aa34d 100644
> --- a/lib/gpu_cmds.c
> +++ b/lib/gpu_cmds.c
> @@ -23,6 +23,7 @@
> */
>
> #include "gpu_cmds.h"
> +#include "intel_mocs.h"
>
> uint32_t
> gen7_fill_curbe_buffer_data(struct intel_bb *ibb, uint8_t color)
> @@ -135,6 +136,7 @@ gen8_fill_surface_state(struct intel_bb *ibb,
> struct gen8_surface_state *ss;
> uint32_t write_domain, read_domain, offset;
> uint64_t address;
> + enum intel_buf_mocs mocs = intel_buf_get_mocs(buf);
>
> if (is_dst) {
> write_domain = read_domain = I915_GEM_DOMAIN_RENDER;
> @@ -154,6 +156,11 @@ gen8_fill_surface_state(struct intel_bb *ibb,
> ss->ss0.vertical_alignment = 1; /* align 4 */
> ss->ss0.horizontal_alignment = 1; /* align 4 */
>
> + if (mocs == INTEL_BUF_MOCS_UC)
> + ss->ss1.memory_object_control = intel_get_uc_mocs(ibb->fd);
> + else if (mocs == INTEL_BUF_MOCS_WB)
> + ss->ss1.memory_object_control = intel_get_wb_mocs(ibb->fd);
> +
At the moment this if/else if is a dead code (similar in the functions below)
because you're setting
+ buf->mocs = INTEL_BUF_MOCS_DEFAULT;
and there're no usage of intel_buf_set_mocs() helper.
Is this intentional and preparation for next patches? If yes:
Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
--
Zbigniew
> if (buf->tiling == I915_TILING_X)
> ss->ss0.tiled_mode = 2;
> else if (buf->tiling == I915_TILING_Y || buf->tiling == I915_TILING_4)
> @@ -190,6 +197,7 @@ gen11_fill_surface_state(struct intel_bb *ibb,
> struct gen8_surface_state *ss;
> uint32_t write_domain, read_domain, offset;
> uint64_t address;
> + enum intel_buf_mocs mocs = intel_buf_get_mocs(buf);
>
> if (is_dst) {
> write_domain = read_domain = I915_GEM_DOMAIN_RENDER;
> @@ -209,6 +217,11 @@ gen11_fill_surface_state(struct intel_bb *ibb,
> ss->ss0.vertical_alignment = vertical_alignment; /* align 4 */
> ss->ss0.horizontal_alignment = horizontal_alignment; /* align 4 */
>
> + if (mocs == INTEL_BUF_MOCS_UC)
> + ss->ss1.memory_object_control = intel_get_uc_mocs(ibb->fd);
> + else if (mocs == INTEL_BUF_MOCS_WB)
> + ss->ss1.memory_object_control = intel_get_wb_mocs(ibb->fd);
> +
> if (buf->tiling == I915_TILING_X)
> ss->ss0.tiled_mode = 2;
> else if (buf->tiling == I915_TILING_Y || buf->tiling == I915_TILING_4)
> @@ -817,6 +830,7 @@ xehp_fill_surface_state(struct intel_bb *ibb,
> struct xehp_surface_state *ss;
> uint32_t write_domain, read_domain, offset;
> uint64_t address;
> + enum intel_buf_mocs mocs = intel_buf_get_mocs(buf);
>
> if (is_dst) {
> write_domain = read_domain = I915_GEM_DOMAIN_RENDER;
> @@ -836,6 +850,11 @@ xehp_fill_surface_state(struct intel_bb *ibb,
> ss->ss0.vertical_alignment = 1; /* align 4 */
> ss->ss0.horizontal_alignment = 1; /* align 4 */
>
> + if (mocs == INTEL_BUF_MOCS_UC)
> + ss->ss1.memory_object_control = intel_get_uc_mocs(ibb->fd);
> + else if (mocs == INTEL_BUF_MOCS_WB)
> + ss->ss1.memory_object_control = intel_get_wb_mocs(ibb->fd);
> +
> if (buf->tiling == I915_TILING_X)
> ss->ss0.tiled_mode = 2;
> else if (buf->tiling == I915_TILING_Y || buf->tiling == I915_TILING_4)
> diff --git a/lib/intel_bufops.c b/lib/intel_bufops.c
> index 46fd981f..52475793 100644
> --- a/lib/intel_bufops.c
> +++ b/lib/intel_bufops.c
> @@ -837,6 +837,7 @@ static void __intel_buf_init(struct buf_ops *bops,
> buf->bops = bops;
> buf->addr.offset = INTEL_BUF_INVALID_ADDRESS;
> IGT_INIT_LIST_HEAD(&buf->link);
> + buf->mocs = INTEL_BUF_MOCS_DEFAULT;
>
> if (compression) {
> igt_require(bops->intel_gen >= 9);
> diff --git a/lib/intel_bufops.h b/lib/intel_bufops.h
> index 0037548a..4dfe4681 100644
> --- a/lib/intel_bufops.h
> +++ b/lib/intel_bufops.h
> @@ -12,6 +12,12 @@ struct buf_ops;
> #define INTEL_BUF_NAME_MAXSIZE 32
> #define INVALID_ADDR(x) ((x) == INTEL_BUF_INVALID_ADDRESS)
>
> +enum intel_buf_mocs {
> + INTEL_BUF_MOCS_DEFAULT,
> + INTEL_BUF_MOCS_UC,
> + INTEL_BUF_MOCS_WB,
> +};
> +
> struct intel_buf {
> struct buf_ops *bops;
>
> @@ -23,6 +29,7 @@ struct intel_buf {
> uint32_t compression;
> uint32_t swizzle_mode;
> uint32_t yuv_semiplanar_bpp;
> + enum intel_buf_mocs mocs;
> bool format_is_yuv;
> bool format_is_yuv_semiplanar;
> struct {
> @@ -212,4 +219,17 @@ const char *intel_buf_set_name(struct intel_buf *buf, const char *name);
> void intel_buf_write_to_png(struct intel_buf *buf, const char *filename);
> void intel_buf_write_aux_to_png(struct intel_buf *buf, const char *filename);
>
> +static inline enum intel_buf_mocs intel_buf_get_mocs(const struct intel_buf *buf)
> +{
> + igt_assert(buf);
> + return buf->mocs;
> +}
> +
> +static inline void intel_buf_set_mocs(struct intel_buf *buf,
> + enum intel_buf_mocs mocs)
> +{
> + igt_assert(buf);
> + buf->mocs = mocs;
> +}
> +
> #endif
> --
> 2.40.1
>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-06-12 5:28 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-09 13:01 [igt-dev] [PATCH i-g-t 1/2] lib/i915/mocs: Move mocs library to 'lib' folder Christoph Manszewski
2023-06-09 13:01 ` [igt-dev] [PATCH i-g-t 2/2] lib/[gpu_cmds|intel_bufops]: Enable surface state mocs setting Christoph Manszewski
2023-06-12 5:28 ` Zbigniew Kempczyński
2023-06-09 17:56 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/2] lib/i915/mocs: Move mocs library to 'lib' folder Patchwork
2023-06-11 2:25 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2023-06-12 5:25 ` [igt-dev] [PATCH i-g-t 1/2] " Zbigniew Kempczyński
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.