• F
    MIPS: make CAC_ADDR and UNCAC_ADDR account for PHYS_OFFSET · 86f7d75e
    Florian Fainelli 提交于
    On AR7, we already redefine PHYS_OFFSET to match the system specifities, it
    is however not sufficient when unsing dma_{map,unmap}_single, specifically
    in the ethernet driver, we must also adjust CAC_ADDR and UNCAC_ADDR for DMA
    to work correctly. This patch fixes the following issue, seen in cpmac_open:
    
    ops[#1]:
    Cpu 0
    $ 0   : 00000000 10008400 a0f5b120 00000000
    $ 4   : 94c59000 94270f64 00000020 00000010
    $ 8   : 00000010 94103ce0 0000000a 94c03400
    $12   : ffffffff 94c03408 94c03410 00000001
    $16   : a0f5ba20 00000041 94c592c0 94c59200
    $20   : 94c59000 000005ee 00002000 9438c8f0
    $24   : 00000010 00000000
    $28   : 94fac000 94fadd58 94390000 942724a8
    Hi    : 00000000
    Lo    : 00000001
    epc   : 94272518 cpmac_open+0x208/0x3f8
        Not tainted
    ra    : 942724a8 cpmac_open+0x198/0x3f8
    Status: 10008403    KERNEL EXL IE
    Cause : 3080000c
    BadVA : 00000000
    PrId  : 00018448 (MIPS 4KEc)
    Modules linked in:
    Process ifconfig (pid: 278, threadinfo=94fac000, task=94e79590, tls=00000000)
    Stack : 7f8da120 2ab05cb0 94c59000 943356f0 00000000 943d0000 94c59000 943356f0
            94c59030 943d0000 943c27c0 94fade10 00000000 94fade20 94c59000 9428e5a4
            00000000 94c59000 00000041 94289768 94c59000 00000041 00001002 00001043
            00000000 9428d810 00000000 94fade10 7f8da4e8 9428e6b8 00000000 7f8da4a8
            7f8da4e8 00008914 00000000 942f7f2c 00000000 00000008 00408000 00008913
            ...
    Call Trace:
    [<94272518>] cpmac_open+0x208/0x3f8
    [<9428e5a4>] dev_open+0x164/0x264
    [<9428d810>] dev_change_flags+0xd0/0x1bc
    [<942f7f2c>] devinet_ioctl+0x2d8/0x908
    [<942771f8>] sock_ioctl+0x29c/0x2fc
    [<941a0fb4>] vfs_ioctl+0x2c/0x7c
    [<941a16ec>] do_vfs_ioctl+0x5dc/0x630
    [<941a1790>] sys_ioctl+0x50/0x88
    [<94101e10>] stack_done+0x20/0x3c
    Signed-off-by: Npeter fuerst <post@pfrst.de>
    Signed-off-by: NFlorian Fainelli <florian@openwrt.org>
    To: linux-mips@linux-mips.org
    Patchwork: http://patchwork.linux-mips.org/patch/1050/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
    86f7d75e
page.h 5.3 KB