* [PATCH] drm/i915/Gen9+: optional IPC enablement
@ 2016-04-02 0:44 Dongwon Kim
2016-04-02 1:16 ` kbuild test robot
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Dongwon Kim @ 2016-04-02 0:44 UTC (permalink / raw)
To: intel-gfx, imre.deak, matthew.d.roper; +Cc: Dongwon Kim
With IPC(Isochronous Priority Control) enabled,
display sends requests based on the priority of each
request. To enable it, a i915 param, i915.enable_ipc
should be set to 1.
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
---
drivers/gpu/drm/i915/i915_params.c | 5 +++++
drivers/gpu/drm/i915/i915_params.h | 1 +
drivers/gpu/drm/i915/i915_reg.h | 1 +
drivers/gpu/drm/i915/intel_pm.c | 5 +++++
4 files changed, 12 insertions(+)
diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
index 1779f02..611a83b 100644
--- a/drivers/gpu/drm/i915/i915_params.c
+++ b/drivers/gpu/drm/i915/i915_params.c
@@ -58,6 +58,7 @@ struct i915_params i915 __read_mostly = {
.guc_log_level = -1,
.enable_dp_mst = true,
.inject_load_failure = 0,
+ .enable_ipc = 0,
};
module_param_named(modeset, i915.modeset, int, 0400);
@@ -210,3 +211,7 @@ MODULE_PARM_DESC(enable_dp_mst,
module_param_named_unsafe(inject_load_failure, i915.inject_load_failure, uint, 0400);
MODULE_PARM_DESC(inject_load_failure,
"Force an error after a number of failure check points (0:disabled (default), N:force failure at the Nth failure check point)");
+
+module_param_named_unsafe(enable_ipc, i915.enable_ipc, int, 0400);
+MODULE_PARM_DESC(enable_ipc,
+ "Enable Isochronous Priority Control (1=enabled, 0=disabled [default]");
diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h
index 02bc278..3b3fa1b 100644
--- a/drivers/gpu/drm/i915/i915_params.h
+++ b/drivers/gpu/drm/i915/i915_params.h
@@ -61,6 +61,7 @@ struct i915_params {
bool verbose_state_checks;
bool nuclear_pageflip;
bool enable_dp_mst;
+ bool enable_ipc;
};
extern struct i915_params i915 __read_mostly;
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 12f5103..0b638c5 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -5995,6 +5995,7 @@ enum skl_disp_power_wells {
#define DISP_FBC_WM_DIS (1<<15)
#define DISP_ARB_CTL2 _MMIO(0x45004)
#define DISP_DATA_PARTITION_5_6 (1<<6)
+#define DISP_ENABLE_IPC (1<<3)
#define DBUF_CTL _MMIO(0x45008)
#define DBUF_POWER_REQUEST (1<<31)
#define DBUF_POWER_STATE (1<<30)
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 9bc9c25..9c696c0 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -3682,6 +3682,11 @@ static void skl_update_wm(struct drm_crtc *crtc)
skl_write_wm_values(dev_priv, results);
skl_flush_wm_values(dev_priv, results);
+ /* optional IPC enablement */
+ if (i915.enable_ipc)
+ I915_WRITE(DISP_ARB_CTL2,
+ I915_READ(DISP_ARB_CTL2) | DISP_ENABLE_IPC);
+
/* store the new configuration */
dev_priv->wm.skl_hw = *results;
}
--
1.9.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] drm/i915/Gen9+: optional IPC enablement
2016-04-02 0:44 [PATCH] drm/i915/Gen9+: optional IPC enablement Dongwon Kim
@ 2016-04-02 1:16 ` kbuild test robot
2016-04-02 7:58 ` ✗ Fi.CI.BAT: failure for " Patchwork
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: kbuild test robot @ 2016-04-02 1:16 UTC (permalink / raw)
Cc: intel-gfx, kbuild-all, Dongwon Kim
[-- Attachment #1: Type: text/plain, Size: 3089 bytes --]
Hi Dongwon,
[auto build test WARNING on drm-intel/for-linux-next]
[also build test WARNING on next-20160401]
[cannot apply to v4.6-rc1]
[if your patch is applied to the wrong git tree, please drop us a note to help improving the system]
url: https://github.com/0day-ci/linux/commits/Dongwon-Kim/drm-i915-Gen9-optional-IPC-enablement/20160402-084819
base: git://anongit.freedesktop.org/drm-intel for-linux-next
config: i386-randconfig-s1-201613 (attached as .config)
reproduce:
# save the attached .config to linux build tree
make ARCH=i386
All warnings (new ones prefixed by >>):
In file included from include/linux/module.h:18:0,
from include/drm/drm_vma_manager.h:29,
from include/drm/drmP.h:75,
from drivers/gpu/drm/i915/i915_drv.h:36,
from drivers/gpu/drm/i915/i915_params.c:26:
drivers/gpu/drm/i915/i915_params.c: In function '__check_enable_ipc':
include/linux/moduleparam.h:344:67: warning: return from incompatible pointer type [-Wincompatible-pointer-types]
static inline type __always_unused *__check_##name(void) { return(p); }
^
include/linux/moduleparam.h:364:34: note: in expansion of macro '__param_check'
#define param_check_int(name, p) __param_check(name, p, int)
^
include/linux/moduleparam.h:154:2: note: in expansion of macro 'param_check_int'
param_check_##type(name, &(value)); \
^
>> drivers/gpu/drm/i915/i915_params.c:215:1: note: in expansion of macro 'module_param_named_unsafe'
module_param_named_unsafe(enable_ipc, i915.enable_ipc, int, 0400);
^
vim +/module_param_named_unsafe +215 drivers/gpu/drm/i915/i915_params.c
199 "2=default swing(400mV))");
200
201 module_param_named_unsafe(enable_guc_submission, i915.enable_guc_submission, bool, 0400);
202 MODULE_PARM_DESC(enable_guc_submission, "Enable GuC submission (default:false)");
203
204 module_param_named(guc_log_level, i915.guc_log_level, int, 0400);
205 MODULE_PARM_DESC(guc_log_level,
206 "GuC firmware logging level (-1:disabled (default), 0-3:enabled)");
207
208 module_param_named_unsafe(enable_dp_mst, i915.enable_dp_mst, bool, 0600);
209 MODULE_PARM_DESC(enable_dp_mst,
210 "Enable multi-stream transport (MST) for new DisplayPort sinks. (default: true)");
211 module_param_named_unsafe(inject_load_failure, i915.inject_load_failure, uint, 0400);
212 MODULE_PARM_DESC(inject_load_failure,
213 "Force an error after a number of failure check points (0:disabled (default), N:force failure at the Nth failure check point)");
214
> 215 module_param_named_unsafe(enable_ipc, i915.enable_ipc, int, 0400);
216 MODULE_PARM_DESC(enable_ipc,
217 "Enable Isochronous Priority Control (1=enabled, 0=disabled [default]");
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/octet-stream, Size: 27155 bytes --]
[-- Attachment #3: Type: text/plain, Size: 160 bytes --]
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 5+ messages in thread
* ✗ Fi.CI.BAT: failure for drm/i915/Gen9+: optional IPC enablement
2016-04-02 0:44 [PATCH] drm/i915/Gen9+: optional IPC enablement Dongwon Kim
2016-04-02 1:16 ` kbuild test robot
@ 2016-04-02 7:58 ` Patchwork
2016-04-04 17:57 ` [PATCH v2] " Dongwon Kim
2016-04-05 7:26 ` ✓ Fi.CI.BAT: success for drm/i915/Gen9+: optional IPC enablement (rev2) Patchwork
3 siblings, 0 replies; 5+ messages in thread
From: Patchwork @ 2016-04-02 7:58 UTC (permalink / raw)
To: Dongwon Kim; +Cc: intel-gfx
== Series Details ==
Series: drm/i915/Gen9+: optional IPC enablement
URL : https://patchwork.freedesktop.org/series/5203/
State : failure
== Summary ==
Series 5203v1 drm/i915/Gen9+: optional IPC enablement
http://patchwork.freedesktop.org/api/1.0/series/5203/revisions/1/mbox/
Test gem_exec_suspend:
Subgroup basic-s3:
incomplete -> PASS (hsw-gt2)
Test kms_flip:
Subgroup basic-flip-vs-wf_vblank:
fail -> PASS (snb-x220t)
pass -> FAIL (hsw-gt2)
fail -> PASS (ilk-hp8440p) UNSTABLE
bdw-nuci7 total:196 pass:184 dwarn:0 dfail:0 fail:0 skip:12
bdw-ultra total:196 pass:175 dwarn:0 dfail:0 fail:0 skip:21
bsw-nuc-2 total:196 pass:159 dwarn:0 dfail:0 fail:0 skip:37
byt-nuc total:196 pass:161 dwarn:0 dfail:0 fail:0 skip:35
hsw-brixbox total:196 pass:174 dwarn:0 dfail:0 fail:0 skip:22
hsw-gt2 total:196 pass:178 dwarn:0 dfail:0 fail:1 skip:17
ilk-hp8440p total:196 pass:132 dwarn:0 dfail:0 fail:0 skip:64
ivb-t430s total:196 pass:171 dwarn:0 dfail:0 fail:0 skip:25
snb-dellxps total:196 pass:162 dwarn:0 dfail:0 fail:0 skip:34
snb-x220t total:196 pass:162 dwarn:0 dfail:0 fail:1 skip:33
Results at /archive/results/CI_IGT_test/Patchwork_1781/
ce3f49e2a53a54308ed171613c2567f04fab8228 drm-intel-nightly: 2016y-04m-01d-20h-30m-13s UTC integration manifest
0353316f2b0e289deacb20fae0643b827b9123e4 drm/i915/Gen9+: optional IPC enablement
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v2] drm/i915/Gen9+: optional IPC enablement
2016-04-02 0:44 [PATCH] drm/i915/Gen9+: optional IPC enablement Dongwon Kim
2016-04-02 1:16 ` kbuild test robot
2016-04-02 7:58 ` ✗ Fi.CI.BAT: failure for " Patchwork
@ 2016-04-04 17:57 ` Dongwon Kim
2016-04-05 7:26 ` ✓ Fi.CI.BAT: success for drm/i915/Gen9+: optional IPC enablement (rev2) Patchwork
3 siblings, 0 replies; 5+ messages in thread
From: Dongwon Kim @ 2016-04-04 17:57 UTC (permalink / raw)
To: intel-gfx, imre.deak, matthew.d.roper; +Cc: Dongwon Kim
With IPC(Isochronous Priority Control) enabled,
display sends requests based on the priority of each
request. To enable it, a i915 param, i915.enable_ipc
should be set to 1.
v2: corrected matched type of enable_ipc in
module_param_named_unsafe macro
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
---
drivers/gpu/drm/i915/i915_params.c | 5 +++++
drivers/gpu/drm/i915/i915_params.h | 1 +
drivers/gpu/drm/i915/i915_reg.h | 1 +
drivers/gpu/drm/i915/intel_pm.c | 5 +++++
4 files changed, 12 insertions(+)
diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
index 1779f02..4d5ac80 100644
--- a/drivers/gpu/drm/i915/i915_params.c
+++ b/drivers/gpu/drm/i915/i915_params.c
@@ -58,6 +58,7 @@ struct i915_params i915 __read_mostly = {
.guc_log_level = -1,
.enable_dp_mst = true,
.inject_load_failure = 0,
+ .enable_ipc = 0,
};
module_param_named(modeset, i915.modeset, int, 0400);
@@ -210,3 +211,7 @@ MODULE_PARM_DESC(enable_dp_mst,
module_param_named_unsafe(inject_load_failure, i915.inject_load_failure, uint, 0400);
MODULE_PARM_DESC(inject_load_failure,
"Force an error after a number of failure check points (0:disabled (default), N:force failure at the Nth failure check point)");
+
+module_param_named_unsafe(enable_ipc, i915.enable_ipc, bool, 0400);
+MODULE_PARM_DESC(enable_ipc,
+ "Enable Isochronous Priority Control (1=enabled, 0=disabled [default]");
diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h
index 02bc278..3b3fa1b 100644
--- a/drivers/gpu/drm/i915/i915_params.h
+++ b/drivers/gpu/drm/i915/i915_params.h
@@ -61,6 +61,7 @@ struct i915_params {
bool verbose_state_checks;
bool nuclear_pageflip;
bool enable_dp_mst;
+ bool enable_ipc;
};
extern struct i915_params i915 __read_mostly;
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 12f5103..0b638c5 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -5995,6 +5995,7 @@ enum skl_disp_power_wells {
#define DISP_FBC_WM_DIS (1<<15)
#define DISP_ARB_CTL2 _MMIO(0x45004)
#define DISP_DATA_PARTITION_5_6 (1<<6)
+#define DISP_ENABLE_IPC (1<<3)
#define DBUF_CTL _MMIO(0x45008)
#define DBUF_POWER_REQUEST (1<<31)
#define DBUF_POWER_STATE (1<<30)
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 9bc9c25..9c696c0 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -3682,6 +3682,11 @@ static void skl_update_wm(struct drm_crtc *crtc)
skl_write_wm_values(dev_priv, results);
skl_flush_wm_values(dev_priv, results);
+ /* optional IPC enablement */
+ if (i915.enable_ipc)
+ I915_WRITE(DISP_ARB_CTL2,
+ I915_READ(DISP_ARB_CTL2) | DISP_ENABLE_IPC);
+
/* store the new configuration */
dev_priv->wm.skl_hw = *results;
}
--
1.9.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 5+ messages in thread
* ✓ Fi.CI.BAT: success for drm/i915/Gen9+: optional IPC enablement (rev2)
2016-04-02 0:44 [PATCH] drm/i915/Gen9+: optional IPC enablement Dongwon Kim
` (2 preceding siblings ...)
2016-04-04 17:57 ` [PATCH v2] " Dongwon Kim
@ 2016-04-05 7:26 ` Patchwork
3 siblings, 0 replies; 5+ messages in thread
From: Patchwork @ 2016-04-05 7:26 UTC (permalink / raw)
To: Dongwon Kim; +Cc: intel-gfx
== Series Details ==
Series: drm/i915/Gen9+: optional IPC enablement (rev2)
URL : https://patchwork.freedesktop.org/series/5203/
State : success
== Summary ==
Series 5203v2 drm/i915/Gen9+: optional IPC enablement
http://patchwork.freedesktop.org/api/1.0/series/5203/revisions/2/mbox/
Test kms_force_connector_basic:
Subgroup prune-stale-modes:
skip -> PASS (ilk-hp8440p)
bdw-nuci7 total:196 pass:184 dwarn:0 dfail:0 fail:0 skip:12
bdw-ultra total:196 pass:175 dwarn:0 dfail:0 fail:0 skip:21
bsw-nuc-2 total:196 pass:159 dwarn:0 dfail:0 fail:0 skip:37
byt-nuc total:196 pass:161 dwarn:0 dfail:0 fail:0 skip:35
hsw-brixbox total:196 pass:174 dwarn:0 dfail:0 fail:0 skip:22
hsw-gt2 total:16 pass:14 dwarn:0 dfail:0 fail:0 skip:1
ilk-hp8440p total:196 pass:132 dwarn:0 dfail:0 fail:0 skip:64
ivb-t430s total:196 pass:171 dwarn:0 dfail:0 fail:0 skip:25
skl-i7k-2 total:196 pass:173 dwarn:0 dfail:0 fail:0 skip:23
snb-dellxps total:196 pass:162 dwarn:0 dfail:0 fail:0 skip:34
snb-x220t total:196 pass:162 dwarn:0 dfail:0 fail:1 skip:33
Results at /archive/results/CI_IGT_test/Patchwork_1795/
aedfaaef290af9c8df7d9f4adf22cbe21704d091 drm-intel-nightly: 2016y-04m-04d-13h-09m-54s UTC integration manifest
d20c9777a31b1e396102766eb749541314e2ad57 drm/i915/Gen9+: optional IPC enablement
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2016-04-05 7:26 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-02 0:44 [PATCH] drm/i915/Gen9+: optional IPC enablement Dongwon Kim
2016-04-02 1:16 ` kbuild test robot
2016-04-02 7:58 ` ✗ Fi.CI.BAT: failure for " Patchwork
2016-04-04 17:57 ` [PATCH v2] " Dongwon Kim
2016-04-05 7:26 ` ✓ Fi.CI.BAT: success for drm/i915/Gen9+: optional IPC enablement (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.