nvethernet: don't disable clks in hypervisor mode

Issue: HV will program the ASID registers. This register programming
will not go through if clks are disabled on interface down.

Fix: Don't disable clks in hypervisor mode while performing the
ethernet interface down.

Bug 3580629

Change-Id: I2f84cea9348ecf83d44352ebae19fcc29896913e
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2686127
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com>
Reviewed-by: Narayan Reddy <narayanr@nvidia.com>
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com>
This commit is contained in:
Bhadram Varka
2022-03-24 05:21:55 +05:30
committed by Revanth Kumar Uppala
parent fb00a33686
commit e1f730c060

View File

@@ -428,7 +428,8 @@ static void ether_disable_eqos_clks(struct ether_priv_data *pdata)
*/
static void ether_disable_clks(struct ether_priv_data *pdata)
{
if (pdata->osi_core->use_virtualization == OSI_DISABLE) {
if (pdata->osi_core->use_virtualization == OSI_DISABLE &&
!is_tegra_hypervisor_mode()) {
if (pdata->osi_core->mac == OSI_MAC_HW_MGBE) {
ether_disable_mgbe_clks(pdata);
} else {