lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHp75VeMp9C04iDW5_c9owq3HP=5wvccoOuHwrSQ5SFeV+SRVA@mail.gmail.com>
Date: Wed, 4 Sep 2024 17:36:35 +0300
From: Andy Shevchenko <andy.shevchenko@...il.com>
To: Zhang Ning <zhangn1985@...look.com>
Cc: Andy Shevchenko <andy@...nel.org>, gregkh@...uxfoundation.org, rafael@...nel.org, 
	linux-kernel@...r.kernel.org, lee@...nel.org
Subject: Re: mfd: intel_soc_pmic_bxtwc: irq 0 issue, tmu and typec components
 fail to probe.

On Wed, Sep 4, 2024 at 5:29 PM Zhang Ning <zhangn1985@...look.com> wrote:
> On Fri, Aug 09, 2024 at 05:09:49PM +0300, Andy Shevchenko wrote:
> > On Fri, Aug 09, 2024 at 08:53:24PM +0800, Zhang Ning wrote:
> > > On Fri, Aug 09, 2024 at 03:33:33PM +0300, Andy Shevchenko wrote:
> > > > On Fri, Aug 09, 2024 at 08:02:43PM +0800, Zhang Ning wrote:
> > > > > Hi, Greg & Rafael
> > > > >
> > > > > recently, when I try to enable mfd components for intel_soc_pmic_bxtwc
> > > > > for debian kernel[0]. I find tmu and typec failed to probe.
> > > > >
> > > > > after check source code, I find irq for these two devices are 0, when
> > > > > use platform_get_irq, it will alway fail.
> > > > >
> > > > >         if (WARN(!ret, "0 is an invalid IRQ number\n"))
> > > > >                 return -EINVAL;
> > > > >         return ret;
> > > > >
> > > > > My workaround for debian is to hardcode irq to 0, instead to use api.
> > > > >
> > > > > I don't know how to write a good solution, thus send an email to you.
> > > >
> > > > Hold on, how the heck you got 0 in the first place?A
> > >
> > > use tmu as an example
> > >
> > > enum bxtwc_irqs_tmu {
> > >         BXTWC_TMU_IRQ = 0,
> > > };
> > >
> > > static const struct regmap_irq bxtwc_regmap_irqs_tmu[] = {
> > >         REGMAP_IRQ_REG(BXTWC_TMU_IRQ, 0, GENMASK(2, 1)),
> > > };
> > >
> > > static const struct resource tmu_resources[] = {
> > >         DEFINE_RES_IRQ_NAMED(BXTWC_TMU_IRQ, "TMU"),
> > > };
> > >
> > >         {
> > >                 .name = "bxt_wcove_tmu",
> > >                 .num_resources = ARRAY_SIZE(tmu_resources),
> > >                 .resources = tmu_resources,
> > >         },
> > >
> > > this is why I got 0, and I don't do any hack.
> >
> > Thanks for elaboration, I will look at this a bit later (may be next or one
> > after next week, just returned from vacations).

>    could you share the patch link to the fix? then I could port it to
>    debian.

Sorry I was busy with other stuff (as well), I am still in the middle
of debugging that.
The issue is that the leaf drivers for some reason do not request
proper vIRQ (that should come from the secondary IRQ chip). OTOH there
is only one _similar_ design in the kernel besides this one. And when
I tried to test the version where all this appears, I couldn't boot
(yeah, I spent some time on bisecting things) the board I have (One of
pre-production variants of Intel Joule SoM).

Do you have any (most recent) kernel version that works as expected?

> > > > > [0]: https://salsa.debian.org/kernel-team/linux/-/merge_requests/1156/diffs

-- 
With Best Regards,
Andy Shevchenko

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