disp: msm: sde: add dt based support for pm qos irq latency

This change adds dt based support for pm qos irq
latency instead of using hardcoded value.

Change-Id: I9f67ed1092eefac193a409773f841350532bc722
Signed-off-by: Yashwanth <yvulapu@codeaurora.org>
Šī revīzija ir iekļauta:
Yashwanth
2020-03-17 19:12:21 +05:30
revīziju iesūtīja santosh
vecāks bada02f317
revīzija 4194c7b7cd
3 mainīti faili ar 12 papildinājumiem un 2 dzēšanām

Parādīt failu

@@ -228,6 +228,7 @@ enum {
PERF_CPU_MASK,
CPU_MASK_PERF,
PERF_CPU_DMA_LATENCY,
PERF_CPU_IRQ_LATENCY,
PERF_PROP_MAX,
};
@@ -607,6 +608,8 @@ static struct sde_prop_type sde_perf_prop[] = {
PROP_TYPE_U32},
{PERF_CPU_DMA_LATENCY, "qcom,sde-qos-cpu-dma-latency", false,
PROP_TYPE_U32},
{PERF_CPU_IRQ_LATENCY, "qcom,sde-qos-cpu-irq-latency", false,
PROP_TYPE_U32},
};
static struct sde_prop_type sde_qos_prop[] = {
@@ -4162,6 +4165,10 @@ static int _sde_perf_parse_dt_cfg(struct device_node *np,
prop_exists[PERF_CPU_DMA_LATENCY] ?
PROP_VALUE_ACCESS(prop_value, PERF_CPU_DMA_LATENCY, 0) :
DEFAULT_CPU_DMA_LATENCY;
cfg->perf.cpu_irq_latency =
prop_exists[PERF_CPU_IRQ_LATENCY] ?
PROP_VALUE_ACCESS(prop_value, PERF_CPU_IRQ_LATENCY, 0) :
PM_QOS_DEFAULT_VALUE;
return 0;
}

Parādīt failu

@@ -1317,6 +1317,7 @@ struct sde_sc_cfg {
* @cpu_mask: pm_qos cpu mask value
* @cpu_mask_perf: pm_qos cpu silver core mask value
* @cpu_dma_latency: pm_qos cpu dma latency value
* @cpu_irq_latency: pm_qos cpu irq latency value
* @axi_bus_width: axi bus width value in bytes
* @num_mnoc_ports: number of mnoc ports
*/
@@ -1348,6 +1349,7 @@ struct sde_perf_cfg {
unsigned long cpu_mask;
unsigned long cpu_mask_perf;
u32 cpu_dma_latency;
u32 cpu_irq_latency;
u32 axi_bus_width;
u32 num_mnoc_ports;
};

Parādīt failu

@@ -3008,6 +3008,7 @@ static void _sde_kms_update_pm_qos_irq_request(struct sde_kms *sde_kms)
{
struct device *cpu_dev;
int cpu = 0;
u32 cpu_irq_latency = sde_kms->catalog->perf.cpu_irq_latency;
if (cpumask_empty(&sde_kms->irq_cpu_mask)) {
SDE_DEBUG("%s: irq_cpu_mask is empty\n", __func__);
@@ -3024,12 +3025,12 @@ static void _sde_kms_update_pm_qos_irq_request(struct sde_kms *sde_kms)
if (dev_pm_qos_request_active(&sde_kms->pm_qos_irq_req[cpu]))
dev_pm_qos_update_request(&sde_kms->pm_qos_irq_req[cpu],
sde_kms->catalog->perf.cpu_dma_latency);
cpu_irq_latency);
else
dev_pm_qos_add_request(cpu_dev,
&sde_kms->pm_qos_irq_req[cpu],
DEV_PM_QOS_RESUME_LATENCY,
sde_kms->catalog->perf.cpu_dma_latency);
cpu_irq_latency);
}
}