30 Dec, 2020

1 commit

  • [ Upstream commit 3a5fe2fb9635c43359c9729352f45044f3c8df6b ]

    When BCM47XX_BCMA is enabled and BCMA_DRIVER_PCI is disabled, it results
    in the following Kbuild warning:

    WARNING: unmet direct dependencies detected for BCMA_DRIVER_PCI_HOSTMODE
    Depends on [n]: MIPS [=y] && BCMA_DRIVER_PCI [=n] && PCI_DRIVERS_LEGACY [=y] && BCMA [=y]=y
    Selected by [y]:
    - BCM47XX_BCMA [=y] && BCM47XX [=y] && PCI [=y]

    The reason is that BCM47XX_BCMA selects BCMA_DRIVER_PCI_HOSTMODE without
    depending on or selecting BCMA_DRIVER_PCI while BCMA_DRIVER_PCI_HOSTMODE
    depends on BCMA_DRIVER_PCI. This can also fail building the kernel.

    Honor the kconfig dependency to remove unmet direct dependency warnings
    and avoid any potential build failures.

    Fixes: c1d1c5d4213e ("bcm47xx: add support for bcma bus")
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=209879
    Signed-off-by: Necip Fazil Yildiran
    Signed-off-by: Thomas Bogendoerfer
    Signed-off-by: Sasha Levin

    Necip Fazil Yildiran
     

17 Oct, 2020

1 commit

  • Pull MIPS updates from Thomas Bogendoerfer:

    - removed support for PNX833x alias NXT_STB22x

    - included Ingenic SoC support into generic MIPS kernels

    - added support for new Ingenic SoCs

    - converted workaround selection to use Kconfig

    - replaced old boot mem functions by memblock_*

    - enabled COP2 usage in kernel for Loongson64 to make use
    of 16byte load/stores possible

    - cleanups and fixes

    * tag 'mips_5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: (92 commits)
    MIPS: DEC: Restore bootmem reservation for firmware working memory area
    MIPS: dec: fix section mismatch
    bcm963xx_tag.h: fix duplicated word
    mips: ralink: enable zboot support
    MIPS: ingenic: Remove CPU_SUPPORTS_HUGEPAGES
    MIPS: cpu-probe: remove MIPS_CPU_BP_GHIST option bit
    MIPS: cpu-probe: introduce exclusive R3k CPU probe
    MIPS: cpu-probe: move fpu probing/handling into its own file
    MIPS: replace add_memory_region with memblock
    MIPS: Loongson64: Clean up numa.c
    MIPS: Loongson64: Select SMP in Kconfig to avoid build error
    mips: octeon: Add Ubiquiti E200 and E220 boards
    MIPS: SGI-IP28: disable use of ll/sc in kernel
    MIPS: tx49xx: move tx4939_add_memory_regions into only user
    MIPS: pgtable: Remove used PAGE_USERIO define
    MIPS: alchemy: Share prom_init implementation
    MIPS: alchemy: Fix build breakage, if TOUCHSCREEN_WM97XX is disabled
    MIPS: process: include exec.h header in process.c
    MIPS: process: Add prototype for function arch_dup_task_struct
    MIPS: idle: Add prototype for function check_wait
    ...

    Linus Torvalds
     

12 Oct, 2020

1 commit


23 Sep, 2020

1 commit

  • As there is no known soc powered by mips 1074K in bcm47xx series,
    the check with 1074K is needless. So just remove it.

    Link: https://wireless.wiki.kernel.org/en/users/Drivers/b43/soc
    Fixes: 442e14a2c55e ("MIPS: Add 1074K CPU support explicitly.")
    Signed-off-by: Wei Li
    Acked-by: Rafał Miłecki
    Signed-off-by: Thomas Bogendoerfer

    Wei Li
     

13 May, 2020

1 commit


26 Jul, 2019

1 commit

  • The Netgear R6200 v1 uses a BCM4718A1 SOC and a BCM4352/BCM4360 for 5GHz
    wireless. This patch adds support for detecting this model board and
    registers the 3 buttons.

    I have tested that the device can boot kernels 4.14 and 4.19 under
    OpenWRT.

    There is one issue that the LEDs on the device are controlled by a
    74HC164 that uses bit-banging instead of SPI so it isn't accessible to
    the kernel without adding a workaround. Without any workaround the
    device on boot will flash all LEDs once then the power LED will remain
    amber as all other LEDs stay off.

    Signed-off-by: Edward Matijevic
    Acked-by: Hauke Mehrtens
    [paul.burton@mips.com:
    - Sort bcm47xx_board_list_board_id alphabetically by board type.
    - Fix whitespace.
    - Wrap commit message & drop OpenWRT-based justification for
    bcm47xx_board_list_board_id being mis-sorted.]
    Signed-off-by: Paul Burton

    Edward Matijević
     

21 May, 2019

1 commit


10 Apr, 2019

