diff options
| author | Mingkai Hu <[email protected]> | 2015-08-18 14:06:26 -0700 |
|---|---|---|
| committer | Joe Hershberger <[email protected]> | 2015-08-21 16:31:34 -0500 |
| commit | 6497e37a7523d0d438990c56aa7f609b17e6b571 (patch) | |
| tree | 48e4d2eb05a5dd8da3dc20b8d270039047e81e5d /drivers | |
| parent | 620776d734e4b126c407f636bda825a594a17723 (diff) | |
net: e1000: Support 64-bit physical address
High 32-bit address is needed when u-boot runs in 64-bit space.
Tested on armv8-based LS2085ARDB.
Signed-off-by: Mingkai Hu <[email protected]>
Signed-off-by: York Sun <[email protected]>
Acked-by: Joe Hershberger <[email protected]>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/net/e1000.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/e1000.c b/drivers/net/e1000.c index d5d48b1e7d0..e81641054d6 100644 --- a/drivers/net/e1000.c +++ b/drivers/net/e1000.c @@ -4980,8 +4980,8 @@ e1000_configure_tx(struct e1000_hw *hw) unsigned long tipg, tarc; uint32_t ipgr1, ipgr2; - E1000_WRITE_REG(hw, TDBAL, (unsigned long)tx_base); - E1000_WRITE_REG(hw, TDBAH, 0); + E1000_WRITE_REG(hw, TDBAL, (unsigned long)tx_base & 0xffffffff); + E1000_WRITE_REG(hw, TDBAH, (unsigned long)tx_base >> 32); E1000_WRITE_REG(hw, TDLEN, 128); @@ -5124,8 +5124,8 @@ e1000_configure_rx(struct e1000_hw *hw) E1000_WRITE_FLUSH(hw); } /* Setup the Base and Length of the Rx Descriptor Ring */ - E1000_WRITE_REG(hw, RDBAL, (unsigned long)rx_base); - E1000_WRITE_REG(hw, RDBAH, 0); + E1000_WRITE_REG(hw, RDBAL, (unsigned long)rx_base & 0xffffffff); + E1000_WRITE_REG(hw, RDBAH, (unsigned long)rx_base >> 32); E1000_WRITE_REG(hw, RDLEN, 128); |
