[PATCH 4/5] drm/i915: Compute config and mode valid changes for ultrajoiner

2024-05-20 Thread Stanislav Lisovskiy
Implement required changes for mode validation and compute config, to support Ultrajoiner. This also includes required DSC changes and checks. Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_display.c | 5 +- drivers/gpu/drm/i915/display/intel_display.h | 3

[PATCH 2/5] drm/i915: Implement basic functions for ultrajoiner support

2024-05-20 Thread Stanislav Lisovskiy
Lets implement or change basic functions required for ultrajoiner support from atomic commit/modesetting point of view. Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_display.c | 66 +--- 1 file changed, 56 insertions(+), 10 deletions(-) diff --git

[PATCH 5/5] drm/i915: Add new abstraction layer to handle pipe order for different joiners

2024-05-20 Thread Stanislav Lisovskiy
type used, but also using different "priority" arrays for each of those. Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_ddi.c | 19 ++--- drivers/gpu/drm/i915/display/intel_display.c | 73 +++- drivers/gpu/drm/i915/display/intel_disp

[PATCH 3/5] drm/i915: Implement hw state readout for ultrajoiner

2024-05-20 Thread Stanislav Lisovskiy
Ultrajoiner mode has some new bits and states to be read out from the hw. Lets make changes accordingly. SIgned-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_display.c | 56 +++ .../gpu/drm/i915/display/intel_vdsc_regs.h| 2 + 2 files changed, 46

[PATCH 1/5] drm/i915: Rename all bigjoiner to joiner

2024-05-20 Thread Stanislav Lisovskiy
Lets unify both bigjoiner and ultrajoiner under simple "joiner" name, because in future we might have multiple configurations, involving multiple bigjoiners, ultrajoiner, however it is possible to use same api for handling both. Signed-off-by: Stanislav Lisovskiy --- .../gpu/drm/i9

[PATCH 0/5] Ultrajoiner basic functionality series

2024-05-20 Thread Stanislav Lisovskiy
This patch series attempts to implement basic support for Ultrajoiner functionality. Stanislav Lisovskiy (5): drm/i915: Rename all bigjoiner to joiner drm/i915: Implement basic functions for ultrajoiner support drm/i915: Implement hw state readout for ultrajoiner drm/i915: Compute config

[PATCH 4/4] drm/i915: Implement vblank synchronized MBUS join changes

2024-03-25 Thread Stanislav Lisovskiy
) - Constified new_crtc_state in intel_mbus_joined_pipe(Ville Syrjälä) - Removed pipe_select variable(Ville Syrjälä) Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_display.c | 6 +- drivers/gpu/drm/i915/display/skl_watermark.c | 119 +++ drivers/gpu/drm/i915

[PATCH 3/4] drm/i915: Loop over all active pipes in intel_mbus_dbox_update

2024-03-25 Thread Stanislav Lisovskiy
We need to loop through all active pipes, not just the ones, that are in current state, because disabling and enabling even a particular pipe affects credits in another one. Reviewed-by: Ville Syrjälä Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/skl_watermark.c | 7

[PATCH 2/4] drm/i915: Use old mbus_join value when increasing CDCLK

2024-03-25 Thread Stanislav Lisovskiy
in intel_set_cdclk(Ville Syrjälä) Reviewed-by: Ville Syrjälä Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_cdclk.c | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display

[PATCH 1/4] drm/i915: Update mbus in intel_dbuf_mbus_update and do it properly

2024-03-25 Thread Stanislav Lisovskiy
separately if mbus_join state didn't change, so lets add one degree of freedom and make it possible. Reviewed-by: Ville Syrjälä Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/skl_watermark.c | 54 +--- 1 file changed, 35 insertions(+), 19 deletions(-) diff --git

[PATCH 0/4] Enable fastset for mbus_join state change

2024-03-25 Thread Stanislav Lisovskiy
Currently fastset is not supported, if mbus join state changes, so whenever we have to switch mbus state, we have to force a full modeset. This patch series makes fastset possible from MBUS state point of view. Stanislav Lisovskiy (4): drm/i915: Update mbus in intel_dbuf_mbus_update and do

[PATCH 3/3] drm/i915: Implement vblank synchronized MBUS join changes

2024-03-25 Thread Stanislav Lisovskiy
) - Constified new_crtc_state in intel_mbus_joined_pipe(Ville Syrjälä) - Removed pipe_select variable(Ville Syrjälä) Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_display.c | 6 +- drivers/gpu/drm/i915/display/skl_watermark.c | 119 +++ drivers/gpu/drm/i915

[PATCH 4/5] drm/i915: Loop over all active pipes in intel_mbus_dbox_update

2024-03-22 Thread Stanislav Lisovskiy
We need to loop through all active pipes, not just the ones, that are in current state, because disabling and enabling even a particular pipe affects credits in another one. Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/skl_watermark.c | 7 +-- 1 file changed, 1

[PATCH 3/5] drm/i915: Use old mbus_join value when increasing CDCLK

