1. 06 Nov, 2018 9 commits
    • Colin Ian King's avatar
      rsi: fix spelling mistake "Initialzing" -> "Initializing" · 55930d2b
      Colin Ian King authored
      Trivial fix to spelling mistake in rsi_dbg debug message
      Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      55930d2b
    • Hans de Goede's avatar
      brcmfmac: Fix ccode from EFI nvram when necessary · 29ec3394
      Hans de Goede authored
      In some cases the EFI-var stored nvram contains "ccode=ALL" or "ccode=XV"
      to specify "worldwide" compatible settings, but these 2 ccode-s do not work
      properly.
      
      I've tested the different known "worldwide" ccode-s used in various nvram
      sources with the latest firmwares from linux-firmware for various brcmfmac
      models, here is a simplified (*) table with what each setting results in:
      
      ALL: 12-14 disab, U-NII-1, U-NII-2 no-IR/radar, U-NII-3
      XV:  12-14 no-IR, disables all 5G channels
      XY:  12-13 enab, 14 disab, U-NII-1 enab, U-NII-2 no-IR/radar, U-NII-3 disab
      X2:  12-13 no-IR, 14 dis, U-NII-1 no-IR, U-NII-2 no-IR/radar, U-NII-3 no-IR
      
      Where 12,13,14 are 2.4G channels 12-14 and U-NII-1/2/3 are the 3 different
      5G channel groups. no-IR is no-Initiate-Radiation, we will never send on
      these channels without first having received valid wifi traffic there.
      
      This immediately shows that both ALL and XV are not as worldwide as we want
      them to be. ALL causes channels 12 and 13 to not be available and XV causes
      all 5GHz channels to not be available. Also ALL unconditionally enables the
      U-NII-1 and U-NII-3 5G groups, while we really should be using no-IR for
      these.
      
      This commit replace XV and ALL with X2, which allows usage of chan 12-13
      and 5G channels, but only after receiving valid wifi traffic there first.
      
      Note that this configure the firmware's channel limits, the kernels own
      regulatory restrictions based on e.g. regulatory info received from the
      access-point, will be applied on top of this.
      
      This fixes channels 12+13 not working on the Asus T200TA and the Lenovo
      Mixx 2 8 and 5G channels not working on the Asus T100HA.
      
      This has been tested on the following models: Acer Iconia Tab8 w1-810,
      Acer One 10, Asus T100CHI, Asus T100HA, Asus T100TA, Asus T200TA and a
      Lenovo Mixx 2 8.
      
      *) There are some exceptions to this table:
      1) On really old firmware e.g. linux-firmware's 2011 brcmfmac4330-sdio.bin
         ALL really means all, unconditionally enabling everything
      2) The exact meaning might be influenced by setting the regrev nvram var.
         Specifically using ccode=XV + regrev=1 on brcmfmac43241b4 leads to:
         12-14 no-ir, U-NII-1 no-ir, U-NII-2 no-ir/radar, U-NII-3 no-ir
         But only on the brcmfmac43241b4 and not on e.g. the brcmfmac43340
      Tested-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      29ec3394
    • Hans de Goede's avatar
      brcmfmac: Add support for getting nvram contents from EFI variables · ce2e6db5
      Hans de Goede authored
      Various X86 laptops with a SDIO attached brcmfmac wifi chip, store the
      nvram contents in a special EFI variable. This commit adds support for
      getting nvram directly from this EFI variable, without the user needing
      to manually copy it.
      
      This makes Wifi / Bluetooth work out of the box on these devices instead of
      requiring manual setup.
      
      This has been tested on the following models: Acer Iconia Tab8 w1-810,
      Acer One 10, Asus T100CHI, Asus T100HA, Asus T100TA, Asus T200TA and a
      Lenovo Mixx 2 8.
      Tested-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      ce2e6db5
    • Hans de Goede's avatar
      brcmfmac: Cleanup brcmf_fw_request_done() · 55e491ed
      Hans de Goede authored
      The "cur" variable is now only used for a debug print and we already
      print the same info from brcmf_fw_complete_request(), so the debug print
      does not provide any extra info and we can remove it.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      55e491ed
    • Hans de Goede's avatar
      brcmfmac: Set board_type from DMI on x86 based machines · bd1e82bb
      Hans de Goede authored
      For x86 based machines, set the board_type used for nvram file selection
      based on the DMI sys-vendor and product-name strings.
      
      Since on some models these strings are too generic, this commit also adds
      a quirk table overriding the strings for models listed in that table.
      
      The board_type setting is used to load the board-specific nvram file with
      a board-specific name so that we can ship files for each supported board
      in linux-firmware.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      bd1e82bb
    • Hans de Goede's avatar
      brcmfmac: Set board_type used for nvram file selection to machine-compatible · 0ad4b55b
      Hans de Goede authored
      For of/devicetree using machines, set the board_type used for nvram file
      selection to the first string listed in the top-level's node compatible
      string, aka the machine-compatible as used by of_machine_is_compatible().
      
      The board_type setting is used to load the board-specific nvram file with
      a board-specific name so that we can ship files for each supported board
      in linux-firmware.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      0ad4b55b
    • Hans de Goede's avatar
      brcmfmac: Add support for first trying to get a board specific nvram file · eae8e506
      Hans de Goede authored
      The nvram files which some brcmfmac chips need are board-specific. To be
      able to distribute these as part of linux-firmware, so that devices with
      such a wifi chip will work OOTB, multiple (one per board) versions must
      co-exist under /lib/firmware.
      
      This commit adds support for callers of the brcmfmac/firmware.c code to
      pass in a board_type parameter through the request structure.
      
      If that parameter is set then the code will first try to load
      chipmodel.board_type.txt before falling back to the old chipmodel.txt name.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      eae8e506
    • Hans de Goede's avatar
      brcmfmac: Remove recursion from firmware load error handling · 5b587496
      Hans de Goede authored
      Before this commit brcmf_fw_request_done would call
      brcmf_fw_request_next_item to load the next item, which on an error would
      call brcmf_fw_request_done, which if the error is recoverable (*) will
      then continue calling brcmf_fw_request_next_item for the next item again
      which on an error will call brcmf_fw_request_done again...
      
      This does not blow up because we only have a limited number of items so
      we never recurse too deep. But the recursion is still quite ugly and
      frankly is giving me a headache, so lets fix this.
      
      This commit fixes this by removing brcmf_fw_request_next_item and by
      making brcmf_fw_get_firmwares and brcmf_fw_request_done directly call
      firmware_request_nowait resp. firmware_request themselves.
      
      *) brcmf_fw_request_nvram_done fallback path succeeds or
         BRCMF_FW_REQF_OPTIONAL is set
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      5b587496
    • Hans de Goede's avatar
      brcmfmac: Remove firmware-loading code duplication · a1a3b762
      Hans de Goede authored
      brcmf_fw_request_next_item and brcmf_fw_request_done both have identical
      code to complete the fw-request depending on the item-type.
      
      This commit adds a new brcmf_fw_complete_request helper removing this code
      duplication.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      a1a3b762
  2. 04 Nov, 2018 9 commits
    • Linus Torvalds's avatar
      Linux 4.20-rc1 · 65102238
      Linus Torvalds authored
      65102238
    • Linus Torvalds's avatar
      Merge tag 'tags/upstream-4.20-rc1' of git://git.infradead.org/linux-ubifs · 42bd06e9
      Linus Torvalds authored
      Pull UBIFS updates from Richard Weinberger:
      
       - Full filesystem authentication feature, UBIFS is now able to have the
         whole filesystem structure authenticated plus user data encrypted and
         authenticated.
      
       - Minor cleanups
      
      * tag 'tags/upstream-4.20-rc1' of git://git.infradead.org/linux-ubifs: (26 commits)
        ubifs: Remove unneeded semicolon
        Documentation: ubifs: Add authentication whitepaper
        ubifs: Enable authentication support
        ubifs: Do not update inode size in-place in authenticated mode
        ubifs: Add hashes and HMACs to default filesystem
        ubifs: authentication: Authenticate super block node
        ubifs: Create hash for default LPT
        ubfis: authentication: Authenticate master node
        ubifs: authentication: Authenticate LPT
        ubifs: Authenticate replayed journal
        ubifs: Add auth nodes to garbage collector journal head
        ubifs: Add authentication nodes to journal
        ubifs: authentication: Add hashes to index nodes
        ubifs: Add hashes to the tree node cache
        ubifs: Create functions to embed a HMAC in a node
        ubifs: Add helper functions for authentication support
        ubifs: Add separate functions to init/crc a node
        ubifs: Format changes for authentication support
        ubifs: Store read superblock node
        ubifs: Drop write_node
        ...
      42bd06e9
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-4.20-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · 4710e789
      Linus Torvalds authored
      Pull NFS client bugfixes from Trond Myklebust:
       "Highlights include:
      
        Bugfix:
         - Fix build issues on architectures that don't provide 64-bit cmpxchg
      
        Cleanups:
         - Fix a spelling mistake"
      
      * tag 'nfs-for-4.20-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
        NFS: fix spelling mistake, EACCESS -> EACCES
        SUNRPC: Use atomic(64)_t for seq_send(64)
      4710e789
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 35e74524
      Linus Torvalds authored
      Pull more timer updates from Thomas Gleixner:
       "A set of commits for the new C-SKY architecture timers"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        dt-bindings: timer: gx6605s SOC timer
        clocksource/drivers/c-sky: Add gx6605s SOC system timer
        dt-bindings: timer: C-SKY Multi-processor timer
        clocksource/drivers/c-sky: Add C-SKY SMP timer
      35e74524
    • Linus Torvalds's avatar
      Merge tag 'ntb-4.20' of git://github.com/jonmason/ntb · 04578e84
      Linus Torvalds authored
      Pull NTB updates from Jon Mason:
       "Fairly minor changes and bug fixes:
      
        NTB IDT thermal changes and hook into hwmon, ntb_netdev clean-up of
        private struct, and a few bug fixes"
      
      * tag 'ntb-4.20' of git://github.com/jonmason/ntb:
        ntb: idt: Alter the driver info comments
        ntb: idt: Discard temperature sensor IRQ handler
        ntb: idt: Add basic hwmon sysfs interface
        ntb: idt: Alter temperature read method
        ntb_netdev: Simplify remove with client device drvdata
        NTB: transport: Try harder to alloc an aligned MW buffer
        ntb: ntb_transport: Mark expected switch fall-throughs
        ntb: idt: Set PCIe bus address to BARLIMITx
        NTB: ntb_hw_idt: replace IS_ERR_OR_NULL with regular NULL checks
        ntb: intel: fix return value for ndev_vec_mask()
        ntb_netdev: fix sleep time mismatch
      04578e84
    • Linus Torvalds's avatar
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 71e56028
      Linus Torvalds authored
      Pull scheduler fixes from Ingo Molnar:
       "A memory (under-)allocation fix and a comment fix"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/topology: Fix off by one bug
        sched/rt: Update comment in pick_next_task_rt()
      71e56028
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 601a8807
      Linus Torvalds authored
      Pull x86 fixes from Ingo Molnar:
       "A number of fixes and some late updates:
      
         - make in_compat_syscall() behavior on x86-32 similar to other
           platforms, this touches a number of generic files but is not
           intended to impact non-x86 platforms.
      
         - objtool fixes
      
         - PAT preemption fix
      
         - paravirt fixes/cleanups
      
         - cpufeatures updates for new instructions
      
         - earlyprintk quirk
      
         - make microcode version in sysfs world-readable (it is already
           world-readable in procfs)
      
         - minor cleanups and fixes"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        compat: Cleanup in_compat_syscall() callers
        x86/compat: Adjust in_compat_syscall() to generic code under !COMPAT
        objtool: Support GCC 9 cold subfunction naming scheme
        x86/numa_emulation: Fix uniform-split numa emulation
        x86/paravirt: Remove unused _paravirt_ident_32
        x86/mm/pat: Disable preemption around __flush_tlb_all()
        x86/paravirt: Remove GPL from pv_ops export
        x86/traps: Use format string with panic() call
        x86: Clean up 'sizeof x' => 'sizeof(x)'
        x86/cpufeatures: Enumerate MOVDIR64B instruction
        x86/cpufeatures: Enumerate MOVDIRI instruction
        x86/earlyprintk: Add a force option for pciserial device
        objtool: Support per-function rodata sections
        x86/microcode: Make revision and processor flags world-readable
      601a8807
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 01897f3e
      Linus Torvalds authored
      Pull perf updates and fixes from Ingo Molnar:
       "These are almost all tooling updates: 'perf top', 'perf trace' and
        'perf script' fixes and updates, an UAPI header sync with the merge
        window versions, license marker updates, much improved Sparc support
        from David Miller, and a number of fixes"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (66 commits)
        perf intel-pt/bts: Calculate cpumode for synthesized samples
        perf intel-pt: Insert callchain context into synthesized callchains
        perf tools: Don't clone maps from parent when synthesizing forks
        perf top: Start display thread earlier
        tools headers uapi: Update linux/if_link.h header copy
        tools headers uapi: Update linux/netlink.h header copy
        tools headers: Sync the various kvm.h header copies
        tools include uapi: Update linux/mmap.h copy
        perf trace beauty: Use the mmap flags table generated from headers
        perf beauty: Wire up the mmap flags table generator to the Makefile
        perf beauty: Add a generator for MAP_ mmap's flag constants
        tools include uapi: Update asound.h copy
        tools arch uapi: Update asm-generic/unistd.h and arm64 unistd.h copies
        tools include uapi: Update linux/fs.h copy
        perf callchain: Honour the ordering of PERF_CONTEXT_{USER,KERNEL,etc}
        perf cs-etm: Correct CPU mode for samples
        perf unwind: Take pgoff into account when reporting elf to libdwfl
        perf top: Do not use overwrite mode by default
        perf top: Allow disabling the overwrite mode
        perf trace: Beautify mount's first pathname arg
        ...
      01897f3e
    • Linus Torvalds's avatar
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e9ebc215
      Linus Torvalds authored
      Pull irq fixes from Ingo Molnar:
       "An irqchip driver fix and a memory (over-)allocation fix"
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/irq-mvebu-sei: Fix a NULL vs IS_ERR() bug in probe function
        irq/matrix: Fix memory overallocation
      e9ebc215
  3. 03 Nov, 2018 22 commits