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

Commit 9980ce53 authored by Rajendra Nayak's avatar Rajendra Nayak Committed by Paul Walmsley
Browse files

OMAP: hwmod: Enable module wakeup if in smartidle

If a module's OCP slave port is programmed to be in smartidle,
its also necessary that they have module level wakeup enabled.
Update _sysc_enable in hwmod framework to do this.

The thread "[PATCH 7/8] : Hwmod api changes" archived here:

http://www.mail-archive.com/linux-omap@vger.kernel.org/msg34212.html



has additional technical information on the rationale of this patch.

Sergei Shtylyov <sshtylyov@mvista.com> identified an indentation
problem with this patch - thanks, Sergei.

Signed-off-by: default avatarRajendra Nayak <rnayak@ti.com>
Signed-off-by: default avatarPartha Basak <p-basak2@ti.com>
Signed-off-by: default avatarBenoît Cousson <b-cousson@ti.com>
[paul@pwsan.com: revised patch description]
Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Sergei Shtylyov <sshtylyov@mvista.com>
parent 96835af9
Loading
Loading
Loading
Loading
+4 −2
Original line number Original line Diff line number Diff line
@@ -691,8 +691,6 @@ static void _sysc_enable(struct omap_hwmod *oh)
		_set_module_autoidle(oh, idlemode, &v);
		_set_module_autoidle(oh, idlemode, &v);
	}
	}


	/* XXX OCP ENAWAKEUP bit? */

	/*
	/*
	 * XXX The clock framework should handle this, by
	 * XXX The clock framework should handle this, by
	 * calling into this code.  But this must wait until the
	 * calling into this code.  But this must wait until the
@@ -703,6 +701,10 @@ static void _sysc_enable(struct omap_hwmod *oh)
		_set_clockactivity(oh, oh->class->sysc->clockact, &v);
		_set_clockactivity(oh, oh->class->sysc->clockact, &v);


	_write_sysconfig(v, oh);
	_write_sysconfig(v, oh);

	/* If slave is in SMARTIDLE, also enable wakeup */
	if ((sf & SYSC_HAS_SIDLEMODE) && !(oh->flags & HWMOD_SWSUP_SIDLE))
		_enable_wakeup(oh);
}
}


/**
/**