2024-03-22 Thread Stanislav Lisovskiy
In order to make sure we are not breaking the proper sequence lets to updates step by step and don't change MBUS join value during MDCLK/CDCLK programming stage. MBUS join programming would be taken care by pre/post ddb hooks. Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display

[PATCH 5/5] drm/i915: Implement vblank synchronized MBUS join changes

2024-03-22 Thread Stanislav Lisovskiy
correspondent check and update at pre_plane dbuf update, so the only thing left is to have a non-modeset version of that. If active pipes stay the same then fastset is possible and only MBUS join state/ddb allocation updates would be committed. Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915

[PATCH 1/5] drm/i915: Update mbus in intel_dbuf_mbus_update and do it properly

2024-03-22 Thread Stanislav Lisovskiy
According to BSpec we need to do correspondent MBUS updates before or after DBUF reallocation, depending on whether we are enabling or disabling mbus joining(typical scenario is swithing between multiple and single displays). Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display

[PATCH 2/5] drm/i915: Break intel_dbuf_mbus_update into 2 separate parts

2024-03-22 Thread Stanislav Lisovskiy
We need to be able to update dbuf min tracker and mdclk ratio separately if mbus_join state didn't change, so lets add one degree of freedom and make it possible. Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/skl_watermark.c | 55 1 file changed, 33

[PATCH 0/5] Enable fastset for mbus_join state change

2024-03-22 Thread Stanislav Lisovskiy
Currently fastset is not supported, if mbus join state changes, so whenever we have to switch mbus state, we have to force a full modeset. This patch series makes fastset possible from MBUS state point of view. Stanislav Lisovskiy (5): drm/i915: Update mbus in intel_dbuf_mbus_update and do

[PATCH 5/6] drm/i915: Handle joined pipes inside hsw_crtc_enable()

2024-03-20 Thread Stanislav Lisovskiy
intel_ddi_enable_hdmi_or_sst symmetrical to intel_ddi_post_disable_hdmi_or_sst and move it also under non-mst check. v4: - Fix intel_enable_ddi sequence - Call intel_crtc_update_active_timings for slave pipes as well Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_ddi.c | 45

[PATCH 5/6] drm/i915: Handle joined pipes inside hsw_crtc_enable()

2024-03-18 Thread Stanislav Lisovskiy
intel_ddi_enable_hdmi_or_sst symmetrical to intel_ddi_post_disable_hdmi_or_sst and move it also under non-mst check. v4: - Fix intel_enable_ddi sequence Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_ddi.c | 45 -- drivers/gpu/drm/i915/display/intel_display.c | 162

[PATCH 3/6] drm/i915: Utilize intel_crtc_joined_pipe_mask() more

2024-03-13 Thread Stanislav Lisovskiy
of that. Signed-off-by: Ville Syrjälä Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_ddi.c | 34 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c

[PATCH 6/6] drm/i915: Allow bigjoiner for MST

2024-03-13 Thread Stanislav Lisovskiy
From: Vidya Srinivas We need bigjoiner support with MST functionality for MST monitor resolutions > 5K to work. Adding support for the same. v2: Addressed review comments from Jani. Revert rejection of MST bigjoiner modes and add functionality v3: Fixed pipe_mismatch WARN for

[PATCH 5/6] drm/i915: Handle joined pipes inside hsw_crtc_enable()

2024-03-13 Thread Stanislav Lisovskiy
intel_ddi_enable_hdmi_or_sst symmetrical to intel_ddi_post_disable_hdmi_or_sst and move it also under non-mst check. Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_ddi.c | 30 +++- drivers/gpu/drm/i915/display/intel_display.c | 162 +-- drivers/gpu/drm/i915/display

[PATCH 2/6] drm/i915: Extract intel_ddi_post_disable_hdmi_or_sst()

2024-03-13 Thread Stanislav Lisovskiy
in as well. There is no functional change here as we don't currently support bigjoiner+MST anyway. Signed-off-by: Ville Syrjälä Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_ddi.c | 37 +++- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git

[PATCH 4/6] drm/i915: Handle joined pipes inside hsw_crtc_disable()

2024-03-13 Thread Stanislav Lisovskiy
. per-transcoder modeset steps. v2: Fixed rebase conflict(intel_crtc_state_disables signature had changed) Signed-off-by: Ville Syrjälä Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_display.c | 62 +++- 1 file changed, 35 insertions(+), 27 deletions

[PATCH 1/6] drm/i915: Add a small helper to compute the set of pipes for crtc

2024-03-13 Thread Stanislav Lisovskiy
And we have at least one trivial place in intel_ddi_update_active_dpll() where we can use it immediately, so let's do that. v2: - Fixed conflicts, part of patch didn't apply, because of master_crtc rename(Stan) Signed-off-by: Ville Syrjälä Signed-off-by: Stanislav Lisovskiy --- drivers

[PATCH 0/6] Bigjoiner refactoring

