The 11/07/2022 17:13, Alexander Lobakin wrote: Hi Olek, > > From: Alexander Lobakin <alexander.lobakin@xxxxxxxxx> > > From: Horatiu Vultur <horatiu.vultur@xxxxxxxxxxxxx> > Date: Sun, 6 Nov 2022 22:11:53 +0100 > > > Introduce basic XDP support to lan966x driver. Currently the driver > > supports only the actions XDP_PASS, XDP_DROP and XDP_ABORTED. > > > > Signed-off-by: Horatiu Vultur <horatiu.vultur@xxxxxxxxxxxxx> > > --- > > .../net/ethernet/microchip/lan966x/Makefile | 3 +- > > .../ethernet/microchip/lan966x/lan966x_fdma.c | 11 ++- > > .../ethernet/microchip/lan966x/lan966x_main.c | 5 ++ > > .../ethernet/microchip/lan966x/lan966x_main.h | 13 +++ > > .../ethernet/microchip/lan966x/lan966x_xdp.c | 81 +++++++++++++++++++ > > 5 files changed, 111 insertions(+), 2 deletions(-) > > create mode 100644 drivers/net/ethernet/microchip/lan966x/lan966x_xdp.c > > [...] > > > +bool lan966x_xdp_port_present(struct lan966x_port *port) > > +{ > > + return !!port->xdp_prog; > > +} > > Why uninline such a simple check? I realize you want to keep all XDP > stuff inside in the separate file, but doesn't this one looks too > much? I was kind of hoping that the compiler will inline it for me. But I can add it in the header file to inline it. > > > + > > +int lan966x_xdp_port_init(struct lan966x_port *port) > > +{ > > + struct lan966x *lan966x = port->lan966x; > > + > > + return xdp_rxq_info_reg(&port->xdp_rxq, port->dev, 0, > > + lan966x->napi.napi_id); > > +} > > + > > +void lan966x_xdp_port_deinit(struct lan966x_port *port) > > +{ > > + if (xdp_rxq_info_is_reg(&port->xdp_rxq)) > > + xdp_rxq_info_unreg(&port->xdp_rxq); > > +} > > -- > > 2.38.0 > > Thanks, > Olek -- /Horatiu