1. 06 2月, 2023 1 次提交
    • V
      net/sched: taprio: only pass gate mask per TXQ for igc, stmmac, tsnep, am65_cpsw · 522d15ea
      Vladimir Oltean 提交于
      There are 2 classes of in-tree drivers currently:
      
      - those who act upon struct tc_taprio_sched_entry :: gate_mask as if it
        holds a bit mask of TXQs
      
      - those who act upon the gate_mask as if it holds a bit mask of TCs
      
      When it comes to the standard, IEEE 802.1Q-2018 does say this in the
      second paragraph of section 8.6.8.4 Enhancements for scheduled traffic:
      
      | A gate control list associated with each Port contains an ordered list
      | of gate operations. Each gate operation changes the transmission gate
      | state for the gate associated with each of the Port's traffic class
      | queues and allows associated control operations to be scheduled.
      
      In typically obtuse language, it refers to a "traffic class queue"
      rather than a "traffic class" or a "queue". But careful reading of
      802.1Q clarifies that "traffic class" and "queue" are in fact
      synonymous (see 8.6.6 Queuing frames):
      
      | A queue in this context is not necessarily a single FIFO data structure.
      | A queue is a record of all frames of a given traffic class awaiting
      | transmission on a given Bridge Port. The structure of this record is not
      | specified.
      
      i.o.w. their definition of "queue" isn't the Linux TX queue.
      
      The gate_mask really is input into taprio via its UAPI as a mask of
      traffic classes, but taprio_sched_to_offload() converts it into a TXQ
      mask.
      
      The breakdown of drivers which handle TC_SETUP_QDISC_TAPRIO is:
      
      - hellcreek, felix, sja1105: these are DSA switches, it's not even very
        clear what TXQs correspond to, other than purely software constructs.
        Only the mqprio configuration with 8 TCs and 1 TXQ per TC makes sense.
        So it's fine to convert these to a gate mask per TC.
      
      - enetc: I have the hardware and can confirm that the gate mask is per
        TC, and affects all TXQs (BD rings) configured for that priority.
      
      - igc: in igc_save_qbv_schedule(), the gate_mask is clearly interpreted
        to be per-TXQ.
      
      - tsnep: Gerhard Engleder clarifies that even though this hardware
        supports at most 1 TXQ per TC, the TXQ indices may be different from
        the TC values themselves, and it is the TXQ indices that matter to
        this hardware. So keep it per-TXQ as well.
      
      - stmmac: I have a GMAC datasheet, and in the EST section it does
        specify that the gate events are per TXQ rather than per TC.
      
      - lan966x: again, this is a switch, and while not a DSA one, the way in
        which it implements lan966x_mqprio_add() - by only allowing num_tc ==
        NUM_PRIO_QUEUES (8) - makes it clear to me that TXQs are a purely
        software construct here as well. They seem to map 1:1 with TCs.
      
      - am65_cpsw: from looking at am65_cpsw_est_set_sched_cmds(), I get the
        impression that the fetch_allow variable is treated like a prio_mask.
        This definitely sounds closer to a per-TC gate mask rather than a
        per-TXQ one, and TI documentation does seem to recomment an identity
        mapping between TCs and TXQs. However, Roger Quadros would like to do
        some testing before making changes, so I'm leaving this driver to
        operate as it did before, for now. Link with more details at the end.
      
      Based on this breakdown, we have 5 drivers with a gate mask per TC and
      4 with a gate mask per TXQ. So let's make the gate mask per TXQ the
      opt-in and the gate mask per TC the default.
      
      Benefit from the TC_QUERY_CAPS feature that Jakub suggested we add, and
      query the device driver before calling the proper ndo_setup_tc(), and
      figure out if it expects one or the other format.
      
      Link: https://patchwork.kernel.org/project/netdevbpf/patch/20230202003621.2679603-15-vladimir.oltean@nxp.com/#25193204
      Cc: Horatiu Vultur <horatiu.vultur@microchip.com>
      Cc: Siddharth Vadapalli <s-vadapalli@ti.com>
      Cc: Roger Quadros <rogerq@kernel.org>
      Signed-off-by: NVladimir Oltean <vladimir.oltean@nxp.com>
      Acked-by: Kurt Kanzenbach <kurt@linutronix.de> # hellcreek
      Reviewed-by: NGerhard Engleder <gerhard@engleder-embedded.com>
      Reviewed-by: NSimon Horman <simon.horman@corigine.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      522d15ea
  2. 31 1月, 2023 1 次提交
    • B
      igc: Remove redundant pci_enable_pcie_error_reporting() · c3c14ecf
      Bjorn Helgaas 提交于
      pci_enable_pcie_error_reporting() enables the device to send ERR_*
      Messages.  Since f26e58bf ("PCI/AER: Enable error reporting when AER is
      native"), the PCI core does this for all devices during enumeration.
      
      Remove the redundant pci_enable_pcie_error_reporting() call from the
      driver.  Also remove the corresponding pci_disable_pcie_error_reporting()
      from the driver .remove() path.
      
      Note that this doesn't control interrupt generation by the Root Port; that
      is controlled by the AER Root Error Command register, which is managed by
      the AER service driver.
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Cc: Jesse Brandeburg <jesse.brandeburg@intel.com>
      Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
      Cc: intel-wired-lan@lists.osuosl.org
      Cc: netdev@vger.kernel.org
      Tested-by: NNaama Meir <naamax.meir@linux.intel.com>
      Signed-off-by: NTony Nguyen <anthony.l.nguyen@intel.com>
      c3c14ecf
  3. 04 1月, 2023 3 次提交
  4. 16 12月, 2022 5 次提交
    • T
      igc: Set Qbv start_time and end_time to end_time if not being configured in GCL · 72abeedd
      Tan Tee Min 提交于
      The default setting of end_time minus start_time is whole 1 second.
      Thus, if it's not being configured in any GCL entry then it will be
      staying at original 1 second.
      
      This patch is changing the start_time and end_time to be end_time as
      if setting zero will be having weird HW behavior where the gate will
      not be fully closed.
      
      Fixes: ec50a9d4 ("igc: Add support for taprio offloading")
      Signed-off-by: NTan Tee Min <tee.min.tan@linux.intel.com>
      Signed-off-by: NMuhammad Husaini Zulkifli <muhammad.husaini.zulkifli@intel.com>
      Tested-by: NNaama Meir <naamax.meir@linux.intel.com>
      Signed-off-by: NTony Nguyen <anthony.l.nguyen@intel.com>
      72abeedd
    • T
      igc: recalculate Qbv end_time by considering cycle time · 6d05251d
      Tan Tee Min 提交于
      Qbv users can specify a cycle time that is not equal to the total GCL
      intervals. Hence, recalculation is necessary here to exclude the time
      interval that exceeds the cycle time. As those GCL which exceeds the
      cycle time will be truncated.
      
      According to IEEE Std. 802.1Q-2018 section 8.6.9.2, once the end of
      the list is reached, it will switch to the END_OF_CYCLE state and
      leave the gates in the same state until the next cycle is started.
      
      Fixes: ec50a9d4 ("igc: Add support for taprio offloading")
      Signed-off-by: NTan Tee Min <tee.min.tan@linux.intel.com>
      Signed-off-by: NMuhammad Husaini Zulkifli <muhammad.husaini.zulkifli@intel.com>
      Tested-by: NNaama Meir <naamax.meir@linux.intel.com>
      Signed-off-by: NTony Nguyen <anthony.l.nguyen@intel.com>
      6d05251d
    • T
      igc: allow BaseTime 0 enrollment for Qbv · e17090eb
      Tan Tee Min 提交于
      Introduce qbv_enable flag in igc_adapter struct to store the Qbv on/off.
      So this allow the BaseTime to enroll with zero value.
      
      Fixes: 61572d5f ("igc: Simplify TSN flags handling")
      Signed-off-by: NMuhammad Husaini Zulkifli <muhammad.husaini.zulkifli@intel.com>
      Signed-off-by: NTan Tee Min <tee.min.tan@linux.intel.com>
      Tested-by: NNaama Meir <naamax.meir@linux.intel.com>
      Signed-off-by: NTony Nguyen <anthony.l.nguyen@intel.com>
      e17090eb
    • M
      igc: Add checking for basetime less than zero · 3b61764f
      Muhammad Husaini Zulkifli 提交于
      Using the tc qdisc command, the user can set basetime to any value.
      Checking should be done on the driver's side to prevent registering
      basetime values that are less than zero.
      
      Fixes: ec50a9d4 ("igc: Add support for taprio offloading")
      Signed-off-by: NMuhammad Husaini Zulkifli <muhammad.husaini.zulkifli@intel.com>
      Tested-by: NNaama Meir <naamax.meir@linux.intel.com>
      Signed-off-by: NTony Nguyen <anthony.l.nguyen@intel.com>
      3b61764f
    • V
      igc: Enhance Qbv scheduling by using first flag bit · db0b124f
      Vinicius Costa Gomes 提交于
      The I225 hardware has a limitation that packets can only be scheduled
      in the [0, cycle-time] interval. So, scheduling a packet to the start
      of the next cycle doesn't usually work.
      
      To overcome this, we use the Transmit Descriptor first flag to indicates
      that a packet should be the first packet (from a queue) in a cycle
      according to the section 7.5.2.9.3.4 The First Packet on Each QBV Cycle
      in Intel Discrete I225/6 User Manual.
      
      But this only works if there was any packet from that queue during the
      current cycle, to avoid this issue, we issue an empty packet if that's
      not the case. Also require one more descriptor to be available, to take
      into account the empty packet that might be issued.
      
      Test Setup:
      
      Talker: Use l2_tai to generate the launchtime into packet load.
      
      Listener: Use timedump.c to compute the delta between packet arrival
      and LaunchTime packet payload.
      
      Test Result:
      
      Before:
      
      1666000610127300000,1666000610127300096,96,621273
      1666000610127400000,1666000610127400192,192,621274
      1666000610127500000,1666000610127500032,32,621275
      1666000610127600000,1666000610127600128,128,621276
      1666000610127700000,1666000610127700224,224,621277
      1666000610127800000,1666000610127800064,64,621278
      1666000610127900000,1666000610127900160,160,621279
      1666000610128000000,1666000610128000000,0,621280
      1666000610128100000,1666000610128100096,96,621281
      1666000610128200000,1666000610128200192,192,621282
      1666000610128300000,1666000610128300032,32,621283
      1666000610128400000,1666000610128301056,-98944,621284
      1666000610128500000,1666000610128302080,-197920,621285
      1666000610128600000,1666000610128302848,-297152,621286
      1666000610128700000,1666000610128303872,-396128,621287
      1666000610128800000,1666000610128304896,-495104,621288
      1666000610128900000,1666000610128305664,-594336,621289
      1666000610129000000,1666000610128306688,-693312,621290
      1666000610129100000,1666000610128307712,-792288,621291
      1666000610129200000,1666000610128308480,-891520,621292
      1666000610129300000,1666000610128309504,-990496,621293
      1666000610129400000,1666000610128310528,-1089472,621294
      1666000610129500000,1666000610128311296,-1188704,621295
      1666000610129600000,1666000610128312320,-1287680,621296
      1666000610129700000,1666000610128313344,-1386656,621297
      1666000610129800000,1666000610128314112,-1485888,621298
      1666000610129900000,1666000610128315136,-1584864,621299
      1666000610130000000,1666000610128316160,-1683840,621300
      1666000610130100000,1666000610128316928,-1783072,621301
      1666000610130200000,1666000610128317952,-1882048,621302
      1666000610130300000,1666000610128318976,-1981024,621303
      1666000610130400000,1666000610128319744,-2080256,621304
      1666000610130500000,1666000610128320768,-2179232,621305
      1666000610130600000,1666000610128321792,-2278208,621306
      1666000610130700000,1666000610128322816,-2377184,621307
      1666000610130800000,1666000610128323584,-2476416,621308
      1666000610130900000,1666000610128324608,-2575392,621309
      1666000610131000000,1666000610128325632,-2674368,621310
      1666000610131100000,1666000610128326400,-2773600,621311
      1666000610131200000,1666000610128327424,-2872576,621312
      1666000610131300000,1666000610128328448,-2971552,621313
      1666000610131400000,1666000610128329216,-3070784,621314
      1666000610131500000,1666000610131500032,32,621315
      1666000610131600000,1666000610131600128,128,621316
      1666000610131700000,1666000610131700224,224,621317
      
      After:
      
      1666073510646200000,1666073510646200064,64,2676462
      1666073510646300000,1666073510646300160,160,2676463
      1666073510646400000,1666073510646400256,256,2676464
      1666073510646500000,1666073510646500096,96,2676465
      1666073510646600000,1666073510646600192,192,2676466
      1666073510646700000,1666073510646700032,32,2676467
      1666073510646800000,1666073510646800128,128,2676468
      1666073510646900000,1666073510646900224,224,2676469
      1666073510647000000,1666073510647000064,64,2676470
      1666073510647100000,1666073510647100160,160,2676471
      1666073510647200000,1666073510647200256,256,2676472
      1666073510647300000,1666073510647300096,96,2676473
      1666073510647400000,1666073510647400192,192,2676474
      1666073510647500000,1666073510647500032,32,2676475
      1666073510647600000,1666073510647600128,128,2676476
      1666073510647700000,1666073510647700224,224,2676477
      1666073510647800000,1666073510647800064,64,2676478
      1666073510647900000,1666073510647900160,160,2676479
      1666073510648000000,1666073510648000000,0,2676480
      1666073510648100000,1666073510648100096,96,2676481
      1666073510648200000,1666073510648200192,192,2676482
      1666073510648300000,1666073510648300032,32,2676483
      1666073510648400000,1666073510648400128,128,2676484
      1666073510648500000,1666073510648500224,224,2676485
      1666073510648600000,1666073510648600064,64,2676486
      1666073510648700000,1666073510648700160,160,2676487
      1666073510648800000,1666073510648800000,0,2676488
      1666073510648900000,1666073510648900096,96,2676489
      1666073510649000000,1666073510649000192,192,2676490
      1666073510649100000,1666073510649100032,32,2676491
      1666073510649200000,1666073510649200128,128,2676492
      1666073510649300000,1666073510649300224,224,2676493
      1666073510649400000,1666073510649400064,64,2676494
      1666073510649500000,1666073510649500160,160,2676495
      1666073510649600000,1666073510649600000,0,2676496
      1666073510649700000,1666073510649700096,96,2676497
      1666073510649800000,1666073510649800192,192,2676498
      1666073510649900000,1666073510649900032,32,2676499
      1666073510650000000,1666073510650000128,128,2676500
      
      Fixes: 82faa9b7 ("igc: Add support for ETF offloading")
      Signed-off-by: NVinicius Costa Gomes <vinicius.gomes@intel.com>
      Co-developed-by: NAravindhan Gunasekaran <aravindhan.gunasekaran@intel.com>
      Signed-off-by: NAravindhan Gunasekaran <aravindhan.gunasekaran@intel.com>
      Co-developed-by: NMuhammad Husaini Zulkifli <muhammad.husaini.zulkifli@intel.com>
      Signed-off-by: NMuhammad Husaini Zulkifli <muhammad.husaini.zulkifli@intel.com>
      Signed-off-by: NMalli C <mallikarjuna.chilakala@intel.com>
      Tested-by: NNaama Meir <naamax.meir@linux.intel.com>
      Signed-off-by: NTony Nguyen <anthony.l.nguyen@intel.com>
      db0b124f
  5. 03 11月, 2022 1 次提交
  6. 29 10月, 2022 1 次提交
  7. 29 9月, 2022 1 次提交
  8. 19 8月, 2022 1 次提交
  9. 19 7月, 2022 1 次提交
  10. 15 7月, 2022 1 次提交
    • L
      igc: Reinstate IGC_REMOVED logic and implement it properly · 7c1ddcee
      Lennert Buytenhek 提交于
      The initially merged version of the igc driver code (via commit
      146740f9, "igc: Add support for PF") contained the following
      IGC_REMOVED checks in the igc_rd32/wr32() MMIO accessors:
      
      	u32 igc_rd32(struct igc_hw *hw, u32 reg)
      	{
      		u8 __iomem *hw_addr = READ_ONCE(hw->hw_addr);
      		u32 value = 0;
      
      		if (IGC_REMOVED(hw_addr))
      			return ~value;
      
      		value = readl(&hw_addr[reg]);
      
      		/* reads should not return all F's */
      		if (!(~value) && (!reg || !(~readl(hw_addr))))
      			hw->hw_addr = NULL;
      
      		return value;
      	}
      
      And:
      
      	#define wr32(reg, val) \
      	do { \
      		u8 __iomem *hw_addr = READ_ONCE((hw)->hw_addr); \
      		if (!IGC_REMOVED(hw_addr)) \
      			writel((val), &hw_addr[(reg)]); \
      	} while (0)
      
      E.g. igb has similar checks in its MMIO accessors, and has a similar
      macro E1000_REMOVED, which is implemented as follows:
      
      	#define E1000_REMOVED(h) unlikely(!(h))
      
      These checks serve to detect and take note of an 0xffffffff MMIO read
      return from the device, which can be caused by a PCIe link flap or some
      other kind of PCI bus error, and to avoid performing MMIO reads and
      writes from that point onwards.
      
      However, the IGC_REMOVED macro was not originally implemented:
      
      	#ifndef IGC_REMOVED
      	#define IGC_REMOVED(a) (0)
      	#endif /* IGC_REMOVED */
      
      This led to the IGC_REMOVED logic to be removed entirely in a
      subsequent commit (commit 3c215fb1, "igc: remove IGC_REMOVED
      function"), with the rationale that such checks matter only for
      virtualization and that igc does not support virtualization -- but a
      PCIe device can become detached even without virtualization being in
      use, and without proper checks, a PCIe bus error affecting an igc
      adapter will lead to various NULL pointer dereferences, as the first
      access after the error will set hw->hw_addr to NULL, and subsequent
      accesses will blindly dereference this now-NULL pointer.
      
      This patch reinstates the IGC_REMOVED checks in igc_rd32/wr32(), and
      implements IGC_REMOVED the way it is done for igb, by checking for the
      unlikely() case of hw_addr being NULL.  This change prevents the oopses
      seen when a PCIe link flap occurs on an igc adapter.
      
      Fixes: 146740f9 ("igc: Add support for PF")
      Signed-off-by: NLennert Buytenhek <buytenh@arista.com>
      Tested-by: NNaama Meir <naamax.meir@linux.intel.com>
      Acked-by: NSasha Neftin <sasha.neftin@intel.com>
      Signed-off-by: NTony Nguyen <anthony.l.nguyen@intel.com>
      7c1ddcee
  11. 11 5月, 2022 1 次提交
  12. 08 2月, 2022 1 次提交
    • C
      igc: avoid kernel warning when changing RX ring parameters · 453307b5
      Corinna Vinschen 提交于
      Calling ethtool changing the RX ring parameters like this:
      
        $ ethtool -G eth0 rx 1024
      
      on igc triggers kernel warnings like this:
      
      [  225.198467] ------------[ cut here ]------------
      [  225.198473] Missing unregister, handled but fix driver
      [  225.198485] WARNING: CPU: 7 PID: 959 at net/core/xdp.c:168
      xdp_rxq_info_reg+0x79/0xd0
      [...]
      [  225.198601] Call Trace:
      [  225.198604]  <TASK>
      [  225.198609]  igc_setup_rx_resources+0x3f/0xe0 [igc]
      [  225.198617]  igc_ethtool_set_ringparam+0x30e/0x450 [igc]
      [  225.198626]  ethnl_set_rings+0x18a/0x250
      [  225.198631]  genl_family_rcv_msg_doit+0xca/0x110
      [  225.198637]  genl_rcv_msg+0xce/0x1c0
      [  225.198640]  ? rings_prepare_data+0x60/0x60
      [  225.198644]  ? genl_get_cmd+0xd0/0xd0
      [  225.198647]  netlink_rcv_skb+0x4e/0xf0
      [  225.198652]  genl_rcv+0x24/0x40
      [  225.198655]  netlink_unicast+0x20e/0x330
      [  225.198659]  netlink_sendmsg+0x23f/0x480
      [  225.198663]  sock_sendmsg+0x5b/0x60
      [  225.198667]  __sys_sendto+0xf0/0x160
      [  225.198671]  ? handle_mm_fault+0xb2/0x280
      [  225.198676]  ? do_user_addr_fault+0x1eb/0x690
      [  225.198680]  __x64_sys_sendto+0x20/0x30
      [  225.198683]  do_syscall_64+0x38/0x90
      [  225.198687]  entry_SYSCALL_64_after_hwframe+0x44/0xae
      [  225.198693] RIP: 0033:0x7f7ae38ac3aa
      
      igc_ethtool_set_ringparam() copies the igc_ring structure but neglects to
      reset the xdp_rxq_info member before calling igc_setup_rx_resources().
      This in turn calls xdp_rxq_info_reg() with an already registered xdp_rxq_info.
      
      Make sure to unregister the xdp_rxq_info structure first in
      igc_setup_rx_resources.
      
      Fixes: 73f1071c ("igc: Add support for XDP_TX action")
      Reported-by: NLennert Buytenhek <buytenh@arista.com>
      Signed-off-by: NCorinna Vinschen <vinschen@redhat.com>
      Acked-by: NVinicius Costa Gomes <vinicius.gomes@intel.com>
      Tested-by: NDvora Fuxbrumer <dvorax.fuxbrumer@linux.intel.com>
      Signed-off-by: NTony Nguyen <anthony.l.nguyen@intel.com>
      453307b5
  13. 01 2月, 2022 1 次提交
  14. 28 1月, 2022 1 次提交
  15. 29 12月, 2021 2 次提交
  16. 14 12月, 2021 1 次提交
  17. 01 12月, 2021 2 次提交
  18. 30 10月, 2021 1 次提交
  19. 05 10月, 2021 1 次提交
  20. 16 9月, 2021 1 次提交
    • P
      igc: fix tunnel offloading · 40ee363c
      Paolo Abeni 提交于
      Checking tunnel offloading, it turns out that offloading doesn't work
      as expected.  The following script allows to reproduce the issue.
      Call it as `testscript DEVICE LOCALIP REMOTEIP NETMASK'
      
      === SNIP ===
      if [ $# -ne 4 ]
      then
        echo "Usage $0 DEVICE LOCALIP REMOTEIP NETMASK"
        exit 1
      fi
      DEVICE="$1"
      LOCAL_ADDRESS="$2"
      REMOTE_ADDRESS="$3"
      NWMASK="$4"
      echo "Driver: $(ethtool -i ${DEVICE} | awk '/^driver:/{print $2}') "
      ethtool -k "${DEVICE}" | grep tx-udp
      echo
      echo "Set up NIC and tunnel..."
      ip addr add "${LOCAL_ADDRESS}/${NWMASK}" dev "${DEVICE}"
      ip link set "${DEVICE}" up
      sleep 2
      ip link add vxlan1 type vxlan id 42 \
      		   remote "${REMOTE_ADDRESS}" \
      		   local "${LOCAL_ADDRESS}" \
      		   dstport 0 \
      		   dev "${DEVICE}"
      ip addr add fc00::1/64 dev vxlan1
      ip link set vxlan1 up
      sleep 2
      rm -f vxlan.pcap
      echo "Running tcpdump and iperf3..."
      ( nohup tcpdump -i any -w vxlan.pcap >/dev/null 2>&1 ) &
      sleep 2
      iperf3 -c fc00::2 >/dev/null
      pkill tcpdump
      echo
      echo -n "Max. Paket Size: "
      tcpdump -r vxlan.pcap -nnle 2>/dev/null \
      | grep "${LOCAL_ADDRESS}.*> ${REMOTE_ADDRESS}.*OTV" \
      | awk '{print $8}' | awk -F ':' '{print $1}' \
      | sort -n | tail -1
      echo
      ip link del vxlan1
      ip addr del ${LOCAL_ADDRESS}/${NWMASK} dev "${DEVICE}"
      === SNAP ===
      
      The expected outcome is
      
        Max. Paket Size: 64904
      
      This is what you see on igb, the code igc has been taken from.
      However, on igc the output is
      
        Max. Paket Size: 1516
      
      so the GSO aggregate packets are segmented by the kernel before calling
      igc_xmit_frame.  Inside the subsequent call to igc_tso, the check for
      skb_is_gso(skb) fails and the function returns prematurely.
      
      It turns out that this occurs because the feature flags aren't set
      entirely correctly in igc_probe.  In contrast to the original code
      from igb_probe, igc_probe neglects to set the flags required to allow
      tunnel offloading.
      
      Setting the same flags as igb fixes the issue on igc.
      
      Fixes: 34428dff ("igc: Add GSO partial support")
      Signed-off-by: NPaolo Abeni <pabeni@redhat.com>
      Tested-by: NCorinna Vinschen <vinschen@redhat.com>
      Acked-by: NSasha Neftin <sasha.neftin@intel.com>
      Tested-by: NNechama Kraus <nechamax.kraus@linux.intel.com>
      Signed-off-by: NTony Nguyen <anthony.l.nguyen@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      40ee363c
  21. 28 8月, 2021 3 次提交
  22. 25 8月, 2021 1 次提交
  23. 20 8月, 2021 2 次提交
  24. 28 7月, 2021 1 次提交
    • A
      dev_ioctl: split out ndo_eth_ioctl · a7605370
      Arnd Bergmann 提交于
      Most users of ndo_do_ioctl are ethernet drivers that implement
      the MII commands SIOCGMIIPHY/SIOCGMIIREG/SIOCSMIIREG, or hardware
      timestamping with SIOCSHWTSTAMP/SIOCGHWTSTAMP.
      
      Separate these from the few drivers that use ndo_do_ioctl to
      implement SIOCBOND, SIOCBR and SIOCWANDEV commands.
      
      This is a purely cosmetic change intended to help readers find
      their way through the implementation.
      
      Cc: Doug Ledford <dledford@redhat.com>
      Cc: Jason Gunthorpe <jgg@ziepe.ca>
      Cc: Jay Vosburgh <j.vosburgh@gmail.com>
      Cc: Veaceslav Falico <vfalico@gmail.com>
      Cc: Andy Gospodarek <andy@greyhouse.net>
      Cc: Andrew Lunn <andrew@lunn.ch>
      Cc: Vivien Didelot <vivien.didelot@gmail.com>
      Cc: Florian Fainelli <f.fainelli@gmail.com>
      Cc: Vladimir Oltean <olteanv@gmail.com>
      Cc: Leon Romanovsky <leon@kernel.org>
      Cc: linux-rdma@vger.kernel.org
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NJason Gunthorpe <jgg@nvidia.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a7605370
  25. 21 7月, 2021 4 次提交
  26. 20 7月, 2021 1 次提交