Re: [RFC PATCH 0/6] Support ROHM BD96801 scalable PMIC

From: Matti Vaittinen
Date: Thu Apr 04 2024 - 09:16:11 EST


Hi Mark,

On 4/4/24 15:09, Mark Brown wrote:
On Thu, Apr 04, 2024 at 10:26:34AM +0300, Matti Vaittinen wrote:

1. Should we be able to have more than 1 IRQ domain / device?
2. Should regmap_irq support having more than 1 HWIRQ

I would expect each parent interrupt to show up as a separate remap_irq.

then it seems that reading the IRQ information from the /proc/interrupts
works as expected. Here I am making a wild guess that the name of the domain
is used as a key for some data-lookups, and having two domains with a same
name will either overwrite something or cause wrong domain data to be
fetched. (This is just guessing for now).

So if we arrange to supply a name when we register multiple domains
things should work fine?

Thanks for taking the time to look at my questions :)
I have been debugging this thing whole day today, without getting too far :) It seems there is something beyond the name collision though.

After I tried adding '-1' to the end of the other domain name to avoid the debugfs name collision I managed to do couple of successful runs - after which I reported here that problem seems to be just the naming. Soon after sending that mail I hit the oops again even though the naming was fixed.

Further debugging shows that the desc->action->name for the last 28 'errb' IRQs get corrupted. This might point more to the IRQ requester side - so I need to further study the BD96801 driver side as well as the regulator_irq_helper. I'm having the creeping feeling that at the end of the day I need to find the guilty one from the mirror :)

But yes, creating 2 regmap-IRQ controllers for one device seems to generate naming conflict in the debugfs - so unless I'm mistaken, with the current regmap-IRQ we can't have more than 1 regmap-IRQ entity for a single device.

Just please give me some more time to see if I find the cause of the corruption and I hope I can write more concrete description. For now it was enough for me to hear having more than 1 IRQ domain / device is not something on the "DON'T DO THIS" -list.

Yours,
-- Matti

--
Matti Vaittinen
Linux kernel developer at ROHM Semiconductors
Oulu Finland

~~ When things go utterly wrong vim users can always type :help! ~~