2024-03-13 Thread Stanislav Lisovskiy
logic. Stanislav Lisovskiy (5): drm/i915: Add a small helper to compute the set of pipes for crtc drm/i915: Extract intel_ddi_post_disable_hdmi_or_sst() drm/i915: Utilize intel_crtc_joined_pipe_mask() more drm/i915: Handle joined pipes inside hsw_crtc_disable() drm/i915: Handle joined pipes

[PATCH 6/6] drm/i915: Allow bigjoiner for MST

2024-03-08 Thread Stanislav Lisovskiy
From: Vidya Srinivas We need bigjoiner support with MST functionality for MST monitor resolutions > 5K to work. Adding support for the same. v2: Addressed review comments from Jani. Revert rejection of MST bigjoiner modes and add functionality v3: Fixed pipe_mismatch WARN for

[PATCH 5/6] drm/i915: Handle joined pipes inside hsw_crtc_enable()

2024-03-08 Thread Stanislav Lisovskiy
to intel_enable_ddi, so that it is now finally symmetrical with the disable case, because currently for some weird reason we are calling those from skl_commit_modeset_enables, while for the disable case those are called from the ddi disable hooks. Signed-off-by: Stanislav Lisovskiy

[PATCH 4/6] drm/i915: Handle joined pipes inside hsw_crtc_disable()

2024-03-08 Thread Stanislav Lisovskiy
. per-transcoder modeset steps. v2: Fixed rebase conflict(intel_crtc_state_disables signature had changed) Signed-off-by: Ville Syrjälä Signed-off-by: Stanislav Lisovskiy Credits-to: Ville Syrjälä --- drivers/gpu/drm/i915/display/intel_display.c | 62 +++- 1 file changed, 35

[PATCH 3/6] drm/i915: Utilize intel_crtc_joined_pipe_mask() more

2024-03-08 Thread Stanislav Lisovskiy
of that. Signed-off-by: Ville Syrjälä Signed-off-by: Stanislav Lisovskiy Credits-to: Ville Syrjälä --- drivers/gpu/drm/i915/display/intel_ddi.c | 34 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm

[PATCH 2/6] drm/i915: Extract intel_ddi_post_disable_hdmi_or_sst()

2024-03-08 Thread Stanislav Lisovskiy
in as well. There is no functional change here as we don't currently support bigjoiner+MST anyway. Signed-off-by: Ville Syrjälä Signed-off-by: Stanislav Lisovskiy Credits-to: Ville Syrjälä --- drivers/gpu/drm/i915/display/intel_ddi.c | 37 +++- 1 file changed, 23 inserti

[PATCH 1/6] Add a small helper to compute the set of pipes that the current crtc is using.

2024-03-08 Thread Stanislav Lisovskiy
And we have at least one trivial place in intel_ddi_update_active_dpll() where we can use it immediately, so let's do that. v2: - Fixed conflicts, part of patch didn't apply, because of master_crtc rename(Stan) Signed-off-by: Ville Syrjälä Signed-off-by: Stanislav Lisovskiy Credits

[PATCH 0/6] Bigjoiner refactoring

2024-03-08 Thread Stanislav Lisovskiy
logic. Stanislav Lisovskiy (5): Add a small helper to compute the set of pipes that the current crtc is using. drm/i915: Extract intel_ddi_post_disable_hdmi_or_sst() drm/i915: Utilize intel_crtc_joined_pipe_mask() more drm/i915: Handle joined pipes inside hsw_crtc_disable() drm/i915

[PATCH 2/2] drm/i915: Implement vblank synchronized MBUS join changes

2024-02-28 Thread Stanislav Lisovskiy
k wait only for the first pipe, if mbus is joined - Check also if new/old_dbuf_state is not NULL, before getting single pipe and active pipes. Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_display.c | 13 ++- drivers/gpu/drm/i915/display/skl_watermark.c | 10

[PATCH 1/2] drm/i915: Update mbus in intel_dbuf_mbus_update and do it properly

2024-02-28 Thread Stanislav Lisovskiy
display MBUS registers should be updated with correspondent values _before_ Dbuf reallocation happens, however if we are switching from single display to multiple then it should happen _after_ DDB reallocation(i.e plane programming). Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display

[PATCH 0/2] Enable fastset for mbus_join state change

2024-02-28 Thread Stanislav Lisovskiy
Currently fastset is not supported, if mbus join state changes, so whenever we have to switch mbus state, we have to force a full modeset. This patch series makes fastset possible from MBUS state point of view. Stanislav Lisovskiy (2): drm/i915: Update mbus in intel_dbuf_mbus_update and do

[PATCH 3/3] drm/i915: Fix bigjoiner case for DP2.0

2024-02-21 Thread Stanislav Lisovskiy
Patch calculates bigjoiner pipes in mst compute. Patch also passes bigjoiner bool to validate plane max size. Signed-off-by: vsrini4 Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_dp_mst.c | 19 --- 1 file changed, 12 insertions(+), 7 deletions

[PATCH 2/3] Start separating pipe vs transcoder set logic for bigjoiner during modeset

