diff options
| author | Andrei Danaila <adanaila@codeaurora.org> | 2015-05-29 19:31:33 -0700 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 21:11:33 -0700 |
| commit | 2aabfda3ce7fa8e221e255bdd3b564f000e6d66e (patch) | |
| tree | f9f606b6621486f7f4f5e990559549e6a9484b9c /drivers/platform | |
| parent | 0b5e3daf84e1ea619307957cc5fc23fb325493d7 (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.h | 1 | ||||
| -rw-r--r-- | drivers/platform/msm/mhi/mhi_iface.c | 2 | ||||
| -rw-r--r-- | drivers/platform/msm/mhi/mhi_init.c | 5 | ||||
| -rw-r--r-- | drivers/platform/msm/mhi/mhi_isr.c | 1 | ||||
| -rw-r--r-- | drivers/platform/msm/mhi/mhi_main.c | 4 | ||||
| -rw-r--r-- | drivers/platform/msm/mhi/mhi_pm.c | 9 | ||||
| -rw-r--r-- | drivers/platform/msm/mhi/mhi_states.c | 2 |
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, |
