Commit c9011b02 authored by Radhey Shyam Pandey's avatar Radhey Shyam Pandey Committed by Jakub Kicinski
Browse files

net: macb: Perform zynqmp dynamic configuration only for SGMII interface



In zynqmp platforms where firmware supports dynamic SGMII configuration
but has other non-SGMII ethernet devices, it fails them with no packets
received at the RX interface.

To fix this behaviour perform SGMII dynamic configuration only
for the SGMII phy interface.

Fixes: 32cee781 ("net: macb: Add zynqmp SGMII dynamic configuration support")
Signed-off-by: default avatarRadhey Shyam Pandey <radhey.shyam.pandey@amd.com>
Reviewed-by: default avatarJiri Pirko <jiri@nvidia.com>
Reported-by: default avatarMichal Simek <michal.simek@amd.com>
Tested-by: default avatarMichal Simek <michal.simek@amd.com>
Reviewed-by: default avatarClaudiu Beznea <claudiu.beznea@microchip.com>
Link: https://lore.kernel.org/r/1675340779-27499-1-git-send-email-radhey.shyam.pandey@amd.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent cbe83191
Loading
Loading
Loading
Loading
+16 −15
Original line number Diff line number Diff line
@@ -4627,7 +4627,6 @@ static int init_reset_optional(struct platform_device *pdev)
		if (ret)
			return dev_err_probe(&pdev->dev, ret,
					     "failed to init SGMII PHY\n");
	}

		ret = zynqmp_pm_is_function_supported(PM_IOCTL, IOCTL_SET_GEM_CONFIG);
		if (!ret) {
@@ -4648,6 +4647,8 @@ static int init_reset_optional(struct platform_device *pdev)
				goto err_out_phy_exit;
		}

	}

	/* Fully reset controller at hardware level if mapped in device tree */
	ret = device_reset_optional(&pdev->dev);
	if (ret) {