On Mon, Jul 06, 2026 at 12:35:53PM -0700, Mingming Cao wrote: > Queue 0 and subordinate RX queues use different interrupt control > interfaces in PHYP: > > - queue 0: h_vio_signal() after h_register_logical_lan() > - queue N: H_VIOCTL against the queue handle/hwirq mapping > > The current code is single-queue oriented and cannot safely scale to > multiple RX queues in poll completion and open/close IRQ setup. > > Introduce queue-indexed interrupt helpers: > > ibmveth_enable_irq(adapter, queue_index) > ibmveth_disable_irq(adapter, queue_index) > ibmveth_setup_rx_interrupts() > ibmveth_cleanup_rx_interrupts() > > These helpers centralize queue0-vs-subordinate dispatch and make IRQ > lifecycle symmetric across open/close and future resize paths. > > request_irq() is wired with &adapter->napi[i] as dev_id per queue, so > interrupt ownership follows the NAPI instance that services that RX > queue. > > Signed-off-by: Mingming Cao <[email protected]> > Reviewed-by: Dave Marquardt <[email protected]>
Although it is added later in this patch set, I believe linux/irqdomain.h needs to be included in this patch so that irq_dispose_mapping is defined. Also, I think it would be best to add these helpers in the same patch(es) that they are first used. As this will avoid temporal compiler warnings about declared but otherwise unused functions. Similarly for patch 13/15. Overall, please make sure that when each patch of the series is applied no new warnings or errors are introduced for allmodconfig W=1 builds. FWIIW, I exercised this using gcc 16.1 from https://www.kernel.org/pub/tools/crosstool/ ... -- pw-bot: changes-requested
