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
29c4409a
Commit
29c4409a
authored
Oct 18, 2002
by
Jeb J. Cramer
Committed by
Jeff Garzik
Oct 18, 2002
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
e1000 5/10:
* 2/3 wire downshift phy bits changed in newer phy revs
parent
45733a6f
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
15 additions
and
9 deletions
+15
-9
drivers/net/e1000/e1000_hw.c
drivers/net/e1000/e1000_hw.c
+13
-9
drivers/net/e1000/e1000_hw.h
drivers/net/e1000/e1000_hw.h
+2
-0
No files found.
drivers/net/e1000/e1000_hw.c
View file @
29c4409a
...
...
@@ -658,14 +658,17 @@ e1000_setup_copper_link(struct e1000_hw *hw)
return
-
E1000_ERR_PHY
;
}
phy_data
|=
M88E1000_EPSCR_TX_CLK_25
;
/* Configure Master and Slave downshift values */
phy_data
&=
~
(
M88E1000_EPSCR_MASTER_DOWNSHIFT_MASK
|
M88E1000_EPSCR_SLAVE_DOWNSHIFT_MASK
);
phy_data
|=
(
M88E1000_EPSCR_MASTER_DOWNSHIFT_1X
|
M88E1000_EPSCR_SLAVE_DOWNSHIFT_1X
);
if
(
e1000_write_phy_reg
(
hw
,
M88E1000_EXT_PHY_SPEC_CTRL
,
phy_data
)
<
0
)
{
DEBUGOUT
(
"PHY Write Error
\n
"
);
return
-
E1000_ERR_PHY
;
if
(
hw
->
phy_revision
<
M88E1011_I_REV_4
)
{
/* Configure Master and Slave downshift values */
phy_data
&=
~
(
M88E1000_EPSCR_MASTER_DOWNSHIFT_MASK
|
M88E1000_EPSCR_SLAVE_DOWNSHIFT_MASK
);
phy_data
|=
(
M88E1000_EPSCR_MASTER_DOWNSHIFT_1X
|
M88E1000_EPSCR_SLAVE_DOWNSHIFT_1X
);
if
(
e1000_write_phy_reg
(
hw
,
M88E1000_EXT_PHY_SPEC_CTRL
,
phy_data
)
<
0
)
{
DEBUGOUT
(
"PHY Write Error
\n
"
);
return
-
E1000_ERR_PHY
;
}
}
/* SW Reset the PHY so all changes take effect */
...
...
@@ -2103,7 +2106,8 @@ e1000_detect_gig_phy(struct e1000_hw *hw)
return
-
E1000_ERR_PHY
;
}
hw
->
phy_id
|=
(
uint32_t
)
(
phy_id_low
&
PHY_REVISION_MASK
);
hw
->
phy_revision
=
(
uint32_t
)
phy_id_low
&
~
PHY_REVISION_MASK
;
switch
(
hw
->
mac_type
)
{
case
e1000_82543
:
if
(
hw
->
phy_id
==
M88E1000_E_PHY_ID
)
match
=
TRUE
;
...
...
drivers/net/e1000/e1000_hw.h
View file @
29c4409a
...
...
@@ -854,6 +854,7 @@ struct e1000_hw {
e1000_bus_type
bus_type
;
uint32_t
io_base
;
uint32_t
phy_id
;
uint32_t
phy_revision
;
uint32_t
phy_addr
;
uint32_t
original_fc
;
uint32_t
txcw
;
...
...
@@ -1758,6 +1759,7 @@ struct e1000_hw {
#define M88E1011_I_PHY_ID 0x01410C20
#define M88E1000_12_PHY_ID M88E1000_E_PHY_ID
#define M88E1000_14_PHY_ID M88E1000_E_PHY_ID
#define M88E1011_I_REV_4 0x04
/* Miscellaneous PHY bit definitions. */
#define PHY_PREAMBLE 0xFFFFFFFF
...
...
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