All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] e1000: fix no nvm build
       [not found] <03c9982d8450bcbf073530edd6446ef3ec4dfddb.1410127137.git.marcel@ziswiler.com>
@ 2014-09-07 22:02 ` Marcel Ziswiler
  2014-09-08  2:07   ` Marek Vasut
  2014-09-25 14:44   ` [U-Boot] " Tom Rini
  2014-09-07 22:03 ` [U-Boot] [PATCH] e1000: add i211 and unprogrammed i210/i211 support Marcel Ziswiler
  1 sibling, 2 replies; 10+ messages in thread
From: Marcel Ziswiler @ 2014-09-07 22:02 UTC (permalink / raw)
  To: u-boot

Fix the following build error in case CONFIG_E1000_NO_NVM is enabled:
	  CC      drivers/net/e1000.o
	drivers/net/e1000.c: In function ?e1000_initialize?:
	drivers/net/e1000.c:5365:5: error: ?struct e1000_hw? has no
		member named ?eeprom_semaphore_present?
	make[1]: *** [drivers/net/e1000.o] Error 1
	make: *** [drivers/net] Error 2
--
This got introduced by Marek's i210 support patch commit
951860634fdb557bbb58e0f99215391bc0c29779.

Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
---
 drivers/net/e1000.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/e1000.c b/drivers/net/e1000.c
index 0eba57c..6e8765c 100644
--- a/drivers/net/e1000.c
+++ b/drivers/net/e1000.c
@@ -5362,7 +5362,9 @@ e1000_initialize(bd_t * bis)
 		hw->autoneg_failed = 0;
 		hw->autoneg = 1;
 		hw->get_link_status = true;
+#ifndef CONFIG_E1000_NO_NVM
 		hw->eeprom_semaphore_present = true;
+#endif
 		hw->hw_addr = pci_map_bar(devno,	PCI_BASE_ADDRESS_0,
 							PCI_REGION_MEM);
 		hw->mac_type = e1000_undefined;
-- 
1.9.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH] e1000: add i211 and unprogrammed i210/i211 support
       [not found] <03c9982d8450bcbf073530edd6446ef3ec4dfddb.1410127137.git.marcel@ziswiler.com>
  2014-09-07 22:02 ` [U-Boot] [PATCH] e1000: fix no nvm build Marcel Ziswiler
@ 2014-09-07 22:03 ` Marcel Ziswiler
  2014-09-08  2:07   ` Marek Vasut
  2014-10-27 22:19   ` [U-Boot] " Tom Rini
  1 sibling, 2 replies; 10+ messages in thread
From: Marcel Ziswiler @ 2014-09-07 22:03 UTC (permalink / raw)
  To: u-boot

This patch adds support for i211 as well as unprogrammed aka tools only
i210/i211 chip support.

Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
---
 drivers/net/e1000.c | 6 ++++++
 include/pci_ids.h   | 2 ++
 2 files changed, 8 insertions(+)

diff --git a/drivers/net/e1000.c b/drivers/net/e1000.c
index 6e8765c..ce19173 100644
--- a/drivers/net/e1000.c
+++ b/drivers/net/e1000.c
@@ -92,7 +92,10 @@ static struct pci_device_id e1000_supported[] = {
 	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_80003ES2LAN_SERDES_DPT},
 	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_80003ES2LAN_COPPER_SPT},
 	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_80003ES2LAN_SERDES_SPT},
+	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_I210_UNPROGRAMMED},
+	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_I211_UNPROGRAMMED},
 	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_I210_COPPER},
+	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_I211_COPPER},
 	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_I210_COPPER_FLASHLESS},
 	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_I210_SERDES},
 	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_I210_SERDES_FLASHLESS},
@@ -1374,7 +1377,10 @@ e1000_set_mac_type(struct e1000_hw *hw)
 	case E1000_DEV_ID_ICH8_IGP_M:
 		hw->mac_type = e1000_ich8lan;
 		break;