2024-02-21 Thread Stanislav Lisovskiy
-transcoder path (for master pipe that will be called from intel_encoders_enable/intel_enable_ddi) - Fix stupid mistake with using crtc->pipe for the mask, instead of BIT(crtc->pipe) Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_ddi.c

[PATCH 1/3] drm/i915/bigjoiner: Refactor bigjoiner state readout

2024-02-21 Thread Stanislav Lisovskiy
Don't call enabled_bigjoiner_pipes twice, lets just move intel_get_bigjoiner_config earlier, because it is anyway calling same function. Also cleanup hsw_enabled_transcoders from irrelevant bigjoiner code. Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_display.c | 22

[PATCH 0/3] Bigjoiner refactoring

2024-02-21 Thread Stanislav Lisovskiy
logic. Stanislav Lisovskiy (3): drm/i915/bigjoiner: Refactor bigjoiner state readout Start separating pipe vs transcoder set logic for bigjoiner during modeset drm/i915: Fix bigjoiner case for DP2.0 drivers/gpu/drm/i915/display/intel_ddi.c | 21 +- drivers/gpu/drm/i915/display

[PATCH 3/3] drm/i915: Fix bigjoiner case for DP2.0

2024-02-20 Thread Stanislav Lisovskiy
Patch calculates bigjoiner pipes in mst compute. Patch also passes bigjoiner bool to validate plane max size. Signed-off-by: vsrini4 Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_dp_mst.c | 19 --- 1 file changed, 12 insertions(+), 7 deletions

[PATCH 2/3] Start separating pipe vs transcoder set logic for bigjoiner during modeset

2024-02-20 Thread Stanislav Lisovskiy
hooks. Use unified iteration cycle for all of those, while enabling/disabling transcoder only for those pipes where its needed(Ville Syrjälä) v3: Move all the intel_encoder_* calls under transcoder code path(Ville Syrjälä) Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915

[PATCH 1/3] drm/i915/bigjoiner: Refactor bigjoiner state readout

2024-02-20 Thread Stanislav Lisovskiy
Don't call enabled_bigjoiner_pipes twice, lets just move intel_get_bigjoiner_config earlier, because it is anyway calling same function. Also cleanup hsw_enabled_transcoders from irrelevant bigjoiner code. Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_display.c | 22

[PATCH 0/3] Bigjoiner refactoring

2024-02-20 Thread Stanislav Lisovskiy
logic. Stanislav Lisovskiy (3): drm/i915/bigjoiner: Refactor bigjoiner state readout Start separating pipe vs transcoder set logic for bigjoiner during modeset drm/i915: Fix bigjoiner case for DP2.0 drivers/gpu/drm/i915/display/intel_ddi.c | 3 +- drivers/gpu/drm/i915/display

[PATCH 3/3] drm/i915: Disable SAGV on bw init, to force QGV point recalculation

2024-02-20 Thread Stanislav Lisovskiy
ted/unrestricted same time) - Fix argument sequence for adl_qgv_bw(Ville Syrjälä) v6: Fix wrong platform checks, not to break everything else. Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_bw.c | 73 ++-- drivers/gpu/drm/i915/display/skl_watermar

[PATCH 1/3] drm/i915: Add meaningful traces for QGV point info error handling

2024-02-20 Thread Stanislav Lisovskiy
and adding those traces manually. v2: - Make the debug more generic and move it to intel_dram_detect (Gustavo Sousa) Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_bw.c | 4 +++- drivers/gpu/drm/i915/soc/intel_dram.c | 2 ++ 2 files changed, 5 insertions(+), 1

[PATCH 2/3] drm/i915: Extract code required to calculate max qgv/psf gv point

2024-02-20 Thread Stanislav Lisovskiy
SAGV, which might be actually causing some issues in that case. v2: - Introduce helper adl_qgv_bw(counterpart to adl_psf_bw) (Ville Syrjälä) - Don't restrict psf gv points for SAGV disable case (Ville Syrjälä) Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display

[PATCH 0/3] QGV/SAGV related fixes

2024-02-20 Thread Stanislav Lisovskiy
We have couple of customer issues, related to SAGV/QGV point calculation. Those patches contain fixes plus some additional debugs for those issues. Stanislav Lisovskiy (3): drm/i915: Add meaningful traces for QGV point info error handling drm/i915: Extract code required to calculate max qgv

[PATCH 2/3] drm/i915: Extract code required to calculate max qgv/psf gv point

2024-02-19 Thread Stanislav Lisovskiy
SAGV, which might be actually causing some issues in that case. v2: - Introduce helper adl_qgv_bw(counterpart to adl_psf_bw) (Ville Syrjälä) - Don't restrict psf gv points for SAGV disable case (Ville Syrjälä) Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display

[PATCH 3/3] drm/i915: Disable SAGV on bw init, to force QGV point recalculation

2024-02-19 Thread Stanislav Lisovskiy
ted/unrestricted same time) - Fix argument sequence for adl_qgv_bw(Ville Syrjälä) Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_bw.c | 63 +++-- 1 file changed, 59 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_bw.c

