<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/source/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in controlq.c</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>91ec2035134982b98fab0609a9fd8480e8217dc1 - Merge tag &apos;net-next-7.3&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next</title>
        <link>http://kernelsources.org:8080/source/history/linux/drivers/net/ethernet/intel/libie/controlq.c#91ec2035134982b98fab0609a9fd8480e8217dc1</link>
        <description>Merge tag &apos;net-next-7.3&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-nextPull networking updates from Jakub Kicinski: &quot;One of the &apos;small improvements all over the place&apos; releases for us.  It&apos;s hard to draw any direct comparisons because summer vacations  disrupted our patch processing (and presumably - generation) quite a  bit.  Quick and dirty count suggests we (Paolo and I) merged a very similar  number of net (632) and net-next (648) patches. This is not telling  the full story either because 1/3 to 1/2 of the net-next patches also  *seem* like AI-driven low priority fixes, cleanups and clarifications.  We are completely overwhelmed, of course. The glimmer of hope is that  we secured sufficient LLM budget and access (thank you Meta!) to run  reviews with multiple frontier models on each patch. This eliminates  some hallucinations. That said, in terms of review, the LLMs can only  do so much.  The sad truth is that our APIs (especially for rare events like PCIe  errors, timeouts etc) have always been racy, and now LLMs don&apos;t let us  ignore that. I expect our direction for the next release will be to  tweak the reviews a little bit more, but start shifting focus to  letting the LLMs take care of the busy work - managing patchwork,  automating common process complaints, editing commit messages, and  maybe applying patches which already got &quot;reviewed-by&quot; tags from  people we trust...  Core &amp; protocols:   - A few steps lowering rtnl_lock dependence:      - per-netns netdev unregistration for select SW drivers (e.g.        veth, ipvlan, tunnels)      - rtnl_lock-less FIB rule changes (RTM_NEWRULE and RTM_DELRULE)      - prepare software drivers and TC qdiscs for rtnl_lock-less GET   - Support BIG TCP (&gt;64kB TSO) in UDP tunnels (vxlan, geneve)   - Support buffers larger than PAGE_SIZE in devmem zero-copy API   - Improve MPTCP handling of extreme memory pressure handling, when     out-of-order queue had to be pruned   - Report the per-group user count via RTM_GETMULTICAST   - Expose the route deletion reason in RTM_DELROUTE   - Add a SO_RIGHTS_NOTRUNC option to UNIX sockets to enable more     useful handling of LSM denials when receiving SCM_RIGHTS messages:     instead of truncating the message at the first blocked fd, keep     every fd slot and store the LSM errno in the blocked slot   - IPv6 Segment Routing - support looking up the post-encap SID     (address) in a different/specified routing table   - Support PRP RedBox (interlink) creation   - Support per-nexthop UDP dst port in VXLAN   - Continue converting getsockopt callbacks in a number of protocols     to iov_iter  Ethernet:   - Merge initial CXL support for AMD/Solarflare NICs (shared branch     with the CXL tree)   - New drivers:      - ADIN1140 10BASE-T1S MACPHY      - Initial skeleton of Intel iXD and ZTE Dinghai drivers   - High-speed NICs:      - AMD/Pensando:         - support firmware flashing      - Cisco (enic):         - SR-IOV V2 admin channel and MBOX protocol      - Huawei (hns3):         - support for ethtool pfc_prevention_tout      - nVidia/Mellanox:         - support sharing bandwidth control across interfaces           of the same device      - Marvell (octeontx2-pf):         - link RQ page pools to netdev for Netlink stats      - Google vNIC:         - XDP metadata support for DQ RDA      - Microsoft vNIC:         - support forcing full-page RX buffers   - Other NICs:      - Synopsys IP:         - eic7700: support for eth1      - Microchip (lan743x):         - support for RMII interface      - Wangxun:         - support for ethtool -G and -C for VFs         - add Tx timeout and PCIe error handling      - Intel (igb/igc):         - RSS key get/set support         - support for forcing link speed without auto-negotiation   - Switches:      - NXP (dpaa2):         - support bonding/LAG offload      - Mediatek:         - mt7530: EN7528 support         - initial support for MT7628      - Micrel (ksz8/9):         - refactoring work to move towards library model         - PTP support for KSZ8463      - nVidia/Mellanox:         - support rtnl-lock-less ethtool callbacks      - Realtek:         - rtl8366rb: use generic RTL83xx code         - support SGMII and HSGMII for RTL8367S   - PHYs:      - Airoha:         - EcoNet EN7528 PHY support      - DAPU Telecom         - DAPU Telecom DAP8211R(I) Gigabit PHY support      - Realtek:         - support RTL8261C_CG         - support RTL8261D  Wireless:   - nl80211: per-link statistics support for multi-link operation   - mac80211: AQL/airtime-fairness support for multicast   - Merge Peripheral Authentication Service (PAS) / TEE support for     ath12k (shared branch with the firmware/qcom tree)   - New drivers:      - mm81x for Morse Micro Long-Range S1G devices      - nxpwifi for NXP devices (mostly forked off from mwifiex)   - Driver changes:      - Broadcom (brcmfmac):         - DPP support, some Cypress part update      - MediaTek (mt76):         - mt7928 support         - mt7925 NAN support         - mt7996 AP powersave improvements      - Qualcomm (ath12k):         - much kernel infrastructure integration work         - AHB platform MultiPD support      - Realtek (rt89):         - LED support         - RTL8922DE support         - dual-BT coex for RTL8922D      - Intel:         - new FW version support  Bluetooth:   - HCI: add support for Shorter Connection Interval (SCI) feature   - af_bluetooth: add minimal context analysis annotations   - Driver changes:      - Intel:         - add Bluetooth SAR revision 2 support         - add vendor_reset PCI sysfs for PLDR      - Mediatek:         - add USB IDs for MT7902 and MT7922 devices      - Realtek:         - add USB IDs for 8761CU and 8852BE devices      - NXP:         - add M.2 Bluetooth device support using pwrseq  Misc:   - DPLL support for manual/numerical oscillator control (NCO)     (implement in zl3073x)   - MCTP support for MCTP over USB v1.1 (DMTF DSP0283)   - Power-over-Ethernet: support Realtek PSE controllers   - Remove the IBM EHEA driver   - Remove tulip/xircom_cb driver&quot;* tag &apos;net-next-7.3&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (1433 commits)  net/mlx5e: do not HW-GRO coalesce small frames  net: openvswitch: fix nf_connlabels leak in ovs_ct_init  net: add missing ref_tracker_dir_exit() to alloc_netdev_mqs()  net: openvswitch: fix flow mask use-after-free on flow deletion  sctp: stop processing a packet once its association is deleted  dpll: zl3073x: add PTP clock support  dpll: zl3073x: add channel ToD, phase step and TIE operations  dpll: zl3073x: scale poll interval proportionally to timeout  ptp: vmclock: prevent read-only mappings from becoming writable  ipv4: reject undersized MTUs in ip_do_fragment()  bonding: initialize err for empty target lists  net: dsa: initial support for MT7628 embedded switch  net: dsa: initial MT7628 tagging driver  net: phy: mediatek: add phy driver for MT7628 built-in Fast Ethernet PHYs  dt-bindings: net: dsa: add MT7628 ESW  net: pse-pd: realtek-pse-mcu: add UART transport  net: pse-pd: realtek-pse-mcu: add I2C transport  net: pse-pd: add Realtek PSE MCU core  dt-bindings: net: pse-pd: add bindings for Realtek PSE MCU  vsock: use sock_error() to consume sk_err after a failed connect  ...

            List of files:
            /linux/drivers/net/ethernet/intel/libie/controlq.c</description>
        <pubDate>Thu, 20 Aug 2026 17:16:04 +0200</pubDate>
        <dc:creator>Linus Torvalds &lt;torvalds@linux-foundation.org&gt;</dc:creator>
    </item>