+	case PCI_DEVICE_ID_INTEL_I210_UNPROGRAMMED:
+	case PCI_DEVICE_ID_INTEL_I211_UNPROGRAMMED:
 	case PCI_DEVICE_ID_INTEL_I210_COPPER:
+	case PCI_DEVICE_ID_INTEL_I211_COPPER:
 	case PCI_DEVICE_ID_INTEL_I210_COPPER_FLASHLESS:
 	case PCI_DEVICE_ID_INTEL_I210_SERDES:
 	case PCI_DEVICE_ID_INTEL_I210_SERDES_FLASHLESS:
diff --git a/include/pci_ids.h b/include/pci_ids.h
index f220c3a..f84c13a 100644
--- a/include/pci_ids.h
+++ b/include/pci_ids.h
@@ -2547,10 +2547,12 @@
 #define PCI_DEVICE_ID_INTEL_82380FB	0x124b
 #define PCI_DEVICE_ID_INTEL_82439	0x1250
 #define PCI_DEVICE_ID_INTEL_I210_UNPROGRAMMED		0x1531
+#define PCI_DEVICE_ID_INTEL_I211_UNPROGRAMMED		0x1532
 #define PCI_DEVICE_ID_INTEL_I210_COPPER			0x1533
 #define PCI_DEVICE_ID_INTEL_I210_SERDES			0x1536
 #define PCI_DEVICE_ID_INTEL_I210_1000BASEKX		0x1537
 #define PCI_DEVICE_ID_INTEL_I210_EXTPHY			0x1538
+#define PCI_DEVICE_ID_INTEL_I211_COPPER			0x1539
 #define PCI_DEVICE_ID_INTEL_I210_COPPER_FLASHLESS	0x157b
 #define PCI_DEVICE_ID_INTEL_I210_SERDES_FLASHLESS	0x157c
 #define PCI_DEVICE_ID_INTEL_80960_RP	0x1960
-- 
1.9.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH] e1000: fix no nvm build
  2014-09-07 22:02 ` [U-Boot] [PATCH] e1000: fix no nvm build Marcel Ziswiler
@ 2014-09-08  2:07   ` Marek Vasut
  2014-09-25 14:44   ` [U-Boot] " Tom Rini
  1 sibling, 0 replies; 10+ messages in thread
From: Marek Vasut @ 2014-09-08  2:07 UTC (permalink / raw)
  To: u-boot

On Monday, September 08, 2014 at 12:02:11 AM, Marcel Ziswiler wrote:
> Fix the following build error in case CONFIG_E1000_NO_NVM is enabled:
> 	  CC      drivers/net/e1000.o
> 	drivers/net/e1000.c: In function ?e1000_initialize?:
> 	drivers/net/e1000.c:5365:5: error: ?struct e1000_hw? has no
> 		member named ?eeprom_semaphore_present?
> 	make[1]: *** [drivers/net/e1000.o] Error 1
> 	make: *** [drivers/net] Error 2
> --
> This got introduced by Marek's i210 support patch commit
> 951860634fdb557bbb58e0f99215391bc0c29779.

Let me shift the blame to Tim, who should have tested it before submitting ;-D

> Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>

Thanks for spotting this!

Acked-by: Marek Vasut <marex@denx.de>

Best regards,
Marek Vasut

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH] e1000: add i211 and unprogrammed i210/i211 support
  2014-09-07 22:03 ` [U-Boot] [PATCH] e1000: add i211 and unprogrammed i210/i211 support Marcel Ziswiler
@ 2014-09-08  2:07   ` Marek Vasut
  2014-09-10 21:18     ` Marcel Ziswiler
  2014-10-27 22:19   ` [U-Boot] " Tom Rini
  1 sibling, 1 reply; 10+ messages in thread
From: Marek Vasut @ 2014-09-08  2:07 UTC (permalink / raw)
  To: u-boot

On Monday, September 08, 2014 at 12:03:50 AM, Marcel Ziswiler wrote:
> This patch adds support for i211 as well as unprogrammed aka tools only
> i210/i211 chip support.
> 
> Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>

Does the network really work with an i21x with unprogrammed iNVM ?

Best regards,
Marek Vasut

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH] e1000: add i211 and unprogrammed i210/i211 support
  2014-09-08  2:07   ` Marek Vasut
