Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
86a3073e
K
Kernel
项目概览
openeuler
/
Kernel
1 年多 前同步成功
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
86a3073e
编写于
10月 20, 2011
作者:
K
Keith Packard
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'edp-training-fixes' into drm-intel-next
Conflicts: drivers/gpu/drm/i915/intel_dp.c Just whitespace change conflicts
上级
0ac225e5
32ce697c
变更
5
展开全部
隐藏空白更改
内联
并排
Showing
5 changed file
with
414 addition
and
122 deletion
+414
-122
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_drv.h
+0
-2
drivers/gpu/drm/i915/i915_irq.c
drivers/gpu/drm/i915/i915_irq.c
+28
-0
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/i915_reg.h
+24
-1
drivers/gpu/drm/i915/intel_bios.h
drivers/gpu/drm/i915/intel_bios.h
+4
-4
drivers/gpu/drm/i915/intel_dp.c
drivers/gpu/drm/i915/intel_dp.c
+358
-115
未找到文件。
drivers/gpu/drm/i915/i915_drv.h
浏览文件 @
86a3073e
...
...
@@ -349,7 +349,6 @@ typedef struct drm_i915_private {
/* LVDS info */
int
backlight_level
;
/* restore backlight to this value */
bool
backlight_enabled
;
struct
drm_display_mode
*
panel_fixed_mode
;
struct
drm_display_mode
*
lfp_lvds_vbt_mode
;
/* if any */
struct
drm_display_mode
*
sdvo_lvds_vbt_mode
;
/* if any */
...
...
@@ -674,7 +673,6 @@ typedef struct drm_i915_private {
unsigned
int
lvds_border_bits
;
/* Panel fitter placement and size for Ironlake+ */
u32
pch_pf_pos
,
pch_pf_size
;
int
panel_t3
,
panel_t12
;
struct
drm_crtc
*
plane_to_crtc_mapping
[
2
];
struct
drm_crtc
*
pipe_to_crtc_mapping
[
2
];
...
...
drivers/gpu/drm/i915/i915_irq.c
浏览文件 @
86a3073e
...
...
@@ -1777,6 +1777,26 @@ static void ironlake_irq_preinstall(struct drm_device *dev)
POSTING_READ
(
SDEIER
);
}
/*
* Enable digital hotplug on the PCH, and configure the DP short pulse
* duration to 2ms (which is the minimum in the Display Port spec)
*
* This register is the same on all known PCH chips.
*/
static
void
ironlake_enable_pch_hotplug
(
struct
drm_device
*
dev
)
{
drm_i915_private_t
*
dev_priv
=
(
drm_i915_private_t
*
)
dev
->
dev_private
;
u32
hotplug
;
hotplug
=
I915_READ
(
PCH_PORT_HOTPLUG
);
hotplug
&=
~
(
PORTD_PULSE_DURATION_MASK
|
PORTC_PULSE_DURATION_MASK
|
PORTB_PULSE_DURATION_MASK
);
hotplug
|=
PORTD_HOTPLUG_ENABLE
|
PORTD_PULSE_DURATION_2ms
;
hotplug
|=
PORTC_HOTPLUG_ENABLE
|
PORTC_PULSE_DURATION_2ms
;
hotplug
|=
PORTB_HOTPLUG_ENABLE
|
PORTB_PULSE_DURATION_2ms
;
I915_WRITE
(
PCH_PORT_HOTPLUG
,
hotplug
);
}
static
int
ironlake_irq_postinstall
(
struct
drm_device
*
dev
)
{
drm_i915_private_t
*
dev_priv
=
(
drm_i915_private_t
*
)
dev
->
dev_private
;
...
...
@@ -1839,6 +1859,8 @@ static int ironlake_irq_postinstall(struct drm_device *dev)
I915_WRITE
(
SDEIER
,
hotplug_mask
);
POSTING_READ
(
SDEIER
);
ironlake_enable_pch_hotplug
(
dev
);
if
(
IS_IRONLAKE_M
(
dev
))
{
/* Clear & enable PCU event interrupts */
I915_WRITE
(
DEIIR
,
DE_PCU_EVENT
);
...
...
@@ -1896,6 +1918,8 @@ static int ivybridge_irq_postinstall(struct drm_device *dev)
I915_WRITE
(
SDEIER
,
hotplug_mask
);
POSTING_READ
(
SDEIER
);
ironlake_enable_pch_hotplug
(
dev
);
return
0
;
}
...
...
@@ -2020,6 +2044,10 @@ static void ironlake_irq_uninstall(struct drm_device *dev)
I915_WRITE
(
GTIMR
,
0xffffffff
);
I915_WRITE
(
GTIER
,
0x0
);
I915_WRITE
(
GTIIR
,
I915_READ
(
GTIIR
));
I915_WRITE
(
SDEIMR
,
0xffffffff
);
I915_WRITE
(
SDEIER
,
0x0
);
I915_WRITE
(
SDEIIR
,
I915_READ
(
SDEIIR
));
}
static
void
i915_driver_irq_uninstall
(
struct
drm_device
*
dev
)
...
...
drivers/gpu/drm/i915/i915_reg.h
浏览文件 @
86a3073e
...
...
@@ -2916,12 +2916,13 @@
#define SDEIER 0xc400c
/* digital port hotplug */
#define PCH_PORT_HOTPLUG 0xc4030
#define PCH_PORT_HOTPLUG 0xc4030
/* SHOTPLUG_CTL */
#define PORTD_HOTPLUG_ENABLE (1 << 20)
#define PORTD_PULSE_DURATION_2ms (0)
#define PORTD_PULSE_DURATION_4_5ms (1 << 18)
#define PORTD_PULSE_DURATION_6ms (2 << 18)
#define PORTD_PULSE_DURATION_100ms (3 << 18)
#define PORTD_PULSE_DURATION_MASK (3 << 18)
#define PORTD_HOTPLUG_NO_DETECT (0)
#define PORTD_HOTPLUG_SHORT_DETECT (1 << 16)
#define PORTD_HOTPLUG_LONG_DETECT (1 << 17)
...
...
@@ -2930,6 +2931,7 @@
#define PORTC_PULSE_DURATION_4_5ms (1 << 10)
#define PORTC_PULSE_DURATION_6ms (2 << 10)
#define PORTC_PULSE_DURATION_100ms (3 << 10)
#define PORTC_PULSE_DURATION_MASK (3 << 10)
#define PORTC_HOTPLUG_NO_DETECT (0)
#define PORTC_HOTPLUG_SHORT_DETECT (1 << 8)
#define PORTC_HOTPLUG_LONG_DETECT (1 << 9)
...
...
@@ -2938,6 +2940,7 @@
#define PORTB_PULSE_DURATION_4_5ms (1 << 2)
#define PORTB_PULSE_DURATION_6ms (2 << 2)
#define PORTB_PULSE_DURATION_100ms (3 << 2)
#define PORTB_PULSE_DURATION_MASK (3 << 2)
#define PORTB_HOTPLUG_NO_DETECT (0)
#define PORTB_HOTPLUG_SHORT_DETECT (1 << 0)
#define PORTB_HOTPLUG_LONG_DETECT (1 << 1)
...
...
@@ -3321,15 +3324,35 @@
#define PCH_PP_STATUS 0xc7200
#define PCH_PP_CONTROL 0xc7204
#define PANEL_UNLOCK_REGS (0xabcd << 16)
#define PANEL_UNLOCK_MASK (0xffff << 16)
#define EDP_FORCE_VDD (1 << 3)
#define EDP_BLC_ENABLE (1 << 2)
#define PANEL_POWER_RESET (1 << 1)
#define PANEL_POWER_OFF (0 << 0)
#define PANEL_POWER_ON (1 << 0)
#define PCH_PP_ON_DELAYS 0xc7208
#define PANEL_PORT_SELECT_MASK (3 << 30)
#define PANEL_PORT_SELECT_LVDS (0 << 30)
#define PANEL_PORT_SELECT_DPA (1 << 30)
#define EDP_PANEL (1 << 30)
#define PANEL_PORT_SELECT_DPC (2 << 30)
#define PANEL_PORT_SELECT_DPD (3 << 30)
#define PANEL_POWER_UP_DELAY_MASK (0x1fff0000)
#define PANEL_POWER_UP_DELAY_SHIFT 16
#define PANEL_LIGHT_ON_DELAY_MASK (0x1fff)
#define PANEL_LIGHT_ON_DELAY_SHIFT 0
#define PCH_PP_OFF_DELAYS 0xc720c
#define PANEL_POWER_DOWN_DELAY_MASK (0x1fff0000)
#define PANEL_POWER_DOWN_DELAY_SHIFT 16
#define PANEL_LIGHT_OFF_DELAY_MASK (0x1fff)
#define PANEL_LIGHT_OFF_DELAY_SHIFT 0
#define PCH_PP_DIVISOR 0xc7210
#define PP_REFERENCE_DIVIDER_MASK (0xffffff00)
#define PP_REFERENCE_DIVIDER_SHIFT 8
#define PANEL_POWER_CYCLE_DELAY_MASK (0x1f)
#define PANEL_POWER_CYCLE_DELAY_SHIFT 0
#define PCH_DP_B 0xe4100
#define PCH_DPB_AUX_CH_CTL 0xe4110
...
...
drivers/gpu/drm/i915/intel_bios.h
浏览文件 @
86a3073e
/*
* Copyright 2006 Intel Corporation
* Copyright
©
2006 Intel Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
...
...
@@ -446,11 +446,11 @@ struct bdb_driver_features {
#define EDP_VSWING_1_2V 3
struct
edp_power_seq
{
u16
t3
;
u16
t
7
;
u16
t
1_t
3
;
u16
t
8
;
u16
t9
;
u16
t10
;
u16
t12
;
u16
t1
1_t1
2
;
}
__attribute__
((
packed
));
struct
edp_link_params
{
...
...
drivers/gpu/drm/i915/intel_dp.c
浏览文件 @
86a3073e
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录