lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <053819bd-b3c4-a72c-9316-85d974082ad6@linaro.org>
Date:   Fri, 12 May 2023 21:13:04 +0300
From:   Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
To:     Abhinav Kumar <quic_abhinavk@...cinc.com>,
        freedreno@...ts.freedesktop.org, Rob Clark <robdclark@...il.com>,
        Sean Paul <sean@...rly.run>, David Airlie <airlied@...il.com>,
        Daniel Vetter <daniel@...ll.ch>
Cc:     dri-devel@...ts.freedesktop.org, quic_jesszhan@...cinc.com,
        swboyd@...omium.org, dianders@...omium.org,
        linux-arm-msm@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] drm/msm/dp: add module parameter for PSR

On 28/04/2023 02:28, Abhinav Kumar wrote:
> On sc7280 where eDP is the primary display, PSR is causing
> IGT breakage even for basic test cases like kms_atomic and
> kms_atomic_transition. Most often the issue starts with below
> stack so providing that as reference
> 
> Call trace:
>   dpu_encoder_assign_crtc+0x64/0x6c
>   dpu_crtc_enable+0x188/0x204
>   drm_atomic_helper_commit_modeset_enables+0xc0/0x274
>   msm_atomic_commit_tail+0x1a8/0x68c
>   commit_tail+0xb0/0x160
>   drm_atomic_helper_commit+0x11c/0x124
>   drm_atomic_commit+0xb0/0xdc
>   drm_atomic_connector_commit_dpms+0xf4/0x110
>   drm_mode_obj_set_property_ioctl+0x16c/0x3b0
>   drm_connector_property_set_ioctl+0x4c/0x74
>   drm_ioctl_kernel+0xec/0x15c
>   drm_ioctl+0x264/0x408
>   __arm64_sys_ioctl+0x9c/0xd4
>   invoke_syscall+0x4c/0x110
>   el0_svc_common+0x94/0xfc
>   do_el0_svc+0x3c/0xb0
>   el0_svc+0x2c/0x7c
>   el0t_64_sync_handler+0x48/0x114
>   el0t_64_sync+0x190/0x194
> ---[ end trace 0000000000000000 ]---
> [drm-dp] dp_ctrl_push_idle: PUSH_IDLE pattern timedout
> 
> Other basic use-cases still seem to work fine hence add a
> a module parameter to allow toggling psr enable/disable till
> PSR related issues are hashed out with IGT.

For the reference: Bjorn reported that he has issues with VT on a 
PSR-enabled laptops. This patch fixes the issue for him

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>

> 
> Signed-off-by: Abhinav Kumar <quic_abhinavk@...cinc.com>
> ---
>   drivers/gpu/drm/msm/dp/dp_display.c | 6 +++++-
>   1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c
> index 628b0e248db6..dba43167de66 100644
> --- a/drivers/gpu/drm/msm/dp/dp_display.c
> +++ b/drivers/gpu/drm/msm/dp/dp_display.c
> @@ -28,6 +28,10 @@
>   #include "dp_audio.h"
>   #include "dp_debug.h"
>   
> +static bool psr_enabled = false;
> +module_param(psr_enabled, bool, 0);
> +MODULE_PARM_DESC(psr_enabled, "enable PSR for eDP and DP displays");
> +
>   #define HPD_STRING_SIZE 30
>   
>   enum {
> @@ -407,7 +411,7 @@ static int dp_display_process_hpd_high(struct dp_display_private *dp)
>   
>   	edid = dp->panel->edid;
>   
> -	dp->dp_display.psr_supported = dp->panel->psr_cap.version;
> +	dp->dp_display.psr_supported = dp->panel->psr_cap.version && psr_enabled;
>   
>   	dp->audio_supported = drm_detect_monitor_audio(edid);
>   	dp_panel_handle_sink_request(dp->panel);

-- 
With best wishes
Dmitry

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