kernel: gtod: vsyscall

Introduce kernel user helper vsyscall to allow a higher performance
gettimeofday implementation in user-space.

Change-Id: I9b9971d217382129170ecd6a35461539dac9eebb
Signed-off-by: Brent DeGraaf <bdegraaf@codeaurora.org>
kernel: ARM-specific implementation of user-accessible timers

Expose a read-only timer page to user-space to allow for a more
efficient implementation of gettimeofday in user-space.

Change-Id: Ibd6ce41f5f4ff9435e4bf4582ef5de721283d56b
Signed-off-by: Brent DeGraaf <bdegraaf@codeaurora.org>
kernel: gtod: Add MSM-specific user-accessible timers

Enable MSM-specific timers to be readable from user-space.
This allows implementation of a higher-performance
gettimeofday in user-space.

Change-Id: I1f322b5396ee335b10aeb81c681593621d151176
Signed-off-by: Brent DeGraaf <bdegraaf@codeaurora.org>
kernel: Add hooks for user-accessible timers in the kernel.

Hooks for user-accessible timers allow implementation of a
more efficient gettimeofday in user-space.

Change-Id: If2f63d010c1cf142eb84f3745617e756913e46f7
Signed-off-by: Brent DeGraaf <bdegraaf@codeaurora.org>
msm: Disable deprecated QCache

 * QCache is deprecated, remove it from configs so we can use ZCache

Change-Id: I3b2fc40ecce757530b64ddabb03081aaa425b603
M2: msm: pm: Update spm retention sequence to support per core retention

On krait revision < 3, power driver is not using full spm sequence and
calling into trustzone as a part of executing krait retention.
Also krait retention is not supported on secondary cores.

krait pass3 is upgraded to use full spm sequence, hence add support
for per core retention and avoid calling into trustzone
while executing retention.

*detule: adapted from caf msm-3.4 (left out the kraitv3 business).

Change-Id: I589109bedcad9ba64ef3cbd798a37b3c8f12b104
M2: msm_mdp.h: revert to vanilla jb_2.5 state

I made some changes back when I was forcing comaptibility with userland
headers.  If we are about to change headers in userland, let's have this
be as in current CAF trees.
msm_serial_hs: Set the driver data in the probe correctly

 * Set the UART driver data correctly so we can access it later to
   control the clocks externally.

Change-Id: Ie0691c5a11cb4e98c2c3cb5cc2d052b7776ebcab