mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-24 02:01:36 +03:00
serializer: mask branch sink count change events
When ruining a few hundred loops of link training between the SOC and the serializer, we are seeing unexpected HPD_IRQ being triggered by the MAX96745/96851 serializers due to "Branch sink count change" event. Till we figure out why this is happening, disable this interrupt source. Bug 3676822 Change-Id: Id56ff7d324b9a51f5468afb2d74df7856040056d Signed-off-by: Yogish Kulkarni <yogishk@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2758859 Reviewed-by: Shu Zhong <shuz@nvidia.com> Reviewed-by: svcacv <svcacv@nvidia.com> Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com> Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com> GVS: Gerrit_Virtual_Submit
This commit is contained in:
committed by
Laxman Dewangan
parent
90579e82d5
commit
9d71b422fc
@@ -87,6 +87,10 @@
|
||||
#define MAX_GMSL_DP_SER_MISC_CONFIG_B1 0x7019
|
||||
#define MAX_GMSL_DP_SER_MISC_CONFIG_B1_MASK (1 << 0)
|
||||
#define MAX_GMSL_DP_SER_MISC_CONFIG_B1_VAL 0x1
|
||||
|
||||
#define MAX_GMSL_DP_SER_HPD_INTERRUPT_MASK 0x702D
|
||||
#define MAX_GMSL_DP_SER_HPD_BRANCH_SINK_COUNT_CHANGE_INTERRUPT_DISABLE_VAL 0x20
|
||||
|
||||
#define MAX_GMSL_DP_SER_MAX_LINK_COUNT 0x7070
|
||||
#define MAX_GMSL_DP_SER_MAX_LINK_RATE 0x7074
|
||||
|
||||
@@ -227,6 +231,16 @@ static void max_gmsl_dp_ser_setup(struct max_gmsl_dp_ser_priv *priv)
|
||||
MAX_GMSL_DP_SER_VID_TX_U,
|
||||
};
|
||||
|
||||
/*
|
||||
* WAR: When ruining a few hundred loops of link training between the
|
||||
* SOC and the serializer, we are seeing unexpected HPD_IRQ being
|
||||
* triggered by the MAX96745/96851 serializers due to "Branch sink count
|
||||
* change" event. Till we figure out why this is happening, disable this
|
||||
* interrupt source.
|
||||
*/
|
||||
max_gmsl_dp_ser_write(priv, MAX_GMSL_DP_SER_HPD_INTERRUPT_MASK,
|
||||
MAX_GMSL_DP_SER_HPD_BRANCH_SINK_COUNT_CHANGE_INTERRUPT_DISABLE_VAL);
|
||||
|
||||
max_gmsl_dp_ser_write(priv, MAX_GMSL_DP_SER_PHY_EDP_0_CTRL0_B0, 0x0f);
|
||||
max_gmsl_dp_ser_write(priv, MAX_GMSL_DP_SER_PHY_EDP_0_CTRL0_B1, 0x0f);
|
||||
max_gmsl_dp_ser_write(priv, MAX_GMSL_DP_SER_PHY_EDP_1_CTRL0_B0, 0x0f);
|
||||
|
||||
Reference in New Issue
Block a user