Skip to content
  1. Oct 31, 2020
    • Linus Torvalds's avatar
      Merge tag 'arm-soc-fixes-v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 65b55d4c
      Linus Torvalds authored
      Pull ARM SoC fixes from Arnd Bergmann:
       "This is a fairly large set of bug fixes on top of -rc1, as most of
        them were ready but didn't quite make it into the last-minute pull
        requests for the merge window.
      
        Allwinner:
         - fix for incorrect CPU overtemperature limit
      
        Amlogic:
         - multiple smaller DT bugfixes, and missing device nodes
      
        Marvell EBU:
         - add missing aliases for ethernet switch ports on espressobin board
      
        Marvell MMP:
         - DTC warning fix
         - bugfix for camera interface power-down
      
        NXP i.MX:
         - re-enable the GPIO driver on all defconfigs
      
        ST STM32MP1:
         - fix random crashes from incorrect voltage settings
      
        Synaptics Berlin:
         - enable the correct hardware timer driver
      
        Texas Instruments K2G:
         - fix a boot regression in the power domain code
      
        TEE drivers:
         - fix regression in TEE "login" method
      
        SCMI drivers:
         - multiple code fixes for corner cases in newly added code
      
        MAINTAINERS file:
         - move Kukjin Kim and Sangbeom Kim to credits (used to work on
           Samsung Exynos)
         - Masahiro Yamada is stepping down as Uniphier maintainer
      
        I did not include a series of patches that work around a regression
        caused by a bugfix in an ethernet phy driver that resulted in an
        inadvertent DT binding change. This is still under discussion"
      
      * tag 'arm-soc-fixes-v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (31 commits)
        soc: ti: ti_sci_pm_domains: check for proper args count in xlate
        ARM: dts: stm32: Describe Vin power supply on stm32mp157c-edx board
        ARM: dts: stm32: Describe Vin power supply on stm32mp15xx-dkx board
        ARM: multi_v5_defconfig: Select CONFIG_GPIO_MXC
        ARM: imx_v4_v5_defconfig: Select CONFIG_GPIO_MXC
        ARM: dts: mmp2-olpc-xo-1-75: Use plural form of "-gpios"
        ARM: dts: mmp3: Add power domain for the camera
        arm64: berlin: Select DW_APB_TIMER_OF
        dt-bindings: sram: sunxi-sram: add V3s compatible string
        MAINTAINERS: Move Sangbeom Kim to credits
        MAINTAINERS: Move Kukjin Kim to credits
        MAINTAINERS: step down as maintainer of UniPhier SoCs and Denali driver
        ARM: multi_v7_defconfig: Build in CONFIG_GPIO_MXC by default
        ARM: imx_v6_v7_defconfig: Build in CONFIG_GPIO_MXC by default
        arm64: defconfig: Build in CONFIG_GPIO_MXC by default
        arm64: dts: meson: odroid-n2 plus: fix vddcpu_a pwm
        ARM: dts: meson8: remove two invalid interrupt lines from the GPU node
        arm64: dts: amlogic: add missing ethernet reset ID
        firmware: arm_scmi: Fix duplicate workqueue name
        firmware: arm_scmi: Fix locking in notifications
        ...
      65b55d4c
    • Linus Torvalds's avatar
      Merge tag 'pnp-5.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · d2c4d6e8
      Linus Torvalds authored
      Pull PNP fix from Rafael Wysocki:
       "Make function names in kerneldoc comments match the actual names of
        the functions that they correspond to (Mauro Carvalho Chehab)"
      
      * tag 'pnp-5.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        PNP: fix kernel-doc markups
      d2c4d6e8
    • Linus Torvalds's avatar
      Merge tag 'devprop-5.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · a5a16050
      Linus Torvalds authored
      Pull device properties framework fixes from Rafael Wysocki:
       "Fix the secondary firmware node handling while manipulating the
        primary firmware node for a given device (Andy Shevchenko)"
      
      * tag 'devprop-5.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        device property: Don't clear secondary pointer for shared primary firmware node
        device property: Keep secondary firmware node secondary by type
      a5a16050
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · ee176906
      Linus Torvalds authored
      Pull ACPI fixes from Rafael Wysocki:
       "These fix three assorted minor issues.
      
        Specifics:
      
         - Eliminate compiler warning emitted when building the ACPI dock
           driver (Arnd Bergmann).
      
         - Drop lid_init_state quirk for Acer SW5-012 that is not needed any
           more after recent changes (Hans de Goede).
      
         - Fix "missing minus" typo in the NFIT parsing code (Zhang Qilong)"
      
      * tag 'acpi-5.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: button: Drop no longer necessary Acer SW5-012 lid_init_state quirk
        ACPI: NFIT: Fix comparison to '-ENXIO'
        ACPI: dock: fix enum-conversion warning
      ee176906
    • Linus Torvalds's avatar
      Merge tag 'pm-5.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 8843f405
      Linus Torvalds authored
      Pull power management fixes from Rafael Wysocki:
       "These fix a few issues related to running intel_pstate in the passive
        mode with HWP enabled, correct the handling of the max_cstate module
        parameter in intel_idle and make a few janitorial changes.
      
        Specifics:
      
         - Modify Kconfig to prevent configuring either the "conservative" or
           the "ondemand" governor as the default cpufreq governor if
           intel_pstate is selected, in which case "schedutil" is the default
           choice for the default governor setting (Rafael Wysocki).
      
         - Modify the cpufreq core, intel_pstate and the schedutil governor to
           avoid missing updates of the HWP max limit when intel_pstate
           operates in the passive mode with HWP enabled (Rafael Wysocki).
      
         - Fix max_cstate module parameter handling in intel_idle for
           processor models with C-state tables coming from ACPI (Chen Yu).
      
         - Clean up assorted pieces of power management code (Jackie Zamow,
           Tom Rix, Zhang Qilong)"
      
      * tag 'pm-5.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        cpufreq: schedutil: Always call driver if CPUFREQ_NEED_UPDATE_LIMITS is set
        cpufreq: Introduce cpufreq_driver_test_flags()
        cpufreq: speedstep: remove unneeded semicolon
        PM: sleep: fix typo in kernel/power/process.c
        intel_idle: Fix max_cstate for processor models without C-state tables
        cpufreq: intel_pstate: Avoid missing HWP max updates in passive mode
        cpufreq: Introduce CPUFREQ_NEED_UPDATE_LIMITS driver flag
        cpufreq: Avoid configuring old governors as default with intel_pstate
        cpufreq: e_powersaver: remove unreachable break
      8843f405
    • Linus Torvalds's avatar
      Merge tag 'mmc-v5.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · 88098fd6
      Linus Torvalds authored
      Pull MMC host fixes from Ulf Hansson:
      
       - sdhci: Fix performance regression with auto CMD auto select
      
       - sdhci-of-esdhc: Fix initialization for eMMC HS400 mode
      
       - sdhci-of-esdhc: Fix timeout bug for tuning commands
      
      * tag 'mmc-v5.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
        mmc: sdhci-of-esdhc: make sure delay chain locked for HS400
        mmc: sdhci-of-esdhc: set timeout to max before tuning
        mmc: sdhci: Use Auto CMD Auto Select only when v4_mode is true
      88098fd6
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2020-10-30-1' of git://anongit.freedesktop.org/drm/drm · 7ba4d867
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "A busier rc2 than normal, have larger sets of fixes for amdgpu +
        nouveau, along with some i915, docs, core, panel, sun4i, v3d, vc4
        fixes.
      
        Nothing spooky though or pumpkin related.
      
        docs:
         - kernel doc fixes
      
        core:
         - fix shmem helpers dma-buf mmap bug
      
        amdgpu:
         - Add new navi1x PCI ID
         - GPUVM reserved area fixes
         - Misc display fixes
         - Fix bad interactions between display code and CONFIG_KGDB
         - Fixes for SMU manual fan control and i2c
      
        nouveau:
         - endian regression fix for old gpus
         - buffer object refcount fix
         - uapi start/end alignment fix
         - display notifier fix
         - display clock checking fixes
      
        i915:
         - Fix max memory region size calculation
         - Restore ILK-M RPS support, restoring performance
         - Reject 90/270 degreerotated initial fbs
      
        panel:
         - mantix reset fixes
      
        sun4i:
         - scalar fix
      
        vc4:
         - hdmi audio fixes
      
        v3d:
         - fix double free"
      
      * tag 'drm-fixes-2020-10-30-1' of git://anongit.freedesktop.org/drm/drm: (42 commits)
        drm/nouveau/kms/nv50-: Fix clock checking algorithm in nv50_dp_mode_valid()
        drm/nouveau/kms/nv50-: Get rid of bogus nouveau_conn_mode_valid()
        drm/nouveau/device: fix changing endianess code to work on older GPUs
        drm/nouveau/gem: fix "refcount_t: underflow; use-after-free"
        drm/nouveau/kms/nv50-: Program notifier offset before requesting disp caps
        drm/nouveau/nouveau: fix the start/end range for migration
        drm/i915: Reject 90/270 degree rotated initial fbs
        drm/i915: Restore ILK-M RPS support
        drm/i915/region: fix max size calculation
        drm/vc4: Rework the structure conversion functions
        drm/vc4: hdmi: Add a name to the codec DAI component
        drm/shme-helpers: Fix dma_buf_mmap forwarding bug
        drm/vc4: hdmi: Avoid sleeping in atomic context
        drm/amdgpu/pm: fix the fan speed in fan1_input in manual mode for navi1x
        drm/amd/pm: fix the wrong fan speed in fan1_input
        drm/amdgpu/swsmu: drop smu i2c bus on navi1x
        drm/vc4: drv: Add error handding for bind
        drm: drm_print.h: fix kernel-doc markups
        drm: kernel-doc: drm_dp_helper.h: fix a typo
        drm: kernel-doc: add description for a new function parameter
        ...
      7ba4d867
  2. Oct 30, 2020
  3. Oct 29, 2020
    • David Howells's avatar
      afs: Fix dirty-region encoding on ppc32 with 64K pages · 2d9900f2
      David Howells authored
      
      
      The dirty region bounds stored in page->private on an afs page are 15 bits
      on a 32-bit box and can, at most, represent a range of up to 32K within a
      32K page with a resolution of 1 byte.  This is a problem for powerpc32 with
      64K pages enabled.
      
      Further, transparent huge pages may get up to 2M, which will be a problem
      for the afs filesystem on all 32-bit arches in the future.
      
      Fix this by decreasing the resolution.  For the moment, a 64K page will
      have a resolution determined from PAGE_SIZE.  In the future, the page will
      need to be passed in to the helper functions so that the page size can be
      assessed and the resolution determined dynamically.
      
      Note that this might not be the ideal way to handle this, since it may
      allow some leakage of undirtied zero bytes to the server's copy in the case
      of a 3rd-party conflict.  Fixing that would require a separately allocated
      record and is a more complicated fix.
      
      Fixes: 4343d008 ("afs: Get rid of the afs_writeback record")
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Reviewed-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
      2d9900f2
    • David Howells's avatar
      afs: Fix afs_invalidatepage to adjust the dirty region · f86726a6
      David Howells authored
      
      
      Fix afs_invalidatepage() to adjust the dirty region recorded in
      page->private when truncating a page.  If the dirty region is entirely
      removed, then the private data is cleared and the page dirty state is
      cleared.
      
      Without this, if the page is truncated and then expanded again by truncate,
      zeros from the expanded, but no-longer dirty region may get written back to
      the server if the page gets laundered due to a conflicting 3rd-party write.
      
      It mustn't, however, shorten the dirty region of the page if that page is
      still mmapped and has been marked dirty by afs_page_mkwrite(), so a flag is
      stored in page->private to record this.
      
      Fixes: 4343d008 ("afs: Get rid of the afs_writeback record")
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      f86726a6
    • David Howells's avatar
      afs: Alter dirty range encoding in page->private · 65dd2d60
      David Howells authored
      
      
      Currently, page->private on an afs page is used to store the range of
      dirtied data within the page, where the range includes the lower bound, but
      excludes the upper bound (e.g. 0-1 is a range covering a single byte).
      
      This, however, requires a superfluous bit for the last-byte bound so that
      on a 4KiB page, it can say 0-4096 to indicate the whole page, the idea
      being that having both numbers the same would indicate an empty range.
      This is unnecessary as the PG_private bit is clear if it's an empty range
      (as is PG_dirty).
      
      Alter the way the dirty range is encoded in page->private such that the
      upper bound is reduced by 1 (e.g. 0-0 is then specified the same single
      byte range mentioned above).
      
      Applying this to both bounds frees up two bits, one of which can be used in
      a future commit.
      
      This allows the afs filesystem to be compiled on ppc32 with 64K pages;
      without this, the following warnings are seen:
      
      ../fs/afs/internal.h: In function 'afs_page_dirty_to':
      ../fs/afs/internal.h:881:15: warning: right shift count >= width of type [-Wshift-count-overflow]
        881 |  return (priv >> __AFS_PAGE_PRIV_SHIFT) & __AFS_PAGE_PRIV_MASK;
            |               ^~
      ../fs/afs/internal.h: In function 'afs_page_dirty':
      ../fs/afs/internal.h:886:28: warning: left shift count >= width of type [-Wshift-count-overflow]
        886 |  return ((unsigned long)to << __AFS_PAGE_PRIV_SHIFT) | from;
            |                            ^~
      
      Fixes: 4343d008 ("afs: Get rid of the afs_writeback record")
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      65dd2d60
    • David Howells's avatar
      afs: Wrap page->private manipulations in inline functions · 185f0c70
      David Howells authored
      
      
      The afs filesystem uses page->private to store the dirty range within a
      page such that in the event of a conflicting 3rd-party write to the server,
      we write back just the bits that got changed locally.
      
      However, there are a couple of problems with this:
      
       (1) I need a bit to note if the page might be mapped so that partial
           invalidation doesn't shrink the range.
      
       (2) There aren't necessarily sufficient bits to store the entire range of
           data altered (say it's a 32-bit system with 64KiB pages or transparent
           huge pages are in use).
      
      So wrap the accesses in inline functions so that future commits can change
      how this works.
      
      Also move them out of the tracing header into the in-directory header.
      There's not really any need for them to be in the tracing header.
      
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      185f0c70
    • David Howells's avatar
      afs: Fix where page->private is set during write · f792e3ac
      David Howells authored
      
      
      In afs, page->private is set to indicate the dirty region of a page.  This
      is done in afs_write_begin(), but that can't take account of whether the
      copy into the page actually worked.
      
      Fix this by moving the change of page->private into afs_write_end().
      
      Fixes: 4343d008 ("afs: Get rid of the afs_writeback record")
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      f792e3ac