Lines Matching refs:hdcp
56 static int hdcp_load_keys_cb(struct rk628 *rk628, struct rk628_hdcp *hdcp) in hdcp_load_keys_cb() argument
61 hdcp->keys = kmalloc(HDCP_KEY_SIZE, GFP_KERNEL); in hdcp_load_keys_cb()
62 if (!hdcp->keys) in hdcp_load_keys_cb()
65 hdcp->seeds = kmalloc(HDCP_KEY_SEED_SIZE, GFP_KERNEL); in hdcp_load_keys_cb()
66 if (!hdcp->seeds) { in hdcp_load_keys_cb()
67 kfree(hdcp->keys); in hdcp_load_keys_cb()
68 hdcp->keys = NULL; in hdcp_load_keys_cb()
75 kfree(hdcp->keys); in hdcp_load_keys_cb()
76 hdcp->keys = NULL; in hdcp_load_keys_cb()
77 kfree(hdcp->seeds); in hdcp_load_keys_cb()
78 hdcp->seeds = NULL; in hdcp_load_keys_cb()
81 memcpy(hdcp->keys, hdcp_vendor_data, HDCP_KEY_SIZE); in hdcp_load_keys_cb()
82 memcpy(hdcp->seeds, hdcp_vendor_data + HDCP_KEY_SIZE, in hdcp_load_keys_cb()
88 static int rk628_hdmi_hdcp_load_key(struct rk628 *rk628, struct rk628_hdcp *hdcp) in rk628_hdmi_hdcp_load_key() argument
95 if (!hdcp->keys) { in rk628_hdmi_hdcp_load_key()
96 ret = hdcp_load_keys_cb(rk628, hdcp); in rk628_hdmi_hdcp_load_key()
102 hdcp_keys = hdcp->keys; in rk628_hdmi_hdcp_load_key()
135 if (hdcp->seeds) { in rk628_hdmi_hdcp_load_key()
136 seeds = (hdcp->seeds[0] & 0xff) << 8; in rk628_hdmi_hdcp_load_key()
137 seeds |= (hdcp->seeds[1] & 0xff); in rk628_hdmi_hdcp_load_key()
153 void rk628_hdmirx_set_hdcp(struct rk628 *rk628, struct rk628_hdcp *hdcp, bool en) in rk628_hdmirx_set_hdcp() argument
158 rk628_hdmi_hdcp_load_key(rk628, hdcp); in rk628_hdmirx_set_hdcp()