RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1894173 - Missing Marvell MVPP2 NIC support in 4.18.0-193.28.1.el8_2
Summary: Missing Marvell MVPP2 NIC support in 4.18.0-193.28.1.el8_2
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: kernel
Version: CentOS Stream
Hardware: aarch64
OS: Linux
unspecified
medium
Target Milestone: rc
: 8.0
Assignee: Mark Langsdorf
QA Contact: Tianhao
URL:
Whiteboard:
Depends On: 1878147
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-11-03 17:13 UTC by Marcin Wojtas
Modified: 2021-02-02 13:09 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-02-02 13:08:54 UTC
Type: Bug
Target Upstream Version:
Embargoed:
pm-rhel: mirror+


Attachments (Terms of Use)

Description Marcin Wojtas 2020-11-03 17:13:25 UTC
Description of problem: Marvell MVPP2 NIC driver is not enabled in aarch64 config 


Version-Release number of selected component (if applicable): 4.18.0-193.28.1.el8_2 kernel.


How reproducible: always


Steps to Reproduce:
1. Boot RHEL or Centos with mentioned kernel on boards with Marvell Armada 7k8k / Octeon TX2 CN913x SoCs

Actual results: No network interfaces present.


Expected results: Network interfaces should be present, as they are supported in with ACPI since LKv4.15. Centos altarch 7 also supported this NIC


Additional info: In order to enable it we would need to add
CONFIG_ARCH_MVEBU=y
CONFIG_MVPP2=m
to the SOURCES/kernel-aarch64.config & SOURCES/kernel-aarch64-debug.config

Comment 1 Tianhao 2020-11-06 05:36:17 UTC
Hi Mark,

Can you provide some information about testing the bug? Thanks in advance.

Regards,
Tianhao

Comment 2 Marcin Wojtas 2020-11-06 18:38:35 UTC
Hi Tianhao,

The mvpp2.ko module should be present in the modules directory in the OS. I can help to test the changes, I'd just need to get an access to the aarch64 booting ISO.

Best regards,
Marcin

Comment 5 Mark Langsdorf 2020-11-10 16:21:58 UTC
At least on the RHEL8 kernel side, the driver code itself hasn't been touched for 2 years, and there are various phylink and gpio changes that have not been applied to it that means that the driver in the tree won't compile at all.

I figured out that fe25ec04763a "gpio: pass lookup and descriptor flags to request_own" is needed to fix at least compilation error.

I'm still getting an error in phylink_mac_link_up, and there's 8+ unapplied commits that may need to be reordered and applied to resolve the error.

Also, there's an issue with drivers/pinctrl/mvebu/pinctrl-armada-37xx.c which I have not figured out.

Any help from the CentOS stream team would be appreciated.

Comment 6 Marcin Wojtas 2020-11-10 18:07:48 UTC
Hi Mark,

(In reply to Mark Langsdorf from comment #5)
> At least on the RHEL8 kernel side, the driver code itself hasn't been
> touched for 2 years, and there are various phylink and gpio changes that
> have not been applied to it that means that the driver in the tree won't
> compile at all.
> 
> I figured out that fe25ec04763a "gpio: pass lookup and descriptor flags to
> request_own" is needed to fix at least compilation error.
> 
> I'm still getting an error in phylink_mac_link_up, and there's 8+ unapplied
> commits that may need to be reordered and applied to resolve the error.

On vanilla v4.18, the phylink is there and the mvpp2 driver can use it. Does it mean you have other backports from newer branches around that are conflicting?

> 
> Also, there's an issue with drivers/pinctrl/mvebu/pinctrl-armada-37xx.c
> which I have not figured out.
> 

For the config MVPP2 (drivers/net/ethernet/marvell/Kconfig) used with ACPI the dependency on CONFIG_MVEBU is a bit unfortunate (it is true for the DT world).
All the selected options (see CONFIG_MVEBU section in arch/arm64/Kconfig.platforms) are totally useless for the kernel that is supposed to work with ACPI.

> Any help from the CentOS stream team would be appreciated.

Please let know if and how can I possibly help here as well.

Best regards,
Marcin

Comment 7 Mark Langsdorf 2020-11-11 14:11:42 UTC
There's been enough partial backports that just enabling the mvpp2 driver doesn't work:

drivers/gpio/gpio-mvebu.c: In function ‘mvebu_pwm_request’:
drivers/gpio/gpio-mvebu.c:611:33: error: type of formal parameter 4 is incomplete
        pwm->hwpwm, "mvebu-pwm", 0);
                                 ^
drivers/gpio/gpio-mvebu.c:610:10: error: too few arguments to function ‘gpiochip_request_own_desc’
   desc = gpiochip_request_own_desc(&mvchip->chip,
          ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/gpio/gpio-mvebu.c:39:
./include/linux/gpio/driver.h:713:19: note: declared here
 struct gpio_desc *gpiochip_request_own_desc(struct gpio_chip *chip,
                   ^~~~~~~~~~~~~~~~~~~~~~~~~

Applying patches to fix these errors causes additional errors.  I'll give it another try but this is frustrating.

Comment 8 Marcin Wojtas 2020-11-13 22:03:16 UTC
Hi Mark,

In paralel I ramped the setup with 4.18.0-240.el8.aarch64 and I reproduce the exact problem that you are observing. I'll try to do the smallest required backport on my own and will get back here. One question - I have the 4.18.0-240.el8 raw sources, without history. Is there any way to view the upstream patches that were already backported?

Thanks,
Marcin

Comment 9 Mark Langsdorf 2020-11-16 18:11:41 UTC
I'm not aware of a way for external folks to get access to the git history.

Comment 10 Marcin Wojtas 2020-11-16 18:16:29 UTC
I wouldn't expect anything else, but I gave it a try :) Please give me a moment, so I can try the backports myself.

Thanks,
Marcin

Comment 13 Mark Langsdorf 2020-11-20 14:15:21 UTC
Petr Oros is going to rebase phylink in 1878147 and I don't think I can proceed on this bug until those commits land in the dev-test branch.

Comment 14 Mark Langsdorf 2021-02-02 13:08:54 UTC
Deferring this work until a major customer needs it.  Marvell is no longer supporting their server line.

We can reopen this if it turns out that someone cares.


Note You need to log in before you can comment on or make changes to this bug.