union intelxl_receive_address mac;
uint32_t prtpm_sal;
uint32_t prtpm_sah;
- uint32_t prtgl_sah;
- size_t mfs;
/* Read NVM-loaded address */
prtpm_sal = readl ( intelxl->regs + INTELXL_PRTPM_SAL );
intelxl, eth_ntoa ( mac.raw ) );
memcpy ( netdev->hw_addr, mac.raw, ETH_ALEN );
- /* Get maximum frame size */
- prtgl_sah = readl ( intelxl->regs + INTELXL_PRTGL_SAH );
- mfs = INTELXL_PRTGL_SAH_MFS_GET ( prtgl_sah );
- netdev->max_pkt_len = ( mfs - 4 /* CRC */ );
-
return 0;
}
memcpy ( mac.raw, netdev->ll_addr, sizeof ( mac.raw ) );
prtgl_sal = le32_to_cpu ( mac.reg.low );
prtgl_sah = ( le32_to_cpu ( mac.reg.high ) |
- INTELXL_PRTGL_SAH_MFS_SET ( intelxl->mfs ) );
+ INTELXL_PRTGL_SAH_MFS ( intelxl->mfs ) );
writel ( prtgl_sal, intelxl->regs + INTELXL_PRTGL_SAL );
writel ( prtgl_sah, intelxl->regs + INTELXL_PRTGL_SAH );
goto err_alloc;
}
netdev_init ( netdev, &intelxl_operations );
+ netdev->max_pkt_len = INTELXL_MAX_PKT_LEN;
intelxl = netdev->priv;
pci_set_drvdata ( pci, netdev );
netdev->dev = &pci->dev;
*/
#define INTELXL_RX_FILL 16
+/** Maximum packet length (excluding CRC) */
+#define INTELXL_MAX_PKT_LEN ( 9728 - 4 /* CRC */ )
+
/******************************************************************************
*
* Top level
/** Port MAC Address High Register */
#define INTELXL_PRTGL_SAH 0x1e2140
-#define INTELXL_PRTGL_SAH_MFS_GET(x) ( (x) >> 16 ) /**< Max frame size */
-#define INTELXL_PRTGL_SAH_MFS_SET(x) ( (x) << 16 ) /**< Max frame size */
+#define INTELXL_PRTGL_SAH_MFS(x) ( (x) << 16 ) /**< Max frame size */
/** Physical Function MAC Address Low Register */
#define INTELXL_PRTPM_SAL 0x1e4440