@ 2014-09-10 21:18     ` Marcel Ziswiler
  2014-09-10 23:46       ` Marek Vasut
  0 siblings, 1 reply; 10+ messages in thread
From: Marcel Ziswiler @ 2014-09-10 21:18 UTC (permalink / raw)
  To: u-boot

On Mon, 2014-09-08 at 04:07 +0200, Marek Vasut wrote:
> Does the network really work with an i21x with unprogrammed iNVM ?
Yes, it actually does work quite nicely. However I currently still have
to patch it additionally as follows:

diff --git a/drivers/net/e1000.c b/drivers/net/e1000.c
index ce19173..5f9c606 100644
--- a/drivers/net/e1000.c
+++ b/drivers/net/e1000.c
@@ -1128,7 +1128,7 @@ e1000_swfw_sync_acquire(struct e1000_hw *hw,
uint16_t mask)
 
        if (!timeout) {
                DEBUGOUT("Driver can't access resource, SW_FW_SYNC
timeout.\n");
-               return -E1000_ERR_SWFW_SYNC;
+//             return -E1000_ERR_SWFW_SYNC;
        }
 
        swfw_sync |= swmask;
@@ -4378,7 +4378,7 @@ e1000_get_phy_cfg_done(struct e1000_hw *hw)
                if (!timeout) {
                        DEBUGOUT("MNG configuration cycle has not "
                                        "completed.\n");
-                       return -E1000_ERR_RESET;
+//                     return -E1000_ERR_RESET;
                }
                break;
        }

Without doing the above it fails as follows (enabled E1000_DEBUG):

U-Boot SPL 2014.10-rc2-00043-g80a3caa-dirty (Sep 08 2014 - 12:26:27)

U-Boot 2014.10-rc2-00043-g80a3caa-dirty (Sep 08 2014 - 12:26:27)

TEGRA30
Board: Toradex Apalis T30
I2C:   ready 
DRAM:  1 GiB 
MMC:   Tegra SD/MMC: 0, Tegra SD/MMC: 1, Tegra SD/MMC: 2
tegra-pcie: PCI regions:
tegra-pcie:   I/O: 0x2000000-0x2010000
tegra-pcie:   non-prefetchable memory: 0x20000000-0x30000000
tegra-pcie:   prefetchable memory: 0x30000000-0x40000000
tegra-pcie: 4x1, 1x2 configuration
tegra-pcie: probing port 2, using 1 lanes
In:    serial
Out:   serial
Err:   serial
Net:   e1000_initialize
e1000: e1000#0: DEBUG: iobase 0x20000000
e1000_set_mac_type
e1000_set_media_type
copper interface
e1000_reset_hw
Masking off all interrupts
Issuing a global reset to MAC
PF OK
EEC OK
Masking off all interrupts
e1000: no NVM
e1000#0
Error: e1000#0 address not set.

Hit any key to stop autoboot:  0
Apalis T30 # setenv ethaddr 00:14:2d:27:35:8f
Apalis T30 # dhcp
e1000_reset_hw
Masking off all interrupts
Issuing a global reset to MAC
PF OK
EEC OK
Masking off all interrupts
e1000_init_hw
e1000_set_media_type
Initializing the IEEE VLAN
e1000_init_rx_addrs
Programming MAC Address into RAR[0]
Clearing RAR[1-15]
Zeroing the MTA
e1000_setup_link
After fix-ups FlowControl is now = 3
e1000_setup_copper_link
e1000_copper_link_preconfig
e1000_detect_gig_phy
e1000_set_phy_type
PHY ID 0x1410C00 detected
Phy ID = 1410c00
e1000_copper_link_mgp_setup
e1000_phy_reset
e1000_phy_hw_reset
Resetting Phy...
e1000_swfw_sync_acquire
Driver can't access resource, SW_FW_SYNC timeout.
Unable to acquire swfw sync
Error Resetting the PHY
e1000: e1000#0: ERROR: Hardware Initialization Failed

