Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
Commits
e7cc51c5
Commit
e7cc51c5
authored
Feb 24, 2010
by
Ben Skeggs
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
drm/nouveau: reorganise bios header, add dcb connector type enums
Signed-off-by:
Ben Skeggs
<
bskeggs@redhat.com
>
parent
04a39c57
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
63 additions
and
44 deletions
+63
-44
drivers/gpu/drm/nouveau/nouveau_bios.c
drivers/gpu/drm/nouveau/nouveau_bios.c
+2
-0
drivers/gpu/drm/nouveau/nouveau_bios.h
drivers/gpu/drm/nouveau/nouveau_bios.h
+58
-44
drivers/gpu/drm/nouveau/nouveau_connector.c
drivers/gpu/drm/nouveau/nouveau_connector.c
+3
-0
No files found.
drivers/gpu/drm/nouveau/nouveau_bios.c
View file @
e7cc51c5
...
@@ -5388,6 +5388,8 @@ parse_dcb20_entry(struct drm_device *dev, struct dcb_table *dcb,
...
@@ -5388,6 +5388,8 @@ parse_dcb20_entry(struct drm_device *dev, struct dcb_table *dcb,
/* weird g80 mobile type that "nv" treats as a terminator */
/* weird g80 mobile type that "nv" treats as a terminator */
dcb
->
entries
--
;
dcb
->
entries
--
;
return
false
;
return
false
;
default:
break
;
}
}
/* unsure what DCB version introduces this, 3.0? */
/* unsure what DCB version introduces this, 3.0? */
...
...
drivers/gpu/drm/nouveau/nouveau_bios.h
View file @
e7cc51c5
...
@@ -34,9 +34,66 @@
...
@@ -34,9 +34,66 @@
#define DCB_LOC_ON_CHIP 0
#define DCB_LOC_ON_CHIP 0
struct
dcb_i2c_entry
{
uint8_t
port_type
;
uint8_t
read
,
write
;
struct
nouveau_i2c_chan
*
chan
;
};
enum
dcb_gpio_tag
{
DCB_GPIO_TVDAC0
=
0xc
,
DCB_GPIO_TVDAC1
=
0x2d
,
};
struct
dcb_gpio_entry
{
enum
dcb_gpio_tag
tag
;
int
line
;
bool
invert
;
};
struct
dcb_gpio_table
{
int
entries
;
struct
dcb_gpio_entry
entry
[
DCB_MAX_NUM_GPIO_ENTRIES
];
};
enum
dcb_connector_type
{
DCB_CONNECTOR_VGA
=
0x00
,
DCB_CONNECTOR_TV_0
=
0x10
,
DCB_CONNECTOR_TV_1
=
0x11
,
DCB_CONNECTOR_TV_3
=
0x13
,
DCB_CONNECTOR_DVI_I
=
0x30
,
DCB_CONNECTOR_DVI_D
=
0x31
,
DCB_CONNECTOR_LVDS
=
0x40
,
DCB_CONNECTOR_DP
=
0x46
,
DCB_CONNECTOR_eDP
=
0x47
,
DCB_CONNECTOR_HDMI_0
=
0x60
,
DCB_CONNECTOR_HDMI_1
=
0x61
,
};
struct
dcb_connector_table_entry
{
uint32_t
entry
;
enum
dcb_connector_type
type
;
uint8_t
index
;
uint8_t
gpio_tag
;
};
struct
dcb_connector_table
{
int
entries
;
struct
dcb_connector_table_entry
entry
[
DCB_MAX_NUM_CONNECTOR_ENTRIES
];
};
enum
dcb_type
{
OUTPUT_ANALOG
=
0
,
OUTPUT_TV
=
1
,
OUTPUT_TMDS
=
2
,
OUTPUT_LVDS
=
3
,
OUTPUT_DP
=
6
,
OUTPUT_ANY
=
-
1
};
struct
dcb_entry
{
struct
dcb_entry
{
int
index
;
/* may not be raw dcb index if merging has happened */
int
index
;
/* may not be raw dcb index if merging has happened */
uint8_t
type
;
enum
dcb_type
type
;
uint8_t
i2c_index
;
uint8_t
i2c_index
;
uint8_t
heads
;
uint8_t
heads
;
uint8_t
connector
;
uint8_t
connector
;
...
@@ -71,40 +128,6 @@ struct dcb_entry {
...
@@ -71,40 +128,6 @@ struct dcb_entry {
bool
i2c_upper_default
;
bool
i2c_upper_default
;
};
};
struct
dcb_i2c_entry
{
uint8_t
port_type
;
uint8_t
read
,
write
;
struct
nouveau_i2c_chan
*
chan
;
};
enum
dcb_gpio_tag
{
DCB_GPIO_TVDAC0
=
0xc
,
DCB_GPIO_TVDAC1
=
0x2d
,
};
struct
dcb_gpio_entry
{
enum
dcb_gpio_tag
tag
;
int
line
;
bool
invert
;
};
struct
dcb_gpio_table
{
int
entries
;
struct
dcb_gpio_entry
entry
[
DCB_MAX_NUM_GPIO_ENTRIES
];
};
struct
dcb_connector_table_entry
{
uint32_t
entry
;
uint8_t
type
;
uint8_t
index
;
uint8_t
gpio_tag
;
};
struct
dcb_connector_table
{
int
entries
;
struct
dcb_connector_table_entry
entry
[
DCB_MAX_NUM_CONNECTOR_ENTRIES
];
};
struct
dcb_table
{
struct
dcb_table
{
uint8_t
version
;
uint8_t
version
;
...
@@ -121,15 +144,6 @@ struct dcb_table {
...
@@ -121,15 +144,6 @@ struct dcb_table {
struct
dcb_connector_table
connector
;
struct
dcb_connector_table
connector
;
};
};
enum
nouveau_encoder_type
{
OUTPUT_ANALOG
=
0
,
OUTPUT_TV
=
1
,
OUTPUT_TMDS
=
2
,
OUTPUT_LVDS
=
3
,
OUTPUT_DP
=
6
,
OUTPUT_ANY
=
-
1
};
enum
nouveau_or
{
enum
nouveau_or
{
OUTPUT_A
=
(
1
<<
0
),
OUTPUT_A
=
(
1
<<
0
),
OUTPUT_B
=
(
1
<<
1
),
OUTPUT_B
=
(
1
<<
1
),
...
...
drivers/gpu/drm/nouveau/nouveau_connector.c
View file @
e7cc51c5
...
@@ -613,6 +613,9 @@ nouveau_connector_mode_valid(struct drm_connector *connector,
...
@@ -613,6 +613,9 @@ nouveau_connector_mode_valid(struct drm_connector *connector,
clock
*=
3
;
clock
*=
3
;
break
;
break
;
default:
BUG_ON
(
1
);
return
MODE_BAD
;
}
}
if
(
clock
<
min_clock
)
if
(
clock
<
min_clock
)
...
...
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