drm/i915: Remove hdcp2_hdmi_msg_timeout.timeout2
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 10 Oct 2019 14:51:26 +0000 (17:51 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 18 Oct 2019 14:10:19 +0000 (17:10 +0300)
The only reason for the timeout2 value in the array is the
HDCP_2_2_AKE_SEND_HPRIME message. But that one still needs
special casing inside the loop, and so just ends up making
the code harder to read. Let's just remove this leaky
timeout2 abstraction and special case that one command
in a way that is easy to understand. We can then remove the
timeout2 member from struct entirely.

    text    data     bss     dec     hex filename
-  34633     360       0   34993    88b1 intel_hdmi.o
+  34521     360       0   34881    8841 intel_hdmi.o

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191010145127.7487-4-ville.syrjala@linux.intel.com
Reviewed-by: Ramalingam C <ramalingam.c@intel.com>
drivers/gpu/drm/i915/display/intel_hdmi.c

index ef2c19470b920d0eef675d2c71831f1c8e7819cc..3b88d7b0aac54cb80588f39a12a534cb2bb191e8 100644 (file)
@@ -1538,17 +1538,14 @@ bool intel_hdmi_hdcp_check_link(struct intel_digital_port *intel_dig_port)
 struct hdcp2_hdmi_msg_timeout {
        u8 msg_id;
        u32 timeout;
-       u32 timeout2;
 };
 
 static const struct hdcp2_hdmi_msg_timeout hdcp2_msg_timeout[] = {
-       { HDCP_2_2_AKE_SEND_CERT, HDCP_2_2_CERT_TIMEOUT_MS, 0 },
-       { HDCP_2_2_AKE_SEND_HPRIME, HDCP_2_2_HPRIME_PAIRED_TIMEOUT_MS,
-         HDCP_2_2_HPRIME_NO_PAIRED_TIMEOUT_MS },
-       { HDCP_2_2_AKE_SEND_PAIRING_INFO, HDCP_2_2_PAIRING_TIMEOUT_MS, 0 },
-       { HDCP_2_2_LC_SEND_LPRIME, HDCP_2_2_HDMI_LPRIME_TIMEOUT_MS, 0 },
-       { HDCP_2_2_REP_SEND_RECVID_LIST, HDCP_2_2_RECVID_LIST_TIMEOUT_MS, 0 },
-       { HDCP_2_2_REP_STREAM_READY, HDCP_2_2_STREAM_READY_TIMEOUT_MS, 0 },
+       { HDCP_2_2_AKE_SEND_CERT, HDCP_2_2_CERT_TIMEOUT_MS, },
+       { HDCP_2_2_AKE_SEND_PAIRING_INFO, HDCP_2_2_PAIRING_TIMEOUT_MS, },
+       { HDCP_2_2_LC_SEND_LPRIME, HDCP_2_2_HDMI_LPRIME_TIMEOUT_MS, },
+       { HDCP_2_2_REP_SEND_RECVID_LIST, HDCP_2_2_RECVID_LIST_TIMEOUT_MS, },
+       { HDCP_2_2_REP_STREAM_READY, HDCP_2_2_STREAM_READY_TIMEOUT_MS, },
 };
 
 static
@@ -1565,12 +1562,17 @@ static int get_hdcp2_msg_timeout(u8 msg_id, bool is_paired)
 {
        int i;
 
-       for (i = 0; i < ARRAY_SIZE(hdcp2_msg_timeout); i++)
-               if (hdcp2_msg_timeout[i].msg_id == msg_id &&
-                   (msg_id != HDCP_2_2_AKE_SEND_HPRIME || is_paired))
+       if (msg_id == HDCP_2_2_AKE_SEND_HPRIME) {
+               if (is_paired)
+                       return HDCP_2_2_HPRIME_PAIRED_TIMEOUT_MS;
+               else
+                       return HDCP_2_2_HPRIME_NO_PAIRED_TIMEOUT_MS;
+       }
+
+       for (i = 0; i < ARRAY_SIZE(hdcp2_msg_timeout); i++) {
+               if (hdcp2_msg_timeout[i].msg_id == msg_id)
                        return hdcp2_msg_timeout[i].timeout;
-               else if (hdcp2_msg_timeout[i].msg_id == msg_id)
-                       return hdcp2_msg_timeout[i].timeout2;
+       }
 
        return -EINVAL;
 }