[PATCH 1/3] drm/i915: Add meaningful traces for QGV point info error handling

2024-02-19 Thread Stanislav Lisovskiy
and adding those traces manually. v2: - Make the debug more generic and move it to intel_dram_detect (Gustavo Sousa) Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_bw.c | 4 +++- drivers/gpu/drm/i915/soc/intel_dram.c | 2 ++ 2 files changed, 5 insertions(+), 1

[PATCH 0/3] QGV/SAGV related fixes

2024-02-19 Thread Stanislav Lisovskiy
We have couple of customer issues, related to SAGV/QGV point calculation. Those patches contain fixes plus some additional debugs for those issues. Stanislav Lisovskiy (3): drm/i915: Add meaningful traces for QGV point info error handling drm/i915: Extract code required to calculate max qgv

[PATCH 3/3] Start separating pipe vs transcoder set logic for bigjoiner during modeset

2024-02-13 Thread Stanislav Lisovskiy
hooks. Use unified iteration cycle for all of those, while enabling/disabling transcoder only for those pipes where its needed(Ville Syrjälä) v3: Move all the intel_encoder_* calls under transcoder code path(Ville Syrjälä) Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915

[PATCH 3/3] Start separating pipe vs transcoder set logic for bigjoiner during modeset

2024-02-02 Thread Stanislav Lisovskiy
hooks. Use unified iteration cycle for all of those, while enabling/disabling transcoder only for those pipes where its needed(Ville Syrjälä) Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_ddi.c | 3 +- drivers/gpu/drm/i915/display/intel_display.c | 116

[PATCH 1/3] drm/i915: Add bigjoiner force enable option to debugfs

2024-01-29 Thread Stanislav Lisovskiy
lar conflicts v7: - Move bigjoiner force option to intel_connector(Ville Syrjälä) - Use DEFINE_SHOW_STORE_ATTRIBUTE instead of defining fops manually.(Ville Syrjälä) v8: - Pass intel_connector to debugfs_create_file, instead of drm_connector. (Jani Nikula) Signed-off-by: Stanis

[PATCH 1/3] drm/i915: Add bigjoiner force enable option to debugfs

2024-01-18 Thread Stanislav Lisovskiy
lar conflicts v7: - Move bigjoiner force option to intel_connector(Ville Syrjälä) - Use DEFINE_SHOW_STORE_ATTRIBUTE instead of defining fops manually.(Ville Syrjälä) Signed-off-by: Stanislav Lisovskiy --- .../drm/i915/display/intel_display_debugfs.c | 47 +++ .../drm/i

[PATCH 2/3] drm/i915: Extract code required to calculate max qgv/psf gv point

2024-01-17 Thread Stanislav Lisovskiy
SAGV, which might be actually causing some issues in that case. v2: - Introduce helper adl_qgv_bw(counterpart to adl_psf_bw) (Ville Syrjälä) - Don't restrict psf gv points for SAGV disable case (Ville Syrjälä) Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display

[PATCH 3/3] drm/i915: Disable SAGV on bw init, to force QGV point recalculation

2024-01-17 Thread Stanislav Lisovskiy
ill need to address the case, when no display is connected, which anyway requires much more changes. Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_bw.c | 24 drivers/gpu/drm/i915/display/intel_bw.h | 2 ++ 2 files changed, 26 inserti

[PATCH 1/3] drm/i915: Add meaningful traces for QGV point info error handling

2024-01-17 Thread Stanislav Lisovskiy
and adding those traces manually. v2: - Make the debug more generic and move it to intel_dram_detect (Gustavo Sousa) Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_bw.c | 4 +++- drivers/gpu/drm/i915/soc/intel_dram.c | 2 ++ 2 files changed, 5 insertions(+), 1

[PATCH 0/3] QGV/SAGV related fixes

2024-01-17 Thread Stanislav Lisovskiy
We have couple of customer issues, related to SAGV/QGV point calculation. Those patches contain fixes plus some additional debugs for those issues. Stanislav Lisovskiy (3): drm/i915: Add meaningful traces for QGV point info error handling drm/i915: Extract code required to calculate max qgv

[PATCH 2/3] drm/i915/bigjoiner: Refactor bigjoiner state readout

2024-01-08 Thread Stanislav Lisovskiy
Don't call enabled_bigjoiner_pipes twice, lets just move intel_get_bigjoiner_config earlier, because it is anyway calling same function. Also cleanup hsw_enabled_transcoders from irrelevant bigjoiner code. Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_display.c | 22

[PATCH 3/3] Start separating pipe vs transcoder set logic for bigjoiner during modeset

2024-01-08 Thread Stanislav Lisovskiy
Handle only bigjoiner masters in skl_commit_modeset_enables/disables, slave crtcs should be handled by master hooks. Same for encoders. That way we can also remove a bunch of checks like intel_crtc_is_bigjoiner_slave. Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display

[PATCH 1/3] drm/i915: Add bigjoiner force enable option to debugfs

