diff options
author | Vandita Kulkarni <vandita.kulkarni@intel.com> | 2020-03-12 11:08:37 +0530 |
---|---|---|
committer | Jani Nikula <jani.nikula@intel.com> | 2020-03-24 16:22:02 +0200 |
commit | f78a862d13e85d1cb4c4049f515d53a35e5b9dfe (patch) | |
tree | e32be320f321987cecb1d54c60cf1c846f7ceb12 /drivers/gpu/drm/i915/display/icl_dsi.c | |
parent | drm/i915/dsi: Add check for periodic command mode (diff) | |
download | linux-dev-f78a862d13e85d1cb4c4049f515d53a35e5b9dfe.tar.xz linux-dev-f78a862d13e85d1cb4c4049f515d53a35e5b9dfe.zip |
drm/i915/dsi: Use private flags to indicate TE in cmd mode
On dsi cmd mode we do not receive vblanks instead
we would get TE and these flags indicate TE is expected on
which port.
Signed-off-by: Vandita Kulkarni <vandita.kulkarni@intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200312053841.2794-6-vandita.kulkarni@intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/display/icl_dsi.c')
-rw-r--r-- | drivers/gpu/drm/i915/display/icl_dsi.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/display/icl_dsi.c b/drivers/gpu/drm/i915/display/icl_dsi.c index 949f4867402b..d452037b1ac9 100644 --- a/drivers/gpu/drm/i915/display/icl_dsi.c +++ b/drivers/gpu/drm/i915/display/icl_dsi.c @@ -1550,6 +1550,24 @@ static int gen11_dsi_compute_config(struct intel_encoder *encoder, pipe_config->hw.adjusted_mode.private_flags &= ~I915_MODE_FLAG_DSI_PERIODIC_CMD_MODE; + /* + * In case of TE GATE cmd mode, we + * receive TE from the slave if + * dual link is enabled + */ + if (is_cmd_mode(intel_dsi)) { + if (intel_dsi->ports == (BIT(PORT_B) | BIT(PORT_A))) + pipe_config->hw.adjusted_mode.private_flags |= + I915_MODE_FLAG_DSI_USE_TE1 | + I915_MODE_FLAG_DSI_USE_TE0; + else if (intel_dsi->ports == BIT(PORT_B)) + pipe_config->hw.adjusted_mode.private_flags |= + I915_MODE_FLAG_DSI_USE_TE1; + else + pipe_config->hw.adjusted_mode.private_flags |= + I915_MODE_FLAG_DSI_USE_TE0; + } + return 0; } |