1 commit

  • A small batch of MIPS fixes for 5.1:

    - An interrupt masking fix for Loongson-based Lemote 2F systems (fixing
    a regression from v3.19).

    - A relocation fix for configurations in which the devicetree is stored
    in an ELF section (fixing a regression from v4.7).

    - Fix jump labels for MIPSr6 kernels where they previously could
    inadvertently place a control transfer instruction in a forbidden slot
    & take unexpected exceptions (fixing MIPSr6 support added in v4.0).

    - Extend an existing USB power workaround for the Netgear WNDR3400 to v2
    boards in addition to the v3 ones that already used it.

    - Remove the custom MIPS32 definition of __kernel_fsid_t to make it
    consistent with MIPS64 & every other architecture, in particular
    resolving issues for code which tries to print the val field whose
    type previously differed (though had identical memory layout).

    Merged into mips-next to gain the MIPSr6 jump label fix before enabling
    jump labels by default for generic kernel builds.

    Signed-off-by: Paul Burton

    Paul Burton
     

20 Mar, 2019

1 commit

  • Formatting of Kconfig files doesn't look so pretty, so let the
    Great White Handkerchief come around and clean it up.

    Signed-off-by: Enrico Weigelt, metux IT consult
    Signed-off-by: Paul Burton
    Cc: linux-kernel@vger.kernel.org
    Cc: hauke@hauke-m.de
    Cc: zajec5@gmail.com
    Cc: f.fainelli@gmail.com
    Cc: bcm-kernel-feedback-list@broadcom.com
    Cc: linux-mips@vger.kernel.org

    Enrico Weigelt, metux IT consult
     

12 Mar, 2019

1 commit

  • Eric has reported on OpenWrt's bug tracking system[1], that he's not
    able to use USB devices on his WNDR3400v2 device after the boot, until
    he turns on GPIO #21 manually through sysfs.

    1. https://bugs.openwrt.org/index.php?do=details&task_id=2170

    Cc: Rafał Miłecki
    Cc: Hauke Mehrtens
    Reported-by: Eric Bohlman
    Tested-by: Eric Bohlman
    Signed-off-by: Petr Štetiar
    Signed-off-by: Paul Burton

    Petr Štetiar
     

06 Mar, 2019

1 commit

  • Pull MIPS updates from Paul Burton:

    - Support for the MIPSr6 MemoryMapID register & Global INValidate TLB
    (GINVT) instructions, allowing for more efficient TLB maintenance
    when running on a CPU such as the I6500 that supports these.

    - Enable huge page support for MIPS64r6.

    - Optimize post-DMA cache sync by removing that code entirely for
    kernel configurations in which we know it won't be needed.

    - The number of pages allocated for interrupt stacks is now calculated
    correctly, where before we would wastefully allocate too much memory
    in some configurations.

    - The ath79 platform migrates to devicetree.

    - The bcm47xx platform sees fixes for the Buffalo WHR-G54S board.

    - The ingenic/jz4740 platform gains support for appended devicetrees.

    - The cavium_octeon, lantiq, loongson32 & sgi-ip27 platforms all see
    cleanups as do various pieces of core architecture code.

    * tag 'mips_5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: (66 commits)
    MIPS: lantiq: Remove separate GPHY Firmware loader
    MIPS: ingenic: Add support for appended devicetree
    MIPS: SGI-IP27: rework HUB interrupts
    MIPS: SGI-IP27: do boot CPU init later
    MIPS: SGI-IP27: do xtalk scanning later
    MIPS: SGI-IP27: use pr_info/pr_emerg and pr_cont to fix output
    MIPS: SGI-IP27: clean up bridge access and header files
    MIPS: SGI-IP27: get rid of volatile and hubreg_t
    MIPS: irq: Allocate accurate order pages for irq stack
    MIPS: dma-noncoherent: Remove bogus condition in dma_sync_phys()
    MIPS: eBPF: Remove REG_32BIT_ZERO_EX
    MIPS: eBPF: Always return sign extended 32b values
    MIPS: CM: Fix indentation
    MIPS: BCM47XX: Fix/improve Buffalo WHR-G54S support
    MIPS: OCTEON: program rx/tx-delay always from DT
    MIPS: OCTEON: delete board-specific link status
    MIPS: OCTEON: don't lie about interface type of CN3005 board
    MIPS: OCTEON: warn if deprecated link status is being used
    MIPS: OCTEON: add fixed-link nodes to in-kernel device tree
    MIPS: Delete unused flush_cache_sigtramp()
    ...

    Linus Torvalds
     

12 Feb, 2019

1 commit


05 Feb, 2019

