disp: msm: dp: add qos vote during hdcp authentication
HDCP authentication has strict timing requirements and if the display is on static screen during this time, it is possible that SDE removes the QOS vote when it detects static display, thereby affecting the hdcp authentication process. This change adds qos support in dp driver to vote exclusively for DP. If valid QOS settings are provided in dtsi, then the driver adds the vote when it starts authentication and removes the vote when authentication is completed. Change-Id: I1d8bc098d0857b13fdf1ca089b6dd2d3f381bdb8 Signed-off-by: Rajkumar Subbiah <quic_rsubbia@quicinc.com>
This commit is contained in:
@@ -742,6 +742,26 @@ static void dp_parser_dsc(struct dp_parser *parser)
|
||||
parser->dsc_continuous_pps);
|
||||
}
|
||||
|
||||
static void dp_parser_qos(struct dp_parser *parser)
|
||||
{
|
||||
struct device *dev = &parser->pdev->dev;
|
||||
u32 mask, latency;
|
||||
int rc;
|
||||
|
||||
rc = of_property_read_u32(dev->of_node, "qcom,qos-cpu-latency-us", &latency);
|
||||
if (rc)
|
||||
return;
|
||||
|
||||
rc = of_property_read_u32(dev->of_node, "qcom,qos-cpu-mask", &mask);
|
||||
if (rc)
|
||||
return;
|
||||
|
||||
parser->qos_cpu_mask = mask;
|
||||
parser->qos_cpu_latency = latency;
|
||||
|
||||
DP_DEBUG("qos parsing successful. mask:%x latency:%ld\n", mask, latency);
|
||||
}
|
||||
|
||||
static void dp_parser_fec(struct dp_parser *parser)
|
||||
{
|
||||
struct device *dev = &parser->pdev->dev;
|
||||
@@ -817,6 +837,7 @@ static int dp_parser_parse(struct dp_parser *parser)
|
||||
dp_parser_dsc(parser);
|
||||
dp_parser_fec(parser);
|
||||
dp_parser_widebus(parser);
|
||||
dp_parser_qos(parser);
|
||||
err:
|
||||
return rc;
|
||||
}
|
||||
|
Reference in New Issue
Block a user