Re: [PATCH] net: axi_emac: Use reg property for DMA registers

2023-11-11 Thread mchitale
Hi Michal,

On Thu, 2023-11-02 at 10:15 +0100, Michal Simek wrote:
> 
> On 11/2/23 09:23, Mayuresh Chitale wrote:
> > As per the xlnx,axi-ethernet-1.00.a DT documentation in linux, the
> > AXI
> > DMA registers can be obtained via the reg property or via a
> > separate
> > node for the axistream DMA controller. Currently only the latter is
> > supported, so add support to fetch the DMA controller registers
> > from the
> > "reg" property.
> > 
> > Signed-off-by: Mayuresh Chitale 
> > ---
> >   drivers/net/xilinx_axi_emac.c | 9 -
> >   1 file changed, 4 insertions(+), 5 deletions(-)
> > 
> > diff --git a/drivers/net/xilinx_axi_emac.c
> > b/drivers/net/xilinx_axi_emac.c
> > index 54f2232768..ef151ee51b 100644
> > --- a/drivers/net/xilinx_axi_emac.c
> > +++ b/drivers/net/xilinx_axi_emac.c
> > @@ -903,12 +903,11 @@ static int axi_emac_of_to_plat(struct udevice
> > *dev)
> >   
> > ret = dev_read_phandle_with_args(dev, "axistream-connected",
> > NULL, 0, 0,
> >  _node);
> > -   if (ret) {
> > -   printf("%s: axistream is not found\n", __func__);
> > -   return -EINVAL;
> > -   }
> > +   if (!ret)
> > +   plat->dmatx = (struct axidma_reg
> > *)ofnode_get_addr(axistream_node.node);
> > +   else
> > +   plat->dmatx = (struct axidma_reg
> > *)dev_read_addr_index(dev, 1);
> >   
> > -   plat->dmatx = (struct axidma_reg
> > *)ofnode_get_addr(axistream_node.node);
> > if (!plat->dmatx) {
> > printf("%s: axi_dma register space not found\n",
> > __func__);
> > return -EINVAL;
> 
> This looks good to me. Can you please send it separately?
> It is really independent of change from other patches.
Actually it is a separate patch.
> 
> Reviewed-by: Michal Simek 
> 
> Thanks,
> Michal



Re: [PATCH] net: axi_emac: Use reg property for DMA registers

2023-11-02 Thread Michal Simek




On 11/2/23 09:23, Mayuresh Chitale wrote:

As per the xlnx,axi-ethernet-1.00.a DT documentation in linux, the AXI
DMA registers can be obtained via the reg property or via a separate
node for the axistream DMA controller. Currently only the latter is
supported, so add support to fetch the DMA controller registers from the
"reg" property.

Signed-off-by: Mayuresh Chitale 
---
  drivers/net/xilinx_axi_emac.c | 9 -
  1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/drivers/net/xilinx_axi_emac.c b/drivers/net/xilinx_axi_emac.c
index 54f2232768..ef151ee51b 100644
--- a/drivers/net/xilinx_axi_emac.c
+++ b/drivers/net/xilinx_axi_emac.c
@@ -903,12 +903,11 @@ static int axi_emac_of_to_plat(struct udevice *dev)
  
  	ret = dev_read_phandle_with_args(dev, "axistream-connected", NULL, 0, 0,

 _node);
-   if (ret) {
-   printf("%s: axistream is not found\n", __func__);
-   return -EINVAL;
-   }
+   if (!ret)
+   plat->dmatx = (struct axidma_reg 
*)ofnode_get_addr(axistream_node.node);
+   else
+   plat->dmatx = (struct axidma_reg *)dev_read_addr_index(dev, 1);
  
-	plat->dmatx = (struct axidma_reg *)ofnode_get_addr(axistream_node.node);

if (!plat->dmatx) {
printf("%s: axi_dma register space not found\n", __func__);
return -EINVAL;


This looks good to me. Can you please send it separately?
It is really independent of change from other patches.

Reviewed-by: Michal Simek 

Thanks,
Michal


[PATCH] net: axi_emac: Use reg property for DMA registers

2023-11-02 Thread Mayuresh Chitale
As per the xlnx,axi-ethernet-1.00.a DT documentation in linux, the AXI
DMA registers can be obtained via the reg property or via a separate
node for the axistream DMA controller. Currently only the latter is
supported, so add support to fetch the DMA controller registers from the
"reg" property.

Signed-off-by: Mayuresh Chitale 
---
 drivers/net/xilinx_axi_emac.c | 9 -
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/drivers/net/xilinx_axi_emac.c b/drivers/net/xilinx_axi_emac.c
index 54f2232768..ef151ee51b 100644
--- a/drivers/net/xilinx_axi_emac.c
+++ b/drivers/net/xilinx_axi_emac.c
@@ -903,12 +903,11 @@ static int axi_emac_of_to_plat(struct udevice *dev)
 
ret = dev_read_phandle_with_args(dev, "axistream-connected", NULL, 0, 0,
 _node);
-   if (ret) {
-   printf("%s: axistream is not found\n", __func__);
-   return -EINVAL;
-   }
+   if (!ret)
+   plat->dmatx = (struct axidma_reg 
*)ofnode_get_addr(axistream_node.node);
+   else
+   plat->dmatx = (struct axidma_reg *)dev_read_addr_index(dev, 1);
 
-   plat->dmatx = (struct axidma_reg *)ofnode_get_addr(axistream_node.node);
if (!plat->dmatx) {
printf("%s: axi_dma register space not found\n", __func__);
return -EINVAL;
-- 
2.34.1