1 commit

  • All users of the fixed_phy_add() pass -1 as GPIO number
    to the fixed phy driver, and all users of fixed_phy_register()
    pass -1 as GPIO number as well, except for the device
    tree MDIO bus.

    Any new users should create a proper device and pass the
    GPIO as a descriptor associated with the device so delete
    the GPIO argument from the calls and drop the code looking
    requesting a GPIO in fixed_phy_add().

    In fixed phy_register(), investigate the "fixed-link"
    node and pick the GPIO descriptor from "link-gpios" if
    this property exists. Move the corresponding code out
    of of_mdio.c as the fixed phy code anyways requires
    OF to be in use.

    Tested-by: Andrew Lunn
    Signed-off-by: Linus Walleij
    Signed-off-by: David S. Miller

    Linus Walleij
     

10 Jan, 2019

1 commit

  • So far we never had any device registered for the SoC. This resulted in
    some small issues that we kept ignoring like:
    1) Not working GPIOLIB_IRQCHIP (gpiochip_irqchip_add_key() failing)
    2) Lack of proper tree in the /sys/devices/
    3) mips_dma_alloc_coherent() silently handling empty coherent_dma_mask

    Kernel 4.19 came with a lot of DMA changes and caused a regression on
    bcm47xx. Starting with the commit f8c55dc6e828 ("MIPS: use generic dma
    noncoherent ops for simple noncoherent platforms") DMA coherent
    allocations just fail. Example:
    [ 1.114914] bgmac_bcma bcma0:2: Allocation of TX ring 0x200 failed
    [ 1.121215] bgmac_bcma bcma0:2: Unable to alloc memory for DMA
    [ 1.127626] bgmac_bcma: probe of bcma0:2 failed with error -12
    [ 1.133838] bgmac_bcma: Broadcom 47xx GBit MAC driver loaded

    The bgmac driver also triggers a WARNING:
    [ 0.959486] ------------[ cut here ]------------
    [ 0.964387] WARNING: CPU: 0 PID: 1 at ./include/linux/dma-mapping.h:516 bgmac_enet_probe+0x1b4/0x5c4
    [ 0.973751] Modules linked in:
    [ 0.976913] CPU: 0 PID: 1 Comm: swapper Not tainted 4.19.9 #0
    [ 0.982750] Stack : 804a0000 804597c4 00000000 00000000 80458fd8 8381bc2c 838282d4 80481a47
    [ 0.991367] 8042e3ec 00000001 804d38f0 00000204 83980000 00000065 8381bbe0 6f55b24f
    [ 0.999975] 00000000 00000000 80520000 00002018 00000000 00000075 00000007 00000000
    [ 1.008583] 00000000 80480000 000ee811 00000000 00000000 00000000 80432c00 80248db8
    [ 1.017196] 00000009 00000204 83980000 803ad7b0 00000000 801feeec 00000000 804d0000
    [ 1.025804] ...
    [ 1.028325] Call Trace:
    [ 1.030875] [] show_stack+0x58/0x100
    [ 1.035513] [] __warn+0xe4/0x118
    [ 1.039708] [] warn_slowpath_null+0x48/0x64
    [ 1.044935] [] bgmac_enet_probe+0x1b4/0x5c4
    [ 1.050101] [] bgmac_probe+0x558/0x590
    [ 1.054906] [] bcma_device_probe+0x38/0x70
    [ 1.060017] [] really_probe+0x170/0x2e8
    [ 1.064891] [] __driver_attach+0xa4/0xec
    [ 1.069784] [] bus_for_each_dev+0x58/0xb0
    [ 1.074833] [] bus_add_driver+0xf8/0x218
    [ 1.079731] [] driver_register+0xcc/0x11c
    [ 1.084804] [] bgmac_init+0x1c/0x44
    [ 1.089258] [] do_one_initcall+0x7c/0x1a0
    [ 1.094343] [] kernel_init_freeable+0x150/0x218
    [ 1.099886] [] kernel_init+0x10/0x104
    [ 1.104583] [] ret_from_kernel_thread+0x14/0x1c
    [ 1.110107] ---[ end trace f441c0d873d1fb5b ]---

    This patch setups a "struct device" (and passes it to the bcma) which
    allows fixing all the mentioned problems. It'll also require a tiny bcma
    patch which will follow through the wireless tree & its maintainer.

    Fixes: f8c55dc6e828 ("MIPS: use generic dma noncoherent ops for simple noncoherent platforms")
    Signed-off-by: Rafał Miłecki
    Signed-off-by: Paul Burton
    Acked-by: Hauke Mehrtens
    Cc: Christoph Hellwig
    Cc: Linus Walleij
    Cc: linux-wireless@vger.kernel.org
    Cc: Ralf Baechle
    Cc: James Hogan
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Cc: stable@vger.kernel.org # v4.19+

    Rafał Miłecki
     

30 Aug, 2018

1 commit

  • Setting GPIO 21 high seems to be required to enable power to USB ports
    on the WNDR3400v3. As there is already similar code for WNR3500L,
    make the existing USB power GPIO code generic and use that.

    Signed-off-by: Tuomas Tynkkynen
    Acked-by: Hauke Mehrtens
    Signed-off-by: Paul Burton
    Patchwork: https://patchwork.linux-mips.org/patch/20259/
    Cc: Rafał Miłecki
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org

    Tuomas Tynkkynen
     

28 Jul, 2018

1 commit

  • This reverts commit 2a027b47dba6 ("MIPS: BCM47XX: Enable 74K Core
    ExternalSync for PCIe erratum").

    Enabling ExternalSync caused a regression for BCM4718A1 (used e.g. in
    Netgear E3000 and ASUS RT-N16): it simply hangs during PCIe
    initialization. It's likely that BCM4717A1 is also affected.

    I didn't notice that earlier as the only BCM47XX devices with PCIe I
    own are:
    1) BCM4706 with 2 x 14e4:4331
    2) BCM4706 with 14e4:4360 and 14e4:4331
    it appears that BCM4706 is unaffected.

    While BCM5300X-ES300-RDS.pdf seems to document that erratum and its
    workarounds (according to quotes provided by Tokunori) it seems not even
    Broadcom follows them.

    According to the provided info Broadcom should define CONF7_ES in their
    SDK's mipsinc.h and implement workaround in the si_mips_init(). Checking
    both didn't reveal such code. It *could* mean Broadcom also had some
    problems with the given workaround.

    Signed-off-by: Rafał Miłecki
    Signed-off-by: Paul Burton
    Reported-by: Michael Marley
    Patchwork: https://patchwork.linux-mips.org/patch/20032/
    URL: https://bugs.openwrt.org/index.php?do=details&task_id=1688
    Cc: Tokunori Ikegami
    Cc: Hauke Mehrtens
    Cc: Chris Packham
    Cc: James Hogan
    Cc: Ralf Baechle
    Cc: linux-mips@linux-mips.org

    Rafał Miłecki
     

