Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cad32741 authored by Boris Brezillon's avatar Boris Brezillon
Browse files

mtd: nand: sunxi: Improve sunxi_nfc_cmd_ctrl()



We only need to call sunxi_nfc_wait_cmd_fifo_empty() if we want to send
a new command. Move the sunxi_nfc_wait_cmd_fifo_empty() call to right
place to avoid extra register reads.

Signed-off-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
parent 8de15e1f
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -604,10 +604,6 @@ static void sunxi_nfc_cmd_ctrl(struct mtd_info *mtd, int dat,
	struct sunxi_nfc *nfc = to_sunxi_nfc(sunxi_nand->nand.controller);
	int ret;

	ret = sunxi_nfc_wait_cmd_fifo_empty(nfc);
	if (ret)
		return;

	if (dat == NAND_CMD_NONE && (ctrl & NAND_NCE) &&
	    !(ctrl & (NAND_CLE | NAND_ALE))) {
		u32 cmd = 0;
@@ -637,6 +633,10 @@ static void sunxi_nfc_cmd_ctrl(struct mtd_info *mtd, int dat,
			writel(sunxi_nand->addr[1],
			       nfc->regs + NFC_REG_ADDR_HIGH);

		ret = sunxi_nfc_wait_cmd_fifo_empty(nfc);
		if (ret)
			return;

		writel(cmd, nfc->regs + NFC_REG_CMD);
		sunxi_nand->addr[0] = 0;
		sunxi_nand->addr[1] = 0;