Skip to contentSkip to conversation

driver: net: fsl-mc: remove MC firmware version check

PATCH New Stuart Yoder 3 participants 5 messages Dec 3, 2015 – Dec 16, 2015 Network drivers

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 driver: net: fsl-mc: remove MC firmware version check

The MC version numbers provide no meaningful information about binary interface compatibility, so remove the check which refuses to start the MC unless a specific version is found.

Version checking is supposed to be done at the individual object level, and individual drivers are responsible for their own version checking.

---
 drivers/net/fsl-mc/mc.c | 13 -------------
 1 file changed, 13 deletions(-)
drivers/net/fsl-mc/mc.c +0 -13
index e1a02d1..bac4610 100644
@@ -541,19 +541,6 @@ int mc_init(u64 mc_fw_addr, u64 mc_dpc_addr)
 		goto out;
 	}
 
-	if (MC_VER_MAJOR != mc_ver_info.major) {
-		printf("fsl-mc: ERROR: Firmware major version mismatch (found: %d, expected: %d)\n",
-		       mc_ver_info.major, MC_VER_MAJOR);
-		printf("fsl-mc: Update the Management Complex firmware\n");
-
-		error = -ENODEV;
-		goto out;
-	}
-
-	if (MC_VER_MINOR != mc_ver_info.minor)
-		printf("fsl-mc: WARNING: Firmware minor version mismatch (found: %d, expected: %d)\n",
-		       mc_ver_info.minor, MC_VER_MINOR);
-
 	printf("fsl-mc: Management Complex booted (version: %d.%d.%d, boot status: %#x)\n",
 	       mc_ver_info.major, mc_ver_info.minor, mc_ver_info.revision,
 	       reg_gsr & GSR_FS_MASK);
Signature · 1 line
2.3.3
#1 lore raw

PATCH 1/1 driver: net: fsl-mc: remove MC firmware version check

Prabhakar,

Quoted 29 lines · Stuart Yoder

The MC version numbers provide no meaningful information about binary interface compatibility, so remove the check which refuses to start the MC unless a specific version is found.

Version checking is supposed to be done at the individual object level, and individual drivers are responsible for their own version checking.

---
 drivers/net/fsl-mc/mc.c | 13 -------------
 1 file changed, 13 deletions(-)
drivers/net/fsl-mc/mc.c +0 -6
index e1a02d1..bac4610 100644
@@ -541,19 +541,6 @@ int mc_init(u64 mc_fw_addr, u64 mc_dpc_addr)
 		goto out;
 	}
 
-	if (MC_VER_MAJOR != mc_ver_info.major) {
-		printf("fsl-mc: ERROR: Firmware major version mismatch (found: %d, expected: %d)\n",
-		       mc_ver_info.major, MC_VER_MAJOR);
-		printf("fsl-mc: Update the Management Complex firmware\n");
-
-		error = -ENODEV;

drivers/net/fsl-mc/mc.c int mc_init(u64 mc_fw_addr, u64 mc_dpc_addr) · line 546

Quoted 10 lines
drivers/net/fsl-mc/mc.c +0 -7
-		goto out;
-	}
-
-	if (MC_VER_MINOR != mc_ver_info.minor)
-		printf("fsl-mc: WARNING: Firmware minor version mismatch (found: %d, expected: %d)\n",
-		       mc_ver_info.minor, MC_VER_MINOR);
-
 	printf("fsl-mc: Management Complex booted (version: %d.%d.%d, boot status: %#x)\n",
 	       mc_ver_info.major, mc_ver_info.minor, mc_ver_info.revision,
 	       reg_gsr & GSR_FS_MASK);

Are you OK with this change?

York

#2 lore raw

PATCH 1/1 driver: net: fsl-mc: remove MC firmware version check

HI Stuart

Quoted 50 lines

-----Original Message-----
From: York Sun [mailto:yorksun at freescale.com]
Sent: Saturday, December 05, 2015 1:35 AM
To: Yoder Stuart-B08248 <[email protected]>; Kushwaha Prabhakar-B32579 <[email protected]>
Cc: u-boot at lists.denx.de
Subject: Re: [PATCH] driver: net: fsl-mc: remove MC firmware version check

Prabhakar,

Quoted 18 lines · Stuart Yoder

The MC version numbers provide no meaningful information about binary interface compatibility, so remove the check which refuses to start the MC unless a specific version is found.

Version checking is supposed to be done at the individual object level, and individual drivers are responsible for their own version checking.

---
 drivers/net/fsl-mc/mc.c | 13 -------------
 1 file changed, 13 deletions(-)
drivers/net/fsl-mc/mc.c index renamed from drivers/net/fsl-mc/mc.c +0 -0

e1a02d1..bac4610 100644

drivers/net/fsl-mc/mc.c int mc_init(u64 mc_fw_addr, u64 mc_dpc_addr) · line 545

Quoted 5 lines
drivers/net/fsl-mc/mc.c +0 -2
@@ -541,19 +541,6 @@ int mc_init(u64 mc_fw_addr, u64 mc_dpc_addr)
 		goto out;
 	}
 
