From: Suraj Kandpal Date: Thu, 22 Jan 2026 04:48:58 +0000 (+0530) Subject: drm/i915/cx0: Clear response ready & error bit X-Git-Tag: v7.1-rc1~167^2~24^2~215 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=f86bed1bc93111a0308bc4d0335ee68d6fc9a1f4;p=thirdparty%2Flinux.git drm/i915/cx0: Clear response ready & error bit Clear the response ready and error bit of PORT_P2M_MESSAGE_BUS_STATUS before writing the transaction pending bit of PORT_M2P_MSGBUS_CTL as that is a hard requirement. If not done we find that the PHY hangs since it ends up in a weird state if left idle for more than 1 hour. Bspec: 65101 Signed-off-by: Suraj Kandpal Reviewed-by: Gustavo Sousa Reviewed-by: MichaƂ Grzelak Link: https://patch.msgid.link/20260122044859.753682-1-suraj.kandpal@intel.com --- diff --git a/drivers/gpu/drm/i915/display/intel_cx0_phy.c b/drivers/gpu/drm/i915/display/intel_cx0_phy.c index 4f56a370102d0..ff74f64eb970e 100644 --- a/drivers/gpu/drm/i915/display/intel_cx0_phy.c +++ b/drivers/gpu/drm/i915/display/intel_cx0_phy.c @@ -223,6 +223,8 @@ static int __intel_cx0_read_once(struct intel_encoder *encoder, return -ETIMEDOUT; } + intel_clear_response_ready_flag(encoder, lane); + intel_de_write(display, XELPDP_PORT_M2P_MSGBUS_CTL(display, port, lane), XELPDP_PORT_M2P_TRANSACTION_PENDING | XELPDP_PORT_M2P_COMMAND_READ | @@ -294,6 +296,8 @@ static int __intel_cx0_write_once(struct intel_encoder *encoder, return -ETIMEDOUT; } + intel_clear_response_ready_flag(encoder, lane); + intel_de_write(display, XELPDP_PORT_M2P_MSGBUS_CTL(display, port, lane), XELPDP_PORT_M2P_TRANSACTION_PENDING | (committed ? XELPDP_PORT_M2P_COMMAND_WRITE_COMMITTED :