This is both with programmed (iNVM only, haven't tried external serial
PROM possible on i210) as well as unprogrammed i210 as well as i211
chips on our Apalis T30 modules.

Have you ever seen any such issue? Wondering whether this is a Tegra
PCIe related issue. May I ask about your specific platform you tried
this on? Could you send some output of a working session with
E1000_DEBUG enabled? I plan to try it on a Boundary Devices Nitrogen6X
as well as our Apalis iMX6 module as well.

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH] e1000: add i211 and unprogrammed i210/i211 support
  2014-09-10 21:18     ` Marcel Ziswiler
@ 2014-09-10 23:46       ` Marek Vasut
  0 siblings, 0 replies; 10+ messages in thread
From: Marek Vasut @ 2014-09-10 23:46 UTC (permalink / raw)
  To: u-boot

On Wednesday, September 10, 2014 at 11:18:20 PM, Marcel Ziswiler wrote:
> On Mon, 2014-09-08 at 04:07 +0200, Marek Vasut wrote:
> > Does the network really work with an i21x with unprogrammed iNVM ?
> 
> Yes, it actually does work quite nicely.

That's interesting. I never got it working with unprogrammed iNVM, I always had 
to program it first.

> However I currently still have to patch it additionally as follows:
> 
> diff --git a/drivers/net/e1000.c b/drivers/net/e1000.c
> index ce19173..5f9c606 100644
> --- a/drivers/net/e1000.c
> +++ b/drivers/net/e1000.c
> @@ -1128,7 +1128,7 @@ e1000_swfw_sync_acquire(struct e1000_hw *hw,
> uint16_t mask)
> 
>         if (!timeout) {
>                 DEBUGOUT("Driver can't access resource, SW_FW_SYNC
> timeout.\n");
> -               return -E1000_ERR_SWFW_SYNC;
> +//             return -E1000_ERR_SWFW_SYNC;
>         }
> 
>         swfw_sync |= swmask;
> @@ -4378,7 +4378,7 @@ e1000_get_phy_cfg_done(struct e1000_hw *hw)
>                 if (!timeout) {
>                         DEBUGOUT("MNG configuration cycle has not "
>                                         "completed.\n");
> -                       return -E1000_ERR_RESET;
> +//                     return -E1000_ERR_RESET;
>                 }
>                 break;
>         }
> 
> Without doing the above it fails as follows (enabled E1000_DEBUG):

[...]

> This is both with programmed (iNVM only, haven't tried external serial
> PROM possible on i210) as well as unprogrammed i210 as well as i211
> chips on our Apalis T30 modules.
> 
> Have you ever seen any such issue?

No, but this looks like the card cannot acquire a semaphore. You might want to 
check if there are maybe some pecularities in semaphore handling on this i210 
hardware. I remember intel did change the semaphore handling between various 
intel ethernet cards.

> Wondering whether this is a Tegra PCIe related issue.

I doubt so.

> May I ask about your specific platform you tried this on?

The MX6 SabreLite and the MX6 SabreSDP . Both MX6Quad.

> Could you send some output of a working session with
> E1000_DEBUG enabled? I plan to try it on a Boundary Devices Nitrogen6X
> as well as our Apalis iMX6 module as well.

I don't have the setup assembled now and the i210 is not available to me now, 
but you should be getting the same result with the N6X. Right now, I only have 
the MX6 SabreLite and an another intel NIC available, sorry.

Best regards,
Marek Vasut

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] e1000: fix no nvm build
  2014-09-07 22:02 ` [U-Boot] [PATCH] e1000: fix no nvm build Marcel Ziswiler
  2014-09-08  2:07   ` Marek Vasut
