Loading Documentation/devicetree/bindings/display/msm/sde.txt +26 −10 Original line number Original line Diff line number Diff line Loading @@ -361,17 +361,23 @@ Bus Scaling Data: * Current values of src & dst are defined at * Current values of src & dst are defined at include/linux/msm-bus-board.h include/linux/msm-bus-board.h SMMU Subnodes: - smmu_sde_****: Child nodes representing sde smmu virtual devices Subnode properties: Subnode properties: - compatible : Compatible name used in smmu v2. - compatible: Compatible names used for smmu devices. smmu_v2 names should be: names should be: "qcom,smmu-mdp-unsec" - smmu context bank device for "qcom,smmu_sde_unsec": smmu context bank device unsecure mdp domain. for unsecure sde real time domain. "qcom,smmu-rot-unsec" - smmu context bank device for "qcom,smmu_sde_sec": smmu context bank device unsecure rotation domain. for secure sde real time domain. "qcom,smmu-mdp-sec" - smmu context bank device for "qcom,smmu_sde_nrt_unsec": smmu context bank device secure mdp domain. for unsecure sde non-real time domain. "qcom,smmu-rot-sec" - smmu context bank device for "qcom,smmu_sde_nrt_sec": smmu context bank device secure rotation domain. for secure sde non-real time domain. Please refer to ../../interrupt-controller/interrupts.txt for a general Please refer to ../../interrupt-controller/interrupts.txt for a general description of interrupt bindings. description of interrupt bindings. Loading Loading @@ -673,4 +679,14 @@ Example: <1 590 0 160000>, <1 590 0 160000>, <1 590 0 320000>; <1 590 0 320000>; }; }; smmu_kms_unsec: qcom,smmu_kms_unsec_cb { compatible = "qcom,smmu_sde_unsec"; iommus = <&mmss_smmu 0>; }; smmu_kms_sec: qcom,smmu_kms_sec_cb { compatible = "qcom,smmu_sde_sec"; iommus = <&mmss_smmu 1>; }; }; }; arch/arm64/boot/dts/qcom/sdm845-sde.dtsi +6 −0 Original line number Original line Diff line number Diff line Loading @@ -207,6 +207,12 @@ }; }; }; }; smmu_sde_sec: qcom,smmu_sde_sec_cb { compatible = "qcom,smmu_sde_sec"; iommus = <&apps_smmu 0x881 0x8>, <&apps_smmu 0xc81 0x8>; }; /* data and reg bus scale settings */ /* data and reg bus scale settings */ qcom,sde-data-bus { qcom,sde-data-bus { qcom,msm-bus,name = "mdss_sde_mnoc"; qcom,msm-bus,name = "mdss_sde_mnoc"; Loading drivers/gpu/drm/msm/msm_drv.c +2 −0 Original line number Original line Diff line number Diff line Loading @@ -2054,6 +2054,7 @@ void __exit adreno_unregister(void) static int __init msm_drm_register(void) static int __init msm_drm_register(void) { { DBG("init"); DBG("init"); msm_smmu_driver_init(); msm_dsi_register(); msm_dsi_register(); msm_edp_register(); msm_edp_register(); msm_hdmi_register(); msm_hdmi_register(); Loading @@ -2069,6 +2070,7 @@ static void __exit msm_drm_unregister(void) adreno_unregister(); adreno_unregister(); msm_edp_unregister(); msm_edp_unregister(); msm_dsi_unregister(); msm_dsi_unregister(); msm_smmu_driver_cleanup(); } } module_init(msm_drm_register); module_init(msm_drm_register); Loading drivers/gpu/drm/msm/msm_drv.h +2 −0 Original line number Original line Diff line number Diff line Loading @@ -119,6 +119,7 @@ enum msm_mdp_plane_property { PLANE_PROP_ROTATION, PLANE_PROP_ROTATION, PLANE_PROP_BLEND_OP, PLANE_PROP_BLEND_OP, PLANE_PROP_SRC_CONFIG, PLANE_PROP_SRC_CONFIG, PLANE_PROP_FB_TRANSLATION_MODE, /* total # of properties */ /* total # of properties */ PLANE_PROP_COUNT PLANE_PROP_COUNT Loading @@ -145,6 +146,7 @@ enum msm_mdp_crtc_property { CRTC_PROP_ROT_PREFILL_BW, CRTC_PROP_ROT_PREFILL_BW, CRTC_PROP_ROT_CLK, CRTC_PROP_ROT_CLK, CRTC_PROP_ROI_V1, CRTC_PROP_ROI_V1, CRTC_PROP_SECURITY_LEVEL, /* total # of properties */ /* total # of properties */ CRTC_PROP_COUNT CRTC_PROP_COUNT Loading drivers/gpu/drm/msm/msm_mmu.h +4 −0 Original line number Original line Diff line number Diff line Loading @@ -63,4 +63,8 @@ struct msm_mmu *msm_iommu_new(struct device *dev, struct iommu_domain *domain); struct msm_mmu *msm_smmu_new(struct device *dev, struct msm_mmu *msm_smmu_new(struct device *dev, enum msm_mmu_domain_type domain); enum msm_mmu_domain_type domain); /* SDE smmu driver initialize and cleanup functions */ int __init msm_smmu_driver_init(void); void __exit msm_smmu_driver_cleanup(void); #endif /* __MSM_MMU_H__ */ #endif /* __MSM_MMU_H__ */ Loading
Documentation/devicetree/bindings/display/msm/sde.txt +26 −10 Original line number Original line Diff line number Diff line Loading @@ -361,17 +361,23 @@ Bus Scaling Data: * Current values of src & dst are defined at * Current values of src & dst are defined at include/linux/msm-bus-board.h include/linux/msm-bus-board.h SMMU Subnodes: - smmu_sde_****: Child nodes representing sde smmu virtual devices Subnode properties: Subnode properties: - compatible : Compatible name used in smmu v2. - compatible: Compatible names used for smmu devices. smmu_v2 names should be: names should be: "qcom,smmu-mdp-unsec" - smmu context bank device for "qcom,smmu_sde_unsec": smmu context bank device unsecure mdp domain. for unsecure sde real time domain. "qcom,smmu-rot-unsec" - smmu context bank device for "qcom,smmu_sde_sec": smmu context bank device unsecure rotation domain. for secure sde real time domain. "qcom,smmu-mdp-sec" - smmu context bank device for "qcom,smmu_sde_nrt_unsec": smmu context bank device secure mdp domain. for unsecure sde non-real time domain. "qcom,smmu-rot-sec" - smmu context bank device for "qcom,smmu_sde_nrt_sec": smmu context bank device secure rotation domain. for secure sde non-real time domain. Please refer to ../../interrupt-controller/interrupts.txt for a general Please refer to ../../interrupt-controller/interrupts.txt for a general description of interrupt bindings. description of interrupt bindings. Loading Loading @@ -673,4 +679,14 @@ Example: <1 590 0 160000>, <1 590 0 160000>, <1 590 0 320000>; <1 590 0 320000>; }; }; smmu_kms_unsec: qcom,smmu_kms_unsec_cb { compatible = "qcom,smmu_sde_unsec"; iommus = <&mmss_smmu 0>; }; smmu_kms_sec: qcom,smmu_kms_sec_cb { compatible = "qcom,smmu_sde_sec"; iommus = <&mmss_smmu 1>; }; }; };
arch/arm64/boot/dts/qcom/sdm845-sde.dtsi +6 −0 Original line number Original line Diff line number Diff line Loading @@ -207,6 +207,12 @@ }; }; }; }; smmu_sde_sec: qcom,smmu_sde_sec_cb { compatible = "qcom,smmu_sde_sec"; iommus = <&apps_smmu 0x881 0x8>, <&apps_smmu 0xc81 0x8>; }; /* data and reg bus scale settings */ /* data and reg bus scale settings */ qcom,sde-data-bus { qcom,sde-data-bus { qcom,msm-bus,name = "mdss_sde_mnoc"; qcom,msm-bus,name = "mdss_sde_mnoc"; Loading
drivers/gpu/drm/msm/msm_drv.c +2 −0 Original line number Original line Diff line number Diff line Loading @@ -2054,6 +2054,7 @@ void __exit adreno_unregister(void) static int __init msm_drm_register(void) static int __init msm_drm_register(void) { { DBG("init"); DBG("init"); msm_smmu_driver_init(); msm_dsi_register(); msm_dsi_register(); msm_edp_register(); msm_edp_register(); msm_hdmi_register(); msm_hdmi_register(); Loading @@ -2069,6 +2070,7 @@ static void __exit msm_drm_unregister(void) adreno_unregister(); adreno_unregister(); msm_edp_unregister(); msm_edp_unregister(); msm_dsi_unregister(); msm_dsi_unregister(); msm_smmu_driver_cleanup(); } } module_init(msm_drm_register); module_init(msm_drm_register); Loading
drivers/gpu/drm/msm/msm_drv.h +2 −0 Original line number Original line Diff line number Diff line Loading @@ -119,6 +119,7 @@ enum msm_mdp_plane_property { PLANE_PROP_ROTATION, PLANE_PROP_ROTATION, PLANE_PROP_BLEND_OP, PLANE_PROP_BLEND_OP, PLANE_PROP_SRC_CONFIG, PLANE_PROP_SRC_CONFIG, PLANE_PROP_FB_TRANSLATION_MODE, /* total # of properties */ /* total # of properties */ PLANE_PROP_COUNT PLANE_PROP_COUNT Loading @@ -145,6 +146,7 @@ enum msm_mdp_crtc_property { CRTC_PROP_ROT_PREFILL_BW, CRTC_PROP_ROT_PREFILL_BW, CRTC_PROP_ROT_CLK, CRTC_PROP_ROT_CLK, CRTC_PROP_ROI_V1, CRTC_PROP_ROI_V1, CRTC_PROP_SECURITY_LEVEL, /* total # of properties */ /* total # of properties */ CRTC_PROP_COUNT CRTC_PROP_COUNT Loading
drivers/gpu/drm/msm/msm_mmu.h +4 −0 Original line number Original line Diff line number Diff line Loading @@ -63,4 +63,8 @@ struct msm_mmu *msm_iommu_new(struct device *dev, struct iommu_domain *domain); struct msm_mmu *msm_smmu_new(struct device *dev, struct msm_mmu *msm_smmu_new(struct device *dev, enum msm_mmu_domain_type domain); enum msm_mmu_domain_type domain); /* SDE smmu driver initialize and cleanup functions */ int __init msm_smmu_driver_init(void); void __exit msm_smmu_driver_cleanup(void); #endif /* __MSM_MMU_H__ */ #endif /* __MSM_MMU_H__ */