Commit b91bf997 authored by Thierry Reding's avatar Thierry Reding
Browse files

drm/tegra: falcon: Wait for memory scrubbing to complete



Before booting the Falcon processor, make sure to wait for memory
scrubbing to complete.

Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
parent 4eab8c0e
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -197,11 +197,19 @@ void falcon_exit(struct falcon *falcon)
int falcon_boot(struct falcon *falcon)
{
	unsigned long offset;
	u32 value;
	int err;

	if (!falcon->firmware.vaddr)
		return -EINVAL;

	err = readl_poll_timeout(falcon->regs + FALCON_DMACTL, value,
				 (value & (FALCON_DMACTL_IMEM_SCRUBBING |
					   FALCON_DMACTL_DMEM_SCRUBBING)) == 0,
				 10, 10000);
	if (err < 0)
		return err;

	falcon_writel(falcon, 0, FALCON_DMACTL);

	/* setup the address of the binary data so Falcon can access it later */