Loading Documentation/devicetree/bindings/interrupt-controller/qti,mpm.txt +2 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ Properties: "qcom,mpm-gic-msm8937", "qcom,mpm-gic-qcs405" "qcom,mpm-gic-trinket" "qcom,mpm-gic-mdm9607" - interrupts: Usage: required Loading Loading @@ -81,6 +82,7 @@ properties: "qcom,mpm-gpio-msm8937", "qcom,mpm-gpio-qcs405" "qcom,mpm-gpio-trinket", "qcom,mpm-gpio-mdm9607" - interrupt-parent: Usage: required Loading arch/arm/mm/dma-mapping.c +2 −0 Original line number Diff line number Diff line Loading @@ -143,6 +143,7 @@ static pgprot_t __get_dma_pgprot(unsigned long attrs, pgprot_t prot, return prot; } #ifdef CONFIG_ARM_DMA_USE_IOMMU static bool is_dma_coherent(struct device *dev, unsigned long attrs, bool is_coherent) { Loading @@ -155,6 +156,7 @@ static bool is_dma_coherent(struct device *dev, unsigned long attrs, return is_coherent; } #endif /** * arm_dma_map_page - map a portion of a page for streaming DMA Loading drivers/irqchip/qcom/Makefile +2 −1 Original line number Diff line number Diff line Loading @@ -4,4 +4,5 @@ obj-$(CONFIG_QTI_PDC_SM6150) += pdc-sm6150.o obj-$(CONFIG_QTI_PDC_SDMMAGPIE) += pdc-sdmmagpie.o obj-$(CONFIG_QTI_PDC_SDXPRAIRIE) += pdc-sdxprairie.o obj-$(CONFIG_QTI_PDC_ATOLL) += pdc-atoll.o obj-$(CONFIG_QTI_MPM) += mpm.o mpm-8937.o mpm-qcs405.o mpm-trinket.o obj-$(CONFIG_QTI_MPM) += mpm.o mpm-8937.o mpm-qcs405.o mpm-trinket.o \ mpm-9607.o drivers/irqchip/qcom/mpm-9607.c 0 → 100644 +67 −0 Original line number Diff line number Diff line /* Copyright (c) 2018, 2019 The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and * only version 2 as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * */ #include "mpm.h" const struct mpm_pin mpm_mdm9607_gic_chip_data[] = { {2, 216}, /* tsens_upper_lower_int */ {49, 172}, /* usb1_hs_async_wakeup_irq */ {51, 174}, /* usb2_hs_async_wakeup_irq */ {53, 104}, /* mdss_irq */ {58, 166}, /* usb_hs_irq */ {62, 222}, /* ee0_apps_hlos_spmi_periph_irq */ {-1}, }; const struct mpm_pin mpm_mdm9607_gpio_chip_data[] = { {3, 16}, {4, 5}, {5, 11}, {6, 12}, {7, 3}, {8, 17}, {9, 9}, {10, 13}, {11, 1}, {12, 20}, {13, 21}, {14, 22}, {15, 75}, {16, 74}, {17, 28}, {18, 44}, {19, 26}, {20, 43}, {21, 42}, {22, 29}, {23, 69}, {24, 30}, {25, 37}, {26, 25}, {27, 71}, {28, 34}, {29, 55}, {30, 8}, {31, 40}, {32, 48}, {33, 52}, {34, 57}, {35, 62}, {36, 66}, {37, 59}, {38, 79}, {39, 38}, {40, 63}, {41, 76}, {-1}, }; drivers/irqchip/qcom/mpm.c +8 −4 Original line number Diff line number Diff line Loading @@ -601,6 +601,10 @@ static int msm_mpm_init(struct device_node *node) } static const struct of_device_id mpm_gic_chip_data_table[] = { { .compatible = "qcom,mpm-gic-mdm9607", .data = mpm_mdm9607_gic_chip_data, }, { .compatible = "qcom,mpm-gic-msm8937", .data = mpm_msm8937_gic_chip_data, Loading @@ -618,6 +622,10 @@ static const struct of_device_id mpm_gic_chip_data_table[] = { MODULE_DEVICE_TABLE(of, mpm_gic_chip_data_table); static const struct of_device_id mpm_gpio_chip_data_table[] = { { .compatible = "qcom,mpm-gpio-mdm9607", .data = mpm_mdm9607_gpio_chip_data, }, { .compatible = "qcom,mpm-gpio-msm8937", .data = mpm_msm8937_gpio_chip_data, Loading Loading @@ -675,8 +683,6 @@ static int __init mpm_gic_chip_init(struct device_node *node, goto mpm_map_err; } msm_mpm_dev_data.gic_chip_domain->name = "qcom,mpm-gic"; ret = msm_mpm_init(node); if (!ret) return ret; Loading Loading @@ -707,8 +713,6 @@ static int __init mpm_gpio_chip_init(struct device_node *node, if (!msm_mpm_dev_data.gpio_chip_domain) return -ENOMEM; msm_mpm_dev_data.gpio_chip_domain->name = "qcom,mpm-gpio"; return 0; } Loading Loading
Documentation/devicetree/bindings/interrupt-controller/qti,mpm.txt +2 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ Properties: "qcom,mpm-gic-msm8937", "qcom,mpm-gic-qcs405" "qcom,mpm-gic-trinket" "qcom,mpm-gic-mdm9607" - interrupts: Usage: required Loading Loading @@ -81,6 +82,7 @@ properties: "qcom,mpm-gpio-msm8937", "qcom,mpm-gpio-qcs405" "qcom,mpm-gpio-trinket", "qcom,mpm-gpio-mdm9607" - interrupt-parent: Usage: required Loading
arch/arm/mm/dma-mapping.c +2 −0 Original line number Diff line number Diff line Loading @@ -143,6 +143,7 @@ static pgprot_t __get_dma_pgprot(unsigned long attrs, pgprot_t prot, return prot; } #ifdef CONFIG_ARM_DMA_USE_IOMMU static bool is_dma_coherent(struct device *dev, unsigned long attrs, bool is_coherent) { Loading @@ -155,6 +156,7 @@ static bool is_dma_coherent(struct device *dev, unsigned long attrs, return is_coherent; } #endif /** * arm_dma_map_page - map a portion of a page for streaming DMA Loading
drivers/irqchip/qcom/Makefile +2 −1 Original line number Diff line number Diff line Loading @@ -4,4 +4,5 @@ obj-$(CONFIG_QTI_PDC_SM6150) += pdc-sm6150.o obj-$(CONFIG_QTI_PDC_SDMMAGPIE) += pdc-sdmmagpie.o obj-$(CONFIG_QTI_PDC_SDXPRAIRIE) += pdc-sdxprairie.o obj-$(CONFIG_QTI_PDC_ATOLL) += pdc-atoll.o obj-$(CONFIG_QTI_MPM) += mpm.o mpm-8937.o mpm-qcs405.o mpm-trinket.o obj-$(CONFIG_QTI_MPM) += mpm.o mpm-8937.o mpm-qcs405.o mpm-trinket.o \ mpm-9607.o
drivers/irqchip/qcom/mpm-9607.c 0 → 100644 +67 −0 Original line number Diff line number Diff line /* Copyright (c) 2018, 2019 The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and * only version 2 as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * */ #include "mpm.h" const struct mpm_pin mpm_mdm9607_gic_chip_data[] = { {2, 216}, /* tsens_upper_lower_int */ {49, 172}, /* usb1_hs_async_wakeup_irq */ {51, 174}, /* usb2_hs_async_wakeup_irq */ {53, 104}, /* mdss_irq */ {58, 166}, /* usb_hs_irq */ {62, 222}, /* ee0_apps_hlos_spmi_periph_irq */ {-1}, }; const struct mpm_pin mpm_mdm9607_gpio_chip_data[] = { {3, 16}, {4, 5}, {5, 11}, {6, 12}, {7, 3}, {8, 17}, {9, 9}, {10, 13}, {11, 1}, {12, 20}, {13, 21}, {14, 22}, {15, 75}, {16, 74}, {17, 28}, {18, 44}, {19, 26}, {20, 43}, {21, 42}, {22, 29}, {23, 69}, {24, 30}, {25, 37}, {26, 25}, {27, 71}, {28, 34}, {29, 55}, {30, 8}, {31, 40}, {32, 48}, {33, 52}, {34, 57}, {35, 62}, {36, 66}, {37, 59}, {38, 79}, {39, 38}, {40, 63}, {41, 76}, {-1}, };
drivers/irqchip/qcom/mpm.c +8 −4 Original line number Diff line number Diff line Loading @@ -601,6 +601,10 @@ static int msm_mpm_init(struct device_node *node) } static const struct of_device_id mpm_gic_chip_data_table[] = { { .compatible = "qcom,mpm-gic-mdm9607", .data = mpm_mdm9607_gic_chip_data, }, { .compatible = "qcom,mpm-gic-msm8937", .data = mpm_msm8937_gic_chip_data, Loading @@ -618,6 +622,10 @@ static const struct of_device_id mpm_gic_chip_data_table[] = { MODULE_DEVICE_TABLE(of, mpm_gic_chip_data_table); static const struct of_device_id mpm_gpio_chip_data_table[] = { { .compatible = "qcom,mpm-gpio-mdm9607", .data = mpm_mdm9607_gpio_chip_data, }, { .compatible = "qcom,mpm-gpio-msm8937", .data = mpm_msm8937_gpio_chip_data, Loading Loading @@ -675,8 +683,6 @@ static int __init mpm_gic_chip_init(struct device_node *node, goto mpm_map_err; } msm_mpm_dev_data.gic_chip_domain->name = "qcom,mpm-gic"; ret = msm_mpm_init(node); if (!ret) return ret; Loading Loading @@ -707,8 +713,6 @@ static int __init mpm_gpio_chip_init(struct device_node *node, if (!msm_mpm_dev_data.gpio_chip_domain) return -ENOMEM; msm_mpm_dev_data.gpio_chip_domain->name = "qcom,mpm-gpio"; return 0; } Loading