drm/i915: Separate sideband declarations to intel_sideband.h

Split the sideback declarations out of the ginormous i915_drv.h

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190426081725.31217-5-chris@chris-wilson.co.uk
This commit is contained in:
Chris Wilson 2019-04-26 09:17:22 +01:00
parent ebb5eb7d73
commit 56c5098ffc
16 changed files with 157 additions and 126 deletions

View File

@ -30,6 +30,7 @@ header_test := \
intel_pipe_crc.h \ intel_pipe_crc.h \
intel_pm.h \ intel_pm.h \
intel_psr.h \ intel_psr.h \
intel_sideband.h \
intel_sdvo.h \ intel_sdvo.h \
intel_sprite.h \ intel_sprite.h \
intel_tv.h \ intel_tv.h \

View File

@ -42,6 +42,7 @@
#include "intel_hdmi.h" #include "intel_hdmi.h"
#include "intel_pm.h" #include "intel_pm.h"
#include "intel_psr.h" #include "intel_psr.h"
#include "intel_sideband.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)
{ {

View File

@ -541,11 +541,6 @@ enum intel_pch {
PCH_ICP, /* Ice Lake PCH */ PCH_ICP, /* Ice Lake PCH */
}; };
enum intel_sbi_destination {
SBI_ICLK,
SBI_MPHY,
};
#define QUIRK_LVDS_SSC_DISABLE (1<<1) #define QUIRK_LVDS_SSC_DISABLE (1<<1)
#define QUIRK_INVERT_BRIGHTNESS (1<<2) #define QUIRK_INVERT_BRIGHTNESS (1<<2)
#define QUIRK_BACKLIGHT_PRESENT (1<<3) #define QUIRK_BACKLIGHT_PRESENT (1<<3)
@ -3435,121 +3430,6 @@ int sandybridge_pcode_write_timeout(struct drm_i915_private *dev_priv, u32 mbox,
int skl_pcode_request(struct drm_i915_private *dev_priv, u32 mbox, u32 request, int skl_pcode_request(struct drm_i915_private *dev_priv, u32 mbox, u32 request,
u32 reply_mask, u32 reply, int timeout_base_ms); u32 reply_mask, u32 reply, int timeout_base_ms);
/* intel_sideband.c */
enum {
VLV_IOSF_SB_BUNIT,
VLV_IOSF_SB_CCK,
VLV_IOSF_SB_CCU,
VLV_IOSF_SB_DPIO,
VLV_IOSF_SB_FLISDSI,
VLV_IOSF_SB_GPIO,
VLV_IOSF_SB_NC,
VLV_IOSF_SB_PUNIT,
};
void vlv_iosf_sb_get(struct drm_i915_private *i915, unsigned long ports);
u32 vlv_iosf_sb_read(struct drm_i915_private *i915, u8 port, u32 reg);
void vlv_iosf_sb_write(struct drm_i915_private *i915,
u8 port, u32 reg, u32 val);
void vlv_iosf_sb_put(struct drm_i915_private *i915, unsigned long ports);
static inline void vlv_bunit_get(struct drm_i915_private *i915)
{
vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_BUNIT));
}
u32 vlv_bunit_read(struct drm_i915_private *i915, u32 reg);
void vlv_bunit_write(struct drm_i915_private *i915, u32 reg, u32 val);
static inline void vlv_bunit_put(struct drm_i915_private *i915)
{
vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_BUNIT));
}
static inline void vlv_cck_get(struct drm_i915_private *i915)
{
vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_CCK));
}
u32 vlv_cck_read(struct drm_i915_private *i915, u32 reg);
void vlv_cck_write(struct drm_i915_private *i915, u32 reg, u32 val);
static inline void vlv_cck_put(struct drm_i915_private *i915)
{
vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_CCK));
}
static inline void vlv_ccu_get(struct drm_i915_private *i915)
{
vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_CCU));
}
u32 vlv_ccu_read(struct drm_i915_private *i915, u32 reg);
void vlv_ccu_write(struct drm_i915_private *i915, u32 reg, u32 val);
static inline void vlv_ccu_put(struct drm_i915_private *i915)
{
vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_CCU));
}
static inline void vlv_dpio_get(struct drm_i915_private *i915)
{
vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_DPIO));
}
u32 vlv_dpio_read(struct drm_i915_private *i915, enum pipe pipe, int reg);
void vlv_dpio_write(struct drm_i915_private *i915,
enum pipe pipe, int reg, u32 val);
static inline void vlv_dpio_put(struct drm_i915_private *i915)
{
vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_DPIO));
}
static inline void vlv_flisdsi_get(struct drm_i915_private *i915)
{
vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_FLISDSI));
}
u32 vlv_flisdsi_read(struct drm_i915_private *i915, u32 reg);
void vlv_flisdsi_write(struct drm_i915_private *i915, u32 reg, u32 val);
static inline void vlv_flisdsi_put(struct drm_i915_private *i915)
{
vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_FLISDSI));
}
static inline void vlv_nc_get(struct drm_i915_private *i915)
{
vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_NC));
}
u32 vlv_nc_read(struct drm_i915_private *i915, u8 addr);
static inline void vlv_nc_put(struct drm_i915_private *i915)
{
vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_NC));
}
static inline void vlv_punit_get(struct drm_i915_private *i915)
{
vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_PUNIT));
}
u32 vlv_punit_read(struct drm_i915_private *i915, u32 addr);
int vlv_punit_write(struct drm_i915_private *i915, u32 addr, u32 val);
static inline void vlv_punit_put(struct drm_i915_private *i915)
{
vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_PUNIT));
}
u32 intel_sbi_read(struct drm_i915_private *dev_priv, u16 reg,
enum intel_sbi_destination destination);
void intel_sbi_write(struct drm_i915_private *dev_priv, u16 reg, u32 value,
enum intel_sbi_destination destination);
/* intel_dpio_phy.c */ /* intel_dpio_phy.c */
void bxt_port_to_phy_channel(struct drm_i915_private *dev_priv, enum port port, void bxt_port_to_phy_channel(struct drm_i915_private *dev_priv, enum port port,
enum dpio_phy *phy, enum dpio_channel *ch); enum dpio_phy *phy, enum dpio_channel *ch);

