Re: [PATCH] genirq/msi: Add the address and data that show MSI/MSIX

From: Thomas Gleixner
Date: Fri Feb 28 2025 - 06:26:51 EST


On Fri, Feb 28 2025 at 17:04, Hans Zhang wrote:
> Is the following patch OK?

No.

> static void
> irq_debug_show_chip(struct seq_file *m, struct irq_data *data, int ind)
> {
> @@ -178,6 +199,7 @@ static int irq_debug_show(struct seq_file *m, void *p)
> seq_printf(m, "node: %d\n", irq_data_get_node(data));
> irq_debug_show_masks(m, desc);
> irq_debug_show_data(m, data, 0);
> + irq_debug_show_msi_msix(m, data, 0);
> raw_spin_unlock_irq(&desc->lock);
> return 0;
> }

This is just violating the layering and I told you what to do:

"implement a debug_show() callback in the MSI core code and assign
it to domain ops::debug_show() on domain creation, if it does not
provide its own callback."

If you don't understand what I tell you, then please ask instead of
going off and hacking up something completely different.

Here is another hint:

Look at msi_domain_ops_default and at msi_domain_update_dom_ops()

If you still have questions, feel free to ask.

Thanks,

tglx