Message ID | 20231102082303.354944-3-mchitale@ventanamicro.com |
---|---|
State | Superseded |
Delegated to: | Michal Simek |
Headers | show |
Series | net: axi_emac: Use reg property for DMA registers | expand |
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 <mchitale@ventanamicro.com> > --- > 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, > &axistream_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 <michal.simek@amd.com> Thanks, Michal
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 <mchitale@ventanamicro.com> > > --- > > 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, > > &axistream_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 <michal.simek@amd.com> > > Thanks, > Michal
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, &axistream_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;
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 <mchitale@ventanamicro.com> --- drivers/net/xilinx_axi_emac.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-)