19 Jun, 2018

1 commit

  • The erratum and workaround are described by BCM5300X-ES300-RDS.pdf as
    below.

    R10: PCIe Transactions Periodically Fail

    Description: The BCM5300X PCIe does not maintain transaction ordering.
    This may cause PCIe transaction failure.
    Fix Comment: Add a dummy PCIe configuration read after a PCIe
    configuration write to ensure PCIe configuration access
    ordering. Set ES bit of CP0 configu7 register to enable
    sync function so that the sync instruction is functional.
    Resolution: hndpci.c: extpci_write_config()
    hndmips.c: si_mips_init()
    mipsinc.h CONF7_ES

    This is fixed by the CFE MIPS bcmsi chipset driver also for BCM47XX.
    Also the dummy PCIe configuration read is already implemented in the
    Linux BCMA driver.

    Enable ExternalSync in Config7 when CONFIG_BCMA_DRIVER_PCI_HOSTMODE=y
    too so that the sync instruction is externalised.

    Signed-off-by: Tokunori Ikegami
    Reviewed-by: Paul Burton
    Acked-by: Hauke Mehrtens
    Cc: Chris Packham
    Cc: Rafał Miłecki
    Cc: linux-mips@linux-mips.org
    Cc: stable@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/19461/
    Signed-off-by: James Hogan

    Tokunori Ikegami
     

23 Apr, 2018

2 commits

  • This struct variable is used during init only. It gets passed to the
    gpio_led_register_device() which creates its own data copy. That allows
    using __initdata and saving some minimal amount of memory.

    Signed-off-by: Rafał Miłecki
    Reviewed-by: Aaro Koskinen
    Cc: Ralf Baechle
    Cc: Hauke Mehrtens
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/18928/
    Signed-off-by: James Hogan

    Rafał Miłecki
     
  • This adds support for detecting this model board and registers some LEDs
    and buttons.

    There are two uncommon things regarding this device:
    1) It can use two different "board_id" ID values.
    Unit I have uses "U12H139T00_NETGEAR" value. This magic is also used
    in firmware file header. There are two reports (one from an OpenWrt
    user) of a different "U12H139T50_NETGEAR" magic though.
    2) Power LEDs share GPIOs with buttons.
    Amber one seems to share GPIO 2 with WPS button and green one seems
    to share GPIO 3 with reset button. It remains unknown how to support
    them and handle buttons at the same time. For that reason they aren't
    added to the list of supported LEDs.

    Signed-off-by: Rafał Miłecki
    Cc: Ralf Baechle
    Cc: Hauke Mehrtens
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/19004/
    Signed-off-by: James Hogan

    Rafał Miłecki
     

07 Apr, 2018

1 commit

  • The original patch submitted for support of the Luxul XWR-1750 used a
    non-standard button handler for the reset button. This patch will allow
    using the standard KEY_RESTART

    Signed-off-by: Dan Haab
    Cc: Ralf Baechle
    Cc: Hauke Mehrtens
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/18981/
    Signed-off-by: James Hogan

    Dan Haab
     

28 Mar, 2018