2024-01-08 Thread Stanislav Lisovskiy
lar conflicts Signed-off-by: Stanislav Lisovskiy --- .../drm/i915/display/intel_display_debugfs.c | 59 +++ .../drm/i915/display/intel_display_types.h| 2 + drivers/gpu/drm/i915/display/intel_dp.c | 3 +- 3 files changed, 63 insertions(+), 1 deletion(-) diff --git a/driv

[PATCH 0/3] Bigjoiner refactoring

2024-01-08 Thread Stanislav Lisovskiy
logic. Stanislav Lisovskiy (3): drm/i915: Add bigjoiner force enable option to debugfs drm/i915/bigjoiner: Refactor bigjoiner state readout Start separating pipe vs transcoder set logic for bigjoiner during modeset drivers/gpu/drm/i915/display/intel_ddi.c | 3 +- drivers/gpu/drm

[PATCH 3/3] Start separating pipe vs transcoder set logic for bigjoiner during modeset

2024-01-08 Thread Stanislav Lisovskiy
Handle only bigjoiner masters in skl_commit_modeset_enables/disables, slave crtcs should be handled by master hooks. Same for encoders. That way we can also remove a bunch of checks like intel_crtc_is_bigjoiner_slave. Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display

[PATCH 2/3] drm/i915/bigjoiner: Refactor bigjoiner state readout

2024-01-08 Thread Stanislav Lisovskiy
Don't call enabled_bigjoiner_pipes twice, lets just move intel_get_bigjoiner_config earlier, because it is anyway calling same function. Also cleanup hsw_enabled_transcoders from irrelevant bigjoiner code. Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_display.c | 22

[PATCH 1/3] drm/i915: Add bigjoiner force enable option to debugfs

2024-01-08 Thread Stanislav Lisovskiy
i915_bigjoiner_enable_show (Ville Syrjälä) - Added eDP connector check to intel_connector_debugfs_add (Ville Syrjälä) - Removed debug message in order to prevent dmesg flooding (Ville Syrjälä) Signed-off-by: Stanislav Lisovskiy --- .../drm/i915/display/intel_display_debugfs.c

[PATCH 0/3] Bigjoiner refactoring

2024-01-08 Thread Stanislav Lisovskiy
logic. Stanislav Lisovskiy (3): drm/i915: Add bigjoiner force enable option to debugfs drm/i915/bigjoiner: Refactor bigjoiner state readout Start separating pipe vs transcoder set logic for bigjoiner during modeset drivers/gpu/drm/i915/display/intel_ddi.c | 3 +- drivers/gpu/drm

[Intel-gfx] [PATCH 3/3] drm/i915: Disable SAGV on bw init, to force QGV point recalculation

2023-12-01 Thread Stanislav Lisovskiy
after init. Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_bw.c | 25 - drivers/gpu/drm/i915/display/intel_bw.h | 2 ++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/display/intel_bw.c b/drivers/gpu/drm

[Intel-gfx] [PATCH 3/3] drm/i915: Disable SAGV on bw init, to force QGV point recalculation

2023-11-29 Thread Stanislav Lisovskiy
are available, driver will recalculate and update those then after next commit. v2: - Added trace to see which QGV/PSF GV point is used when SAGV is disabled. Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_bw.c | 23 ++- drivers/gpu/drm/i915

[Intel-gfx] [PATCH 3/3] drm/i915: Disable SAGV on bw init, to force QGV point recalculation

2023-11-28 Thread Stanislav Lisovskiy
are available, driver will recalculate and update those then after next commit. Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_bw.c | 20 +++- drivers/gpu/drm/i915/display/intel_bw.h | 1 + 2 files changed, 20 insertions(+), 1 deletion(-) diff --git

[Intel-gfx] [PATCH 1/3] drm/i915: Add meaningful traces for QGV point info error handling

2023-11-28 Thread Stanislav Lisovskiy
and adding those traces manually. Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_bw.c | 4 +++- drivers/gpu/drm/i915/soc/intel_dram.c | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/display/intel_bw.c b/drivers/gpu/drm/i915/display

[Intel-gfx] [PATCH 2/3] drm/i915: Extract code required to calculate max qgv/psf gv point

2023-11-28 Thread Stanislav Lisovskiy
SAGV, which might be actually causing some issues in that case. Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_bw.c | 82 - 1 file changed, 65 insertions(+), 17 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_bw.c b/drivers/gpu

[Intel-gfx] [PATCH 0/3] QGV/SAGV related fixes

2023-11-28 Thread Stanislav Lisovskiy
We have couple of customer issues, related to SAGV/QGV point calculation. Those patches contain fixes plus some additional debugs for those issues. Stanislav Lisovskiy (3): drm/i915: Add meaningful traces for QGV point info error handling drm/i915: Extract code required to calculate max qgv

[Intel-gfx] [PATCH] drm/i915: Add bigjoiner force enable option to debugfs