@ 2014-09-25 14:44   ` Tom Rini
  1 sibling, 0 replies; 10+ messages in thread
From: Tom Rini @ 2014-09-25 14:44 UTC (permalink / raw)
  To: u-boot

On Mon, Sep 08, 2014 at 12:02:11AM +0200, Marcel Ziswiler wrote:

> Fix the following build error in case CONFIG_E1000_NO_NVM is enabled:
> 	  CC      drivers/net/e1000.o
> 	drivers/net/e1000.c: In function ?e1000_initialize?:
> 	drivers/net/e1000.c:5365:5: error: ?struct e1000_hw? has no
> 		member named ?eeprom_semaphore_present?
> 	make[1]: *** [drivers/net/e1000.o] Error 1
> 	make: *** [drivers/net] Error 2
> Acked-by: Marek Vasut <marex@denx.de>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140925/b0ab8d39/attachment.pgp>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] e1000: add i211 and unprogrammed i210/i211 support
  2014-09-07 22:03 ` [U-Boot] [PATCH] e1000: add i211 and unprogrammed i210/i211 support Marcel Ziswiler
  2014-09-08  2:07   ` Marek Vasut
@ 2014-10-27 22:19   ` Tom Rini
  2014-10-28  1:07     ` Marcel Ziswiler
  1 sibling, 1 reply; 10+ messages in thread
From: Tom Rini @ 2014-10-27 22:19 UTC (permalink / raw)
  To: u-boot

On Mon, Sep 08, 2014 at 12:03:50AM +0200, Marcel Ziswiler wrote:

> This patch adds support for i211 as well as unprogrammed aka tools only
> i210/i211 chip support.
> 
> Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20141027/753e334c/attachment.pgp>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] e1000: add i211 and unprogrammed i210/i211 support
  2014-10-27 22:19   ` [U-Boot] " Tom Rini
@ 2014-10-28  1:07     ` Marcel Ziswiler
  2014-10-28 11:15       ` Tom Rini
  0 siblings, 1 reply; 10+ messages in thread
From: Marcel Ziswiler @ 2014-10-28  1:07 UTC (permalink / raw)
  To: u-boot

On Mon, 2014-10-27 at 18:19 -0400, Tom Rini wrote:
> Applied to u-boot/master, thanks!

Please excuse my ignorance but I can't quite make this one out on
u-boot/master anywhere. Could you let me know of its commit hash?

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] e1000: add i211 and unprogrammed i210/i211 support
  2014-10-28  1:07     ` Marcel Ziswiler
@ 2014-10-28 11:15       ` Tom Rini
  0 siblings, 0 replies; 10+ messages in thread
From: Tom Rini @ 2014-10-28 11:15 UTC (permalink / raw)
  To: u-boot

On Tue, Oct 28, 2014 at 02:07:08AM +0100, Marcel Ziswiler wrote:

> On Mon, 2014-10-27 at 18:19 -0400, Tom Rini wrote:
> > Applied to u-boot/master, thanks!
> 
> Please excuse my ignorance but I can't quite make this one out on
> u-boot/master anywhere. Could you let me know of its commit hash?

Whoops, lost this in some rebase shuffle, applied and pushed now (and it
takes a little to sync out sometimes).

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20141028/06657b3d/attachment.pgp>

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2014-10-28 11:15 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <03c9982d8450bcbf073530edd6446ef3ec4dfddb.1410127137.git.marcel@ziswiler.com>
2014-09-07 22:02 ` [U-Boot] [PATCH] e1000: fix no nvm build Marcel Ziswiler
2014-09-08  2:07   ` Marek Vasut
2014-09-25 14:44   ` [U-Boot] " Tom Rini
2014-09-07 22:03 ` [U-Boot] [PATCH] e1000: add i211 and unprogrammed i210/i211 support Marcel Ziswiler
2014-09-08  2:07   ` Marek Vasut
2014-09-10 21:18     ` Marcel Ziswiler
2014-09-10 23:46       ` Marek Vasut
2014-10-27 22:19   ` [U-Boot] " Tom Rini
2014-10-28  1:07     ` Marcel Ziswiler
2014-10-28 11:15       ` Tom Rini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.