1 commit

  • Some Luxul devices use PCIe connected GPIO LEDs that are not available
    until the PCI subsytem and its drivers load. Using the same array for
    these LEDs would block registering any LEDs until all GPIOs become
    available. This may be undesired behavior as some LEDs should be
    available as early as possible (e.g. system status LED). This patch will
    allow registering available LEDs while deferring these PCIe GPIO
    connected 'extra' LEDs until they become available.

    Signed-off-by: Dan Haab
    Cc: Ralf Baechle
    Cc: Hauke Mehrtens
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/18952/
    Signed-off-by: James Hogan

    Dan Haab
     

24 Jan, 2018

1 commit

  • Enable ZBOOT support. The WRT54GL router's bootloader limits kernel
    size to 3 MB with the normal load address, which is a bit challenging
    vmlinux size with modern Linux. A compressed kernel allows booting
    much bigger kernels.

    Signed-off-by: Aaro Koskinen
    Cc: Ralf Baechle
    Cc: Hauke Mehrtens
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/18492/
    Signed-off-by: James Hogan

    Aaro Koskinen
     

16 Nov, 2017

1 commit

  • Pull MIPS updates from James Hogan:
    "These are the main MIPS changes for 4.15.

    Fixes:
    - ralink: Fix MT7620 PCI build issues (4.5)
    - Disable cmpxchg64() and HAVE_VIRT_CPU_ACCOUNTING_GEN for 32-bit SMP
    (4.1)
    - Fix MIPS64 FP save/restore on 32-bit kernels (4.0)
    - ptrace: Pick up ptrace/seccomp changed syscall numbers (3.19)
    - ralink: Fix MT7628 pinmux (3.19)
    - BCM47XX: Fix LED inversion on WRT54GSv1 (3.17)
    - Fix n32 core dumping as o32 since regset support (3.13)
    - ralink: Drop obsolete USB_ARCH_HAS_HCD select

    Build system:
    - Default to "generic" (multiplatform) system type instead of IP22
    - Use generic little endian MIPS32 r2 configuration as default
    defconfig instead of ip22_defconfig

    FPU emulation:
    - Fix exception generation for certain R6 FPU instructions

    SMP:
    - Allow __cpu_number_map to be larger than NR_CPUS for sparse CPU id
    spaces

    Miscellaneous:
    - Add iomem resource for kernel bss section for kexec/kdump
    - Atomics: Nudge writes on bit unlock
    - DT files: Standardise "ok" -> "okay"

    Minor cleanups:
    - Define virt_to_pfn()
    - Make thread_saved_pc static
    - Simplify 32-bit sign extension in __read_64bit_c0_split()
    - DMA: Use vma_pages() helper
    - FPU emulation: Replace unsigned with unsigned int
    - MM: Removed unused lastpfn
    - Alchemy: Make clk_ops const
    - Lasat: Use setup_timer() helper
    - ralink: Use BIT() in MT7620 PCI driver

    Platform support:

    BMIPS:
    - Enable HARDIRQS_SW_RESEND

    Broadcom BCM63XX:
    - Add clkdev lookup support
    - Update clk driver, UART driver, DTs to handle named refclk from DTs
    - Split apart various clocks to more closely match hardware
    - Add ethernet clocks

    Cavium Octeon:
    - Remove usage of cvmx_wait() in favour of __delay()

    ImgTec Pistachio:
    - DT: Drop deprecated dwmmc num-slots property

    Ingenic JZ4780:
    - Add NFS root to Ci20 defconfig
    - Add watchdog to Ci20 DT & defconfig, and allow building of watchdog
    driver with this SoC

    Generic (multiplatform):
    - Migrate xilfpga (MIPSfpga) platform to the generic platform

    Lantiq xway:
    - Fix ASC0/ASC1 clocks"

    * tag 'mips_4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/mips: (46 commits)
    MIPS: Add iomem resource for kernel bss section.
    MIPS: cmpxchg64() and HAVE_VIRT_CPU_ACCOUNTING_GEN don't work for 32-bit SMP
    MIPS: BMIPS: Enable HARDIRQS_SW_RESEND
    MIPS: pci: Make use of the BIT() macro inside the mt7620 driver
    MIPS: pci: Remove KERN_WARN instance inside the mt7620 driver
    MIPS: pci: Remove duplicate define in mt7620 driver
    MIPS: ralink: Fix typo in mt7628 pinmux function
    MIPS: ralink: Fix MT7628 pinmux
    MIPS: Fix odd fp register warnings with MIPS64r2
    watchdog: jz4780: Allow selection of jz4740-wdt driver
    MIPS/ptrace: Update syscall nr on register changes
    MIPS/ptrace: Pick up ptrace/seccomp changed syscalls
    MIPS: Fix an n32 core file generation regset support regression
    MIPS: Fix MIPS64 FP save/restore on 32-bit kernels
    MIPS: page.h: Define virt_to_pfn()
    MIPS: Xilfpga: Switch to using generic defconfigs
    MIPS: generic: Add support for MIPSfpga
    MIPS: Set defconfig target to a generic system for 32r2el
    MIPS: Kconfig: Set default MIPS system type as generic
    MIPS: DTS: Remove num-slots from Pistachio SoC
    ...

    Linus Torvalds
     