View File

@ -29,7 +29,9 @@
#include <linux/module.h> #include <linux/module.h>
#include <linux/stat.h> #include <linux/stat.h>
#include <linux/sysfs.h> #include <linux/sysfs.h>
#include "intel_drv.h" #include "intel_drv.h"
#include "intel_sideband.h"
#include "i915_drv.h" #include "i915_drv.h"
static inline struct drm_i915_private *kdev_minor_to_i915(struct device *kdev) static inline struct drm_i915_private *kdev_minor_to_i915(struct device *kdev)

View File

@ -23,6 +23,7 @@
#include "intel_cdclk.h" #include "intel_cdclk.h"
#include "intel_drv.h" #include "intel_drv.h"
#include "intel_sideband.h"
/** /**
* DOC: CDCLK / RAWCLK * DOC: CDCLK / RAWCLK

View File

@ -66,6 +66,7 @@
#include "intel_pm.h" #include "intel_pm.h"
#include "intel_psr.h" #include "intel_psr.h"
#include "intel_sdvo.h" #include "intel_sdvo.h"
#include "intel_sideband.h"
#include "intel_sprite.h" #include "intel_sprite.h"
#include "intel_tv.h" #include "intel_tv.h"

View File

@ -31,6 +31,7 @@
#include <linux/reboot.h> #include <linux/reboot.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/types.h> #include <linux/types.h>
#include <asm/byteorder.h> #include <asm/byteorder.h>
#include <drm/drm_atomic_helper.h> #include <drm/drm_atomic_helper.h>
@ -53,6 +54,7 @@
#include "intel_lvds.h" #include "intel_lvds.h"
#include "intel_panel.h" #include "intel_panel.h"
#include "intel_psr.h" #include "intel_psr.h"
#include "intel_sideband.h"
#define DP_DPRX_ESI_LEN 14 #define DP_DPRX_ESI_LEN 14

View File

@ -23,6 +23,7 @@
#include "intel_dp.h" #include "intel_dp.h"
#include "intel_drv.h" #include "intel_drv.h"
#include "intel_sideband.h"
/** /**
* DOC: DPIO * DOC: DPIO

View File

@ -24,18 +24,23 @@
* *
*/ */
#include <drm/drm_crtc.h>
#include <drm/drm_edid.h>
#include <drm/i915_drm.h>
#include <linux/gpio/consumer.h> #include <linux/gpio/consumer.h>
#include <linux/mfd/intel_soc_pmic.h> #include <linux/mfd/intel_soc_pmic.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <video/mipi_display.h>
#include <asm/intel-mid.h> #include <asm/intel-mid.h>
#include <asm/unaligned.h> #include <asm/unaligned.h>
#include <drm/drm_crtc.h>
#include <drm/drm_edid.h>
#include <drm/i915_drm.h>
#include <video/mipi_display.h>
#include "i915_drv.h" #include "i915_drv.h"
#include "intel_drv.h" #include "intel_drv.h"
#include "intel_dsi.h" #include "intel_dsi.h"
#include "intel_sideband.h"
#define MIPI_TRANSFER_MODE_SHIFT 0 #define MIPI_TRANSFER_MODE_SHIFT 0
#define MIPI_VIRTUAL_CHANNEL_SHIFT 1 #define MIPI_VIRTUAL_CHANNEL_SHIFT 1

