Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rockchip64: remove patch to fix rockpi-e gigabit eth #7823

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

paolosabatino
Copy link
Contributor

@paolosabatino paolosabatino commented Feb 11, 2025

Description

Radxa Rockpi E gigabit ethenet does not work in current 6.12 kernel.
This PR removes a patch that declares the GbE phy with compatible = "ethernet-phy-id001c.c916", which does in turn acquire a gpio interrupt line which is not supposed to be controller by the phy itself.

This mistake causes the kernel to disable the IRQ after 100000 triggers because the phy driver - obviously - does not detect any activity and prints this stack dump:

[   70.122947] irq 47: nobody cared (try booting with the "irqpoll" option)
[   70.122967] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G         C         6.6.51-current-rockchip64 #1
[   70.122976] Hardware name: Radxa ROCK Pi E (DT)
[   70.122981] Call trace:
[   70.122985]  dump_backtrace+0x94/0x114
[   70.122999]  show_stack+0x18/0x24
[   70.123006]  dump_stack_lvl+0x48/0x60
[   70.123015]  dump_stack+0x18/0x24
[   70.123023]  __report_bad_irq+0x38/0xe0
[   70.123033]  note_interrupt+0x330/0x390
[   70.123040]  handle_irq_event+0x9c/0xb0
[   70.123047]  handle_level_irq+0xc0/0x1b0
[   70.123055]  generic_handle_domain_irq+0x2c/0x44
[   70.123062]  rockchip_irq_demux+0xa0/0x220
[   70.123073]  generic_handle_domain_irq+0x2c/0x44
[   70.123079]  gic_handle_irq+0x44/0xcc
[   70.123085]  call_on_irq_stack+0x24/0x4c
[   70.123093]  do_interrupt_handler+0x80/0x84
[   70.123102]  el1_interrupt+0x34/0x68
[   70.123111]  el1h_64_irq_handler+0x18/0x24
[   70.123120]  el1h_64_irq+0x64/0x68
[   70.123126]  cpuidle_enter_state+0xc4/0x4bc
[   70.123133]  cpuidle_enter+0x38/0x50
[   70.123141]  do_idle+0x1fc/0x270
[   70.123150]  cpu_startup_entry+0x38/0x3c
[   70.123157]  kernel_init+0x0/0x1e8
[   70.123163]  arch_post_acpi_subsys_init+0x0/0x8
[   70.123172]  start_kernel+0x6d4/0x90c
[   70.123179]  __primary_switched+0xbc/0xc4
[   70.123188] handlers:
[   70.123191] [<000000006796ecba>] irq_default_primary_handler threaded [<00000000ed96dea9>] phy_interrupt
[   70.123212] Disabling IRQ #47

GitHub issue reference:
Jira reference number AR-2610

How Has This Been Tested?

  • Device tree has been rebuilt and tested on a live installatiion
  • Performance tests show acceptable bandwidth:
root@rockpi-e:/boot/dtb/rockchip# iperf3 -c 192.168.1.12
Connecting to host 192.168.1.12, port 5201
[  5] local 192.168.1.43 port 42876 connected to 192.168.1.12 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   114 MBytes   954 Mbits/sec    0   1.49 MBytes       
[  5]   1.00-2.00   sec   111 MBytes   935 Mbits/sec    0   1.49 MBytes       
[  5]   2.00-3.00   sec   112 MBytes   944 Mbits/sec    0   1.49 MBytes       
[  5]   3.00-4.00   sec   112 MBytes   944 Mbits/sec    0   1.49 MBytes       
[  5]   4.00-5.00   sec   112 MBytes   944 Mbits/sec    0   1.49 MBytes       
[  5]   5.00-6.00   sec   111 MBytes   933 Mbits/sec    0   1.49 MBytes       
[  5]   6.00-7.00   sec   112 MBytes   944 Mbits/sec    0   1.49 MBytes       
[  5]   7.00-8.00   sec   112 MBytes   944 Mbits/sec    0   1.49 MBytes       
[  5]   8.00-9.00   sec   112 MBytes   944 Mbits/sec    0   1.49 MBytes       
[  5]   9.00-10.00  sec   112 MBytes   943 Mbits/sec    0   1.49 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.10 GBytes   943 Mbits/sec    0             sender
[  5]   0.00-10.01  sec  1.09 GBytes   939 Mbits/sec                  receiver

iperf Done.
root@rockpi-e:/boot/dtb/rockchip# iperf3 -c 192.168.1.12 -R
Connecting to host 192.168.1.12, port 5201
Reverse mode, remote host 192.168.1.12 is sending
[  5] local 192.168.1.43 port 37404 connected to 192.168.1.12 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   112 MBytes   941 Mbits/sec                  
[  5]   1.00-2.00   sec   112 MBytes   941 Mbits/sec                  
[  5]   2.00-3.00   sec   112 MBytes   941 Mbits/sec                  
[  5]   3.00-4.00   sec   112 MBytes   942 Mbits/sec                  
[  5]   4.00-5.00   sec   112 MBytes   941 Mbits/sec                  
[  5]   5.00-6.00   sec   112 MBytes   942 Mbits/sec                  
[  5]   6.00-7.00   sec   112 MBytes   941 Mbits/sec                  
[  5]   7.00-8.00   sec   112 MBytes   942 Mbits/sec                  
[  5]   8.00-9.00   sec   112 MBytes   942 Mbits/sec                  
[  5]   9.00-10.00  sec   112 MBytes   941 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.10 GBytes   943 Mbits/sec    0             sender
[  5]   0.00-10.00  sec  1.10 GBytes   941 Mbits/sec                  receiver

iperf Done.

Checklist:

  • My changes generate no new warnings

@paolosabatino paolosabatino requested a review from a team February 11, 2025 20:36
@github-actions github-actions bot added size/small PR with less then 50 lines Needs review Seeking for review Hardware Hardware related like kernel, U-Boot, ... Patches Patches related to kernel, U-Boot, ... labels Feb 11, 2025
@igorpecovnik igorpecovnik added Ready to merge Reviewed, tested and ready for merge Bugfix Pull request is fixing a bug 02 Milestone: First quarter release and removed Needs review Seeking for review labels Feb 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
02 Milestone: First quarter release Bugfix Pull request is fixing a bug Hardware Hardware related like kernel, U-Boot, ... Patches Patches related to kernel, U-Boot, ... Ready to merge Reviewed, tested and ready for merge size/small PR with less then 50 lines
Development

Successfully merging this pull request may close these issues.

2 participants