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