[PATCH] spl: mmc: Resolve emmc not load image after switched hw partition

When selecting MMCSD_MODE_EMMCBOOT as boot_mode, emmc do not load U-boot proper image after switched hardware partition.
Signed-off-by: Kuan Lim Lee kuanlim.lee@starfivetech.com Reviewed-by: Chee Hong Ang cheehong.ang@starfivetech.com Reviewed-by: Wei Liang Lim weiliang.lim@starfivetech.com --- common/spl/spl_mmc.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c index 20f687e138..dc8a45222b 100644 --- a/common/spl/spl_mmc.c +++ b/common/spl/spl_mmc.c @@ -447,6 +447,9 @@ int spl_mmc_load(struct spl_image_info *spl_image, #endif return err; } + err = mmc_load_image_raw_sector(spl_image, bootdev, mmc, 0); + if (!err) + return err; /* Fall through */ case MMCSD_MODE_RAW: debug("spl: mmc boot mode: raw\n");

Hi,
Is this patch considered as accepted?
-----Original Message----- From: KuanLim.Lee kuanlim.lee@starfivetech.com Sent: Tuesday, October 3, 2023 12:17 PM To: u-boot@lists.denx.de Cc: Cheehong Ang cheehong.ang@starfivetech.com; WeiLiang Lim weiliang.lim@starfivetech.com; KuanLim.Lee kuanlim.lee@starfivetech.com Subject: [PATCH] spl: mmc: Resolve emmc not load image after switched hw partition
When selecting MMCSD_MODE_EMMCBOOT as boot_mode, emmc do not load U-boot proper image after switched hardware partition.
Signed-off-by: Kuan Lim Lee kuanlim.lee@starfivetech.com Reviewed-by: Chee Hong Ang cheehong.ang@starfivetech.com Reviewed-by: Wei Liang Lim weiliang.lim@starfivetech.com
common/spl/spl_mmc.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c index 20f687e138..dc8a45222b 100644 --- a/common/spl/spl_mmc.c +++ b/common/spl/spl_mmc.c @@ -447,6 +447,9 @@ int spl_mmc_load(struct spl_image_info *spl_image, #endif return err; }
err = mmc_load_image_raw_sector(spl_image, bootdev, mmc,
0);
if (!err)
/* Fall through */ case MMCSD_MODE_RAW: debug("spl: mmc boot mode: raw\n");return err;
-- 2.34.1

Hi maintainers,
Could anyone of you help to review the patch?
-----Original Message----- From: KuanLim.Lee kuanlim.lee@starfivetech.com Sent: Tuesday, October 3, 2023 12:17 PM To: u-boot@lists.denx.de Cc: Cheehong Ang cheehong.ang@starfivetech.com; WeiLiang Lim weiliang.lim@starfivetech.com; KuanLim.Lee kuanlim.lee@starfivetech.com Subject: [PATCH] spl: mmc: Resolve emmc not load image after switched hw partition
When selecting MMCSD_MODE_EMMCBOOT as boot_mode, emmc do not load U-boot proper image after switched hardware partition.
Signed-off-by: Kuan Lim Lee kuanlim.lee@starfivetech.com Reviewed-by: Chee Hong Ang cheehong.ang@starfivetech.com Reviewed-by: Wei Liang Lim weiliang.lim@starfivetech.com
common/spl/spl_mmc.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c index 20f687e138..dc8a45222b 100644 --- a/common/spl/spl_mmc.c +++ b/common/spl/spl_mmc.c @@ -447,6 +447,9 @@ int spl_mmc_load(struct spl_image_info *spl_image, #endif return err; }
err = mmc_load_image_raw_sector(spl_image, bootdev, mmc,
0);
if (!err)
/* Fall through */ case MMCSD_MODE_RAW: debug("spl: mmc boot mode: raw\n");return err;
-- 2.34.1

On 10/3/23 00:16, Kuan Lim Lee wrote:
When selecting MMCSD_MODE_EMMCBOOT as boot_mode, emmc do not load U-boot proper image after switched hardware partition.
Signed-off-by: Kuan Lim Lee kuanlim.lee@starfivetech.com Reviewed-by: Chee Hong Ang cheehong.ang@starfivetech.com Reviewed-by: Wei Liang Lim weiliang.lim@starfivetech.com
common/spl/spl_mmc.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c index 20f687e138..dc8a45222b 100644 --- a/common/spl/spl_mmc.c +++ b/common/spl/spl_mmc.c @@ -447,6 +447,9 @@ int spl_mmc_load(struct spl_image_info *spl_image, #endif return err; }
err = mmc_load_image_raw_sector(spl_image, bootdev, mmc, 0);
if (!err)
/* Fall through */ case MMCSD_MODE_RAW: debug("spl: mmc boot mode: raw\n");return err;
So why doesn't the mmc_load_image_raw_sector below (line 475 or so) work?
--Sean

On 10/18/23 13:27, Sean Anderson wrote:
On 10/3/23 00:16, Kuan Lim Lee wrote:
When selecting MMCSD_MODE_EMMCBOOT as boot_mode, emmc do not
load
U-boot proper image after switched hardware partition.
Signed-off-by: Kuan Lim Lee kuanlim.lee@starfivetech.com Reviewed-by: Chee Hong Ang cheehong.ang@starfivetech.com Reviewed-by: Wei Liang Lim weiliang.lim@starfivetech.com
common/spl/spl_mmc.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c index 20f687e138..dc8a45222b 100644 --- a/common/spl/spl_mmc.c +++ b/common/spl/spl_mmc.c @@ -447,6 +447,9 @@ int spl_mmc_load(struct spl_image_info *spl_image, #endif return err; }
err = mmc_load_image_raw_sector(spl_image, bootdev, mmc,
0);
if (!err)
/* Fall through */ case MMCSD_MODE_RAW: debug("spl: mmc boot mode: raw\n");return err;
So why doesn't the mmc_load_image_raw_sector below (line 475 or so) work?
boot_mode that I choose is MMCSD_MODE_EMMCBOOT. This is a switch case method. If the case finished execution, program will jump to 'return error;' in line 492. Since there are no load image function, in boot_mode: MMCSD_MODE_EMMCBOOT, it will just switch the hwpartition and quit the process & fail to boot.
case MMCSD_MODE_EMMCBOOT: *** here is the case I add mmc_load_image_raw_sector() /* Fall through */ case MMCSD_MODE_RAW: *** here is the case which execute mmc_load_image_raw_sector() in line 470.
--Sean
Please correct me if I am wrong. --KuanLim

Hi Anderson,
Thanks for your feedback. Please ignore this patch.
Best Regards, KuanLim
On 10/3/23 14:21, Kuan Lim Lee wrote:
On 10/18/23 13:27, Sean Anderson wrote:
On 10/3/23 00:16, Kuan Lim Lee wrote:
When selecting MMCSD_MODE_EMMCBOOT as boot_mode, emmc do not
load
U-boot proper image after switched hardware partition.
Signed-off-by: Kuan Lim Lee kuanlim.lee@starfivetech.com Reviewed-by: Chee Hong Ang cheehong.ang@starfivetech.com Reviewed-by: Wei Liang Lim weiliang.lim@starfivetech.com
common/spl/spl_mmc.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c index 20f687e138..dc8a45222b 100644 --- a/common/spl/spl_mmc.c +++ b/common/spl/spl_mmc.c @@ -447,6 +447,9 @@ int spl_mmc_load(struct spl_image_info
*spl_image,
#endif return err; }
err = mmc_load_image_raw_sector(spl_image, bootdev, mmc,
0);
if (!err)
/* Fall through */ case MMCSD_MODE_RAW: debug("spl: mmc boot mode: raw\n");return err;
So why doesn't the mmc_load_image_raw_sector below (line 475 or so)
work? boot_mode that I choose is MMCSD_MODE_EMMCBOOT. This is a switch case method. If the case finished execution, program will jump to 'return error;' in line 492. Since there are no load image function, in boot_mode: MMCSD_MODE_EMMCBOOT, it will just switch the hwpartition and quit the process & fail to boot.
case MMCSD_MODE_EMMCBOOT: *** here is the case I add mmc_load_image_raw_sector() /* Fall through */ case MMCSD_MODE_RAW: *** here is the case which execute mmc_load_image_raw_sector() in line 470.
--Sean
Please correct me if I am wrong. --KuanLim

On 10/3/23 13:16, Kuan Lim Lee wrote:
When selecting MMCSD_MODE_EMMCBOOT as boot_mode, emmc do not load U-boot proper image after switched hardware partition.
Signed-off-by: Kuan Lim Lee kuanlim.lee@starfivetech.com Reviewed-by: Chee Hong Ang cheehong.ang@starfivetech.com Reviewed-by: Wei Liang Lim weiliang.lim@starfivetech.com
Reviewed-by: Jaehoon Chung jh80.chung@samsung.com
Best Regards, Jaehoon Chung
common/spl/spl_mmc.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c index 20f687e138..dc8a45222b 100644 --- a/common/spl/spl_mmc.c +++ b/common/spl/spl_mmc.c @@ -447,6 +447,9 @@ int spl_mmc_load(struct spl_image_info *spl_image, #endif return err; }
err = mmc_load_image_raw_sector(spl_image, bootdev, mmc, 0);
if (!err)
/* Fall through */ case MMCSD_MODE_RAW: debug("spl: mmc boot mode: raw\n");return err;
participants (5)
-
Jaehoon Chung
-
Kuan Lim Lee
-
KuanLim.Lee
-
Lothar Waßmann
-
Sean Anderson