Re: [PATCH] platform/x86: pmc_atom: Add DMI quirk for Lex 3I380A/CW boards

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



чт, 28 июл. 2022 г. в 21:33, Hans de Goede <hdegoede@xxxxxxxxxx>:
>
> Hi,
>
> On 7/27/22 17:32, Matwey V. Kornilov wrote:
> > Lex 3I380A/CW (Atom E3845) motherboards are equipped with dual Intel I211
> > based 1Gbps copper ethernet:
> >
> >      http://www.lex.com.tw/products/pdf/3I380A&3I380CW.pdf
> >
> > This patch is to fix the issue with broken "LAN2" port. Before the
> > patch, only one ethernet port is initialized:
> >
> >      igb 0000:01:00.0: added PHC on eth0
> >      igb 0000:01:00.0: Intel(R) Gigabit Ethernet Network Connection
> >      igb 0000:01:00.0: eth0: (PCIe:2.5Gb/s:Width x1) 4c:02:89:10:02:e4
> >      igb 0000:01:00.0: eth0: PBA No: FFFFFF-0FF
> >      igb 0000:01:00.0: Using MSI-X interrupts. 2 rx queue(s), 2 tx queue(s)
> >      igb: probe of 0000:02:00.0 failed with error -2
> >
> > With this patch, both ethernet ports are available:
> >
> >      igb 0000:01:00.0: added PHC on eth0
> >      igb 0000:01:00.0: Intel(R) Gigabit Ethernet Network Connection
> >      igb 0000:01:00.0: eth0: (PCIe:2.5Gb/s:Width x1) 4c:02:89:10:02:e4
> >      igb 0000:01:00.0: eth0: PBA No: FFFFFF-0FF
> >      igb 0000:01:00.0: Using MSI-X interrupts. 2 rx queue(s), 2 tx queue(s)
> >      igb 0000:02:00.0: added PHC on eth1
> >      igb 0000:02:00.0: Intel(R) Gigabit Ethernet Network Connection
> >      igb 0000:02:00.0: eth1: (PCIe:2.5Gb/s:Width x1) 4c:02:89:10:02:e5
> >      igb 0000:02:00.0: eth1: PBA No: FFFFFF-0FF
> >      igb 0000:02:00.0: Using MSI-X interrupts. 2 rx queue(s), 2 tx queue(s)
> >
> > The issue was observed at 3I380A board with BIOS version "A4 01/15/2016"
> > and 3I380CW board with BIOS version "A3 09/29/2014".
> >
> > Reference: https://lore.kernel.org/netdev/08c744e6-385b-8fcf-ecdf-1292b5869f94@xxxxxxxxxx/
> > Fixes: 648e921888ad ("clk: x86: Stop marking clocks as CLK_IS_CRITICAL")
> > Cc: <stable@xxxxxxxxxxxxxxx> # v4.19+
> > Signed-off-by: Matwey V. Kornilov <matwey@xxxxxxxxxx>
>
>
> Thank you for the patch.
>
> The last week I have received 2 different patches adding
> a total of 3 new "Lex BayTrail" entries to critclk_systems[]
> on top of the existing 2.
>
> Looking at: https://www.lex.com.tw/products/embedded-ipc-board/
> we can see that Lex BayTrail makes many embedded boards with
> multiple ethernet boards and none of their products are battery
> powered so we don't need to worry (too much) about power consumption
> when suspended.
>
> So instead of adding 3 new entries I've written a patch to
> simply disable the turning off of the clocks on all
> systems which have "Lex BayTrail" as their DMI sys_vendor:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/commit/?h=review-hans&id=c9d959fc32a5f9312282817052d8986614f2dc08
>
> I've added a Reported-by tag to give you credit for the work
> you have done on this.
>
> I will send this alternative fix to Linus as part of
> the other pdx86 patches for 5.21.

Thank you. Will your fix also appear in stable/lts kernels?

>
> Regards,
>
> Hans
>
>
>
>
> > ---
> >  drivers/platform/x86/pmc_atom.c | 18 ++++++++++++++++++
> >  1 file changed, 18 insertions(+)
> >
> > diff --git a/drivers/platform/x86/pmc_atom.c b/drivers/platform/x86/pmc_atom.c
> > index b8b1ed1406de..5dc82667907b 100644
> > --- a/drivers/platform/x86/pmc_atom.c
> > +++ b/drivers/platform/x86/pmc_atom.c
> > @@ -388,6 +388,24 @@ static const struct dmi_system_id critclk_systems[] = {
> >                       DMI_MATCH(DMI_PRODUCT_NAME, "CEC10 Family"),
> >               },
> >       },
> > +     {
> > +             /* pmc_plt_clk* - are used for ethernet controllers */
> > +             .ident = "Lex 3I380A",
> > +             .callback = dmi_callback,
> > +             .matches = {
> > +                     DMI_MATCH(DMI_SYS_VENDOR, "Lex BayTrail"),
> > +                     DMI_MATCH(DMI_PRODUCT_NAME, "3I380A"),
> > +             },
> > +     },
> > +     {
> > +             /* pmc_plt_clk* - are used for ethernet controllers */
> > +             .ident = "Lex 3I380CW",
> > +             .callback = dmi_callback,
> > +             .matches = {
> > +                     DMI_MATCH(DMI_SYS_VENDOR, "Lex BayTrail"),
> > +                     DMI_MATCH(DMI_PRODUCT_NAME, "3I380CW"),
> > +             },
> > +     },
> >       {
> >               /* pmc_plt_clk0 - 3 are used for the 4 ethernet controllers */
> >               .ident = "Lex 3I380D",
>


-- 
With best regards,
Matwey V. Kornilov




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux