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

Matti Vaittinen
2024-04-04T13:15:59Z

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! ~~