On Thu, Aug 01 2024 at 16:09, Conor Dooley wrote: > On Mon, Jul 29, 2024 at 12:41:25PM +0200, Thomas Gleixner wrote: >> > + /* >> > + * If a bit is set in the mux, GPIO the corresponding interrupt from >> > + * controller 2 is direct and that controllers 0 or 1 is muxed. >> >> This is not a coherent sentence. > > It should read "controller 0 or 1;s interrupt is muxed". Does that make > more sense to you? No: If a bit is set in the mux, GPIO the corresponding... I'm already failing at 'GPIO'. My parser expects a verb there :) >> > + irq_set_chained_handler_and_data(virq, handle_untracked_irq, >> >> Why does this use handle_untracked_irq()? > > I'll have to go and dig back in my notes as to why it is untracked. It > was probably something like irqd_set() in handle_irq_event() blowing up > on the irq_data being invalid (which I figure could relate back to my > questions in the cover letter about issues with irqd_to_hwirq()) - but > I'll double check what exactly prompted it when I get back from my > holidays, but... > >> This sets up a chained handler >> but handle_untracked_irq() is a regular interrupt handler. > > ...what I was likely using before was handle_simple_irq() which isn't > chained either. You're expecting to see mpfs_irq_mux_nondirect_handler() > here I suppose? Yes or some other proper chained handler. > Given you've only commented on one significant issue and two minor items, > is it safe to conclude that the overall approach doesn't have you > screaming and running for the hills? I don't love it, but I don't have a better approach to deal with this. Thanks, tglx