2023-11-16 Thread Stanislav Lisovskiy
i915_bigjoiner_enable_show (Ville Syrjälä) - Added eDP connector check to intel_connector_debugfs_add (Ville Syrjälä) - Removed debug message in order to prevent dmesg flooding (Ville Syrjälä) Signed-off-by: Stanislav Lisovskiy --- .../drm/i915/display/intel_display_debugfs.c

[Intel-gfx] [PATCH] drm/i915/adl: Initialize all GV points as restricted in bw_state

2023-10-24 Thread Stanislav Lisovskiy
-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_bw.c| 7 --- drivers/gpu/drm/i915/display/intel_bw.h| 1 + drivers/gpu/drm/i915/display/intel_modeset_setup.c | 13 + 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/drivers/gpu

[Intel-gfx] [PATCH] drm/i915: Add bigjoiner force enable option to debugfs

2023-10-18 Thread Stanislav Lisovskiy
the DISPLAY_VER. v3: - Switch to intel_connector from drm_connector(Jani Nikula) - Remove redundant modeset lock(Jani Nikula) - Use kstrtobool_from_user for boolean value(Jani Nikula) v4: - Apply the changes to proper function(Jani Nikula) Signed-off-by: Stanislav Lisovskiy

[Intel-gfx] [PATCH] drm/i915: Add bigjoiner force enable option to debugfs

2023-10-12 Thread Stanislav Lisovskiy
the DISPLAY_VER. v3: - Switch to intel_connector from drm_connector(Jani Nikula) - Remove redundant modeset lock(Jani Nikula) - Use kstrtobool_from_user for boolean value(Jani Nikula) Signed-off-by: Stanislav Lisovskiy --- .../drm/i915/display/intel_display_debugfs.c | 72

[Intel-gfx] [PATCH] drm/i915: Add bigjoiner force enable option to debugfs

2023-10-09 Thread Stanislav Lisovskiy
the DISPLAY_VER. Signed-off-by: Stanislav Lisovskiy --- .../drm/i915/display/intel_display_debugfs.c | 71 +++ .../drm/i915/display/intel_display_types.h| 2 + drivers/gpu/drm/i915/display/intel_dp.c | 6 +- 3 files changed, 78 insertions(+), 1 deletion(-) diff

[Intel-gfx] [PATCH] drm/i915: Add bigjoiner force enable option to debugfs

2023-10-06 Thread Stanislav Lisovskiy
For validation purposes, it might be useful to be able to force Bigjoiner mode, even if current dotclock/resolution do not require that. Lets add such to option to debugfs. Signed-off-by: Stanislav Lisovskiy --- .../drm/i915/display/intel_display_debugfs.c | 71 +++ .../drm

[Intel-gfx] [PATCH 2/2] drm/i915: Implement vblank synchronized MBUS join changes

2023-08-18 Thread Stanislav Lisovskiy
and dbox programming into to pre/post plane update parts, how it should be done according to BSpec. Signed-off-by: Stanislav Lisovskiy Tested-by: Khaled Almahallawy --- drivers/gpu/drm/i915/display/intel_display.c | 2 -- drivers/gpu/drm/i915/display/skl_watermark.c | 36 +++-

[Intel-gfx] [PATCH 1/2] drm/i915: Update mbus in intel_dbuf_mbus_update and do it properly

2023-08-18 Thread Stanislav Lisovskiy
display MBUS registers should be updated with correspondent values _before_ Dbuf reallocation happens, however if we are switching from single display to multiple then it should happen _after_ DDB reallocation(i.e plane programming). Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display

[Intel-gfx] [PATCH 0/2] Implement MBUS state changes according to spec

2023-08-18 Thread Stanislav Lisovskiy
MBUS join state needed to be changed, preventing fastset to be done in certain cases. This patch series attempts to fix that. Stanislav Lisovskiy (2): drm/i915: Update mbus in intel_dbuf_mbus_update and do it properly drm/i915: Implement vblank synchronized MBUS join changes drivers/gpu/drm

[Intel-gfx] [PATCH] drm/i915: Implement vblank synchronized MBUS join changes

2023-08-10 Thread Stanislav Lisovskiy
wait is needed after MBus/Dbuf programming in case if no modeset is done and we are switching from single to multiple displays, i.e mbus join state switches from "joined" to "non-joined" state. Otherwise vblank wait is not needed according to spec. Signed-off-by:

[Intel-gfx] [PATCH] drm/i915: Implement vblank synchronized MBUS join changes

2023-08-10 Thread Stanislav Lisovskiy
correspondent check and update at pre_plane dbuf update, so the only thing left is to have a non-modeset version of that. If active pipes stay the same then fastset is possible and only MBUS join state/ddb allocation updates would be committed. Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915

[Intel-gfx] [PATCH] drm/i915: Fix mistake in intel_modeset_all_pipes condition

2023-08-09 Thread Stanislav Lisovskiy
It is supposed to be "!intel_crtc_needs_modeset" - otherwise, we are active exactly vice versa for active pipes: skipping if modeset is needed and not skipping if not needed. Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_display.c | 2 +- 1 file changed, 1

