mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-25 02:32:08 +03:00
tegra: dc: max_ser: configure HPD_IRQ
This change enables HPD_IRQ event of maxim serializer only for "Loss of Training" and "Register control" events. It masks other events to avoid unexpected HPD_IRQ events. JIRA TDS-10786 Change-Id: I1c52d99f476bcf5dd9f31d00ab32f8953aec0333 Signed-off-by: Prafull Suryawanshi <prafulls@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2829291 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> Reviewed-by: Shu Zhong <shuz@nvidia.com> GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
committed by
Laxman Dewangan
parent
b46348e227
commit
f452a0d7c6
@@ -88,8 +88,8 @@
|
||||
#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_HPD_INTERRUPT_MASK 0x702D
|
||||
#define MAX_GMSL_DP_SER_HPD_INTERRUPT_VAL 0x7C
|
||||
|
||||
#define MAX_GMSL_DP_SER_MAX_LINK_COUNT 0x7070
|
||||
#define MAX_GMSL_DP_SER_MAX_LINK_RATE 0x7074
|
||||
@@ -229,14 +229,11 @@ static void max_gmsl_dp_ser_setup(struct max_gmsl_dp_ser_priv *priv)
|
||||
};
|
||||
|
||||
/*
|
||||
* 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.
|
||||
* Just enable "Loss of Training" and "Register control" events.
|
||||
* Mask rest of event which can trigger HPD_IRQ.
|
||||
*/
|
||||
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_HPD_INTERRUPT_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);
|
||||
|
||||
Reference in New Issue
Block a user