08 Nov, 2017

1 commit

  • The WLAN LED on the Linksys WRT54GSv1 is active low, but the software
    treats it as active high. Fix the inverted logic.

    Fixes: 7bb26b169116 ("MIPS: BCM47xx: Fix LEDs on WRT54GS V1.0")
    Signed-off-by: Mirko Parthey
    Looks-ok-by: Rafał Miłecki
    Cc: Hauke Mehrtens
    Cc: linux-mips@linux-mips.org
    Cc: # 3.17+
    Patchwork: https://patchwork.linux-mips.org/patch/16071/
    Signed-off-by: James Hogan

    Mirko Parthey
     

02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

17 Feb, 2017

1 commit

  • The Asus WL-500W buttons are active high, but the software treats them
    as active low. Fix the inverted logic.

    Fixes: 3be972556fa1 ("MIPS: BCM47XX: Import buttons database from OpenWrt")
    Signed-off-by: Mirko Parthey
    Acked-by: Rafał Miłecki
    Cc: Hauke Mehrtens
    Cc: linux-mips@linux-mips.org
    Cc: # 3.14.x-
    Patchwork: https://patchwork.linux-mips.org/patch/15295/
    Signed-off-by: James Hogan

    Mirko Parthey
     

25 Jan, 2017

1 commit

  • So far only Luxul XWR-1750 router was supported. This adds a set of
    other Luxul devices based on BCM47XX. It's a standard support for LEDs
    and buttons.

    Signed-off-by: Dan Haab
    Cc: Hauke Mehrtens
    Cc: Rafał Miłecki
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/15106/
    Signed-off-by: Ralf Baechle

    Dan Haab
     

04 Oct, 2016

1 commit

  • The Makefile entry controlling compilation of this code is "obj-y"
    meaning that it currently is not being built as a module by anyone.

    Lets remove the couple traces of modular infrastructure use, so that
    when reading the driver there is no doubt it is builtin-only.

    Since module_init translates to device_initcall in the non-modular
    case, the init ordering remains unchanged with this commit.

    We also delete the MODULE_LICENSE tag etc. since all that information
    was (or is now) contained at the top of the file in the comments.

    Signed-off-by: Paul Gortmaker
    Cc: Hauke Mehrtens
    Cc: "Rafał Miłecki"
    Cc: Aurelien Jarno
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/13933/
    Signed-off-by: Ralf Baechle

    Paul Gortmaker
     

13 May, 2016

1 commit

  • Broadcom ARM home routers store SPROM content in NVRAM just like MIPS
    ones. To share SPROM code we need to move it out of arch/mips/ to some
    common place. We already have bcm47xx_nvram in firmware path and SPROM
    should fit there as well.
    This driver is responsible for parsing SoC configuration data into a
    struct shared between ssb and bcma buses.
    This was tested with BCM4706 & BCM5357C0 (BCM47XX) and BCM4708A0
    (ARCH_BCM_5301X).

    Signed-off-by: Rafał Miłecki
    Cc: Hauke Mehrtens
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/12210/
    Signed-off-by: Ralf Baechle

    Rafał Miłecki
     

03 Apr, 2016

1 commit


25 Jan, 2016

1 commit

  • Pull MIPS updates from Ralf Baechle:
    "This is the main pull request for MIPS for 4.5 plus some 4.4 fixes.

    The executive summary:

    - ATH79 platform improvments, use DT bindings for the ATH79 USB PHY.
    - Avoid useless rebuilds for zboot.
    - jz4780: Add NEMC, BCH and NAND device tree nodes
    - Initial support for the MicroChip's DT platform. As all the device
    drivers are missing this is still of limited use.
    - Some Loongson3 cleanups.
    - The unavoidable whitespace polishing.
    - Reduce clock skew when synchronizing the CPU cycle counters on CPU
    startup.
    - Add MIPS R6 fixes.
    - Lots of cleanups across arch/mips as fallout from KVM.
    - Lots of minor fixes and changes for IEEE 754-2008 support to the
    FPU emulator / fp-assist software.
    - Minor Ralink, BCM47xx and bcm963xx platform support improvments.
    - Support SMP on BCM63168"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (84 commits)
    MIPS: zboot: Add support for serial debug using the PROM
    MIPS: zboot: Avoid useless rebuilds
    MIPS: BMIPS: Enable ARCH_WANT_OPTIONAL_GPIOLIB
    MIPS: bcm63xx: nvram: Remove unused bcm63xx_nvram_get_psi_size() function
    MIPS: bcm963xx: Update bcm_tag field image_sequence
    MIPS: bcm963xx: Move extended flash address to bcm_tag header file
    MIPS: bcm963xx: Move Broadcom BCM963xx image tag data structure
    MIPS: bcm63xx: nvram: Use nvram structure definition from header file
    MIPS: bcm963xx: Add Broadcom BCM963xx board nvram data structure
    MAINTAINERS: Add KVM for MIPS entry
    MIPS: KVM: Add missing newline to kvm_err()
    MIPS: Move KVM specific opcodes into asm/inst.h
    MIPS: KVM: Use cacheops.h definitions
    MIPS: Break down cacheops.h definitions
    MIPS: Use EXCCODE_ constants with set_except_vector()
    MIPS: Update trap codes
    MIPS: Move Cause.ExcCode trap codes to mipsregs.h
    MIPS: KVM: Make kvm_mips_{init,exit}() static
    MIPS: KVM: Refactor added offsetof()s
    MIPS: KVM: Convert EXPORT_SYMBOL to _GPL
    ...

    Linus Torvalds
     

