Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
021357ac
Commit
021357ac
authored
Sep 07, 2010
by
Chris Wilson
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
drm/i915: Use the real FDI frequency for determining b/w
Signed-off-by:
Chris Wilson
<
chris@chris-wilson.co.uk
>
parent
8c4223be
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
20 additions
and
1 deletion
+20
-1
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/i915_reg.h
+1
-0
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_display.c
+16
-1
drivers/gpu/drm/i915/intel_drv.h
drivers/gpu/drm/i915/intel_drv.h
+3
-0
No files found.
drivers/gpu/drm/i915/i915_reg.h
View file @
021357ac
...
...
@@ -2398,6 +2398,7 @@
#define RR_HW_HIGH_POWER_FRAMES_MASK 0xff00
#define FDI_PLL_BIOS_0 0x46000
#define FDI_PLL_FB_CLOCK_MASK 0xff
#define FDI_PLL_BIOS_1 0x46004
#define FDI_PLL_BIOS_2 0x46008
#define DISPLAY_PORT_PLL_BIOS_0 0x4600c
...
...
drivers/gpu/drm/i915/intel_display.c
View file @
021357ac
...
...
@@ -342,6 +342,13 @@ static bool
intel_find_pll_ironlake_dp
(
const
intel_limit_t
*
,
struct
drm_crtc
*
crtc
,
int
target
,
int
refclk
,
intel_clock_t
*
best_clock
);
static
inline
u32
/* units of 100MHz */
intel_fdi_link_freq
(
struct
drm_device
*
dev
)
{
struct
drm_i915_private
*
dev_priv
=
dev
->
dev_private
;
return
(
I915_READ
(
FDI_PLL_BIOS_0
)
&
FDI_PLL_FB_CLOCK_MASK
)
+
2
;
}
static
const
intel_limit_t
intel_limits_i8xx_dvo
=
{
.
dot
=
{
.
min
=
I8XX_DOT_MIN
,
.
max
=
I8XX_DOT_MAX
},
.
vco
=
{
.
min
=
I8XX_VCO_MIN
,
.
max
=
I8XX_VCO_MAX
},
...
...
@@ -3767,7 +3774,15 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc,
target_clock
=
mode
->
clock
;
else
target_clock
=
adjusted_mode
->
clock
;
link_bw
=
270000
;
/* FDI is a binary signal running at ~2.7GHz, encoding
* each output octet as 10 bits. The actual frequency
* is stored as a divider into a 100MHz clock, and the
* mode pixel clock is stored in units of 1KHz.
* Hence the bw of each lane in terms of the mode signal
* is:
*/
link_bw
=
intel_fdi_link_freq
(
dev
)
*
MHz
(
100
)
/
KHz
(
1
)
/
10
;
}
/* determine panel color depth */
...
...
drivers/gpu/drm/i915/intel_drv.h
View file @
021357ac
...
...
@@ -49,6 +49,9 @@
#define wait_for(COND, MS) _wait_for(COND, MS, 1)
#define wait_for_atomic(COND, MS) _wait_for(COND, MS, 0)
#define KHz(x) (1000*x)
#define MHz(x) KHz(1000*x)
/*
* Display related stuff
*/
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment