Loading Documentation/devicetree/bindings/display/msm/sde.txt +15 −0 Original line number Original line Diff line number Diff line Loading @@ -281,6 +281,18 @@ Optional properties: core ib calculation. core ib calculation. - qcom,sde-core-clk-ff: A string entry indicating the fudge factor for - qcom,sde-core-clk-ff: A string entry indicating the fudge factor for core clock calculation. core clock calculation. - qcom,sde-min-core-ib-kbps: This u32 value indicates the minimum mnoc ib vote in Kbps that can be reduced without hitting underflow. BW calculation logic will choose the IB bandwidth requirement based on usecase if this floor value is not defined. - qcom,sde-min-llcc-ib-kbps: This u32 value indicates the minimum llcc ib vote in Kbps that can be reduced without hitting underflow. BW calculation logic will choose the IB bandwidth requirement based on usecase if this floor value is not defined. - qcom,sde-min-dram-ib-kbps: This u32 value indicates the minimum dram ib vote in Kbps that can be reduced without hitting underflow. BW calculation logic will choose the IB bandwidth requirement based on usecase if this floor value is not defined. - qcom,sde-comp-ratio-rt: A string entry indicating the compression ratio - qcom,sde-comp-ratio-rt: A string entry indicating the compression ratio for each supported compressed format on realtime interface. for each supported compressed format on realtime interface. The string is composed of one or more of The string is composed of one or more of Loading Loading @@ -572,6 +584,9 @@ Example: qcom,sde-core-ib-ff = "1.1"; qcom,sde-core-ib-ff = "1.1"; qcom,sde-core-clk-ff = "1.0"; qcom,sde-core-clk-ff = "1.0"; qcom,sde-min-core-ib-kbps = <2400000>; qcom,sde-min-llcc-ib-kbps = <800000>; qcom,sde-min-dram-ib-kbps = <800000>; qcom,sde-comp-ratio-rt = "NV12/5/1/1.1 AB24/5/1/1.2 XB24/5/1/1.3"; qcom,sde-comp-ratio-rt = "NV12/5/1/1.1 AB24/5/1/1.2 XB24/5/1/1.3"; qcom,sde-comp-ratio-nrt = "NV12/5/1/1.1 AB24/5/1/1.2 XB24/5/1/1.3"; qcom,sde-comp-ratio-nrt = "NV12/5/1/1.1 AB24/5/1/1.2 XB24/5/1/1.3"; qcom,sde-undersized-prefill-lines = <4>; qcom,sde-undersized-prefill-lines = <4>; Loading arch/arm64/boot/dts/qcom/sdm845-sde.dtsi +3 −0 Original line number Original line Diff line number Diff line Loading @@ -130,6 +130,9 @@ qcom,sde-has-idle-pc; qcom,sde-has-idle-pc; qcom,sde-max-bw-low-kbps = <9600000>; qcom,sde-max-bw-low-kbps = <9600000>; qcom,sde-max-bw-high-kbps = <9600000>; qcom,sde-max-bw-high-kbps = <9600000>; qcom,sde-min-core-ib-kbps = <2400000>; qcom,sde-min-llcc-ib-kbps = <800000>; qcom,sde-min-dram-ib-kbps = <800000>; qcom,sde-dram-channels = <2>; qcom,sde-dram-channels = <2>; qcom,sde-num-nrt-paths = <0>; qcom,sde-num-nrt-paths = <0>; qcom,sde-dspp-ad-version = <0x00040000>; qcom,sde-dspp-ad-version = <0x00040000>; Loading arch/arm64/boot/dts/qcom/sdm845-v2.dtsi +1 −0 Original line number Original line Diff line number Diff line Loading @@ -904,6 +904,7 @@ &mdss_mdp { &mdss_mdp { clock-max-rate = <0 0 0 0 430000000 19200000 0>; clock-max-rate = <0 0 0 0 430000000 19200000 0>; qcom,sde-min-core-ib-kbps = <4800000>; }; }; &energy_costs { &energy_costs { Loading drivers/gpu/drm/msm/sde/sde_core_perf.c +6 −0 Original line number Original line Diff line number Diff line Loading @@ -722,6 +722,12 @@ int sde_core_perf_debugfs_init(struct sde_core_perf *perf, (u32 *)&catalog->perf.max_bw_low); (u32 *)&catalog->perf.max_bw_low); debugfs_create_u32("threshold_high", 0600, perf->debugfs_root, debugfs_create_u32("threshold_high", 0600, perf->debugfs_root, (u32 *)&catalog->perf.max_bw_high); (u32 *)&catalog->perf.max_bw_high); debugfs_create_u32("min_core_ib", 0600, perf->debugfs_root, (u32 *)&catalog->perf.min_core_ib); debugfs_create_u32("min_llcc_ib", 0600, perf->debugfs_root, (u32 *)&catalog->perf.min_llcc_ib); debugfs_create_u32("min_dram_ib", 0600, perf->debugfs_root, (u32 *)&catalog->perf.min_dram_ib); debugfs_create_file("perf_mode", 0600, perf->debugfs_root, debugfs_create_file("perf_mode", 0600, perf->debugfs_root, (u32 *)perf, &sde_core_perf_mode_fops); (u32 *)perf, &sde_core_perf_mode_fops); debugfs_create_u32("bw_vote_mode", 0600, perf->debugfs_root, debugfs_create_u32("bw_vote_mode", 0600, perf->debugfs_root, Loading drivers/gpu/drm/msm/sde/sde_crtc.c +9 −0 Original line number Original line Diff line number Diff line Loading @@ -3908,6 +3908,15 @@ static void sde_crtc_install_properties(struct drm_crtc *crtc, if (catalog->perf.max_bw_high) if (catalog->perf.max_bw_high) sde_kms_info_add_keyint(info, "max_bandwidth_high", sde_kms_info_add_keyint(info, "max_bandwidth_high", catalog->perf.max_bw_high * 1000LL); catalog->perf.max_bw_high * 1000LL); if (catalog->perf.min_core_ib) sde_kms_info_add_keyint(info, "min_core_ib", catalog->perf.min_core_ib * 1000LL); if (catalog->perf.min_llcc_ib) sde_kms_info_add_keyint(info, "min_llcc_ib", catalog->perf.min_llcc_ib * 1000LL); if (catalog->perf.min_dram_ib) sde_kms_info_add_keyint(info, "min_dram_ib", catalog->perf.min_dram_ib * 1000LL); if (sde_kms->perf.max_core_clk_rate) if (sde_kms->perf.max_core_clk_rate) sde_kms_info_add_keyint(info, "max_mdp_clk", sde_kms_info_add_keyint(info, "max_mdp_clk", sde_kms->perf.max_core_clk_rate); sde_kms->perf.max_core_clk_rate); Loading Loading
Documentation/devicetree/bindings/display/msm/sde.txt +15 −0 Original line number Original line Diff line number Diff line Loading @@ -281,6 +281,18 @@ Optional properties: core ib calculation. core ib calculation. - qcom,sde-core-clk-ff: A string entry indicating the fudge factor for - qcom,sde-core-clk-ff: A string entry indicating the fudge factor for core clock calculation. core clock calculation. - qcom,sde-min-core-ib-kbps: This u32 value indicates the minimum mnoc ib vote in Kbps that can be reduced without hitting underflow. BW calculation logic will choose the IB bandwidth requirement based on usecase if this floor value is not defined. - qcom,sde-min-llcc-ib-kbps: This u32 value indicates the minimum llcc ib vote in Kbps that can be reduced without hitting underflow. BW calculation logic will choose the IB bandwidth requirement based on usecase if this floor value is not defined. - qcom,sde-min-dram-ib-kbps: This u32 value indicates the minimum dram ib vote in Kbps that can be reduced without hitting underflow. BW calculation logic will choose the IB bandwidth requirement based on usecase if this floor value is not defined. - qcom,sde-comp-ratio-rt: A string entry indicating the compression ratio - qcom,sde-comp-ratio-rt: A string entry indicating the compression ratio for each supported compressed format on realtime interface. for each supported compressed format on realtime interface. The string is composed of one or more of The string is composed of one or more of Loading Loading @@ -572,6 +584,9 @@ Example: qcom,sde-core-ib-ff = "1.1"; qcom,sde-core-ib-ff = "1.1"; qcom,sde-core-clk-ff = "1.0"; qcom,sde-core-clk-ff = "1.0"; qcom,sde-min-core-ib-kbps = <2400000>; qcom,sde-min-llcc-ib-kbps = <800000>; qcom,sde-min-dram-ib-kbps = <800000>; qcom,sde-comp-ratio-rt = "NV12/5/1/1.1 AB24/5/1/1.2 XB24/5/1/1.3"; qcom,sde-comp-ratio-rt = "NV12/5/1/1.1 AB24/5/1/1.2 XB24/5/1/1.3"; qcom,sde-comp-ratio-nrt = "NV12/5/1/1.1 AB24/5/1/1.2 XB24/5/1/1.3"; qcom,sde-comp-ratio-nrt = "NV12/5/1/1.1 AB24/5/1/1.2 XB24/5/1/1.3"; qcom,sde-undersized-prefill-lines = <4>; qcom,sde-undersized-prefill-lines = <4>; Loading
arch/arm64/boot/dts/qcom/sdm845-sde.dtsi +3 −0 Original line number Original line Diff line number Diff line Loading @@ -130,6 +130,9 @@ qcom,sde-has-idle-pc; qcom,sde-has-idle-pc; qcom,sde-max-bw-low-kbps = <9600000>; qcom,sde-max-bw-low-kbps = <9600000>; qcom,sde-max-bw-high-kbps = <9600000>; qcom,sde-max-bw-high-kbps = <9600000>; qcom,sde-min-core-ib-kbps = <2400000>; qcom,sde-min-llcc-ib-kbps = <800000>; qcom,sde-min-dram-ib-kbps = <800000>; qcom,sde-dram-channels = <2>; qcom,sde-dram-channels = <2>; qcom,sde-num-nrt-paths = <0>; qcom,sde-num-nrt-paths = <0>; qcom,sde-dspp-ad-version = <0x00040000>; qcom,sde-dspp-ad-version = <0x00040000>; Loading
arch/arm64/boot/dts/qcom/sdm845-v2.dtsi +1 −0 Original line number Original line Diff line number Diff line Loading @@ -904,6 +904,7 @@ &mdss_mdp { &mdss_mdp { clock-max-rate = <0 0 0 0 430000000 19200000 0>; clock-max-rate = <0 0 0 0 430000000 19200000 0>; qcom,sde-min-core-ib-kbps = <4800000>; }; }; &energy_costs { &energy_costs { Loading
drivers/gpu/drm/msm/sde/sde_core_perf.c +6 −0 Original line number Original line Diff line number Diff line Loading @@ -722,6 +722,12 @@ int sde_core_perf_debugfs_init(struct sde_core_perf *perf, (u32 *)&catalog->perf.max_bw_low); (u32 *)&catalog->perf.max_bw_low); debugfs_create_u32("threshold_high", 0600, perf->debugfs_root, debugfs_create_u32("threshold_high", 0600, perf->debugfs_root, (u32 *)&catalog->perf.max_bw_high); (u32 *)&catalog->perf.max_bw_high); debugfs_create_u32("min_core_ib", 0600, perf->debugfs_root, (u32 *)&catalog->perf.min_core_ib); debugfs_create_u32("min_llcc_ib", 0600, perf->debugfs_root, (u32 *)&catalog->perf.min_llcc_ib); debugfs_create_u32("min_dram_ib", 0600, perf->debugfs_root, (u32 *)&catalog->perf.min_dram_ib); debugfs_create_file("perf_mode", 0600, perf->debugfs_root, debugfs_create_file("perf_mode", 0600, perf->debugfs_root, (u32 *)perf, &sde_core_perf_mode_fops); (u32 *)perf, &sde_core_perf_mode_fops); debugfs_create_u32("bw_vote_mode", 0600, perf->debugfs_root, debugfs_create_u32("bw_vote_mode", 0600, perf->debugfs_root, Loading
drivers/gpu/drm/msm/sde/sde_crtc.c +9 −0 Original line number Original line Diff line number Diff line Loading @@ -3908,6 +3908,15 @@ static void sde_crtc_install_properties(struct drm_crtc *crtc, if (catalog->perf.max_bw_high) if (catalog->perf.max_bw_high) sde_kms_info_add_keyint(info, "max_bandwidth_high", sde_kms_info_add_keyint(info, "max_bandwidth_high", catalog->perf.max_bw_high * 1000LL); catalog->perf.max_bw_high * 1000LL); if (catalog->perf.min_core_ib) sde_kms_info_add_keyint(info, "min_core_ib", catalog->perf.min_core_ib * 1000LL); if (catalog->perf.min_llcc_ib) sde_kms_info_add_keyint(info, "min_llcc_ib", catalog->perf.min_llcc_ib * 1000LL); if (catalog->perf.min_dram_ib) sde_kms_info_add_keyint(info, "min_dram_ib", catalog->perf.min_dram_ib * 1000LL); if (sde_kms->perf.max_core_clk_rate) if (sde_kms->perf.max_core_clk_rate) sde_kms_info_add_keyint(info, "max_mdp_clk", sde_kms_info_add_keyint(info, "max_mdp_clk", sde_kms->perf.max_core_clk_rate); sde_kms->perf.max_core_clk_rate); Loading