20 Jan, 2016

1 commit

  • BCM47XX platform has specific PCI setup because all buses share the same
    domain. It's different e.g. on ARM ARCH_BCM_5301X where each PCI bus
    gets its own domain (they are handled by iProc PCIe controller driver).

    As we want to make SPROM driver more generic, let's add an exception for
    BCM47xx. It was tested on BCM4706 (MIPS) and BCM4708A0 (ARM).

    Signed-off-by: Rafał Miłecki
    Cc: Hauke Mehrtens
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/11969/
    Signed-off-by: Ralf Baechle

    Rafał Miłecki
     

16 Dec, 2015

1 commit

  • There is code in ssb fetching "invariants" that is basically a set of
    board specific data. Every host requires its own implementation of
    reading function. In ssb we have support for PCI, PCMCIA & SDIO.
    For some (historical?) reason code reading "invariants" for SoC was
    placed in arch code and provided by a callback. This is not needed
    nowadays, so lets move that into ssb. This way we keep all "invariants"
    functions in a single module making code cleaner.

    Signed-off-by: Rafał Miłecki
    Signed-off-by: Kalle Valo

    Rafał Miłecki
     

16 Nov, 2015

1 commit

  • Pull MIPS updates from Ralf Baechle:
    "These are the highlists of the main MIPS pull request for 4.4:

    - Add latencytop support
    - Support appended DTBs
    - VDSO support and initially use it for gettimeofday.
    - Drop the .MIPS.abiflags and ELF NOTE sections from vmlinux
    - Support for the 5KE, an internal test core.
    - Switch all MIPS platfroms to libata drivers.
    - Improved support, cleanups for ralink and Lantiq platforms.
    - Support for the new xilfpga platform.
    - A number of DTB improvments for BMIPS.
    - Improved support for CM and CPS.
    - Minor JZ4740 and BCM47xx enhancements"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (120 commits)
    MIPS: idle: add case for CPU_5KE
    MIPS: Octeon: Support APPENDED_DTB
    MIPS: vmlinux: create a section for appended DTB
    MIPS: Clean up compat_siginfo_t
    MIPS: Fix PAGE_MASK definition
    MIPS: BMIPS: Enable GZIP ramdisk and timed printks
    MIPS: Add xilfpga defconfig
    MIPS: xilfpga: Add mipsfpga platform code
    MIPS: xilfpga: Add xilfpga device tree files.
    dt-bindings: MIPS: Document xilfpga bindings and boot style
    MIPS: Make MIPS_CMDLINE_DTB default
    MIPS: Make the kernel arguments from dtb available
    MIPS: Use USE_OF as the guard for appended dtb
    MIPS: BCM63XX: Use pr_* instead of printk
    MIPS: Loongson: Cleanup CONFIG_LOONGSON_SUSPEND.
    MIPS: lantiq: Disable xbar fpi burst mode
    MIPS: lantiq: Force the crossbar to big endian
    MIPS: lantiq: Initialize the USB core on boot
    MIPS: lantiq: Return correct value for fpi clock on ar9
    MIPS: ralink: Add missing clock on rt305x
    ...

    Linus Torvalds
     

11 Nov, 2015

3 commits

  • This drops another symbol dependency between setup.c and sprom.c which
    will allow us to make SPROM code a separated module (and share it with
    ARM).
    Patch tested on Linksys WRT300N V1.

    Signed-off-by: Rafał Miłecki
    Cc: Hauke Mehrtens
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/11360/
    Signed-off-by: Ralf Baechle

    Rafał Miłecki
     
  • There are still few left:
    1) Most of them about lines over 80 chars (increased readability exception)
    2) Wrong parsing of preprocessor macros

    Signed-off-by: Rafał Miłecki
    Cc: linux-mips@linux-mips.org
    Cc: Hauke Mehrtens
    Patchwork: https://patchwork.linux-mips.org/patch/11356/
    Signed-off-by: Ralf Baechle

    Rafał Miłecki
     
  • To support (extract) SPROM on Broadcom ARM devices we should separate
    SPROM code and make it a separated module. We won't want to export
    bcm47xx_fill_sprom symbol so we should support SoC SPROM in the standard
    fallback function and then modify ssb to use it.

    Signed-off-by: Rafał Miłecki
    Acked-by: Hauke Mehrtens
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/11355/
    Signed-off-by: Ralf Baechle

    Rafał Miłecki
     