View File

@ -50,6 +50,7 @@
#include "intel_lspcon.h" #include "intel_lspcon.h"
#include "intel_sdvo.h" #include "intel_sdvo.h"
#include "intel_panel.h" #include "intel_panel.h"
#include "intel_sideband.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)
{ {

View File

@ -38,6 +38,7 @@
#include "intel_fbc.h" #include "intel_fbc.h"
#include "intel_pm.h" #include "intel_pm.h"
#include "intel_sprite.h" #include "intel_sprite.h"
#include "intel_sideband.h"
#include "../../../platform/x86/intel_ips.h" #include "../../../platform/x86/intel_ips.h"
/** /**

View File

@ -37,6 +37,7 @@
#include "intel_csr.h" #include "intel_csr.h"
#include "intel_dp.h" #include "intel_dp.h"
#include "intel_drv.h" #include "intel_drv.h"
#include "intel_sideband.h"
/** /**
* DOC: runtime pm * DOC: runtime pm

View File

@ -24,6 +24,8 @@
#include <asm/iosf_mbi.h> #include <asm/iosf_mbi.h>
#include "intel_sideband.h"
#include "i915_drv.h" #include "i915_drv.h"
#include "intel_drv.h" #include "intel_drv.h"

View File

@ -0,0 +1,130 @@
/* SPDX-License-Identifier: MIT */
#ifndef _INTEL_SIDEBAND_H_
#define _INTEL_SIDEBAND_H_
#include <linux/bitops.h>
#include <linux/types.h>
struct drm_i915_private;
enum pipe;
enum intel_sbi_destination {
SBI_ICLK,
SBI_MPHY,
};
enum {
VLV_IOSF_SB_BUNIT,
VLV_IOSF_SB_CCK,
VLV_IOSF_SB_CCU,
VLV_IOSF_SB_DPIO,
VLV_IOSF_SB_FLISDSI,
VLV_IOSF_SB_GPIO,
VLV_IOSF_SB_NC,
VLV_IOSF_SB_PUNIT,
};
void vlv_iosf_sb_get(struct drm_i915_private *i915, unsigned long ports);
u32 vlv_iosf_sb_read(struct drm_i915_private *i915, u8 port, u32 reg);
void vlv_iosf_sb_write(struct drm_i915_private *i915,
u8 port, u32 reg, u32 val);
void vlv_iosf_sb_put(struct drm_i915_private *i915, unsigned long ports);
static inline void vlv_bunit_get(struct drm_i915_private *i915)
{
vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_BUNIT));
}
u32 vlv_bunit_read(struct drm_i915_private *i915, u32 reg);
void vlv_bunit_write(struct drm_i915_private *i915, u32 reg, u32 val);
static inline void vlv_bunit_put(struct drm_i915_private *i915)
{
vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_BUNIT));
}
static inline void vlv_cck_get(struct drm_i915_private *i915)
{
vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_CCK));
}
u32 vlv_cck_read(struct drm_i915_private *i915, u32 reg);
void vlv_cck_write(struct drm_i915_private *i915, u32 reg, u32 val);
static inline void vlv_cck_put(struct drm_i915_private *i915)
{
vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_CCK));
}
static inline void vlv_ccu_get(struct drm_i915_private *i915)
{
vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_CCU));
}
u32 vlv_ccu_read(struct drm_i915_private *i915, u32 reg);
void vlv_ccu_write(struct drm_i915_private *i915, u32 reg, u32 val);
static inline void vlv_ccu_put(struct drm_i915_private *i915)
{
vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_CCU));
}
static inline void vlv_dpio_get(struct drm_i915_private *i915)
{
vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_DPIO));
}
u32 vlv_dpio_read(struct drm_i915_private *i915, enum pipe pipe, int reg);
void vlv_dpio_write(struct drm_i915_private *i915,
enum pipe pipe, int reg, u32 val);
static inline void vlv_dpio_put(struct drm_i915_private *i915)
{
vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_DPIO));
}
static inline void vlv_flisdsi_get(struct drm_i915_private *i915)
{
vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_FLISDSI));
}
u32 vlv_flisdsi_read(struct drm_i915_private *i915, u32 reg);
void vlv_flisdsi_write(struct drm_i915_private *i915, u32 reg, u32 val);
static inline void vlv_flisdsi_put(struct drm_i915_private *i915)
{
vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_FLISDSI));
}
static inline void vlv_nc_get(struct drm_i915_private *i915)
{
vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_NC));
}
u32 vlv_nc_read(struct drm_i915_private *i915, u8 addr);
static inline void vlv_nc_put(struct drm_i915_private *i915)
{
vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_NC));
}
static inline void vlv_punit_get(struct drm_i915_private *i915)
{
vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_PUNIT));
}
u32 vlv_punit_read(struct drm_i915_private *i915, u32 addr);
int vlv_punit_write(struct drm_i915_private *i915, u32 addr, u32 val);
static inline void vlv_punit_put(struct drm_i915_private *i915)
{
vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_PUNIT));
}
u32 intel_sbi_read(struct drm_i915_private *i915, u16 reg,
enum intel_sbi_destination destination);
void intel_sbi_write(struct drm_i915_private *i915, u16 reg, u32 value,
enum intel_sbi_destination destination);
#endif /* _INTEL_SIDEBAND_H */

