bcm63xx kernel 5.10

Daniel González Cabanelas dgcbueu at gmail.com
Fri Feb 4 14:34:51 PST 2022


El vie, 4 feb 2022 a las 23:02, Florian Fainelli
(<f.fainelli at gmail.com>) escribió:
>
>
>
> On 2/4/2022 11:21 AM, Álvaro Fernández Rojas wrote:
> > So the problem is that SET_FEATURES and GET_FEATURES isn’t supported by versions 2.1, 2.2 and 4.0 of the nand controller, which are the ones present on bcm63xx, right?
>
> Yes, I suspect this is the problem since I do not see CMD_LOW_LEVEL_OP
> being defined in the register database for the controllers v2.1 and
> v2.2, v3.3. Staring with v4.0, the controllers do have the
> CMD_LOW_LEVEL_OP. This is the version/feature table that I could
> programmatically compile:
>
> version: 0.1, ll: no
> version: 1.0, ll: no
> version: 2.0, ll: no
> version: 2.1, ll: no
> version: 2.2, ll: no
> version: 3.0, ll: no
> version: 3.2, ll: no
> version: 3.3, ll: no
> version: 3.4, ll: no
> version: 4.0, ll: yes
> version: 5.0, ll: yes
> version: 6.0, ll: yes
> version: 6.2, ll: yes
> version: 7.0, ll: yes
> version: 7.1, ll: yes
> version: 7.2, ll: yes
> version: 7.3, ll: yes
>
> How about this patch, does it work better?
>
> diff --git a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
> b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
> index f75929783b94..06ac593beec0 100644
> --- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
> +++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
> @@ -1727,6 +1727,8 @@ static void brcmnand_cmdfunc(struct nand_chip
> *chip, unsigned command,
>                  break;
>          case NAND_CMD_SET_FEATURES:
>          case NAND_CMD_GET_FEATURES:
> +               if (ctrl->nand_version < 0x0400)
> +                       break;
>                  brcmnand_low_level_op(host, LL_OP_CMD, command, false);
>                  brcmnand_low_level_op(host, LL_OP_ADDR, column, false);
>                  break;
>
> --
> Florian

No, it didn't help:

[    0.839567] bcm6368_nand 10000200.nand: there is not valid maps for
state default
[    0.849936] nand: device found, Manufacturer ID: 0xc2, Chip ID: 0xf1
[    0.856533] nand: Macronix MX30LF1G18AC
[    0.860422] nand: 128 MiB, SLC, erase size: 128 KiB, page size:
2048, OOB size: 64
[    0.868285] bcm6368_nand 10000200.nand: detected 128MiB total,
128KiB blocks, 2KiB pages, 16B OOB, 8-bit, BCH-4
[    0.884673] Bad block table not found for chip 0
[    0.895132] Bad block table not found for chip 0
[    0.899833] Scanning device for bad blocks
[    0.937390] CPU 0 Unable to handle kernel paging request at virtual
address 0040000c, epc == 80064ff0, ra == 80066fd4
[    0.948283] Oops[#1]:
[    0.950617] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.10.96 #0
[    0.956788] $ 0   : 00000000 00000001 00400000 00000002
[    0.962164] $ 4   : 81438080 8140be2c 00000000 81408300
[    0.967539] $ 8   : 8140a000 00001ff0 00000001 8125af80
[    0.972915] $12   : 00000400 8143b680 8143b680 00000000
[    0.978291] $16   : 80ff0f40 00000003 81438080 807b660c
[    0.983668] $20   : 00000002 807ab880 806eb8a0 806eb878
[    0.989043] $24   : 00000002 80656b28
[    0.994420] $28   : 807a4000 8140bde0 80820000 80066fd4
[    0.999796] Hi    : 0000000a
[    1.002753] Lo    : 66666669
[    1.005734] epc   : 80064ff0 __task_rq_lock+0x38/0xc0
[    1.010919] ra    : 80066fd4 try_to_wake_up+0xb4/0x5a4
[    1.016193] Status: 10008f02 KERNEL EXL
[    1.020226] Cause : 00800008 (ExcCode 02)
[    1.024347] BadVA : 0040000c
[    1.027306] PrId  : 0002a080 (Broadcom BMIPS4350)
[    1.032141] Modules linked in:
[    1.035285] Process swapper/0 (pid: 0, threadinfo=(ptrval),
task=(ptrval), tls=00000000)
[    1.043609] Stack : 81438000 00000003 00000000 81438000 81438080
00000003 00000000 10008f00
[    1.052220]         8143852c 80066fd4 00000400 00000014 00000246
00000000 00000000 00000001
[    1.060821]         00000001 00000000 00000000 00000000 81422180
8248ccc4 10008f00 8140bf0c
[    1.069423]         0000003a 807ab880 806eb8a0 806eb878 80820000
80080cec 8143c0ac 00000000
[    1.078034]         00000000 8248ccc0 8248ccc0 8008115c 81421a00
00000000 00000000 00000000
[    1.086644]         ...
[    1.089154] Call Trace:
[    1.091673] [<80064ff0>] __task_rq_lock+0x38/0xc0
[    1.096515] [<80066fd4>] try_to_wake_up+0xb4/0x5a4
[    1.101465] [<80080cec>] swake_up_locked+0x28/0x58
[    1.106370] [<8008115c>] complete+0x44/0x64
[    1.110700] [<8043b910>] brcmnand_irq+0xa4/0xac
[    1.115354] [<80090e08>] __handle_irq_event_percpu+0x70/0x1b8
[    1.121241] [<80091018>] handle_irq_event+0x50/0xe8
[    1.126258] [<80095388>] handle_level_irq+0xf0/0x1fc
[    1.131366] [<800904e4>] generic_handle_irq+0x44/0x5c
[    1.136581] [<80396ed0>] bcm6345_periph_irq_handle+0x110/0x1c0
[    1.142567] [<800904e4>] generic_handle_irq+0x44/0x5c
[    1.147791] [<8065734c>] do_IRQ+0x1c/0x2c
[    1.151888] [<80397384>] plat_irq_dispatch+0x60/0xd0
[    1.157006] [<80015c10>] handle_int+0x150/0x15c
[    1.161650] [<80015a80>] __r4k_wait+0x20/0x40
[    1.166126]
[    1.167642] Code: 24140002  26100f40  8e420004 <8c42000c> 00021080
02621021  8c510000  02118821  0c195c5a
[    1.177703]
[    1.179295] ---[ end trace 95cf16981dbab9fd ]---
[    1.184006] Kernel panic - not syncing: Fatal exception in interrupt
[    1.190524] ------------[ cut here ]------------
[    1.195285] WARNING: CPU: 0 PID: 0 at kernel/smp.c:633
smp_call_function_many_cond+0x438/0x454
[    1.204136] Modules linked in:
[    1.207285] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G      D
  5.10.96 #0
[    1.214890] Stack : 10008f00 00000000 80820000 8008dc18 80830000
80727f5c 00000000 00000000
[    1.223499]         8140bb24 81100000 806f6250 807b94f8 807b8fe7
10008f00 8140bac8 a4e9c2ab
[    1.232109]         00000000 00000000 806f6250 8140b960 00000000
00000000 ffffefff ffffffea
[    1.240710]         0000008a 8140b96c 0000008a 807c2818 00000000
10008f00 00000000 806f0000
[    1.249312]         00000009 807b9100 00000000 00000000 00000678
00000000 00000000 81100000
[    1.257914]         ...
[    1.260424] Call Trace:
[    1.262962] [<8001a230>] show_stack+0x30/0x100
[    1.267516] [<80379878>] dump_stack+0xa8/0xd8
[    1.272015] [<8003aac4>] __warn+0xc0/0x12c
[    1.276206] [<8003ab8c>] warn_slowpath_fmt+0x5c/0xac
[    1.281312] [<800c4344>] smp_call_function_many_cond+0x438/0x454
[    1.287493] [<800c43a4>] smp_call_function+0x24/0x30
[    1.292601] [<8003a530>] panic+0x114/0x31c
[    1.296814] [<8001a4ec>] die+0x124/0x130
[    1.300862] [<800257c0>] do_page_fault+0x534/0x544
[    1.305778] [<8002a694>] tlb_do_page_fault_0+0x124/0x12c
[    1.311244] [<80066fd4>] try_to_wake_up+0xb4/0x5a4
[    1.316157]
[    1.317681] ---[ end trace 95cf16981dbab9fe ]---
[    1.322430] ------------[ cut here ]------------
[    1.327189] WARNING: CPU: 0 PID: 0 at kernel/smp.c:498
smp_call_function_single+0x1f4/0x1fc
[    1.335777] Modules linked in:
[    1.338923] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G      D W
  5.10.96 #0
[    1.346529] Stack : 10008f00 00000001 80820000 8008dc18 80830000
80727f5c 00000000 00000000
[    1.355140]         8140bb34 81100000 806f6250 807b94f8 807b8fe7
10008f00 8140bad8 a4e9c2ab
[    1.363750]         00000000 00000000 806f6250 8140b970 00000000
00000000 ffffefff ffffffea
[    1.372360]         000000a2 8140b97c 000000a2 807c2818 00000000
10008f00 00000000 806f0000
[    1.380971]         00000009 807b9100 00000000 00000001 00000798
00000000 00000000 81100000
[    1.389573]         ...
[    1.392081] Call Trace:
[    1.394602] [<8001a230>] show_stack+0x30/0x100
[    1.399171] [<80379878>] dump_stack+0xa8/0xd8
[    1.403655] [<8003aac4>] __warn+0xc0/0x12c
[    1.407864] [<8003ab8c>] warn_slowpath_fmt+0x5c/0xac
[    1.412972] [<800c3d8c>] smp_call_function_single+0x1f4/0x1fc
[    1.418883] [<800c43a4>] smp_call_function+0x24/0x30
[    1.423990] [<8003a530>] panic+0x114/0x31c
[    1.428203] [<8001a4ec>] die+0x124/0x130
[    1.432235] [<800257c0>] do_page_fault+0x534/0x544
[    1.437163] [<8002a694>] tlb_do_page_fault_0+0x124/0x12c
[    1.442629] [<80066fd4>] try_to_wake_up+0xb4/0x5a4
[    1.447545]
[    1.449070] ---[ end trace 95cf16981dbab9ff ]---
[    1.453833] Rebooting in 1 seconds..
[    2.452929] triggering watchdog soft-reset...<0xff>HELO



More information about the openwrt-devel mailing list