29 Oct, 2015

1 commit


04 Sep, 2015

1 commit

  • Pull MIPS updates from Ralf Baechle:
    "This is the main pull request for 4.3 for MIPS. Here's the summary:

    Three fixes that didn't make 4.2-stable:

    - a -Os build might compile the kernel using the MIPS16 instruction
    set but the R2 optimized inline functions in are
    implemented using 32-bit wide instructions which is invalid.

    - a build error in pgtable-bits.h for a particular kernel
    configuration.

    - accessing registers of the CM GCR might have been compiled to use
    64 bit accesses but these registers are onl 32 bit wide.

    And also a few new bits:

    - move the ATH79 GPIO driver to drivers/gpio

    - the definition of IRQCHIP_DECLARE has moved to linux/irqchip.h,
    change ATH79 accordingly.

    - fix definition of pgprot_writecombine

    - add an implementation of dma_map_ops.mmap

    - fix alignment of quiet build output for vmlinuz link

    - BCM47xx: Use kmemdup rather than duplicating its implementation

    - Netlogic: Fix 0x0x prefixes of constants.

    - merge Bjorn Helgaas' series to remove most of the weak keywords
    from function declarations.

    - CP0 and CP1 registers are best considered treated as unsigned
    values to avoid large values from becoming negative values.

    - improve support for the MIPS GIC timer.

    - enable common clock framework for Malta and SEAD3.

    - a number of improvments and fixes to dump_tlb().

    - document the MIPS TLB dump functionality in Magic SysRq.

    - Cavium Octeon CN68XX improvments.

    - NetLogic improvments.

    - irq: Use access helper irq_data_get_affinity_mask.

    - handle MSA unaligned accesses.

    - a number of R6-related math-emu fixes.

    - support for I6400.

    - improvments to MSA support.

    - add uprobes support.

    - move from deprecated __initcall to arch_initcall.

    - remove finish_arch_switch().

    - IRQ cleanups by Thomas Gleixner.

    - migrate to new 'set-state' interface.

    - random small cleanups"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (148 commits)
    MIPS: UAPI: Fix unrecognized opcode WSBH/DSBH/DSHD when using MIPS16.
    MIPS: Fix alignment of quiet build output for vmlinuz link
    MIPS: math-emu: Remove unused handle_dsemul function declaration
    MIPS: math-emu: Add support for the MIPS R6 MAX{, A} FPU instruction
    MIPS: math-emu: Add support for the MIPS R6 MIN{, A} FPU instruction
    MIPS: math-emu: Add support for the MIPS R6 CLASS FPU instruction
    MIPS: math-emu: Add support for the MIPS R6 RINT FPU instruction
    MIPS: math-emu: Add support for the MIPS R6 MSUBF FPU instruction
    MIPS: math-emu: Add support for the MIPS R6 MADDF FPU instruction
    MIPS: math-emu: Add support for the MIPS R6 SELNEZ FPU instruction
    MIPS: math-emu: Add support for the MIPS R6 SELEQZ FPU instruction
    MIPS: math-emu: Add support for the CMP.condn.fmt R6 instruction
    MIPS: inst.h: Add new MIPS R6 FPU opcodes
    MIPS: Octeon: Fix management port MII address on Kontron S1901
    MIPS: BCM47xx: Use kmemdup rather than duplicating its implementation
    STAGING: Octeon: Use common helpers for determining interface and port
    MIPS: Octeon: Support interfaces 4 and 5
    MIPS: Octeon: Set up 1:1 mapping between CN68XX PKO queues and ports
    MIPS: Octeon: Initialize CN68XX PKO
    STAGING: Octeon: Support CN68XX style WQE
    ...

    Linus Torvalds
     

03 Sep, 2015

1 commit

  • The patch was generated using fixed coccinelle semantic patch
    scripts/coccinelle/api/memdup.cocci [1].

    [1]: http://permalink.gmane.org/gmane.linux.kernel/2014320

    Signed-off-by: Andrzej Hajda
    Acked-by: Hauke Mehrtens
    Cc: Hauke Mehrtens
    Cc: Rafał Miłecki
    Cc: Andrzej Hajda
    Cc: Bartlomiej Zolnierkiewicz
    Cc: Marek Szyprowski
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/10898/
    Signed-off-by: Ralf Baechle

    Andrzej Hajda