View File

@ -30,13 +30,13 @@
#include <drm/drm_crtc.h> #include <drm/drm_crtc.h>
#include <drm/drm_edid.h> #include <drm/drm_edid.h>
#include <drm/drm_mipi_dsi.h> #include <drm/drm_mipi_dsi.h>
#include <drm/i915_drm.h>
#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_dsi.h" #include "intel_dsi.h"
#include "intel_panel.h" #include "intel_panel.h"
#include "intel_sideband.h"
/* return pixels in terms of txbyteclkhs */ /* return pixels in terms of txbyteclkhs */
static u16 txbyteclkhs(u16 pixels, int bpp, int lane_count, static u16 txbyteclkhs(u16 pixels, int bpp, int lane_count,

View File

@ -26,9 +26,11 @@
*/ */
#include <linux/kernel.h> #include <linux/kernel.h>
#include "intel_drv.h"
#include "i915_drv.h" #include "i915_drv.h"
#include "intel_drv.h"
#include "intel_dsi.h" #include "intel_dsi.h"
#include "intel_sideband.h"
static const u16 lfsr_converts[] = { static const u16 lfsr_converts[] = {
426, 469, 234, 373, 442, 221, 110, 311, 411, /* 62 - 70 */ 426, 469, 234, 373, 442, 221, 110, 311, 411, /* 62 - 70 */