refactor(nxp-mmc): check multi block transfer

Extract the multiblock check into a dedicated function. This function
returns true for multiblock reads and writes.

Change-Id: I6c4ea62977781a4f43d6a20513147b99b3baa1b2
Co-developed-by: Ciprian Costea <ciprianmarian.costea@nxp.com>
Signed-off-by: Ciprian Costea <ciprianmarian.costea@nxp.com>
Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
diff --git a/drivers/imx/usdhc/imx_usdhc.c b/drivers/imx/usdhc/imx_usdhc.c
index 0c4f8d0..610c3e6 100644
--- a/drivers/imx/usdhc/imx_usdhc.c
+++ b/drivers/imx/usdhc/imx_usdhc.c
@@ -120,6 +120,13 @@
 	return (cmd_idx == MMC_CMD(24)) || (cmd_idx == MMC_CMD(25));
 }
 
+static bool is_multiple_block_transfer(const struct mmc_cmd *cmd)
+{
+	unsigned int cmd_idx = cmd->cmd_idx;
+
+	return cmd_idx == MMC_CMD(18) || cmd_idx == MMC_CMD(25);
+}
+
 static bool is_data_transfer_cmd(const struct mmc_cmd *cmd)
 {
 	uintptr_t reg_base = imx_usdhc_params.reg_base;
@@ -177,7 +184,7 @@
 {
 	uintptr_t reg_base = imx_usdhc_params.reg_base;
 	unsigned int state, flags = INTSTATEN_CC | INTSTATEN_CTOE;
-	unsigned int mixctl = 0, multiple = 0;
+	unsigned int mixctl = 0;
 	unsigned int cmd_retries = 0;
 	uint32_t xfertype;
 	bool data;
@@ -206,20 +213,7 @@
 	mmio_write_32(reg_base + INTSIGEN, 0);
 	udelay(1000);
 
-	switch (cmd->cmd_idx) {
-	case MMC_CMD(18):
-		multiple = 1;
-		break;
-	case MMC_CMD(25):
-		multiple = 1;
-		/* for data op flag */
-		/* fallthrough */
-		break;
-	default:
-		break;
-	}
-
-	if (multiple) {
+	if (is_multiple_block_transfer(cmd)) {
 		mixctl |= MIXCTRL_MSBSEL;
 		mixctl |= MIXCTRL_BCEN;
 	}