Commit f3e18947 authored by Jani Nikula's avatar Jani Nikula

drm/i915: extract intel_lspcon.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/b01cae3b5307d31c34de2321d6d2913f1cc39a12.1554461791.git.jani.nikula@intel.com
parent 78c61320
...@@ -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_lspcon.h \
intel_psr.h \ intel_psr.h \
intel_workarounds_types.h intel_workarounds_types.h
......
...@@ -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_lspcon.h"
#include "intel_psr.h" #include "intel_psr.h"
struct ddi_buf_trans { struct ddi_buf_trans {
......
...@@ -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_lspcon.h"
#include "intel_psr.h" #include "intel_psr.h"
#define DP_DPRX_ESI_LEN 14 #define DP_DPRX_ESI_LEN 14
......
...@@ -2419,27 +2419,6 @@ int intel_plane_atomic_check_with_state(const struct intel_crtc_state *old_crtc_ ...@@ -2419,27 +2419,6 @@ int intel_plane_atomic_check_with_state(const struct intel_crtc_state *old_crtc_
const struct intel_plane_state *old_plane_state, const struct intel_plane_state *old_plane_state,
struct intel_plane_state *intel_state); struct intel_plane_state *intel_state);
/* intel_lspcon.c */
bool lspcon_init(struct intel_digital_port *intel_dig_port);
void lspcon_resume(struct intel_lspcon *lspcon);
void lspcon_wait_pcon_mode(struct intel_lspcon *lspcon);
void lspcon_write_infoframe(struct intel_encoder *encoder,
const struct intel_crtc_state *crtc_state,
unsigned int type,
const void *buf, ssize_t len);
void lspcon_read_infoframe(struct intel_encoder *encoder,
const struct intel_crtc_state *crtc_state,
unsigned int type,
void *frame, ssize_t len);
void lspcon_set_infoframes(struct intel_encoder *encoder,
bool enable,
const struct intel_crtc_state *crtc_state,
const struct drm_connector_state *conn_state);
u32 lspcon_infoframes_enabled(struct intel_encoder *encoder,
const struct intel_crtc_state *pipe_config);
void lspcon_ycbcr420_config(struct drm_connector *connector,
struct intel_crtc_state *crtc_state);
/* intel_pipe_crc.c */ /* intel_pipe_crc.c */
#ifdef CONFIG_DEBUG_FS #ifdef CONFIG_DEBUG_FS
int intel_crtc_set_crc_source(struct drm_crtc *crtc, const char *source_name); int intel_crtc_set_crc_source(struct drm_crtc *crtc, const char *source_name);
......
...@@ -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_lspcon.h"
static struct drm_device *intel_hdmi_to_dev(struct intel_hdmi *intel_hdmi) static struct drm_device *intel_hdmi_to_dev(struct intel_hdmi *intel_hdmi)
{ {
......
...@@ -22,10 +22,13 @@ ...@@ -22,10 +22,13 @@
* *
* *
*/ */
#include <drm/drm_edid.h>
#include <drm/drm_atomic_helper.h> #include <drm/drm_atomic_helper.h>
#include <drm/drm_dp_dual_mode_helper.h> #include <drm/drm_dp_dual_mode_helper.h>
#include <drm/drm_edid.h>
#include "intel_drv.h" #include "intel_drv.h"
#include "intel_lspcon.h"
/* LSPCON OUI Vendor ID(signatures) */ /* LSPCON OUI Vendor ID(signatures) */
#define LSPCON_VENDOR_PARADE_OUI 0x001CF8 #define LSPCON_VENDOR_PARADE_OUI 0x001CF8
......
/* SPDX-License-Identifier: MIT */
/*
* Copyright © 2019 Intel Corporation
*/
#ifndef __INTEL_LSPCON_H__
#define __INTEL_LSPCON_H__
#include <linux/types.h>
struct drm_connector;
struct drm_connector_state;
struct intel_crtc_state;
struct intel_digital_port;
struct intel_encoder;
struct intel_lspcon;
bool lspcon_init(struct intel_digital_port *intel_dig_port);
void lspcon_resume(struct intel_lspcon *lspcon);
void lspcon_wait_pcon_mode(struct intel_lspcon *lspcon);
void lspcon_write_infoframe(struct intel_encoder *encoder,
const struct intel_crtc_state *crtc_state,
unsigned int type,
const void *buf, ssize_t len);
void lspcon_read_infoframe(struct intel_encoder *encoder,
const struct intel_crtc_state *crtc_state,
unsigned int type,
void *frame, ssize_t len);
void lspcon_set_infoframes(struct intel_encoder *encoder,
bool enable,
const struct intel_crtc_state *crtc_state,
const struct drm_connector_state *conn_state);
u32 lspcon_infoframes_enabled(struct intel_encoder *encoder,
const struct intel_crtc_state *pipe_config);
void lspcon_ycbcr420_config(struct drm_connector *connector,
struct intel_crtc_state *crtc_state);
#endif /* __INTEL_LSPCON_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