diff mbox

[U-Boot,1/1] driver: net: fsl-mc: fsl_mc_ldpaa_exit exit earlier if dpl applied

Message ID 1498715375-9163-1-git-send-email-santan.kumar@nxp.com
State Accepted
Commit 06651b9456d92847cbf4e93b22b020065820bc99
Delegated to: York Sun
Headers show

Commit Message

Santan Kumar June 29, 2017, 5:49 a.m. UTC
In fsl_mc_ldpaa_exit(), in case of mc is booted and
dpl is applied, it should return earlier without executing
dpbp_exit()

Signed-off-by: Santan Kumar <santan.kumar@nxp.com>
---
This piece of code is mistakenly removed in below patch.
 https://patchwork.ozlabs.org/patch/756038/

 drivers/net/fsl-mc/mc.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

Comments

York Sun Aug. 7, 2017, 9:12 p.m. UTC | #1
On 06/28/2017 10:47 PM, Santan Kumar wrote:
> In fsl_mc_ldpaa_exit(), in case of mc is booted and
> dpl is applied, it should return earlier without executing
> dpbp_exit()
> 
> Signed-off-by: Santan Kumar <santan.kumar@nxp.com>
> ---
> This piece of code is mistakenly removed in below patch.
>   https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatchwork.ozlabs.org%2Fpatch%2F756038%2F&data=01%7C01%7Cyork.sun%40nxp.com%7C67ffe48248b14183512708d4beb2434e%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0&sdata=PvzNEpCqJ8MOLT9vRSNuNLTeH9hjxLxQi97ngEkrXf0%3D&reserved=0
> 
>   drivers/net/fsl-mc/mc.c | 11 +++++++++--
>   1 file changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/fsl-mc/mc.c b/drivers/net/fsl-mc/mc.c
> index 8bf25c7..3a30c03 100644
> --- a/drivers/net/fsl-mc/mc.c
> +++ b/drivers/net/fsl-mc/mc.c
> @@ -1336,14 +1336,18 @@ int fsl_mc_ldpaa_exit(bd_t *bd)
>   {
>   	int err = 0;
>   	bool is_dpl_apply_status = false;
> +	bool mc_boot_status = false;
>   
>   	if (bd && mc_lazy_dpl_addr && !fsl_mc_ldpaa_exit(NULL)) {
>   		mc_apply_dpl(mc_lazy_dpl_addr);
>   		mc_lazy_dpl_addr = 0;
>   	}
>   
> +	if (!get_mc_boot_status())
> +		mc_boot_status = true;
> +
>   	/* MC is not loaded intentionally, So return success. */
> -	if (bd && get_mc_boot_status() != 0)
> +	if (bd && !mc_boot_status)
>   		return 0;
>   
>   	/* If DPL is deployed, set is_dpl_apply_status as TRUE. */
> @@ -1354,11 +1358,14 @@ int fsl_mc_ldpaa_exit(bd_t *bd)
>   	 * For case MC is loaded but DPL is not deployed, return success and
>   	 * print message on console. Else FDT fix-up code execution hanged.
>   	 */
> -	if (bd && !get_mc_boot_status() && !is_dpl_apply_status) {
> +	if (bd && mc_boot_status && !is_dpl_apply_status) {
>   		printf("fsl-mc: DPL not deployed, DPAA2 ethernet not work\n");
>   		return 0;
>   	}
>   
> +	if (bd && mc_boot_status && is_dpl_apply_status)
> +		return 0;
> +
>   	err = dpbp_exit();
>   	if (err < 0) {
>   		printf("dpbp_exit() failed: %d\n", err);
> 

Yogesh and Priyanka,

Please review this patch. Thanks.

York
Priyanka Jain Aug. 8, 2017, 4:49 a.m. UTC | #2
Ack-ed

--Priyanka

> -----Original Message-----
> From: York Sun
> Sent: Tuesday, August 08, 2017 2:43 AM
> To: Yogesh Narayan Gaur <yogeshnarayan.gaur@nxp.com>; Priyanka Jain
> <priyanka.jain@nxp.com>
> Cc: Santan Kumar <santan.kumar@nxp.com>; u-boot@lists.denx.de; Prabhakar
> Kushwaha <prabhakar.kushwaha@nxp.com>
> Subject: Re: [PATCH 1/1] driver: net: fsl-mc: fsl_mc_ldpaa_exit exit earlier if dpl
> applied
> 
> On 06/28/2017 10:47 PM, Santan Kumar wrote:
> > In fsl_mc_ldpaa_exit(), in case of mc is booted and dpl is applied, it
> > should return earlier without executing
> > dpbp_exit()
> >
> > Signed-off-by: Santan Kumar <santan.kumar@nxp.com>
> > ---
> > This piece of code is mistakenly removed in below patch.
> >
> > https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpat
> >
> chwork.ozlabs.org%2Fpatch%2F756038%2F&data=01%7C01%7Cyork.sun%40nx
> p.co
> >
> m%7C67ffe48248b14183512708d4beb2434e%7C686ea1d3bc2b4c6fa92cd99c5c
> 30163
> >
> 5%7C0&sdata=PvzNEpCqJ8MOLT9vRSNuNLTeH9hjxLxQi97ngEkrXf0%3D&reserv
> ed=0
> >
> >   drivers/net/fsl-mc/mc.c | 11 +++++++++--
> >   1 file changed, 9 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/net/fsl-mc/mc.c b/drivers/net/fsl-mc/mc.c index
> > 8bf25c7..3a30c03 100644
> > --- a/drivers/net/fsl-mc/mc.c
> > +++ b/drivers/net/fsl-mc/mc.c
> > @@ -1336,14 +1336,18 @@ int fsl_mc_ldpaa_exit(bd_t *bd)
> >   {
> >   	int err = 0;
> >   	bool is_dpl_apply_status = false;
> > +	bool mc_boot_status = false;
> >
> >   	if (bd && mc_lazy_dpl_addr && !fsl_mc_ldpaa_exit(NULL)) {
> >   		mc_apply_dpl(mc_lazy_dpl_addr);
> >   		mc_lazy_dpl_addr = 0;
> >   	}
> >
> > +	if (!get_mc_boot_status())
> > +		mc_boot_status = true;
> > +
> >   	/* MC is not loaded intentionally, So return success. */
> > -	if (bd && get_mc_boot_status() != 0)
> > +	if (bd && !mc_boot_status)
> >   		return 0;
> >
> >   	/* If DPL is deployed, set is_dpl_apply_status as TRUE. */ @@
> > -1354,11 +1358,14 @@ int fsl_mc_ldpaa_exit(bd_t *bd)
> >   	 * For case MC is loaded but DPL is not deployed, return success and
> >   	 * print message on console. Else FDT fix-up code execution hanged.
> >   	 */
> > -	if (bd && !get_mc_boot_status() && !is_dpl_apply_status) {
> > +	if (bd && mc_boot_status && !is_dpl_apply_status) {
> >   		printf("fsl-mc: DPL not deployed, DPAA2 ethernet not work\n");
> >   		return 0;
> >   	}
> >
> > +	if (bd && mc_boot_status && is_dpl_apply_status)
> > +		return 0;
> > +
> >   	err = dpbp_exit();
> >   	if (err < 0) {
> >   		printf("dpbp_exit() failed: %d\n", err);
> >
> 
> Yogesh and Priyanka,
> 
> Please review this patch. Thanks.
> 
> York
Yogesh Narayan Gaur Aug. 8, 2017, 4:51 a.m. UTC | #3
Ack-ed

--
Yogesh Gaur

> -----Original Message-----
> From: York Sun
> Sent: Tuesday, August 08, 2017 2:43 AM
> To: Yogesh Narayan Gaur <yogeshnarayan.gaur@nxp.com>; Priyanka Jain
> <priyanka.jain@nxp.com>
> Cc: Santan Kumar <santan.kumar@nxp.com>; u-boot@lists.denx.de; Prabhakar
> Kushwaha <prabhakar.kushwaha@nxp.com>
> Subject: Re: [PATCH 1/1] driver: net: fsl-mc: fsl_mc_ldpaa_exit exit earlier if dpl
> applied
> 
> On 06/28/2017 10:47 PM, Santan Kumar wrote:
> > In fsl_mc_ldpaa_exit(), in case of mc is booted and dpl is applied, it
> > should return earlier without executing
> > dpbp_exit()
> >
> > Signed-off-by: Santan Kumar <santan.kumar@nxp.com>
> > ---
> > This piece of code is mistakenly removed in below patch.
> >
> > https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpat
> >
> chwork.ozlabs.org%2Fpatch%2F756038%2F&data=01%7C01%7Cyork.sun%40nx
> p.co
> >
> m%7C67ffe48248b14183512708d4beb2434e%7C686ea1d3bc2b4c6fa92cd99c5c
> 30163
> >
> 5%7C0&sdata=PvzNEpCqJ8MOLT9vRSNuNLTeH9hjxLxQi97ngEkrXf0%3D&reserv
> ed=0
> >
> >   drivers/net/fsl-mc/mc.c | 11 +++++++++--
> >   1 file changed, 9 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/net/fsl-mc/mc.c b/drivers/net/fsl-mc/mc.c index
> > 8bf25c7..3a30c03 100644
> > --- a/drivers/net/fsl-mc/mc.c
> > +++ b/drivers/net/fsl-mc/mc.c
> > @@ -1336,14 +1336,18 @@ int fsl_mc_ldpaa_exit(bd_t *bd)
> >   {
> >   	int err = 0;
> >   	bool is_dpl_apply_status = false;
> > +	bool mc_boot_status = false;
> >
> >   	if (bd && mc_lazy_dpl_addr && !fsl_mc_ldpaa_exit(NULL)) {
> >   		mc_apply_dpl(mc_lazy_dpl_addr);
> >   		mc_lazy_dpl_addr = 0;
> >   	}
> >
> > +	if (!get_mc_boot_status())
> > +		mc_boot_status = true;
> > +
> >   	/* MC is not loaded intentionally, So return success. */
> > -	if (bd && get_mc_boot_status() != 0)
> > +	if (bd && !mc_boot_status)
> >   		return 0;
> >
> >   	/* If DPL is deployed, set is_dpl_apply_status as TRUE. */ @@
> > -1354,11 +1358,14 @@ int fsl_mc_ldpaa_exit(bd_t *bd)
> >   	 * For case MC is loaded but DPL is not deployed, return success and
> >   	 * print message on console. Else FDT fix-up code execution hanged.
> >   	 */
> > -	if (bd && !get_mc_boot_status() && !is_dpl_apply_status) {
> > +	if (bd && mc_boot_status && !is_dpl_apply_status) {
> >   		printf("fsl-mc: DPL not deployed, DPAA2 ethernet not work\n");
> >   		return 0;
> >   	}
> >
> > +	if (bd && mc_boot_status && is_dpl_apply_status)
> > +		return 0;
> > +
> >   	err = dpbp_exit();
> >   	if (err < 0) {
> >   		printf("dpbp_exit() failed: %d\n", err);
> >
> 
> Yogesh and Priyanka,
> 
> Please review this patch. Thanks.
> 
> York
York Sun Aug. 8, 2017, 4:22 p.m. UTC | #4
On 08/07/2017 09:49 PM, Priyanka Jain wrote:
> Ack-ed
> 

Thanks. For future use, please use this format

Acked-by: Priyanka Jain <priyanka.jain@nxp.com>

This will be captured by patchwork so I can type less. :)

York
York Sun Aug. 8, 2017, 4:22 p.m. UTC | #5
On 08/07/2017 09:51 PM, Yogesh Narayan Gaur wrote:
> Ack-ed
> 

Thanks. For future use, please use this format

Acked-by: Yogesh Narayan Gaur <yogeshnarayan.gaur@nxp.com>

This will be captured by patchwork.

York
York Sun Aug. 10, 2017, 3:48 p.m. UTC | #6
>> On 06/28/2017 10:47 PM, Santan Kumar wrote:
>>> In fsl_mc_ldpaa_exit(), in case of mc is booted and dpl is applied, it
>>> should return earlier without executing
>>> dpbp_exit()
>>>
>>> Signed-off-by: Santan Kumar <santan.kumar@nxp.com>
>>> ---

Applied to fsl-qoriq master, awaiting upstream.
Thanks.

York
diff mbox

Patch

diff --git a/drivers/net/fsl-mc/mc.c b/drivers/net/fsl-mc/mc.c
index 8bf25c7..3a30c03 100644
--- a/drivers/net/fsl-mc/mc.c
+++ b/drivers/net/fsl-mc/mc.c
@@ -1336,14 +1336,18 @@  int fsl_mc_ldpaa_exit(bd_t *bd)
 {
 	int err = 0;
 	bool is_dpl_apply_status = false;
+	bool mc_boot_status = false;
 
 	if (bd && mc_lazy_dpl_addr && !fsl_mc_ldpaa_exit(NULL)) {
 		mc_apply_dpl(mc_lazy_dpl_addr);
 		mc_lazy_dpl_addr = 0;
 	}
 
+	if (!get_mc_boot_status())
+		mc_boot_status = true;
+
 	/* MC is not loaded intentionally, So return success. */
-	if (bd && get_mc_boot_status() != 0)
+	if (bd && !mc_boot_status)
 		return 0;
 
 	/* If DPL is deployed, set is_dpl_apply_status as TRUE. */
@@ -1354,11 +1358,14 @@  int fsl_mc_ldpaa_exit(bd_t *bd)
 	 * For case MC is loaded but DPL is not deployed, return success and
 	 * print message on console. Else FDT fix-up code execution hanged.
 	 */
-	if (bd && !get_mc_boot_status() && !is_dpl_apply_status) {
+	if (bd && mc_boot_status && !is_dpl_apply_status) {
 		printf("fsl-mc: DPL not deployed, DPAA2 ethernet not work\n");
 		return 0;
 	}
 
+	if (bd && mc_boot_status && is_dpl_apply_status)
+		return 0;
+
 	err = dpbp_exit();
 	if (err < 0) {
 		printf("dpbp_exit() failed: %d\n", err);