summaryrefslogtreecommitdiff
path: root/drivers/media
diff options
context:
space:
mode:
authorScott Williams <scwilliams@nvidia.com>2011-07-22 16:04:24 -0700
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:46:52 -0800
commit593a0cf345d0cab76c7303b71f0d944d3f7f8da3 (patch)
tree2563b3cc80e0736229b16396311eca6c011193b3 /drivers/media
parent3eb3293eb4e963bf33d954faec670c4432ca932b (diff)
media: tegra: avp: Reserve beginning of IRAM for cpu reset handler
Change-Id: Ib6fb0663f0a325aa0552f2625a93464648102e02 Signed-off-by: Scott Williams <scwilliams@nvidia.com> DW: Split into logical changes Signed-off-by: Dan Willemsen <dwillemsen@nvidia.com> Rebase-Id: R55b2be7cdb1ababff5de8dfa24d63d2ad8a2f140
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/video/tegra/avp/avp.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/media/video/tegra/avp/avp.c b/drivers/media/video/tegra/avp/avp.c
index dd6b60aba4af..c5911b965026 100644
--- a/drivers/media/video/tegra/avp/avp.c
+++ b/drivers/media/video/tegra/avp/avp.c
@@ -81,7 +81,8 @@ module_param_named(debug_mask, avp_debug_mask, uint, S_IWUSR | S_IRUGO);
#define TEGRA_AVP_RESET_VECTOR_ADDR \
(IO_ADDRESS(TEGRA_EXCEPTION_VECTORS_BASE) + 0x200)
-#define TEGRA_AVP_RESUME_ADDR IO_ADDRESS(TEGRA_IRAM_BASE)
+#define TEGRA_AVP_RESUME_ADDR IO_ADDRESS(TEGRA_IRAM_BASE + \
+ TEGRA_RESET_HANDLER_SIZE)
#define FLOW_CTRL_HALT_COP_EVENTS IO_ADDRESS(TEGRA_FLOW_CTRL_BASE + 0x4)
#define FLOW_MODE_STOP (0x2 << 29)
@@ -1444,9 +1445,9 @@ static int avp_enter_lp0(struct tegra_avp_info *avp)
int ret;
svc.svc_id = SVC_ENTER_LP0;
- svc.src_addr = (u32)TEGRA_IRAM_BASE;
+ svc.src_addr = (u32)TEGRA_IRAM_BASE + TEGRA_RESET_HANDLER_SIZE;
svc.buf_addr = (u32)avp->iram_backup_phys;
- svc.buf_size = TEGRA_IRAM_SIZE;
+ svc.buf_size = TEGRA_IRAM_SIZE - TEGRA_RESET_HANDLER_SIZE;
*avp_suspend_done = 0;
wmb();