* [PATCH] drm/i915/mst: add beginnings of DP MST documentation
@ 2024-11-25 15:19 Jani Nikula
2024-11-25 16:10 ` ✗ i915.CI.BAT: failure for " Patchwork
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Jani Nikula @ 2024-11-25 15:19 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula, imre.deak
Add a little bit of documentation around DP MST. This is nowhere near
complete nor does it have enough detail. But it's better than nothing,
and hopefully gives people a basic grasp of what's going on.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/intel_dp_mst.c | 32 +++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
index c59c2c14679c..a9ce8b3a7ff5 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
@@ -53,6 +53,38 @@
#include "intel_vdsc.h"
#include "skl_scaler.h"
+/*
+ * DP MST (DisplayPort Multi-Stream Transport)
+ *
+ * MST support on the source depends on the platform and port. DP initialization
+ * sets up MST for each MST capable encoder. This will become the primary
+ * encoder for the port.
+ *
+ * MST initialization of each primary encoder creates MST stream encoders, one
+ * per pipe, and initializes the MST topology manager. The MST stream encoders
+ * are sometimes called "fake encoders", because they're virtual, not
+ * physical. Thus there are (number of MST capable ports) x (number of pipes)
+ * MST stream encoders in total.
+ *
+ * Decision to use MST for a sink happens at detect on the connector attached to
+ * the primary encoder, and this will not change while the sink is connected. We
+ * always use MST when possible, including for SST sinks with sideband messaging
+ * support.
+ *
+ * The connectors for the MST streams are added and removed dynamically by the
+ * topology manager. Their connection status is also determined by the topology
+ * manager.
+ *
+ * On hardware, each transcoder may be associated with a single DDI
+ * port. Multiple transcoders may be associated with the same DDI port only if
+ * the port is in MST mode.
+ *
+ * On TGL+, all the transcoders streaming on the same DDI port will indicate a
+ * primary transcoder; the TGL_DP_TP_CTL and TGL_DP_TP_STATUS registers are
+ * relevant only on the primary transcoder. Prior to that, they are port
+ * registers.
+ */
+
/* From fake MST stream encoder to primary encoder */
static struct intel_encoder *to_primary_encoder(struct intel_encoder *encoder)
{
--
2.39.5
^ permalink raw reply related [flat|nested] 5+ messages in thread
* ✗ i915.CI.BAT: failure for drm/i915/mst: add beginnings of DP MST documentation
2024-11-25 15:19 [PATCH] drm/i915/mst: add beginnings of DP MST documentation Jani Nikula
@ 2024-11-25 16:10 ` Patchwork
2024-12-04 15:40 ` [PATCH] " Imre Deak
2024-12-05 20:41 ` ✗ i915.CI.BAT: failure for drm/i915/mst: add beginnings of DP MST documentation (rev2) Patchwork
2 siblings, 0 replies; 5+ messages in thread
From: Patchwork @ 2024-11-25 16:10 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
== Series Details ==
Series: drm/i915/mst: add beginnings of DP MST documentation
URL : https://patchwork.freedesktop.org/series/141756/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_15738 -> Patchwork_141756v1
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with Patchwork_141756v1 absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in Patchwork_141756v1, please notify your bug team (I915-ci-infra@lists.freedesktop.org) 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/Patchwork_141756v1/index.html
Participating hosts (45 -> 44)
------------------------------
Missing (1): fi-snb-2520m
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in Patchwork_141756v1:
### IGT changes ###
#### Possible regressions ####
* igt@gem_lmem_swapping@basic:
- bat-dg2-8: [PASS][1] -> [ABORT][2] +1 other test abort
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15738/bat-dg2-8/igt@gem_lmem_swapping@basic.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141756v1/bat-dg2-8/igt@gem_lmem_swapping@basic.html
#### Suppressed ####
The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.
* igt@gem_ctx_create@basic-files:
- {bat-mtlp-9}: [PASS][3] -> [DMESG-WARN][4]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15738/bat-mtlp-9/igt@gem_ctx_create@basic-files.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141756v1/bat-mtlp-9/igt@gem_ctx_create@basic-files.html
Known issues
------------
Here are the changes found in Patchwork_141756v1 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_tiled_blits@basic:
- fi-pnv-d510: [PASS][5] -> [SKIP][6] +2 other tests skip
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15738/fi-pnv-d510/igt@gem_tiled_blits@basic.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141756v1/fi-pnv-d510/igt@gem_tiled_blits@basic.html
* igt@i915_selftest@live:
- bat-mtlp-8: [PASS][7] -> [ABORT][8] ([i915#12061]) +1 other test abort
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15738/bat-mtlp-8/igt@i915_selftest@live.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141756v1/bat-mtlp-8/igt@i915_selftest@live.html
#### Possible fixes ####
* igt@i915_selftest@live@workarounds:
- bat-arlh-3: [ABORT][9] ([i915#12061]) -> [PASS][10] +1 other test pass
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15738/bat-arlh-3/igt@i915_selftest@live@workarounds.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141756v1/bat-arlh-3/igt@i915_selftest@live@workarounds.html
- bat-mtlp-6: [ABORT][11] ([i915#12061]) -> [PASS][12] +1 other test pass
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15738/bat-mtlp-6/igt@i915_selftest@live@workarounds.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141756v1/bat-mtlp-6/igt@i915_selftest@live@workarounds.html
* igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence:
- bat-dg2-11: [SKIP][13] ([i915#9197]) -> [PASS][14] +2 other tests pass
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15738/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141756v1/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
[i915#12695]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12695
[i915#9197]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9197
Build changes
-------------
* Linux: CI_DRM_15738 -> Patchwork_141756v1
CI-20190529: 20190529
CI_DRM_15738: b21f1413ea1860e80fd278112e820e6dadfc9df9 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_8124: 8124
Patchwork_141756v1: b21f1413ea1860e80fd278112e820e6dadfc9df9 @ git://anongit.freedesktop.org/gfx-ci/linux
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141756v1/index.html
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] drm/i915/mst: add beginnings of DP MST documentation
2024-11-25 15:19 [PATCH] drm/i915/mst: add beginnings of DP MST documentation Jani Nikula
2024-11-25 16:10 ` ✗ i915.CI.BAT: failure for " Patchwork
@ 2024-12-04 15:40 ` Imre Deak
2024-12-10 11:11 ` Jani Nikula
2024-12-05 20:41 ` ✗ i915.CI.BAT: failure for drm/i915/mst: add beginnings of DP MST documentation (rev2) Patchwork
2 siblings, 1 reply; 5+ messages in thread
From: Imre Deak @ 2024-12-04 15:40 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
On Mon, Nov 25, 2024 at 05:19:33PM +0200, Jani Nikula wrote:
> Add a little bit of documentation around DP MST. This is nowhere near
> complete nor does it have enough detail. But it's better than nothing,
> and hopefully gives people a basic grasp of what's going on.
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Imre Deak <imre.deak@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_dp_mst.c | 32 +++++++++++++++++++++
> 1 file changed, 32 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> index c59c2c14679c..a9ce8b3a7ff5 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> @@ -53,6 +53,38 @@
> #include "intel_vdsc.h"
> #include "skl_scaler.h"
>
> +/*
> + * DP MST (DisplayPort Multi-Stream Transport)
> + *
> + * MST support on the source depends on the platform and port. DP initialization
> + * sets up MST for each MST capable encoder. This will become the primary
> + * encoder for the port.
> + *
> + * MST initialization of each primary encoder creates MST stream encoders, one
> + * per pipe, and initializes the MST topology manager. The MST stream encoders
> + * are sometimes called "fake encoders", because they're virtual, not
> + * physical. Thus there are (number of MST capable ports) x (number of pipes)
> + * MST stream encoders in total.
> + *
> + * Decision to use MST for a sink happens at detect on the connector attached to
> + * the primary encoder, and this will not change while the sink is connected. We
> + * always use MST when possible, including for SST sinks with sideband messaging
> + * support.
> + *
> + * The connectors for the MST streams are added and removed dynamically by the
> + * topology manager. Their connection status is also determined by the topology
> + * manager.
> + *
> + * On hardware, each transcoder may be associated with a single DDI
> + * port. Multiple transcoders may be associated with the same DDI port only if
> + * the port is in MST mode.
> + *
> + * On TGL+, all the transcoders streaming on the same DDI port will indicate a
> + * primary transcoder; the TGL_DP_TP_CTL and TGL_DP_TP_STATUS registers are
> + * relevant only on the primary transcoder. Prior to that, they are port
> + * registers.
> + */
> +
> /* From fake MST stream encoder to primary encoder */
> static struct intel_encoder *to_primary_encoder(struct intel_encoder *encoder)
> {
> --
> 2.39.5
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* ✗ i915.CI.BAT: failure for drm/i915/mst: add beginnings of DP MST documentation (rev2)
2024-11-25 15:19 [PATCH] drm/i915/mst: add beginnings of DP MST documentation Jani Nikula
2024-11-25 16:10 ` ✗ i915.CI.BAT: failure for " Patchwork
2024-12-04 15:40 ` [PATCH] " Imre Deak
@ 2024-12-05 20:41 ` Patchwork
2 siblings, 0 replies; 5+ messages in thread
From: Patchwork @ 2024-12-05 20:41 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
== Series Details ==
Series: drm/i915/mst: add beginnings of DP MST documentation (rev2)
URL : https://patchwork.freedesktop.org/series/141756/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_15796 -> Patchwork_141756v2
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with Patchwork_141756v2 absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in Patchwork_141756v2, please notify your bug team (I915-ci-infra@lists.freedesktop.org) 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/Patchwork_141756v2/index.html
Participating hosts (44 -> 43)
------------------------------
Missing (1): fi-snb-2520m
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in Patchwork_141756v2:
### IGT changes ###
#### Possible regressions ####
* igt@i915_selftest@live@evict:
- bat-mtlp-8: NOTRUN -> [INCOMPLETE][1]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141756v2/bat-mtlp-8/igt@i915_selftest@live@evict.html
* igt@i915_selftest@live@gt_tlb:
- bat-twl-1: [PASS][2] -> [ABORT][3]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15796/bat-twl-1/igt@i915_selftest@live@gt_tlb.html
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141756v2/bat-twl-1/igt@i915_selftest@live@gt_tlb.html
* igt@kms_addfb_basic@invalid-set-prop:
- bat-arls-5: [PASS][4] -> [DMESG-WARN][5] +1 other test dmesg-warn
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15796/bat-arls-5/igt@kms_addfb_basic@invalid-set-prop.html
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141756v2/bat-arls-5/igt@kms_addfb_basic@invalid-set-prop.html
Known issues
------------
Here are the changes found in Patchwork_141756v2 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_module_load@load:
- bat-adlp-6: [PASS][6] -> [DMESG-WARN][7] ([i915#12253])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15796/bat-adlp-6/igt@i915_module_load@load.html
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141756v2/bat-adlp-6/igt@i915_module_load@load.html
* igt@i915_module_load@reload:
- bat-twl-1: [PASS][8] -> [DMESG-WARN][9] ([i915#1982])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15796/bat-twl-1/igt@i915_module_load@reload.html
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141756v2/bat-twl-1/igt@i915_module_load@reload.html
- bat-arls-5: [PASS][10] -> [DMESG-WARN][11] ([i915#4423]) +1 other test dmesg-warn
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15796/bat-arls-5/igt@i915_module_load@reload.html
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141756v2/bat-arls-5/igt@i915_module_load@reload.html
* igt@i915_pm_rpm@module-reload:
- bat-dg2-11: [PASS][12] -> [FAIL][13] ([i915#12903])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15796/bat-dg2-11/igt@i915_pm_rpm@module-reload.html
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141756v2/bat-dg2-11/igt@i915_pm_rpm@module-reload.html
- bat-rpls-4: [PASS][14] -> [FAIL][15] ([i915#12903])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15796/bat-rpls-4/igt@i915_pm_rpm@module-reload.html
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141756v2/bat-rpls-4/igt@i915_pm_rpm@module-reload.html
* igt@i915_selftest@live:
- bat-twl-1: [PASS][16] -> [ABORT][17] ([i915#12919])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15796/bat-twl-1/igt@i915_selftest@live.html
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141756v2/bat-twl-1/igt@i915_selftest@live.html
* igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence:
- bat-dg2-11: [PASS][18] -> [SKIP][19] ([i915#9197]) +3 other tests skip
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15796/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141756v2/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html
* igt@kms_psr@psr-primary-mmap-gtt:
- fi-pnv-d510: NOTRUN -> [SKIP][20] +31 other tests skip
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141756v2/fi-pnv-d510/igt@kms_psr@psr-primary-mmap-gtt.html
#### Possible fixes ####
* igt@i915_module_load@reload:
- bat-jsl-3: [DMESG-WARN][21] ([i915#1982]) -> [PASS][22]
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15796/bat-jsl-3/igt@i915_module_load@reload.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141756v2/bat-jsl-3/igt@i915_module_load@reload.html
* igt@i915_pm_rpm@module-reload:
- bat-dg1-7: [FAIL][23] ([i915#12903]) -> [PASS][24]
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15796/bat-dg1-7/igt@i915_pm_rpm@module-reload.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141756v2/bat-dg1-7/igt@i915_pm_rpm@module-reload.html
* igt@i915_selftest@live:
- bat-adlp-6: [ABORT][25] ([i915#9413]) -> [PASS][26] +1 other test pass
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15796/bat-adlp-6/igt@i915_selftest@live.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141756v2/bat-adlp-6/igt@i915_selftest@live.html
* igt@i915_selftest@live@workarounds:
- {bat-arls-6}: [ABORT][27] ([i915#12061]) -> [PASS][28] +1 other test pass
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15796/bat-arls-6/igt@i915_selftest@live@workarounds.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141756v2/bat-arls-6/igt@i915_selftest@live@workarounds.html
- bat-mtlp-8: [ABORT][29] ([i915#12061]) -> [PASS][30]
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15796/bat-mtlp-8/igt@i915_selftest@live@workarounds.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141756v2/bat-mtlp-8/igt@i915_selftest@live@workarounds.html
* igt@kms_chamelium_edid@hdmi-edid-read:
- bat-dg2-13: [DMESG-WARN][31] ([i915#12253]) -> [PASS][32]
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15796/bat-dg2-13/igt@kms_chamelium_edid@hdmi-edid-read.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141756v2/bat-dg2-13/igt@kms_chamelium_edid@hdmi-edid-read.html
* igt@kms_pipe_crc_basic@hang-read-crc:
- fi-cfl-8109u: [DMESG-WARN][33] ([i915#12914]) -> [PASS][34] +1 other test pass
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15796/fi-cfl-8109u/igt@kms_pipe_crc_basic@hang-read-crc.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141756v2/fi-cfl-8109u/igt@kms_pipe_crc_basic@hang-read-crc.html
#### Warnings ####
* igt@gem_exec_gttfill@basic:
- fi-pnv-d510: [ABORT][35] ([i915#13169]) -> [SKIP][36]
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15796/fi-pnv-d510/igt@gem_exec_gttfill@basic.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141756v2/fi-pnv-d510/igt@gem_exec_gttfill@basic.html
* igt@i915_selftest@live:
- bat-mtlp-8: [ABORT][37] ([i915#12061]) -> [INCOMPLETE][38] ([i915#13133])
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15796/bat-mtlp-8/igt@i915_selftest@live.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141756v2/bat-mtlp-8/igt@i915_selftest@live.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
[i915#12253]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12253
[i915#12903]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12903
[i915#12914]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12914
[i915#12919]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12919
[i915#13133]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13133
[i915#13169]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13169
[i915#1982]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1982
[i915#4423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4423
[i915#9197]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9197
[i915#9413]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9413
Build changes
-------------
* Linux: CI_DRM_15796 -> Patchwork_141756v2
CI-20190529: 20190529
CI_DRM_15796: 1b7746f770882ce40dacae683e8e65657c40c2b7 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_8138: 8138
Patchwork_141756v2: 1b7746f770882ce40dacae683e8e65657c40c2b7 @ git://anongit.freedesktop.org/gfx-ci/linux
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141756v2/index.html
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] drm/i915/mst: add beginnings of DP MST documentation
2024-12-04 15:40 ` [PATCH] " Imre Deak
@ 2024-12-10 11:11 ` Jani Nikula
0 siblings, 0 replies; 5+ messages in thread
From: Jani Nikula @ 2024-12-10 11:11 UTC (permalink / raw)
To: imre.deak; +Cc: intel-gfx
On Wed, 04 Dec 2024, Imre Deak <imre.deak@intel.com> wrote:
> On Mon, Nov 25, 2024 at 05:19:33PM +0200, Jani Nikula wrote:
>> Add a little bit of documentation around DP MST. This is nowhere near
>> complete nor does it have enough detail. But it's better than nothing,
>> and hopefully gives people a basic grasp of what's going on.
>>
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>
> Reviewed-by: Imre Deak <imre.deak@intel.com>
Thanks, pushed to drm-intel-next. This being a pure comment change, I
exceptionally chose to ignore the CI results.
BR,
Jani.
>
>> ---
>> drivers/gpu/drm/i915/display/intel_dp_mst.c | 32 +++++++++++++++++++++
>> 1 file changed, 32 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
>> index c59c2c14679c..a9ce8b3a7ff5 100644
>> --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
>> +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
>> @@ -53,6 +53,38 @@
>> #include "intel_vdsc.h"
>> #include "skl_scaler.h"
>>
>> +/*
>> + * DP MST (DisplayPort Multi-Stream Transport)
>> + *
>> + * MST support on the source depends on the platform and port. DP initialization
>> + * sets up MST for each MST capable encoder. This will become the primary
>> + * encoder for the port.
>> + *
>> + * MST initialization of each primary encoder creates MST stream encoders, one
>> + * per pipe, and initializes the MST topology manager. The MST stream encoders
>> + * are sometimes called "fake encoders", because they're virtual, not
>> + * physical. Thus there are (number of MST capable ports) x (number of pipes)
>> + * MST stream encoders in total.
>> + *
>> + * Decision to use MST for a sink happens at detect on the connector attached to
>> + * the primary encoder, and this will not change while the sink is connected. We
>> + * always use MST when possible, including for SST sinks with sideband messaging
>> + * support.
>> + *
>> + * The connectors for the MST streams are added and removed dynamically by the
>> + * topology manager. Their connection status is also determined by the topology
>> + * manager.
>> + *
>> + * On hardware, each transcoder may be associated with a single DDI
>> + * port. Multiple transcoders may be associated with the same DDI port only if
>> + * the port is in MST mode.
>> + *
>> + * On TGL+, all the transcoders streaming on the same DDI port will indicate a
>> + * primary transcoder; the TGL_DP_TP_CTL and TGL_DP_TP_STATUS registers are
>> + * relevant only on the primary transcoder. Prior to that, they are port
>> + * registers.
>> + */
>> +
>> /* From fake MST stream encoder to primary encoder */
>> static struct intel_encoder *to_primary_encoder(struct intel_encoder *encoder)
>> {
>> --
>> 2.39.5
>>
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-12-10 11:12 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-25 15:19 [PATCH] drm/i915/mst: add beginnings of DP MST documentation Jani Nikula
2024-11-25 16:10 ` ✗ i915.CI.BAT: failure for " Patchwork
2024-12-04 15:40 ` [PATCH] " Imre Deak
2024-12-10 11:11 ` Jani Nikula
2024-12-05 20:41 ` ✗ i915.CI.BAT: failure for drm/i915/mst: add beginnings of DP MST documentation (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.