summaryrefslogtreecommitdiff
path: root/drivers/platform
diff options
context:
space:
mode:
authorAndrei Danaila <adanaila@codeaurora.org>2015-05-29 19:31:33 -0700
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 21:11:33 -0700
commit2aabfda3ce7fa8e221e255bdd3b564f000e6d66e (patch)
treef9f606b6621486f7f4f5e990559549e6a9484b9c /drivers/platform
parent0b5e3daf84e1ea619307957cc5fc23fb325493d7 (diff)
mhi: core: Necessary changes for 64 bit
Necessary changes for 64 bit compilation on the 3.18 kernel. Signed-off-by: Andrei Danaila <adanaila@codeaurora.org>
Diffstat (limited to 'drivers/platform')
-rw-r--r--drivers/platform/msm/mhi/mhi.h1
-rw-r--r--drivers/platform/msm/mhi/mhi_iface.c2
-rw-r--r--drivers/platform/msm/mhi/mhi_init.c5
-rw-r--r--drivers/platform/msm/mhi/mhi_isr.c1
-rw-r--r--drivers/platform/msm/mhi/mhi_main.c4
-rw-r--r--drivers/platform/msm/mhi/mhi_pm.c9
-rw-r--r--drivers/platform/msm/mhi/mhi_states.c2
7 files changed, 8 insertions, 16 deletions
diff --git a/drivers/platform/msm/mhi/mhi.h b/drivers/platform/msm/mhi/mhi.h
index bfe391a0944d..cf3bc3155e49 100644
--- a/drivers/platform/msm/mhi/mhi.h
+++ b/drivers/platform/msm/mhi/mhi.h
@@ -24,6 +24,7 @@
#include <linux/cdev.h>
#include <linux/msm_pcie.h>
#include <linux/sched.h>
+#include <linux/irqreturn.h>
extern struct mhi_pcie_devices mhi_devices;
diff --git a/drivers/platform/msm/mhi/mhi_iface.c b/drivers/platform/msm/mhi/mhi_iface.c
index 9fd883aca8a5..1f4b319d1571 100644
--- a/drivers/platform/msm/mhi/mhi_iface.c
+++ b/drivers/platform/msm/mhi/mhi_iface.c
@@ -112,7 +112,7 @@ int mhi_ctxt_init(struct mhi_pcie_dev_info *mhi_pcie_dev)
}
device_disable_async_suspend(&pcie_device->dev);
- ret_val = pci_enable_msi_block(pcie_device, msi_number);
+ ret_val = pci_enable_msi_range(pcie_device, 0, msi_number);
if (0 != ret_val) {
mhi_log(MHI_MSG_ERROR,
"Failed to enable MSIs for pcie dev ret_val %d.\n",
diff --git a/drivers/platform/msm/mhi/mhi_init.c b/drivers/platform/msm/mhi/mhi_init.c
index 7c6a71184a62..1d251052aa68 100644
--- a/drivers/platform/msm/mhi/mhi_init.c
+++ b/drivers/platform/msm/mhi/mhi_init.c
@@ -285,13 +285,14 @@ static enum MHI_STATUS mhi_init_wakelock(struct mhi_device_ctxt *mhi_dev_ctxt)
static enum MHI_STATUS mhi_init_contexts(struct mhi_device_ctxt *mhi_dev_ctxt)
{
int r = 0;
+ u64 phy_cmd_trb_addr;
+
struct mhi_control_seg *mhi_ctrl = mhi_dev_ctxt->mhi_ctrl_seg;
+
r = init_event_ctxt_array(mhi_dev_ctxt);
if (r)
return MHI_STATUS_ERROR;
- u64 phy_cmd_trb_addr;
- init_ecabap(mhi_dev_ctxt);
/* Init Command Ring */
phy_cmd_trb_addr =
((uintptr_t)mhi_dev_ctxt->mhi_ctrl_seg->cmd_trb_list[PRIMARY_CMD_RING] -
diff --git a/drivers/platform/msm/mhi/mhi_isr.c b/drivers/platform/msm/mhi/mhi_isr.c
index 2a7061bec305..daf0236fdc8a 100644
--- a/drivers/platform/msm/mhi/mhi_isr.c
+++ b/drivers/platform/msm/mhi/mhi_isr.c
@@ -10,6 +10,7 @@
* GNU General Public License for more details.
*/
#include <linux/interrupt.h>
+#include <linux/irqreturn.h>
#include "mhi_sys.h"
#include "mhi_trace.h"
diff --git a/drivers/platform/msm/mhi/mhi_main.c b/drivers/platform/msm/mhi/mhi_main.c
index d415e3c58342..bb76506f5ddb 100644
--- a/drivers/platform/msm/mhi/mhi_main.c
+++ b/drivers/platform/msm/mhi/mhi_main.c
@@ -62,7 +62,7 @@ static void mhi_update_ctxt(struct mhi_device_ctxt *mhi_dev_ctxt,
int mhi_init_pcie_device(struct mhi_pcie_dev_info *mhi_pcie_dev)
{
int ret_val = 0;
- long int sleep_time = 100000;
+ long int sleep_time = 100;
struct pci_dev *pcie_device =
(struct pci_dev *)mhi_pcie_dev->pcie_device;
do {
@@ -74,7 +74,7 @@ int mhi_init_pcie_device(struct mhi_pcie_dev_info *mhi_pcie_dev)
mhi_log(MHI_MSG_ERROR,
"Sleeping for ~ %li uS, and retrying.\n",
sleep_time);
- usleep(sleep_time);
+ msleep(sleep_time);
}
} while (ret_val != 0);
diff --git a/drivers/platform/msm/mhi/mhi_pm.c b/drivers/platform/msm/mhi/mhi_pm.c
index 159e648a793c..5866e8aa8cdb 100644
--- a/drivers/platform/msm/mhi/mhi_pm.c
+++ b/drivers/platform/msm/mhi/mhi_pm.c
@@ -203,15 +203,6 @@ enum MHI_STATUS mhi_turn_off_pcie_link(struct mhi_device_ctxt *mhi_dev_ctxt)
ret_val = MHI_STATUS_ERROR;
goto exit;
}
- r = msm_pcie_pm_control(MSM_PCIE_REQ_EXIT_L1,
- mhi_dev_ctxt->dev_info->pcie_device->bus->number,
- mhi_dev_ctxt->dev_info->pcie_device,
- NULL, 0);
- if (r) {
- mhi_log(MHI_MSG_CRITICAL,
- "Failed failed to exit L1: %x\n", r);
- }
-
r = msm_pcie_pm_control(MSM_PCIE_SUSPEND,
mhi_dev_ctxt->dev_info->pcie_device->bus->number,
mhi_dev_ctxt->dev_info->pcie_device,
diff --git a/drivers/platform/msm/mhi/mhi_states.c b/drivers/platform/msm/mhi/mhi_states.c
index 0c5d5e2fd064..6ed3e2dbc5ba 100644
--- a/drivers/platform/msm/mhi/mhi_states.c
+++ b/drivers/platform/msm/mhi/mhi_states.c
@@ -98,8 +98,6 @@ static void ring_all_ev_dbs(struct mhi_device_ctxt *mhi_dev_ctxt)
mhi_dev_ctxt->mhi_ev_db_order[i] = 0;
spin_lock_irqsave(lock, flags);
event_ctxt = &mhi_ctrl->mhi_ec_list[i];
- db_value = virt_to_dma(NULL,
- mhi_dev_ctxt->mhi_local_event_ctxt[i].wp);
db_value =
mhi_v2p_addr(mhi_dev_ctxt, MHI_RING_TYPE_EVENT_RING,
i,