* [PATCH 0/14] Xilinx axi ethernet patches
@ 2014-02-12 15:55 Michal Simek
2014-02-12 15:55 ` [PATCH 10/14] net: axienet: Use pdev instead of op Michal Simek
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Michal Simek @ 2014-02-12 15:55 UTC (permalink / raw)
To: netdev
Cc: Srikanth Thokala, devicetree, monstr, John Linn, Anirudha Sarangi,
linux-kernel, Grant Likely, Rob Herring, linux-arm-kernel
[-- Attachment #1: Type: text/plain, Size: 1244 bytes --]
Hi,
I have exctracted patches which I have in our
xilinx git tree which are missing in the mainline.
The first two patches fix compilation error and
warnings. Then 5 feature patches
and the rest is OF cleanup and with kernel-doc
and checkpatch problems.
Thanks,
Michal
Michal Simek (4):
net: axienet: Fix compilation error
net: axienet: Fix compilation warnings
net: axienet: Fix comments blocks
net: axienet: Fix kernel-doc warnings
Peter Crosthwaite (2):
net: axienet: Handle 0 packet receive gracefully
net: axienet: Service completion interrupts ASAP
Srikanth Thokala (8):
net: axienet: Support for RGMII
net: axienet: Handle jumbo frames for lesser frame sizes
net: axienet: Support phy-less mode of operation
net: axienet: Removed checkpatch errors/warnings
net: axienet: Use pdev instead of op
net: axienet: Use devm_* calls
net: axienet: Use of_property_* calls
net: axienet: Removed _of_ prefix in probe and remove functions
drivers/net/ethernet/xilinx/xilinx_axienet.h | 108 ++++----
drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 307 ++++++++++++----------
drivers/net/ethernet/xilinx/xilinx_axienet_mdio.c | 30 ++-
3 files changed, 241 insertions(+), 204 deletions(-)
--
1.8.2.3
[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 10/14] net: axienet: Use pdev instead of op
2014-02-12 15:55 [PATCH 0/14] Xilinx axi ethernet patches Michal Simek
@ 2014-02-12 15:55 ` Michal Simek
2014-02-12 15:55 ` [PATCH 12/14] net: axienet: Use of_property_* calls Michal Simek
2014-02-13 0:18 ` [PATCH 0/14] Xilinx axi ethernet patches David Miller
2 siblings, 0 replies; 5+ messages in thread
From: Michal Simek @ 2014-02-12 15:55 UTC (permalink / raw)
To: netdev
Cc: Srikanth Thokala, Srikanth Thokala, Michal Simek,
Anirudha Sarangi, John Linn, Grant Likely, Rob Herring,
linux-arm-kernel, linux-kernel, devicetree
[-- Attachment #1: Type: text/plain, Size: 5876 bytes --]
From: Srikanth Thokala <srikanth.thokala@xilinx.com>
Synchronize names with other drivers
Signed-off-by: Srikanth Thokala <sthokal@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
---
drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 49 ++++++++++++-----------
1 file changed, 25 insertions(+), 24 deletions(-)
diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
index 4fd8a1d..324033c 100644
--- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
+++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
@@ -1480,7 +1480,7 @@ static void axienet_dma_err_handler(unsigned long data)
/**
* axienet_of_probe - Axi Ethernet probe function.
- * @op: Pointer to platform device structure.
+ * @pdev: Pointer to platform device structure.
* @match: Pointer to device id structure
*
* returns: 0, on success
@@ -1491,7 +1491,7 @@ static void axienet_dma_err_handler(unsigned long data)
* device. Parses through device tree and populates fields of
* axienet_local. It registers the Ethernet device.
*/
-static int axienet_of_probe(struct platform_device *op)
+static int axienet_of_probe(struct platform_device *pdev)
{
__be32 *p;
int size, ret = 0;
@@ -1505,9 +1505,9 @@ static int axienet_of_probe(struct platform_device *op)
return -ENOMEM;
ether_setup(ndev);
- platform_set_drvdata(op, ndev);
+ platform_set_drvdata(pdev, ndev);
- SET_NETDEV_DEV(ndev, &op->dev);
+ SET_NETDEV_DEV(ndev, &pdev->dev);
ndev->flags &= ~IFF_MULTICAST; /* clear multicast */
ndev->features = NETIF_F_SG;
ndev->netdev_ops = &axienet_netdev_ops;
@@ -1515,18 +1515,18 @@ static int axienet_of_probe(struct platform_device *op)
lp = netdev_priv(ndev);
lp->ndev = ndev;
- lp->dev = &op->dev;
+ lp->dev = &pdev->dev;
lp->options = XAE_OPTION_DEFAULTS;
/* Map device registers */
- lp->regs = of_iomap(op->dev.of_node, 0);
+ lp->regs = of_iomap(pdev->dev.of_node, 0);
if (!lp->regs) {
- dev_err(&op->dev, "could not map Axi Ethernet regs.\n");
+ dev_err(&pdev->dev, "could not map Axi Ethernet regs.\n");
goto nodev;
}
/* Setup checksum offload, but default to off if not specified */
lp->features = 0;
- p = (__be32 *) of_get_property(op->dev.of_node, "xlnx,txcsum", NULL);
+ p = (__be32 *) of_get_property(pdev->dev.of_node, "xlnx,txcsum", NULL);
if (p) {
switch (be32_to_cpup(p)) {
case 1:
@@ -1547,7 +1547,7 @@ static int axienet_of_probe(struct platform_device *op)
lp->csum_offload_on_tx_path = XAE_NO_CSUM_OFFLOAD;
}
}
- p = (__be32 *) of_get_property(op->dev.of_node, "xlnx,rxcsum", NULL);
+ p = (__be32 *) of_get_property(pdev->dev.of_node, "xlnx,rxcsum", NULL);
if (p) {
switch (be32_to_cpup(p)) {
case 1:
@@ -1570,43 +1570,44 @@ static int axienet_of_probe(struct platform_device *op)
* Here we check for memory allocated for Rx/Tx in the hardware from
* the device-tree and accordingly set flags.
*/
- p = (__be32 *) of_get_property(op->dev.of_node, "xlnx,rxmem", NULL);
+ p = (__be32 *) of_get_property(pdev->dev.of_node, "xlnx,rxmem", NULL);
if (p)
lp->rxmem = be32_to_cpup(p);
- p = (__be32 *) of_get_property(op->dev.of_node, "xlnx,temac-type",
+ p = (__be32 *) of_get_property(pdev->dev.of_node, "xlnx,temac-type",
NULL);
if (p)
lp->temac_type = be32_to_cpup(p);
- p = (__be32 *) of_get_property(op->dev.of_node, "xlnx,phy-type", NULL);
+ p = (__be32 *) of_get_property(pdev->dev.of_node,
+ "xlnx,phy-type", NULL);
if (p)
lp->phy_type = be32_to_cpup(p);
/* Find the DMA node, map the DMA registers, and decode the DMA IRQs */
- np = of_parse_phandle(op->dev.of_node, "axistream-connected", 0);
+ np = of_parse_phandle(pdev->dev.of_node, "axistream-connected", 0);
if (!np) {
- dev_err(&op->dev, "could not find DMA node\n");
+ dev_err(&pdev->dev, "could not find DMA node\n");
goto err_iounmap;
}
lp->dma_regs = of_iomap(np, 0);
if (lp->dma_regs) {
- dev_dbg(&op->dev, "MEM base: %p\n", lp->dma_regs);
+ dev_dbg(&pdev->dev, "MEM base: %p\n", lp->dma_regs);
} else {
- dev_err(&op->dev, "unable to map DMA registers\n");
+ dev_err(&pdev->dev, "unable to map DMA registers\n");
of_node_put(np);
}
lp->rx_irq = irq_of_parse_and_map(np, 1);
lp->tx_irq = irq_of_parse_and_map(np, 0);
of_node_put(np);
if ((lp->rx_irq <= 0) || (lp->tx_irq <= 0)) {
- dev_err(&op->dev, "could not determine irqs\n");
+ dev_err(&pdev->dev, "could not determine irqs\n");
ret = -ENOMEM;
goto err_iounmap_2;
}
/* Retrieve the MAC address */
- addr = of_get_property(op->dev.of_node, "local-mac-address", &size);
+ addr = of_get_property(pdev->dev.of_node, "local-mac-address", &size);
if ((!addr) || (size != 6)) {
- dev_err(&op->dev, "could not find MAC address\n");
+ dev_err(&pdev->dev, "could not find MAC address\n");
ret = -ENODEV;
goto err_iounmap_2;
}
@@ -1615,11 +1616,11 @@ static int axienet_of_probe(struct platform_device *op)
lp->coalesce_count_rx = XAXIDMA_DFT_RX_THRESHOLD;
lp->coalesce_count_tx = XAXIDMA_DFT_TX_THRESHOLD;
- lp->phy_node = of_parse_phandle(op->dev.of_node, "phy-handle", 0);
+ lp->phy_node = of_parse_phandle(pdev->dev.of_node, "phy-handle", 0);
if (lp->phy_node)
- ret = axienet_mdio_setup(lp, op->dev.of_node);
+ ret = axienet_mdio_setup(lp, pdev->dev.of_node);
if (ret)
- dev_warn(&op->dev, "error registering MDIO bus\n");
+ dev_warn(&pdev->dev, "error registering MDIO bus\n");
ret = register_netdev(lp->ndev);
if (ret) {
@@ -1640,9 +1641,9 @@ nodev:
return ret;
}
-static int axienet_of_remove(struct platform_device *op)
+static int axienet_of_remove(struct platform_device *pdev)
{
- struct net_device *ndev = platform_get_drvdata(op);
+ struct net_device *ndev = platform_get_drvdata(pdev);
struct axienet_local *lp = netdev_priv(ndev);
axienet_mdio_teardown(lp);
--
1.8.2.3
[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 12/14] net: axienet: Use of_property_* calls
2014-02-12 15:55 [PATCH 0/14] Xilinx axi ethernet patches Michal Simek
2014-02-12 15:55 ` [PATCH 10/14] net: axienet: Use pdev instead of op Michal Simek
@ 2014-02-12 15:55 ` Michal Simek
2014-02-13 0:18 ` [PATCH 0/14] Xilinx axi ethernet patches David Miller
2 siblings, 0 replies; 5+ messages in thread
From: Michal Simek @ 2014-02-12 15:55 UTC (permalink / raw)
To: netdev
Cc: Srikanth Thokala, Srikanth Thokala, Michal Simek,
Anirudha Sarangi, John Linn, Grant Likely, Rob Herring,
linux-arm-kernel, linux-kernel, devicetree
[-- Attachment #1: Type: text/plain, Size: 3508 bytes --]
From: Srikanth Thokala <srikanth.thokala@xilinx.com>
Use of_property_* calls
Signed-off-by: Srikanth Thokala <sthokal@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
---
drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 41 ++++++++++-------------
1 file changed, 17 insertions(+), 24 deletions(-)
diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
index 936a14c..9a9ffbc 100644
--- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
+++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
@@ -1493,13 +1493,13 @@ static void axienet_dma_err_handler(unsigned long data)
*/
static int axienet_of_probe(struct platform_device *pdev)
{
- __be32 *p;
- int size, ret = 0;
+ int ret;
struct device_node *np;
struct axienet_local *lp;
struct net_device *ndev;
- const void *addr;
+ u8 mac_addr[6];
struct resource *ethres, dmares;
+ u32 value;
ndev = alloc_etherdev(sizeof(*lp));
if (!ndev)
@@ -1530,9 +1530,9 @@ static int axienet_of_probe(struct platform_device *pdev)
/* Setup checksum offload, but default to off if not specified */
lp->features = 0;
- p = (__be32 *) of_get_property(pdev->dev.of_node, "xlnx,txcsum", NULL);
- if (p) {
- switch (be32_to_cpup(p)) {
+ ret = of_property_read_u32(pdev->dev.of_node, "xlnx,txcsum", &value);
+ if (!ret) {
+ switch (value) {
case 1:
lp->csum_offload_on_tx_path =
XAE_FEATURE_PARTIAL_TX_CSUM;
@@ -1551,9 +1551,9 @@ static int axienet_of_probe(struct platform_device *pdev)
lp->csum_offload_on_tx_path = XAE_NO_CSUM_OFFLOAD;
}
}
- p = (__be32 *) of_get_property(pdev->dev.of_node, "xlnx,rxcsum", NULL);
- if (p) {
- switch (be32_to_cpup(p)) {
+ ret = of_property_read_u32(pdev->dev.of_node, "xlnx,rxcsum", &value);
+ if (!ret) {
+ switch (value) {
case 1:
lp->csum_offload_on_rx_path =
XAE_FEATURE_PARTIAL_RX_CSUM;
@@ -1574,17 +1574,10 @@ static int axienet_of_probe(struct platform_device *pdev)
* Here we check for memory allocated for Rx/Tx in the hardware from
* the device-tree and accordingly set flags.
*/
- p = (__be32 *) of_get_property(pdev->dev.of_node, "xlnx,rxmem", NULL);
- if (p)
- lp->rxmem = be32_to_cpup(p);
- p = (__be32 *) of_get_property(pdev->dev.of_node, "xlnx,temac-type",
- NULL);
- if (p)
- lp->temac_type = be32_to_cpup(p);
- p = (__be32 *) of_get_property(pdev->dev.of_node,
- "xlnx,phy-type", NULL);
- if (p)
- lp->phy_type = be32_to_cpup(p);
+ of_property_read_u32(pdev->dev.of_node, "xlnx,rxmem", &lp->rxmem);
+ of_property_read_u32(pdev->dev.of_node, "xlnx,temac-type",
+ &lp->temac_type);
+ of_property_read_u32(pdev->dev.of_node, "xlnx,phy-type", &lp->phy_type);
/* Find the DMA node, map the DMA registers, and decode the DMA IRQs */
np = of_parse_phandle(pdev->dev.of_node, "axistream-connected", 0);
@@ -1614,13 +1607,13 @@ static int axienet_of_probe(struct platform_device *pdev)
}
/* Retrieve the MAC address */
- addr = of_get_property(pdev->dev.of_node, "local-mac-address", &size);
- if ((!addr) || (size != 6)) {
+ ret = of_property_read_u8_array(pdev->dev.of_node,
+ "local-mac-address", mac_addr, 6);
+ if (ret) {
dev_err(&pdev->dev, "could not find MAC address\n");
- ret = -ENODEV;
goto free_netdev;
}
- axienet_set_mac_address(ndev, (void *) addr);
+ axienet_set_mac_address(ndev, (void *) mac_addr);
lp->coalesce_count_rx = XAXIDMA_DFT_RX_THRESHOLD;
lp->coalesce_count_tx = XAXIDMA_DFT_TX_THRESHOLD;
--
1.8.2.3
[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 0/14] Xilinx axi ethernet patches
2014-02-12 15:55 [PATCH 0/14] Xilinx axi ethernet patches Michal Simek
2014-02-12 15:55 ` [PATCH 10/14] net: axienet: Use pdev instead of op Michal Simek
2014-02-12 15:55 ` [PATCH 12/14] net: axienet: Use of_property_* calls Michal Simek
@ 2014-02-13 0:18 ` David Miller
2014-02-13 7:00 ` Michal Simek
2 siblings, 1 reply; 5+ messages in thread
From: David Miller @ 2014-02-13 0:18 UTC (permalink / raw)
To: michal.simek
Cc: netdev, sthokal, devicetree, monstr, John.Linn, anirudh,
linux-kernel, grant.likely, robh+dt, linux-arm-kernel
From: Michal Simek <michal.simek@xilinx.com>
Date: Wed, 12 Feb 2014 16:55:34 +0100
> I have exctracted patches which I have in our
> xilinx git tree which are missing in the mainline.
>
> The first two patches fix compilation error and
> warnings. Then 5 feature patches
> and the rest is OF cleanup and with kernel-doc
> and checkpatch problems.
You should not combine bug fix and feature patches.
Rather, you should submit bug fixes against the 'net' tree. Then when
those bug fixes get applied and propagate to the 'net-next' tree you
can submit the feature patches and cleanups against the 'net-next'
tree.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 0/14] Xilinx axi ethernet patches
2014-02-13 0:18 ` [PATCH 0/14] Xilinx axi ethernet patches David Miller
@ 2014-02-13 7:00 ` Michal Simek
0 siblings, 0 replies; 5+ messages in thread
From: Michal Simek @ 2014-02-13 7:00 UTC (permalink / raw)
To: David Miller
Cc: michal.simek, netdev, sthokal, devicetree, monstr, John.Linn,
anirudh, linux-kernel, grant.likely, robh+dt, linux-arm-kernel
On 02/13/2014 01:18 AM, David Miller wrote:
> From: Michal Simek <michal.simek@xilinx.com>
> Date: Wed, 12 Feb 2014 16:55:34 +0100
>
>> I have exctracted patches which I have in our
>> xilinx git tree which are missing in the mainline.
>>
>> The first two patches fix compilation error and
>> warnings. Then 5 feature patches
>> and the rest is OF cleanup and with kernel-doc
>> and checkpatch problems.
>
> You should not combine bug fix and feature patches.
>
> Rather, you should submit bug fixes against the 'net' tree. Then when
> those bug fixes get applied and propagate to the 'net-next' tree you
> can submit the feature patches and cleanups against the 'net-next'
> tree.
Ok. I will.
Thanks,
Michal
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-02-13 7:00 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-12 15:55 [PATCH 0/14] Xilinx axi ethernet patches Michal Simek
2014-02-12 15:55 ` [PATCH 10/14] net: axienet: Use pdev instead of op Michal Simek
2014-02-12 15:55 ` [PATCH 12/14] net: axienet: Use of_property_* calls Michal Simek
2014-02-13 0:18 ` [PATCH 0/14] Xilinx axi ethernet patches David Miller
2014-02-13 7:00 ` Michal Simek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).