1. 04 Mar, 2020 17 commits
    • Tony Lindgren's avatar
      ARM: dts: Configure interconnect target module for dra7 dss · a50371f2
      Tony Lindgren authored
      We can now probe devices with device tree only configuration using
      ti-sysc interconnect target module driver. Let's configure the
      module, but keep the legacy "ti,hwmods" peroperty until the child
      devices are probing with ti-sysc interconnect driver.
      
      Initially let's just update the top level dss node to probe with ti-sysc
      interconnect target module driver. The child nodes are still children
      of dispc, only the node indentation changes for them now along with
      using the reg range provided by top level dss.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      a50371f2
    • Tony Lindgren's avatar
      ARM: dts: Configure interconnect target module for omap5 hdmi · 671ab615
      Tony Lindgren authored
      We can now probe devices with device tree only configuration using
      ti-sysc interconnect target module driver. Let's configure the
      module and drop "ti,hwmods" peroperty as this module is a child node
      of dispc and has no dependencies to to legacy platform data.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      671ab615
    • Tony Lindgren's avatar
      ARM: dts: Configure interconnect target module for omap5 dsi2 · 98e1a6a8
      Tony Lindgren authored
      We can now probe devices with device tree only configuration using
      ti-sysc interconnect target module driver. Let's configure the
      module and drop "ti,hwmods" peroperty as this module is a child node
      of dispc and has no dependencies to to legacy platform data.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      98e1a6a8
    • Tony Lindgren's avatar
      ARM: dts: Configure interconnect target module for omap5 dsi1 · 5a507162
      Tony Lindgren authored
      We can now probe devices with device tree only configuration using
      ti-sysc interconnect target module driver. Let's configure the
      module and drop "ti,hwmods" peroperty as this module is a child node
      of dispc and has no dependencies to to legacy platform data.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      5a507162
    • Tony Lindgren's avatar
      ARM: dts: Configure interconnect target module for omap5 rfbi · b9a4e149
      Tony Lindgren authored
      We can now probe devices with device tree only configuration using
      ti-sysc interconnect target module driver. Let's configure the
      module and drop "ti,hwmods" peroperty as this module is a child node
      of dispc and has no dependencies to to legacy platform data.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      b9a4e149
    • Tony Lindgren's avatar
      ARM: dts: Configure interconnect target module for omap5 dispc · 2472a4e0
      Tony Lindgren authored
      We can now probe devices with device tree only configuration using
      ti-sysc interconnect target module driver. Let's configure the
      module, but keep the legacy "ti,hwmods" peroperty until the child
      devices are probing with ti-sysc interconnect driver.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      2472a4e0
    • Tony Lindgren's avatar
      ARM: dts: Configure interconnect target module for omap5 dss · 715a5a97
      Tony Lindgren authored
      We can now probe devices with device tree only configuration using
      ti-sysc interconnect target module driver. Let's configure the
      module, but keep the legacy "ti,hwmods" peroperty until the child
      devices are probing with ti-sysc interconnect driver.
      
      Initially let's just update the top level dss node to probe with ti-sysc
      interconnect target module driver. The child nodes are still children
      of dispc, only the node indentation changes for them now along with
      using the reg range provided by top level dss.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      715a5a97
    • Tony Lindgren's avatar
      ARM: dts: Configure interconnect target module for omap4 hdmi · 8f661563
      Tony Lindgren authored
      We can now probe devices with device tree only configuration using
      ti-sysc interconnect target module driver. Let's configure the
      module and drop "ti,hwmods" peroperty as this module is a child node
      of dispc and has no dependencies to to legacy platform data.
      
      Note that we must disable smart idle modes for HDMI audio like we've
      done with the legacy platform data. And HDMI needs both hdmi clock
      and dss clock to operate.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Sebastian Reichel <sre@kernel.org>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      8f661563
    • Tony Lindgren's avatar
      ARM: dts: Configure interconnect target module for omap4 dsi2 · dc7578e9
      Tony Lindgren authored
      We can now probe devices with device tree only configuration using
      ti-sysc interconnect target module driver. Let's configure the
      module and drop "ti,hwmods" peroperty as this module is a child node
      of dispc and has no dependencies to to legacy platform data.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Sebastian Reichel <sre@kernel.org>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      dc7578e9
    • Tony Lindgren's avatar
      ARM: dts: Configure interconnect target module for omap4 dsi1 · 0b98d518
      Tony Lindgren authored
      We can now probe devices with device tree only configuration using
      ti-sysc interconnect target module driver. Let's configure the
      module and drop "ti,hwmods" peroperty as this module is a child node
      of dispc and has no dependencies to to legacy platform data.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Sebastian Reichel <sre@kernel.org>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      0b98d518
    • Tony Lindgren's avatar
      ARM: dts: Configure interconnect target module for omap4 venc · 663de788
      Tony Lindgren authored
      We can now probe devices with device tree only configuration using
      ti-sysc interconnect target module driver. Let's configure the
      module and drop "ti,hwmods" peroperty as this module is a child node
      of dispc and has no dependencies to to legacy platform data.
      
      We must now also configure sys_clk for reset to complete, the top
      level module only keeps optional clocks enabled for it's own reset.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Sebastian Reichel <sre@kernel.org>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      663de788
    • Tony Lindgren's avatar
      ARM: dts: Configure interconnect target module for omap4 rfbi · 3a97c4b9
      Tony Lindgren authored
      We can now probe devices with device tree only configuration using
      ti-sysc interconnect target module driver. Let's configure the
      module and drop "ti,hwmods" peroperty as this module is a child node
      of dispc and has no dependencies to to legacy platform data.
      
      We must now also configure sys_clk for reset to complete, the top
      level module only keeps optional clocks enabled for it's own reset.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Sebastian Reichel <sre@kernel.org>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      3a97c4b9
    • Tony Lindgren's avatar
      ARM: dts: Configure interconnect target module for omap4 dispc · 4c8d1c8d
      Tony Lindgren authored
      We can now probe devices with device tree only configuration using
      ti-sysc interconnect target module driver. Let's configure the
      module, but keep the legacy "ti,hwmods" peroperty until the child
      devices are probing with ti-sysc interconnect driver.
      
      We must now also configure sys_clk for reset to complete, the top
      level module only keeps optional clocks enabled for it's own reset.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Sebastian Reichel <sre@kernel.org>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      4c8d1c8d
    • Tony Lindgren's avatar
      ARM: dts: Configure interconnect target module for omap4 dss · 63b34416
      Tony Lindgren authored
      We can now probe devices with device tree only configuration using
      ti-sysc interconnect target module driver. Let's configure the
      module, but keep the legacy "ti,hwmods" peroperty until the child
      devices are probing with ti-sysc interconnect driver.
      
      The display subsystem (DSS) is in a 16MB interconnect target module
      mapped to l4 and l3 buses. We are only using the l3 port as recommended
      by the TRM. So there is no need to configure l4 ranges like we've done
      for l4 ABE instance for example.
      
      Initially let's just update the top level dss node to probe with ti-sysc
      interconnect target module driver. The child nodes are still children
      of dispc, only the node indentation changes for them now along with
      using the reg range provided by top level dss.
      
      Let's also add add a note about using only the l3 access without l4
      as noted in the TRM.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Sebastian Reichel <sre@kernel.org>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      63b34416
    • Suman Anna's avatar
      bus: ti-sysc: Add support for PRUSS SYSC type · b2745d92
      Suman Anna authored
      The PRU-ICSS present on AM33xx/AM43xx/AM57xx has a very unique
      SYSCFG register. The register follows the OMAP4-style SYSC_TYPE3
      for Master Standby and Slave Idle, but also has two additional
      unique fields - STANDBY_INIT and SUB_MWAIT. The STANDBY_INIT is
      a control bit that is used to initiate a Standby sequence (when
      set) and trigger a MStandby request to the SoC's PRCM module. This
      same bit is also used to enable the OCP master ports (when cleared)
      to allow the PRU cores to access any peripherals or memory beyond
      the PRU subsystem. The SUB_MWAIT is a ready status field for the
      external access.
      
      Add support for this SYSC type. The STANDBY_INIT has to be set
      during suspend, without which it results in a hang in the resume
      sequence on AM33xx/AM43xx boards and requires a board reset to
      come out of the hang. Any PRU applications requiring external
      access are supposed to clear the STANDBY_INIT bit. Note that
      the PRUSS context is lost during a suspend sequence because the
      PRUSS module is reset and/or disabled.
      Signed-off-by: default avatarSuman Anna <s-anna@ti.com>
      Signed-off-by: default avatarRoger Quadros <rogerq@ti.com>
      [tony@atomide.com: updated quirk define number and to use -ENODEV]
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      b2745d92
    • Roger Quadros's avatar
      dt-bindings: bus: ti-sysc: Add support for PRUSS SYSC type · 4d0dd380
      Roger Quadros authored
      The PRUSS module has a SYSCFG which is unique. The SYSCFG
      has two additional unique fields called STANDBY_INIT and
      SUB_MWAIT in addition to regular IDLE_MODE and STANDBY_MODE
      fields. Add the bindings for this new sysc type.
      
      Cc: Rob Herring <robh+dt@kernel.org>
      Signed-off-by: default avatarRoger Quadros <rogerq@ti.com>
      Signed-off-by: default avatarSuman Anna <s-anna@ti.com>
      Acked-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      4d0dd380
    • Tony Lindgren's avatar
      bus: ti-sysc: Detect EDMA and set quirk flags for tptc · 25bfaaa7
      Tony Lindgren authored
      In order to probe EDMA with ti-sysc interconnect target module and with
      device tree data, we need to properly detect EDMA and set the flags for
      SYSC_QUIRK_SWSUP_SIDLE | SYSC_QUIRK_SWSUP_MSTANDBY for tptc.
      
      We have these flags currently set for am4 and dra7, but not for am335x.
      Let's set them for all the SoCs as the tptc module should behave the
      same for all of them. It's likely that am335x was never tested to idle
      EDMA tptc.
      
      Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      25bfaaa7
  2. 03 Mar, 2020 2 commits
  3. 26 Feb, 2020 10 commits
    • Tony Lindgren's avatar
      bus: ti-sysc: Implement display subsystem reset quirk · 7324a7a0
      Tony Lindgren authored
      The display subsystem (DSS) needs the child outputs disabled for reset.
      In order to prepare to probe DSS without legacy platform data, let's
      implement sysc_pre_reset_quirk_dss() similar to what we have for the
      platform data with omap_dss_reset().
      
      Note that we cannot directly use the old omap_dss_reset() without
      platform data callbacks and updating omap_dss_reset() to understand
      struct device. And we will be dropping omap_dss_reset() anyways when
      all the SoCs are probing with device tree, so let's not mess with the
      legacy code at all.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      7324a7a0
    • Tony Lindgren's avatar
      bus: ti-sysc: Detect display subsystem related devices · 77dfece2
      Tony Lindgren authored
      In order to prepare probing display subsystem (DSS) with ti-sysc
      interconnect target module driver and device tree data, let's
      detect DSS related modules.
      
      We need to also add reset quirk handling for DSS, but until that's
      done, let's just enable the optional clock quirks for DSS and
      omap4 HDMI. The rest is just naming of modules if CONFIG_DEBUG
      is set.
      
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      77dfece2
    • Tony Lindgren's avatar
      bus: ti-sysc: Handle module unlock quirk needed for some RTC · e8639e1c
      Tony Lindgren authored
      The RTC modules on am3 and am4 need quirk handling to unlock and lock
      them for reset so let's add the quirk handling based on what we already
      have for legacy platform data. In later patches we will simply drop the
      RTC related platform data and the old quirk handling.
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      e8639e1c
    • Tony Lindgren's avatar
      bus: ti-sysc: Implement SoC revision handling · feaa8bae
      Tony Lindgren authored
      We need to know SoC type and features for cases where the same SoC
      may be installed in various versions on the same board and would need
      a separate dts file otherwise for the different variants.
      
      For example, am3703 is pin compatible with omap3630, but has sgx and
      iva accelerators disabled. We must not try to access the sgx or iva
      module registers on am3703, and need to set the unavailable devices
      disabled early.
      
      Let's also detect omap3430 as that is needed for display subsystem
      (DSS) reset later on, and GP vs EMU or HS devices. Further SoC
      specific disabled device detection can be added as needed, such as
      dra71x vs dra76x rtc and usb4.
      
      Cc: Adam Ford <aford173@gmail.com>
      Cc: André Hentschel <nerv@dawncrow.de>
      Cc: H. Nikolaus Schaller <hns@goldelico.com>
      Cc: Keerthy <j-keerthy@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      feaa8bae
    • Tony Lindgren's avatar
      bus: ti-sysc: Don't warn about legacy property for nested ti-sysc devices · 7320fd32
      Tony Lindgren authored
      In some cases we can have nested ti-sysc instances that may still use the
      legacy "ti,hwmods" property. Let's not warn if that's the case.
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      7320fd32
    • Tony Lindgren's avatar
      bus: ti-sysc: Consider non-existing registers too when matching quirks · 590e15c7
      Tony Lindgren authored
      We are currently setting -1 for non-existing sysconfig related registers
      for quirks, but setting -ENODEV elsewhere. And for matching the quirks,
      we're now just ignoring the non-existing registers. This will cause issues
      with misdetecting DSS registers as the hardware revision numbers can have
      duplicates.
      
      To avoid this, let's standardize on using -ENODEV also for the quirks
      instead of -1. That way we can always just test for a match without adding
      any more complicated logic.
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      590e15c7
    • Tony Lindgren's avatar
      bus: ti-sysc: Improve reset to work with modules with no sysconfig · ab4d309d
      Tony Lindgren authored
      At least display susbsystem (DSS) has modules with no sysconfig registers
      and rely on custom function for module reset handling. Let's make reset
      work with that too.
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      ab4d309d
    • Tony Lindgren's avatar
      bus: ti-sysc: Rename clk related quirks to pre_reset and post_reset quirks · e64c021f
      Tony Lindgren authored
      The clk_disable_quirk and clk_enable_quirk should really be called
      pre_reset_quirk and post_reset_quirk to avoid confusion like we had
      with hdq1w reset.
      
      Let's also rename the related functions so the code is easier to follow.
      Note that we also have reset_done_quirk that is needed in some cases
      after checking the separate register for reset done bit.
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      e64c021f
    • Tony Lindgren's avatar
      bus: ti-sysc: Fix 1-wire reset quirk · aec551c7
      Tony Lindgren authored
      Because of the i2c quirk we have the reset quirks named in a confusing
      way. Let's fix the 1-wire quirk accordinlyg. Then let's switch to using
      better naming later on.
      
      Fixes: 4e23be47 ("bus: ti-sysc: Add support for module specific reset quirks")
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      aec551c7
    • Tony Lindgren's avatar
      drm/omap: Prepare DSS for probing without legacy platform data · cef76630
      Tony Lindgren authored
      In order to probe display subsystem (DSS) components with ti-sysc
      interconnect target module without legacy platform data and using
      devicetree, we need to update dss probing a bit.
      
      In the device tree, we will be defining the data also for the interconnect
      target modules as DSS really is a private interconnect. There is some
      information about that in 4460 TRM in "Figure 10-3. DSS Integration" for
      example where it mentions "32-bit interconnect (SLX)".
      
      The changes we need to make are:
      
      1. Parse also device tree subnodes for the compatible property fixup
      
      2. Update the component code to consider device tree subnodes
      
      Cc: dri-devel@lists.freedesktop.org
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Reviewed-by: default avatarSebastian Reichel <sebastian.reichel@collabora.com>
      Reviewed-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      cef76630
  4. 10 Feb, 2020 2 commits
    • Linus Torvalds's avatar
      Linux 5.6-rc1 · bb6d3fb3
      Linus Torvalds authored
      bb6d3fb3
    • Linus Torvalds's avatar
      Merge tag 'kbuild-v5.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · 89a47dd1
      Linus Torvalds authored
      Pull more Kbuild updates from Masahiro Yamada:
      
       - fix randconfig to generate a sane .config
      
       - rename hostprogs-y / always to hostprogs / always-y, which are more
         natual syntax.
      
       - optimize scripts/kallsyms
      
       - fix yes2modconfig and mod2yesconfig
      
       - make multiple directory targets ('make foo/ bar/') work
      
      * tag 'kbuild-v5.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        kbuild: make multiple directory targets work
        kconfig: Invalidate all symbols after changing to y or m.
        kallsyms: fix type of kallsyms_token_table[]
        scripts/kallsyms: change table to store (strcut sym_entry *)
        scripts/kallsyms: rename local variables in read_symbol()
        kbuild: rename hostprogs-y/always to hostprogs/always-y
        kbuild: fix the document to use extra-y for vmlinux.lds
        kconfig: fix broken dependency in randconfig-generated .config
      89a47dd1
  5. 09 Feb, 2020 9 commits
    • Linus Torvalds's avatar
      Merge tag 'zonefs-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/zonefs · 380a129e
      Linus Torvalds authored
      Pull new zonefs file system from Damien Le Moal:
       "Zonefs is a very simple file system exposing each zone of a zoned
        block device as a file.
      
        Unlike a regular file system with native zoned block device support
        (e.g. f2fs or the on-going btrfs effort), zonefs does not hide the
        sequential write constraint of zoned block devices to the user. As a
        result, zonefs is not a POSIX compliant file system. Its goal is to
        simplify the implementation of zoned block devices support in
        applications by replacing raw block device file accesses with a richer
        file based API, avoiding relying on direct block device file ioctls
        which may be more obscure to developers.
      
        One example of this approach is the implementation of LSM
        (log-structured merge) tree structures (such as used in RocksDB and
        LevelDB) on zoned block devices by allowing SSTables to be stored in a
        zone file similarly to a regular file system rather than as a range of
        sectors of a zoned device. The introduction of the higher level
        construct "one file is one zone" can help reducing the amount of
        changes needed in the application while at the same time allowing the
        use of zoned block devices with various programming languages other
        than C.
      
        Zonefs IO management implementation uses the new iomap generic code.
        Zonefs has been successfully tested using a functional test suite
        (available with zonefs userland format tool on github) and a prototype
        implementation of LevelDB on top of zonefs"
      
      * tag 'zonefs-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/zonefs:
        zonefs: Add documentation
        fs: New zonefs file system
      380a129e
    • Marc Zyngier's avatar
      irqchip/gic-v4.1: Avoid 64bit division for the sake of 32bit ARM · 490d332e
      Marc Zyngier authored
      In order to allow the GICv4 code to link properly on 32bit ARM,
      make sure we don't use 64bit divisions when it isn't strictly
      necessary.
      
      Fixes: 4e6437f1 ("irqchip/gic-v4.1: Ensure L2 vPE table is allocated at RD level")
      Reported-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Cc: Zenghui Yu <yuzenghui@huawei.com>
      Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      490d332e
    • Linus Torvalds's avatar
      Merge tag '5.6-rc-smb3-plugfest-patches' of git://git.samba.org/sfrench/cifs-2.6 · d1ea35f4
      Linus Torvalds authored
      Pull cifs fixes from Steve French:
       "13 cifs/smb3 patches, most from testing at the SMB3 plugfest this week:
      
         - Important fix for multichannel and for modefromsid mounts.
      
         - Two reconnect fixes
      
         - Addition of SMB3 change notify support
      
         - Backup tools fix
      
         - A few additional minor debug improvements (tracepoints and
           additional logging found useful during testing this week)"
      
      * tag '5.6-rc-smb3-plugfest-patches' of git://git.samba.org/sfrench/cifs-2.6:
        smb3: Add defines for new information level, FileIdInformation
        smb3: print warning once if posix context returned on open
        smb3: add one more dynamic tracepoint missing from strict fsync path
        cifs: fix mode bits from dir listing when mounted with modefromsid
        cifs: fix channel signing
        cifs: add SMB3 change notification support
        cifs: make multichannel warning more visible
        cifs: fix soft mounts hanging in the reconnect code
        cifs: Add tracepoints for errors on flush or fsync
        cifs: log warning message (once) if out of disk space
        cifs: fail i/o on soft mounts if sessionsetup errors out
        smb3: fix problem with null cifs super block with previous patch
        SMB3: Backup intent flag missing from some more ops
      d1ea35f4
    • Linus Torvalds's avatar
      Merge branch 'work.vboxsf' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 5586c3c1
      Linus Torvalds authored
      Pull vboxfs from Al Viro:
       "This is the VirtualBox guest shared folder support by Hans de Goede,
        with fixups for fs_parse folded in to avoid bisection hazards from
        those API changes..."
      
      * 'work.vboxsf' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        fs: Add VirtualBox guest shared folder (vboxsf) support
      5586c3c1
    • Linus Torvalds's avatar
      Merge tag 'x86-urgent-2020-02-09' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1a2a76c2
      Linus Torvalds authored
      Pull x86 fixes from Thomas Gleixner:
       "A set of fixes for X86:
      
         - Ensure that the PIT is set up when the local APIC is disable or
           configured in legacy mode. This is caused by an ordering issue
           introduced in the recent changes which skip PIT initialization when
           the TSC and APIC frequencies are already known.
      
         - Handle malformed SRAT tables during early ACPI parsing which caused
           an infinite loop anda boot hang.
      
         - Fix a long standing race in the affinity setting code which affects
           PCI devices with non-maskable MSI interrupts. The problem is caused
           by the non-atomic writes of the MSI address (destination APIC id)
           and data (vector) fields which the device uses to construct the MSI
           message. The non-atomic writes are mandated by PCI.
      
           If both fields change and the device raises an interrupt after
           writing address and before writing data, then the MSI block
           constructs a inconsistent message which causes interrupts to be
           lost and subsequent malfunction of the device.
      
           The fix is to redirect the interrupt to the new vector on the
           current CPU first and then switch it over to the new target CPU.
           This allows to observe an eventually raised interrupt in the
           transitional stage (old CPU, new vector) to be observed in the APIC
           IRR and retriggered on the new target CPU and the new vector.
      
           The potential spurious interrupts caused by this are harmless and
           can in the worst case expose a buggy driver (all handlers have to
           be able to deal with spurious interrupts as they can and do happen
           for various reasons).
      
         - Add the missing suspend/resume mechanism for the HYPERV hypercall
           page which prevents resume hibernation on HYPERV guests. This
           change got lost before the merge window.
      
         - Mask the IOAPIC before disabling the local APIC to prevent
           potentially stale IOAPIC remote IRR bits which cause stale
           interrupt lines after resume"
      
      * tag 'x86-urgent-2020-02-09' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/apic: Mask IOAPIC entries when disabling the local APIC
        x86/hyperv: Suspend/resume the hypercall page for hibernation
        x86/apic/msi: Plug non-maskable MSI affinity race
        x86/boot: Handle malformed SRAT tables during early ACPI parsing
        x86/timer: Don't skip PIT setup when APIC is disabled or in legacy mode
      1a2a76c2
    • Linus Torvalds's avatar
      Merge tag 'smp-urgent-2020-02-09' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f4137760
      Linus Torvalds authored
      Pull SMP fixes from Thomas Gleixner:
       "Two fixes for the SMP related functionality:
      
         - Make the UP version of smp_call_function_single() match SMP
           semantics when called for a not available CPU. Instead of emitting
           a warning and assuming that the function call target is CPU0,
           return a proper error code like the SMP version does.
      
         - Remove a superfluous check in smp_call_function_many_cond()"
      
      * tag 'smp-urgent-2020-02-09' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        smp/up: Make smp_call_function_single() match SMP semantics
        smp: Remove superfluous cond_func check in smp_call_function_many_cond()
      f4137760
    • Linus Torvalds's avatar
      Merge tag 'perf-urgent-2020-02-09' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ca21b9b3
      Linus Torvalds authored
      Pull perf fixes from Thomas Gleixner:
       "A set of fixes and improvements for the perf subsystem:
      
        Kernel fixes:
      
         - Install cgroup events to the correct CPU context to prevent a
           potential list double add
      
         - Prevent an integer underflow in the perf mlock accounting
      
         - Add a missing prototype for arch_perf_update_userpage()
      
        Tooling:
      
         - Add a missing unlock in the error path of maps__insert() in perf
           maps.
      
         - Fix the build with the latest libbfd
      
         - Fix the perf parser so it does not delete parse event terms, which
           caused a regression for using perf with the ARM CoreSight as the
           sink configuration was missing due to the deletion.
      
         - Fix the double free in the perf CPU map merging test case
      
         - Add the missing ustring support for the perf probe command"
      
      * tag 'perf-urgent-2020-02-09' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf maps: Add missing unlock to maps__insert() error case
        perf probe: Add ustring support for perf probe command
        perf: Make perf able to build with latest libbfd
        perf test: Fix test case Merge cpu map
        perf parse: Copy string to perf_evsel_config_term
        perf parse: Refactor 'struct perf_evsel_config_term'
        kernel/events: Add a missing prototype for arch_perf_update_userpage()
        perf/cgroups: Install cgroup events to correct cpuctx
        perf/core: Fix mlock accounting in perf_mmap()
      ca21b9b3
    • Linus Torvalds's avatar
      Merge tag 'timers-urgent-2020-02-09' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2fbc23c7
      Linus Torvalds authored
      Pull timer fixes from Thomas Gleixner:
       "Two small fixes for the time(r) subsystem:
      
         - Handle a subtle race between the clocksource watchdog and a
           concurrent clocksource watchdog stop/start sequence correctly to
           prevent a timer double add bug.
      
         - Fix the file path for the core time namespace file"
      
      * tag 'timers-urgent-2020-02-09' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        clocksource: Prevent double add_timer_on() for watchdog_timer
        MAINTAINERS: Correct path to time namespace source file
      2fbc23c7
    • Linus Torvalds's avatar
      Merge tag 'irq-urgent-2020-02-09' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f06bed87
      Linus Torvalds authored
      Pull interrupt fixes from Thomas Gleixner:
       "A set of fixes for the interrupt subsystem:
      
         - Provision only ACPI enabled redistributors on GICv3
      
         - Use the proper command colums when building the INVALL command for
           the GICv3-ITS
      
         - Ensure the allocation of the L2 vPE table for GICv4.1
      
         - Correct the GICv4.1 VPROBASER programming so it uses the proper
           size
      
         - A set of small GICv4.1 tidy up patches
      
         - Configuration cleanup for C-SKY interrupt chip
      
         - Clarify the function documentation for irq_set_wake() to document
           that the wakeup functionality is orthogonal to the irq
           disable/enable mechanism"
      
      * tag 'irq-urgent-2020-02-09' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/gic-v3-its: Rename VPENDBASER/VPROPBASER accessors
        irqchip/gic-v3-its: Remove superfluous WARN_ON
        irqchip/gic-v4.1: Drop 'tmp' in inherit_vpe_l1_table_from_rd()
        irqchip/gic-v4.1: Ensure L2 vPE table is allocated at RD level
        irqchip/gic-v4.1: Set vpe_l1_base for all redistributors
        irqchip/gic-v4.1: Fix programming of GICR_VPROPBASER_4_1_SIZE
        genirq: Clarify that irq wake state is orthogonal to enable/disable
        irqchip/gic-v3-its: Reference to its_invall_cmd descriptor when building INVALL
        irqchip: Some Kconfig cleanup for C-SKY
        irqchip/gic-v3: Only provision redistributors that are enabled in ACPI
      f06bed87