-	if (MC_VER_MAJOR != mc_ver_info.major) {
-		printf("fsl-mc: ERROR: Firmware major version mismatch

(found: %d, expected: %d)\n",

drivers/net/fsl-mc/mc.c int mc_init(u64 mc_fw_addr, u64 mc_dpc_addr) · line 547

Quoted 2 lines
drivers/net/fsl-mc/mc.c +0 -2
-		       mc_ver_info.major, MC_VER_MAJOR);
-		printf("fsl-mc: Update the Management Complex

firmware\n");

drivers/net/fsl-mc/mc.c int mc_init(u64 mc_fw_addr, u64 mc_dpc_addr)

Quoted 7 lines
drivers/net/fsl-mc/mc.c +0 -7
-
-		error = -ENODEV;
-		goto out;
-	}
-
-	if (MC_VER_MINOR != mc_ver_info.minor)
-		printf("fsl-mc: WARNING: Firmware minor version mismatch

(found: %d, expected: %d)\n",

drivers/net/fsl-mc/mc.c int mc_init(u64 mc_fw_addr, u64 mc_dpc_addr)

Quoted 3 lines
drivers/net/fsl-mc/mc.c +0 -2
-		       mc_ver_info.minor, MC_VER_MINOR);
-
 	printf("fsl-mc: Management Complex booted (version: %d.%d.%d,

boot status: %#x)\n",

Quoted 5 lines

drivers/net/fsl-mc/mc.c int mc_init(u64 mc_fw_addr, u64 mc_dpc_addr) · line 546

Quoted 3 lines
drivers/net/fsl-mc/mc.c +0 -0
 	       mc_ver_info.major, mc_ver_info.minor, mc_ver_info.revision,
 	       reg_gsr & GSR_FS_MASK);

Are you OK with this change?

As per my understanding, version of individual components are fix in a major MC release. Are you saying, there is possibility of object version change in a minor MC release?

--Prabhakar

#3 lore raw

PATCH 1/1 driver: net: fsl-mc: remove MC firmware version check

In reply to York Sun

Hi York,

Quoted 50 lines

-----Original Message-----
From: York Sun [mailto:yorksun at freescale.com]
Sent: Saturday, December 05, 2015 1:35 AM
To: Yoder Stuart-B08248 <[email protected]>; Kushwaha Prabhakar-B32579 <[email protected]>
Cc: u-boot at lists.denx.de
Subject: Re: [PATCH] driver: net: fsl-mc: remove MC firmware version check

Prabhakar,

Quoted 18 lines · Stuart Yoder

The MC version numbers provide no meaningful information about binary interface compatibility, so remove the check which refuses to start the MC unless a specific version is found.

Version checking is supposed to be done at the individual object level, and individual drivers are responsible for their own version checking.

---
 drivers/net/fsl-mc/mc.c | 13 -------------
 1 file changed, 13 deletions(-)
drivers/net/fsl-mc/mc.c index renamed from drivers/net/fsl-mc/mc.c +0 -0

e1a02d1..bac4610 100644

drivers/net/fsl-mc/mc.c int mc_init(u64 mc_fw_addr, u64 mc_dpc_addr) · line 545

Quoted 5 lines
drivers/net/fsl-mc/mc.c +0 -2
@@ -541,19 +541,6 @@ int mc_init(u64 mc_fw_addr, u64 mc_dpc_addr)
 		goto out;
 	}
 
-	if (MC_VER_MAJOR != mc_ver_info.major) {
-		printf("fsl-mc: ERROR: Firmware major version mismatch

(found: %d, expected: %d)\n",

drivers/net/fsl-mc/mc.c int mc_init(u64 mc_fw_addr, u64 mc_dpc_addr) · line 547

Quoted 2 lines
drivers/net/fsl-mc/mc.c +0 -2
-		       mc_ver_info.major, MC_VER_MAJOR);
-		printf("fsl-mc: Update the Management Complex

firmware\n");

drivers/net/fsl-mc/mc.c int mc_init(u64 mc_fw_addr, u64 mc_dpc_addr)

Quoted 7 lines
drivers/net/fsl-mc/mc.c +0 -7
-
-		error = -ENODEV;
-		goto out;
-	}
-
-	if (MC_VER_MINOR != mc_ver_info.minor)
-		printf("fsl-mc: WARNING: Firmware minor version mismatch

(found: %d, expected: %d)\n",

drivers/net/fsl-mc/mc.c int mc_init(u64 mc_fw_addr, u64 mc_dpc_addr)

Quoted 3 lines
drivers/net/fsl-mc/mc.c +0 -2
-		       mc_ver_info.minor, MC_VER_MINOR);
-
 	printf("fsl-mc: Management Complex booted (version: %d.%d.%d,

boot status: %#x)\n",

Quoted 5 lines

drivers/net/fsl-mc/mc.c int mc_init(u64 mc_fw_addr, u64 mc_dpc_addr) · line 546

Quoted 3 lines
drivers/net/fsl-mc/mc.c +0 -0
 	       mc_ver_info.major, mc_ver_info.minor, mc_ver_info.revision,
 	       reg_gsr & GSR_FS_MASK);

Are you OK with this change?

I had a discussion with Stuart and got answer of all my concern.

I am OK with this patch.

--prabhakar

#4 lore raw

PATCH 1/1 driver: net: fsl-mc: remove MC firmware version check

In reply to Stuart Yoder
Quoted 5 lines · Stuart Yoder

The MC version numbers provide no meaningful information about binary interface compatibility, so remove the check which refuses to start the MC unless a specific version is found.

Quoted 9 lines

Version checking is supposed to be done at the individual object level, and individual drivers are responsible for their own version checking.

---
 drivers/net/fsl-mc/mc.c | 13 -------------
 1 file changed, 13 deletions(-)

Applied to u-boot-fsl-qoriq master. Awaiting upstream.

York