[Intel-gfx] [PATCH] drm/i915: Start using plane scale factor for relative data rate

2023-07-19 Thread Stanislav Lisovskiy
fix it as described in BSpec 68907. Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_atomic_plane.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/display/intel_atomic_plane.c b/drivers/gpu/drm/i915/display

[Intel-gfx] [PATCH] drm/i915: Start using plane scale factor for relative data rate

2023-07-14 Thread Stanislav Lisovskiy
. Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_atomic_plane.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/display/intel_atomic_plane.c b/drivers/gpu/drm/i915/display/intel_atomic_plane.c index 7d9578ebae556

[Intel-gfx] [PATCH 0/2] Calculate CDCLK more properly when DSC is enabled

2023-07-04 Thread Stanislav Lisovskiy
-compressed case it can be usualy lower) However if we have 2 DSC engines CDCLK can be ~pixel clock / 2 and so on. Lets do the estimation more properly based on amount of VDSC engines used. That most likely is going to fix some FIFO underruns, we are currently having. Stanislav Lisovskiy (2): drm/i915

[Intel-gfx] [PATCH 2/2] drm/i915: Don't rely that 2 VDSC engines are always enough for pixel rate

2023-07-04 Thread Stanislav Lisovskiy
ump up CDCLK many times for similar reasons. v2: - Use new intel_dsc_get_num_vdsc_instances to determine number of VDSC engines, instead of slice count(Ankit Nautiyal) v3: - s/u8/int/ (Jani Nikula) Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_cdclk.

[Intel-gfx] [PATCH 1/2] drm/i915: Add helper function for getting number of VDSC engines

2023-07-04 Thread Stanislav Lisovskiy
VDSC code. v2: - s/u8/int/ (Jani Nikula) Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_vdsc.c | 15 +++ drivers/gpu/drm/i915/display/intel_vdsc.h | 1 + 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/i915/display

[Intel-gfx] [PATCH 2/2] drm/i915: Don't rely that 2 VDSC engines are always enough for pixel rate

2023-07-04 Thread Stanislav Lisovskiy
ump up CDCLK many times for similar reasons. v2: - Use new intel_dsc_get_num_vdsc_instances to determine number of VDSC engines, instead of slice count(Ankit Nautiyal) Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_cdclk.c | 13 +++-- 1 file chang

[Intel-gfx] [PATCH 0/2] Calculate CDCLK more properly when DSC is enabled

2023-07-04 Thread Stanislav Lisovskiy
-compressed case it can be usualy lower) However if we have 2 DSC engines CDCLK can be ~pixel clock / 2 and so on. Lets do the estimation more properly based on amount of VDSC engines used. That most likely is going to fix some FIFO underruns, we are currently having. Stanislav Lisovskiy (2): drm/i915

[Intel-gfx] [PATCH 1/2] drm/i915: Add helper function for getting number of VDSC engines

2023-07-04 Thread Stanislav Lisovskiy
VDSC code. Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_vdsc.c | 15 +++ drivers/gpu/drm/i915/display/intel_vdsc.h | 1 + 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_vdsc.c b/drivers/gpu/drm/i915

[Intel-gfx] [PATCH] drm/i915: Fail if DSC compression requirement is less than platform supports

2023-06-29 Thread Stanislav Lisovskiy
-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_dp.c | 13 +++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c index 9f40da20e88d..03675620e3ea 100644 --- a/drivers/gpu/drm/i915

[Intel-gfx] [PATCH] drm/i915: Don't preserve dpll_hw_state for slave crtc in Bigjoiner

2023-06-28 Thread Stanislav Lisovskiy
If we are using Bigjoiner dpll_hw_state is supposed to be exactly same as for master crtc, so no need to save it's state for slave crtc. Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_display.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/gpu/drm/i915

[Intel-gfx] [PATCH] drm/i915: Don't rely that 2 VDSC engines are always enough for pixel rate

2023-06-28 Thread Stanislav Lisovskiy
ump up CDCLK many times for similar reasons. Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_cdclk.c | 9 +++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c

[Intel-gfx] [PATCH] drm/i915: Fail if DSC compression requirement is less than platform supports

2023-06-26 Thread Stanislav Lisovskiy
save some bandwidth, choosing higher compressed bpp than min bpp required to handle the required mode config, can cause issues. So in that case lets just conclude that even with DSC, we are not able to comply with bandwidth requirements and fail. Signed-off-by: Stanislav Lisovskiy --- drivers/gpu

[Intel-gfx] [PATCH] drm/i915/mst: Make sure all resources are freed for MST topology manager before destroy

2023-06-07 Thread Stanislav Lisovskiy
. Signed-off-by: Stanislav Lisovskiy --- drivers/gpu/drm/i915/display/intel_dp_mst.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c index 3ba4a2fef98a..9c587b40cf42 100644 --- a/drivers/gpu/drm/i915

  1   2   3   4   5   6   7   8   >