Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
xenomai
ipipe-x86
Commits
d4c2c99b
Commit
d4c2c99b
authored
Nov 15, 2011
by
Ben Skeggs
Browse files
drm/nouveau/dp: remove broken display depth function, use the improved one
Signed-off-by:
Ben Skeggs
<
bskeggs@redhat.com
>
parent
c37e9905
Changes
1
Hide whitespace changes
Inline
Side-by-side
drivers/gpu/drm/nouveau/nouveau_connector.c
View file @
d4c2c99b
...
...
@@ -78,23 +78,6 @@ nouveau_encoder_connector_get(struct nouveau_encoder *encoder)
return
NULL
;
}
/*TODO: This could use improvement, and learn to handle the fixed
* BIOS tables etc. It's fine currently, for its only user.
*/
int
nouveau_connector_bpp
(
struct
drm_connector
*
connector
)
{
struct
nouveau_connector
*
nv_connector
=
nouveau_connector
(
connector
);
if
(
nv_connector
->
edid
&&
nv_connector
->
edid
->
revision
>=
4
)
{
u8
bpc
=
((
nv_connector
->
edid
->
input
&
0x70
)
>>
3
)
+
4
;
if
(
bpc
>
4
)
return
bpc
;
}
return
18
;
}
static
void
nouveau_connector_destroy
(
struct
drm_connector
*
connector
)
{
...
...
@@ -714,6 +697,12 @@ nouveau_connector_get_modes(struct drm_connector *connector)
nv_connector
->
native_mode
=
drm_mode_duplicate
(
dev
,
&
mode
);
}
/* Determine display colour depth for everything except LVDS now,
* DP requires this before mode_valid() is called.
*/
if
(
connector
->
connector_type
!=
DRM_MODE_CONNECTOR_LVDS
)
nouveau_connector_detect_depth
(
connector
);
/* Find the native mode if this is a digital panel, if we didn't
* find any modes through DDC previously add the native mode to
* the list of modes.
...
...
@@ -729,11 +718,12 @@ nouveau_connector_get_modes(struct drm_connector *connector)
ret
=
1
;
}
/*
Attempt to d
etermine
display
colour depth,
this has to
happen after
*
we've determined the "native" mode for LVDS, as the VBIOS tables
*
require us to compare against a pixel clock in some cases
..
/*
D
etermine
LVDS
colour depth,
must
happen after
determining
*
"native" mode as some VBIOS tables require us to use the
*
pixel clock as part of the lookup.
..
*/
nouveau_connector_detect_depth
(
connector
);
if
(
connector
->
connector_type
==
DRM_MODE_CONNECTOR_LVDS
)
nouveau_connector_detect_depth
(
connector
);
if
(
nv_encoder
->
dcb
->
type
==
OUTPUT_TV
)
ret
=
get_slave_funcs
(
encoder
)
->
get_modes
(
encoder
,
connector
);
...
...
@@ -799,7 +789,7 @@ nouveau_connector_mode_valid(struct drm_connector *connector,
case
OUTPUT_DP
:
max_clock
=
nv_encoder
->
dp
.
link_nr
;
max_clock
*=
nv_encoder
->
dp
.
link_bw
;
clock
=
clock
*
nouveau_
connector
_bpp
(
connector
)
/
10
;
clock
=
clock
*
(
connector
->
display_info
.
bpc
*
3
)
/
10
;
break
;
default:
BUG_ON
(
1
);
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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