platform: nvadsp: move request/free irqs calls

The request irqs are moved just before starting ADSP and freed when
adsp is suspended/stopped.

This is since the new agic driver is based on a device-driver model
and requires all interrupts to be freed before it could suspend.

Bug 200270956

Change-Id: I8ecd05ebe52020f11be79b9a1da37a85fed432ac
Signed-off-by: Ajay Nandakumar <anandakumarm@nvidia.com>
Reviewed-on: http://git-master/r/1478838
Signed-off-by: Nitin Kumbhar <nkumbhar@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1537326
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com>
GVS: Gerrit_Virtual_Submit
This commit is contained in:
Ajay Nandakumar
2017-05-10 11:42:40 +05:30
committed by Laxman Dewangan
parent 2a016f531d
commit 816abce5a9
6 changed files with 157 additions and 66 deletions

View File

@@ -146,8 +146,6 @@ struct nvadsp_drv_data {
struct platform_device *pdev;
struct resource *dram_region[ADSP_MAX_DRAM_MAP];
struct hwmbox_queue hwmbox_send_queue;
int hwmbox_send_virq;
int hwmbox_recv_virq;
struct nvadsp_mbox **mboxes;
unsigned long *mbox_ids;
@@ -216,7 +214,9 @@ struct nvadsp_drv_data {
#define UART_BAUD_RATE 9600
status_t nvadsp_mbox_init(struct platform_device *pdev);
status_t nvadsp_amc_init(struct platform_device *pdev);
int nvadsp_setup_amc_interrupts(struct platform_device *pdev);
void nvadsp_free_amc_interrupts(struct platform_device *pdev);
#ifdef CONFIG_TEGRA_ADSP_DFS
void adsp_cpu_set_rate(unsigned long freq);