<item>
        <title>768af217217bf147429fde629f8d8eedeba49072 - Merge branch &apos;200GbE&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue</title>
        <link>http://kernelsources.org:8080/source/history/linux/drivers/net/ethernet/intel/libie/controlq.c#768af217217bf147429fde629f8d8eedeba49072</link>
        <description>Merge branch &apos;200GbE&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queueTony Nguyen says:====================Introduce iXD driverLarysa Zaremba says:This patch series adds the iXD driver, which supports the Intel(R)Control Plane PCI Function on Intel E2100 and later IPUs and FNICs.It facilitates a centralized control over multiple IDPF PFs/VFs/SFsexposed by the same card. The reason for the separation is to be ableto offload the control plane to the host different from where the dataplane is running.This is the first phase in the release of this driver where we implement theinitialization of the core PCI driver. Subsequent phases will implementadvanced features like usage of idpf ethernet aux device, link management,NVM update via devlink, switchdev port representors, data and exception path,flow rule programming, etc.The first phase entails the following aspects:1. Additional libie functionalities:Patches 1-5 introduce additional common library API for drivers tocommunicate with the control plane through mailbox communication.A control queue is a hardware interface which is used by the driverto interact with other subsystems (like firmware). The library APIsallow the driver to setup and configure the control queues to send andreceive virtchnl messages. The library has an internal bookkeeping(XN API) mechanism to keep track of the send messages. It supports bothsynchronous as well as asynchronous way of handling the messages. Thelibrary also handles the timeout internally for synchronous messagesusing events. This reduces the driver&apos;s overhead in handling the timeouterror cases.The current patch series supports only APIs that are needed for deviceinitialization. These include APIs in the libie_pci module:* Allocating/freeing the DMA memory and mapping the MMIO regions for  BAR0, read/write APIs for drivers to access the MMIO memoryand libie_cp module:* Control queue initialization and configuration* Transport initialization for bookkeeping* Blocking and asynchronous mailbox transactionsOnce the mailbox is initialized, the drivers can send and receive virtchnlmessages to/from the control plane.The modules above are not supposed to be linked with the main libie library,but do share the folder with it.2. idpf:Patches 6-11 refactor the idpf driver to use the libie APIs for controlqueue configuration, virtchnl transaction, device initializationand reset and adjust related code accordingly.3. ixd:Patches 12-15 add the ixd driver and implement multiple pieces of theinitialization flow as follows:* Add the ability to load* A reset is issued to ensure a clean device state, followed by  initialization of the mailbox* Device capabilities:  As part of initialization, the driver has to determine what the device is  capable of (ex. max queues, vports, etc). This information is obtained from  the firmware and stored by the driver.* Enable initial support for the devlink interface* &apos;200GbE&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue:  ixd: add devlink support  ixd: add the core initialization  ixd: add reset checks and initialize the mailbox  ixd: add basic driver framework for Intel(R) Control Plane Function  idpf: print a debug message and bail in case of non-event ctlq message  idpf: make mbx_task queueing and cancelling more consistent  idpf: refactor idpf to use libie control queues  idpf: refactor idpf to use libie_pci APIs  idpf: remove unused code for getting RSS info from device  idpf: remove &apos;vport_params_reqd&apos; field  libie: add bookkeeping support for control queue messages  libie: add control queue support  libeth: allow to create fill queues without NAPI  libie: add PCI device initialization helpers to libie  virtchnl: move virtchnl and virtchnl2 headers to &apos;include/linux/net/intel&apos;====================Link: https://patch.msgid.link/20260812212532.905873-1-anthony.l.nguyen@intel.comSigned-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;

            List of files:
            /linux/drivers/net/ethernet/intel/libie/controlq.c</description>
        <pubDate>Tue, 18 Aug 2026 03:01:55 +0200</pubDate>
        <dc:creator>Jakub Kicinski &lt;kuba@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>b4ff4e626a7c7f10152c0895d51ff60123041e0e - libie: add bookkeeping support for control queue messages</title>
        <link>http://kernelsources.org:8080/source/history/linux/drivers/net/ethernet/intel/libie/controlq.c#b4ff4e626a7c7f10152c0895d51ff60123041e0e</link>
        <description>libie: add bookkeeping support for control queue messagesSmall send control queue message buffers are managed and reused bylibie itself, bigger send buffers are consumed. All are tracked withthe unique transaction (Xn) ids until they receive response or time out.Responses can be received out of order, therefore transactions are storedin an array and tracked though a bitmap. Rx buffers utilize page_pool.Pre-allocated DMA memory is used where possible. It reduces the driveroverhead in handling memory allocation/free and message timeouts.Reviewed-by: Maciej Fijalkowski &lt;maciej.fijalkowski@intel.com&gt;Signed-off-by: Phani R Burra &lt;phani.r.burra@intel.com&gt;Co-developed-by: Victor Raj &lt;victor.raj@intel.com&gt;Signed-off-by: Victor Raj &lt;victor.raj@intel.com&gt;Co-developed-by: Pavan Kumar Linga &lt;pavan.kumar.linga@intel.com&gt;Signed-off-by: Pavan Kumar Linga &lt;pavan.kumar.linga@intel.com&gt;Tested-by: Bharath R &lt;bharath.r@intel.com&gt;Tested-by: Samuel Salin &lt;Samuel.salin@intel.com&gt;Co-developed-by: Larysa Zaremba &lt;larysa.zaremba@intel.com&gt;Signed-off-by: Larysa Zaremba &lt;larysa.zaremba@intel.com&gt;Signed-off-by: Tony Nguyen &lt;anthony.l.nguyen@intel.com&gt;

            List of files:
            /linux/drivers/net/ethernet/intel/libie/controlq.c</description>
        <pubDate>Thu, 25 Jun 2026 18:01:59 +0200</pubDate>
        <dc:creator>Phani R Burra &lt;phani.r.burra@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>caed480f29914c3ce2a83107f6e0da4f0c5974b3 - libie: add control queue support</title>
        <link>http://kernelsources.org:8080/source/history/linux/drivers/net/ethernet/intel/libie/controlq.c#caed480f29914c3ce2a83107f6e0da4f0c5974b3</link>
        <description>libie: add control queue supportLibie will now support control queue setup and configuration APIs. Theseare mainly used for mailbox communication between drivers and controlplane.Make use of the libeth_rx page pool support for managing controlq buffers.Reviewed-by: Maciej Fijalkowski &lt;maciej.fijalkowski@intel.com&gt;Signed-off-by: Phani R Burra &lt;phani.r.burra@intel.com&gt;Co-developed-by: Victor Raj &lt;victor.raj@intel.com&gt;Signed-off-by: Victor Raj &lt;victor.raj@intel.com&gt;Co-developed-by: Sridhar Samudrala &lt;sridhar.samudrala@intel.com&gt;Signed-off-by: Sridhar Samudrala &lt;sridhar.samudrala@intel.com&gt;Co-developed-by: Pavan Kumar Linga &lt;pavan.kumar.linga@intel.com&gt;Signed-off-by: Pavan Kumar Linga &lt;pavan.kumar.linga@intel.com&gt;Tested-by: Samuel Salin &lt;Samuel.salin@intel.com&gt;Tested-by: Bharath R &lt;bharath.r@intel.com&gt;Co-developed-by: Larysa Zaremba &lt;larysa.zaremba@intel.com&gt;Signed-off-by: Larysa Zaremba &lt;larysa.zaremba@intel.com&gt;Signed-off-by: Tony Nguyen &lt;anthony.l.nguyen@intel.com&gt;

            List of files:
            /linux/drivers/net/ethernet/intel/libie/controlq.c</description>
        <pubDate>Thu, 25 Jun 2026 18:01:58 +0200</pubDate>
        <dc:creator>Phani R Burra &lt;phani.r.burra@intel.com&gt;</dc:creator>
    </item>
</channel>
</rss>
