Commit 408bd917 authored by Jani Nikula's avatar Jani Nikula

drm/i915: extract intel_hdcp.h from intel_drv.h

It used to be handy that we only had a couple of headers, but over time
intel_drv.h has become unwieldy. Extract declarations to a separate
header file corresponding to the implementation module, clarifying the
modularity of the driver.

Ensure the new header is self-contained, and do so with minimal further
includes, using forward declarations as needed. Include the new header
only where needed, and sort the modified include directives while at it
and as needed.

No functional changes.
Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Acked-by: default avatarJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/8348620b32cb4438ccfb5f7bbe9a18ff6b7c48a0.1554461791.git.jani.nikula@intel.com
parent 596fee14
...@@ -18,6 +18,7 @@ header_test := \ ...@@ -18,6 +18,7 @@ header_test := \
intel_engine_types.h \ intel_engine_types.h \
intel_fbc.h \ intel_fbc.h \
intel_frontbuffer.h \ intel_frontbuffer.h \
intel_hdcp.h \
intel_lspcon.h \ intel_lspcon.h \
intel_psr.h \ intel_psr.h \
intel_sdvo.h \ intel_sdvo.h \
......
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
#include "intel_drv.h" #include "intel_drv.h"
#include "intel_fbc.h" #include "intel_fbc.h"
#include "intel_guc_submission.h" #include "intel_guc_submission.h"
#include "intel_hdcp.h"
#include "intel_psr.h" #include "intel_psr.h"
static inline struct drm_i915_private *node_to_i915(struct drm_info_node *node) static inline struct drm_i915_private *node_to_i915(struct drm_info_node *node)
......
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
#include <drm/drm_plane_helper.h> #include <drm/drm_plane_helper.h>
#include "intel_drv.h" #include "intel_drv.h"
#include "intel_hdcp.h"
/** /**
* intel_digital_connector_atomic_get_property - hook for connector->atomic_get_property. * intel_digital_connector_atomic_get_property - hook for connector->atomic_get_property.
......
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
#include "i915_drv.h" #include "i915_drv.h"
#include "intel_connector.h" #include "intel_connector.h"
#include "intel_drv.h" #include "intel_drv.h"
#include "intel_hdcp.h"
int intel_connector_init(struct intel_connector *connector) int intel_connector_init(struct intel_connector *connector)
{ {
......
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
#include "intel_ddi.h" #include "intel_ddi.h"
#include "intel_drv.h" #include "intel_drv.h"
#include "intel_dsi.h" #include "intel_dsi.h"
#include "intel_hdcp.h"
#include "intel_lspcon.h" #include "intel_lspcon.h"
#include "intel_psr.h" #include "intel_psr.h"
......
...@@ -55,6 +55,7 @@ ...@@ -55,6 +55,7 @@
#include "intel_dsi.h" #include "intel_dsi.h"
#include "intel_fbc.h" #include "intel_fbc.h"
#include "intel_frontbuffer.h" #include "intel_frontbuffer.h"
#include "intel_hdcp.h"
#include "intel_psr.h" #include "intel_psr.h"
#include "intel_sdvo.h" #include "intel_sdvo.h"
......
...@@ -46,6 +46,7 @@ ...@@ -46,6 +46,7 @@
#include "intel_connector.h" #include "intel_connector.h"
#include "intel_ddi.h" #include "intel_ddi.h"
#include "intel_drv.h" #include "intel_drv.h"
#include "intel_hdcp.h"
#include "intel_lspcon.h" #include "intel_lspcon.h"
#include "intel_psr.h" #include "intel_psr.h"
......
...@@ -2099,21 +2099,6 @@ static inline void intel_backlight_device_unregister(struct intel_connector *con ...@@ -2099,21 +2099,6 @@ static inline void intel_backlight_device_unregister(struct intel_connector *con
} }
#endif /* CONFIG_BACKLIGHT_CLASS_DEVICE */ #endif /* CONFIG_BACKLIGHT_CLASS_DEVICE */
/* intel_hdcp.c */
void intel_hdcp_atomic_check(struct drm_connector *connector,
struct drm_connector_state *old_state,
struct drm_connector_state *new_state);
int intel_hdcp_init(struct intel_connector *connector,
const struct intel_hdcp_shim *hdcp_shim);
int intel_hdcp_enable(struct intel_connector *connector);
int intel_hdcp_disable(struct intel_connector *connector);
bool is_hdcp_supported(struct drm_i915_private *dev_priv, enum port port);
bool intel_hdcp_capable(struct intel_connector *connector);
void intel_hdcp_component_init(struct drm_i915_private *dev_priv);
void intel_hdcp_component_fini(struct drm_i915_private *dev_priv);
void intel_hdcp_cleanup(struct intel_connector *connector);
void intel_hdcp_handle_cp_irq(struct intel_connector *connector);
/* intel_quirks.c */ /* intel_quirks.c */
void intel_init_quirks(struct drm_i915_private *dev_priv); void intel_init_quirks(struct drm_i915_private *dev_priv);
......
...@@ -6,14 +6,16 @@ ...@@ -6,14 +6,16 @@
* Sean Paul <seanpaul@chromium.org> * Sean Paul <seanpaul@chromium.org>
*/ */
#include <drm/drm_hdcp.h> #include <linux/component.h>
#include <drm/i915_component.h>
#include <linux/i2c.h> #include <linux/i2c.h>
#include <linux/random.h> #include <linux/random.h>
#include <linux/component.h>
#include "intel_drv.h" #include <drm/drm_hdcp.h>
#include <drm/i915_component.h>
#include "i915_reg.h" #include "i915_reg.h"
#include "intel_drv.h"
#include "intel_hdcp.h"
#define KEY_LOAD_TRIES 5 #define KEY_LOAD_TRIES 5
#define ENCRYPT_STATUS_CHANGE_TIMEOUT_MS 50 #define ENCRYPT_STATUS_CHANGE_TIMEOUT_MS 50
......
/* SPDX-License-Identifier: MIT */
/*
* Copyright © 2019 Intel Corporation
*/
#ifndef __INTEL_HDCP_H__
#define __INTEL_HDCP_H__
#include <linux/types.h>
#include <drm/i915_drm.h>
struct drm_connector;
struct drm_connector_state;
struct drm_i915_private;
struct intel_connector;
struct intel_hdcp_shim;
void intel_hdcp_atomic_check(struct drm_connector *connector,
struct drm_connector_state *old_state,
struct drm_connector_state *new_state);
int intel_hdcp_init(struct intel_connector *connector,
const struct intel_hdcp_shim *hdcp_shim);
int intel_hdcp_enable(struct intel_connector *connector);
int intel_hdcp_disable(struct intel_connector *connector);
bool is_hdcp_supported(struct drm_i915_private *dev_priv, enum port port);
bool intel_hdcp_capable(struct intel_connector *connector);
void intel_hdcp_component_init(struct drm_i915_private *dev_priv);
void intel_hdcp_component_fini(struct drm_i915_private *dev_priv);
void intel_hdcp_cleanup(struct intel_connector *connector);
void intel_hdcp_handle_cp_irq(struct intel_connector *connector);
#endif /* __INTEL_HDCP_H__ */
...@@ -44,6 +44,7 @@ ...@@ -44,6 +44,7 @@
#include "intel_connector.h" #include "intel_connector.h"
#include "intel_ddi.h" #include "intel_ddi.h"
#include "intel_drv.h" #include "intel_drv.h"
#include "intel_hdcp.h"
#include "intel_lspcon.h" #include "intel_lspcon.h"
#include "intel_sdvo.h" #include "intel_sdvo.h"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment