1. 23 3月, 2019 1 次提交
    • L
      Merge tag 'mmc-v5.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · 599beede
      Linus Torvalds 提交于
      Pull MMC fixes from Ulf Hansson:
       "A couple of MMC host fixes intended for v5.1:
      
         - alcor: Fix DMA reads
      
         - renesas_sdhi: Limit block count to 16-bit for old revisions
      
         - sdhci-omap: Fixup support for read-only pins
      
         - mxcmmc: Revert support for highmem pages
      
         - davinci/pxamci: Fix clang build warnings"
      
      * tag 'mmc-v5.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
        mmc: renesas_sdhi: limit block count to 16 bit for old revisions
        mmc: alcor: fix DMA reads
        mmc: sdhci-omap: Set caps2 to indicate no physical write protect pin
        mmc: mxcmmc: "Revert mmc: mxcmmc: handle highmem pages"
        mmc: davinci: remove extraneous __init annotation
        mmc: pxamci: fix enum type confusion
      599beede
  2. 22 3月, 2019 14 次提交
  3. 21 3月, 2019 7 次提交
    • W
      mmc: renesas_sdhi: limit block count to 16 bit for old revisions · c9a9497c
      Wolfram Sang 提交于
      R-Car Gen2 has two different SDHI incarnations in the same chip. The
      older one does not support the recently introduced 32 bit register
      access to the block count register. Make sure we use this feature only
      after the first known version.
      
      Thanks to the Renesas Testing team for this bug report!
      
      Fixes: 5603731a ("mmc: tmio: fix access width of Block Count Register")
      Reported-by: NYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
      Signed-off-by: NWolfram Sang <wsa+renesas@sang-engineering.com>
      Reviewed-by: NSimon Horman <horms+renesas@verge.net.au>
      Tested-by: NPhong Hoang <phong.hoang.wz@renesas.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      c9a9497c
    • D
      mmc: alcor: fix DMA reads · 5ea47691
      Daniel Drake 提交于
      Setting max_blk_count to 1 here was causing the mmc block layer
      to always use the MMC_READ_SINGLE_BLOCK command here, which the
      driver does not DMA-accelerate.
      
      Drop the max_blk_ settings here. The mmc host defaults suffice,
      along with the max_segs and max_seg_size settings, which I have
      now documented in more detail.
      
      Now each MMC command reads 4 512-byte blocks, using DMA instead of
      PIO. On my SD card, this increases read performance (measured with dd)
      from 167kb/sec to 4.6mb/sec.
      
      Link: http://lkml.kernel.org/r/CAD8Lp47L5T3jnAjBiPs1cQ+yFA3L6LJtgFvMETnBrY63-Zdi2g@mail.gmail.comSigned-off-by: NDaniel Drake <drake@endlessm.com>
      Reviewed-by: NOleksij Rempel <linux@rempel-privat.de>
      Fixes: c5413ad8 ("mmc: add new Alcor Micro Cardreader SD/MMC driver")
      Cc: stable@vger.kernel.org
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      5ea47691
    • K
      mmc: sdhci-omap: Set caps2 to indicate no physical write protect pin · 031d2ccc
      Kishon Vijay Abraham I 提交于
      After commit 6d5cd068 ("mmc: sdhci: use WP GPIO in
      sdhci_check_ro()") and commit 39ee32ce ("mmc: sdhci-omap: drop
      ->get_ro() implementation"), sdhci-omap relied on SDHCI_PRESENT_STATE
      to check if the card is read-only, if wp-gpios is not populated
      in device tree. However SDHCI_PRESENT_STATE in sdhci-omap does not have
      correct read-only state.
      
      sdhci-omap can be used by platforms with both micro SD slot and standard
      SD slot with physical write protect pin (using GPIO). Set caps2 to
      MMC_CAP2_NO_WRITE_PROTECT based on if wp-gpios property is populated or
      not.
      
      This fix is required since existing device-tree node doesn't have
      "disable-wp" property and to preserve old-dt compatibility.
      
      Fixes: 6d5cd068 ("mmc: sdhci: use WP GPIO in sdhci_check_ro()")
      Fixes: 39ee32ce ("mmc: sdhci-omap: drop ->get_ro() implementation")
      Signed-off-by: NKishon Vijay Abraham I <kishon@ti.com>
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      031d2ccc
    • A
      mmc: mxcmmc: "Revert mmc: mxcmmc: handle highmem pages" · 2b77158f
      Alexander Shiyan 提交于
      This reverts commit b189e758.
      
      Unable to handle kernel paging request at virtual address c8358000
      pgd = efa405c3
      [c8358000] *pgd=00000000
      Internal error: Oops: 805 [#1] PREEMPT ARM
      CPU: 0 PID: 711 Comm: kworker/0:2 Not tainted 4.20.0+ #30
      Hardware name: Freescale i.MX27 (Device Tree Support)
      Workqueue: events mxcmci_datawork
      PC is at mxcmci_datawork+0xbc/0x2ac
      LR is at mxcmci_datawork+0xac/0x2ac
      pc : [<c04e33c8>]    lr : [<c04e33b8>]    psr: 60000013
      sp : c6c93f08  ip : 24004180  fp : 00000008
      r10: c8358000  r9 : c78b3e24  r8 : c6c92000
      r7 : 00000000  r6 : c7bb8680  r5 : c7bb86d4  r4 : c78b3de0
      r3 : 00002502  r2 : c090b2e0  r1 : 00000880  r0 : 00000000
      Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
      Control: 0005317f  Table: a68a8000  DAC: 00000055
      Process kworker/0:2 (pid: 711, stack limit = 0x389543bc)
      Stack: (0xc6c93f08 to 0xc6c94000)
      3f00:                   c7bb86d4 00000000 00000000 c6cbfde0 c7bb86d4 c7ee4200
      3f20: 00000000 c0907ea8 00000000 c7bb86d8 c0907ea8 c012077c c6cbfde0 c7bb86d4
      3f40: c6cbfde0 c6c92000 c6cbfdf4 c09280ba c0907ea8 c090b2e0 c0907ebc c0120c18
      3f60: c6cbfde0 00000000 00000000 c6cbb580 c7ba7c40 c7837edc c6cbb598 00000000
      3f80: c6cbfde0 c01208f8 00000000 c01254fc c7ba7c40 c0125400 00000000 00000000
      3fa0: 00000000 00000000 00000000 c01010d0 00000000 00000000 00000000 00000000
      3fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      3fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
      [<c04e33c8>] (mxcmci_datawork) from [<c012077c>] (process_one_work+0x1f0/0x338)
      [<c012077c>] (process_one_work) from [<c0120c18>] (worker_thread+0x320/0x474)
      [<c0120c18>] (worker_thread) from [<c01254fc>] (kthread+0xfc/0x118)
      [<c01254fc>] (kthread) from [<c01010d0>] (ret_from_fork+0x14/0x24)
      Exception stack(0xc6c93fb0 to 0xc6c93ff8)
      3fa0:                                     00000000 00000000 00000000 00000000
      3fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      3fe0: 00000000 00000000 00000000 00000000 00000013 00000000
      Code: e3500000 1a000059 e5153050 e5933038 (e48a3004)
      ---[ end trace 54ca629b75f0e737 ]---
      note: kworker/0:2[711] exited with preempt_count 1
      Signed-off-by: NAlexander Shiyan <shc_work@mail.ru>
      Fixes: b189e758 ("mmc: mxcmmc: handle highmem pages")
      Cc: stable@vger.kernel.org
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      2b77158f
    • A
      drm/exynos/mixer: fix MIXER shadow registry synchronisation code · 6a3b45ad
      Andrzej Hajda 提交于
      MIXER on Exynos5 SoCs uses different synchronisation method than Exynos4
      to update internal state (shadow registers).
      Apparently the driver implements it incorrectly. The rule should be
      as follows:
      - do not request updating registers until previous request was finished,
        ie. MXR_CFG_LAYER_UPDATE_COUNT must be 0.
      - before setting registers synchronisation on VSYNC should be turned off,
        ie. MXR_STATUS_SYNC_ENABLE should be reset,
      - after finishing MXR_STATUS_SYNC_ENABLE should be set again.
      The patch hopefully implements it correctly.
      Below sample kernel log from page fault caused by the bug:
      
      [   25.670038] exynos-sysmmu 14650000.sysmmu: 14450000.mixer: PAGE FAULT occurred at 0x2247b800
      [   25.677888] ------------[ cut here ]------------
      [   25.682164] kernel BUG at ../drivers/iommu/exynos-iommu.c:450!
      [   25.687971] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM
      [   25.693778] Modules linked in:
      [   25.696816] CPU: 5 PID: 1553 Comm: fb-release_test Not tainted 5.0.0-rc7-01157-g5f86b1566bdd #136
      [   25.705646] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
      [   25.711710] PC is at exynos_sysmmu_irq+0x1c0/0x264
      [   25.716470] LR is at lock_is_held_type+0x44/0x64
      
      v2: added missing MXR_CFG_LAYER_UPDATE bit setting in mixer_enable_sync
      Reported-by: NMarian Mihailescu <mihailescu2m@gmail.com>
      Signed-off-by: NAndrzej Hajda <a.hajda@samsung.com>
      Signed-off-by: NInki Dae <inki.dae@samsung.com>
      6a3b45ad
    • L
      Merge tag 'arc-5.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc · 54c49016
      Linus Torvalds 提交于
      Pull ARC updates from Vineet Gupta:
      
       - unaligned access support for HS cores
      
       - Removed extra memory barrier around spinlock code
      
       - HSDK platform updates: enable dmac, reset
      
       - some more boot logging updates
      
       - misc minor fixes
      
      * tag 'arc-5.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
        arch: arc: Kconfig: pedantic formatting
        ARCv2: spinlock: remove the extra smp_mb before lock, after unlock
        ARC: unaligned: relax the check for gcc supporting -mno-unaligned-access
        ARC: boot log: cut down on verbosity
        ARCv2: boot log: refurbish HS core/release identification
        arc: hsdk_defconfig: Enable CONFIG_BLK_DEV_RAM
        ARC: u-boot args: check that magic number is correct
        ARC: perf: bpok condition only exists for ARCompact
        ARCv2: Add explcit unaligned access support (and ability to disable too)
        ARCv2: lib: introduce memcpy optimized for unaligned access
        ARC: [plat-hsdk]: Enable AXI DW DMAC support
        ARC: [plat-hsdk]: Add reset controller handle to manage USB reset
        ARC: DTB: [scripted] fix node name and address spelling
      54c49016
    • M
      arm64: remove obsolete selection of MULTI_IRQ_HANDLER · e5a5af77
      Matthias Kaehlcke 提交于
      The arm64 config selects MULTI_IRQ_HANDLER, which was renamed to
      GENERIC_IRQ_MULTI_HANDLER by commit 4c301f9b ("ARM: Convert
      to GENERIC_IRQ_MULTI_HANDLER"). The 'new' option is already
      selected, so just remove the obsolete entry.
      Signed-off-by: NMatthias Kaehlcke <mka@chromium.org>
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      e5a5af77
  4. 20 3月, 2019 7 次提交
    • T
      drm/vmwgfx: Don't double-free the mode stored in par->set_mode · c2d31155
      Thomas Zimmermann 提交于
      When calling vmw_fb_set_par(), the mode stored in par->set_mode gets free'd
      twice. The first free is in vmw_fb_kms_detach(), the second is near the
      end of vmw_fb_set_par() under the name of 'old_mode'. The mode-setting code
      only works correctly if the mode doesn't actually change. Removing
      'old_mode' in favor of using par->set_mode directly fixes the problem.
      
      Cc: <stable@vger.kernel.org>
      Fixes: a278724a ("drm/vmwgfx: Implement fbdev on kms v2")
      Signed-off-by: NThomas Zimmermann <tzimmermann@suse.de>
      Reviewed-by: NDeepak Rawat <drawat@vmware.com>
      Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com>
      c2d31155
    • D
      drm/vmwgfx: Return 0 when gmrid::get_node runs out of ID's · 4b9ce3a6
      Deepak Rawat 提交于
      If it's not a system error and get_node implementation accommodate the
      buffer object then it should return 0 with memm::mm_node set to NULL.
      
      v2: Test for id != -ENOMEM instead of id == -ENOSPC.
      
      Cc: <stable@vger.kernel.org>
      Fixes: 4eb085e4 ("drm/vmwgfx: Convert to new IDA API")
      Signed-off-by: NDeepak Rawat <drawat@vmware.com>
      Reviewed-by: NThomas Hellstrom <thellstrom@vmware.com>
      Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com>
      4b9ce3a6
    • C
      drm/amdgpu: fix invalid use of change_bit · 72464382
      Christian König 提交于
      We only need to clear the bit in a 32bit integer.
      
      This fixes a crah on ARM64 and PPC64LE caused by
      "drm/amdgpu: update the vm invalidation engine layout V2"
      Signed-off-by: NChristian König <christian.koenig@amd.com>
      Acked-by: NAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      72464382
    • C
      drm/amdgpu: revert "cleanup setting bulk_movable" · 39bbd331
      Christian König 提交于
      This reverts commit 8466cc61.
      
      It can trigger a reference counter bug in TTM. Need to investigate further, but
      for now revert the offending change.
      Signed-off-by: NChristian König <christian.koenig@amd.com>
      Reviewed-by: NMichel Dänzer <michel.daenzer@amd.com>
      Tested-by: NMichel Dänzer <michel.daenzer@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      39bbd331
    • L
      Merge tag 'tag-chrome-platform-fixes-for-v5.1-rc2' of... · babf09c3
      Linus Torvalds 提交于
      Merge tag 'tag-chrome-platform-fixes-for-v5.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux
      
      Pull chrome platform fixes from Benson Leung:
       "Two fixes:
      
         - Fix locking and close a potential race condition in the new
           wilco_ec driver.
      
         - Fix a warning in cros_ec_debugfs on systems that do not support
           console logging, such as the Asus C201"
      
      * tag 'tag-chrome-platform-fixes-for-v5.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux:
        platform/chrome: cros_ec_debugfs: cancel/schedule logging work only if supported
        platform/chrome: Fix locking pattern in wilco_ec_mailbox()
      babf09c3
    • G
      platform/chrome: cros_ec_debugfs: cancel/schedule logging work only if supported · 57aeef7f
      Guenter Roeck 提交于
      The following traceback was reported on ASUS C201, which does not support
      console logging.
      
      ------------[ cut here ]------------
      WARNING: CPU: 2 PID: 361 at kernel/workqueue.c:3030 __flush_work+0x38/0x154
      Modules linked in: snd_soc_hdmi_codec cros_ec_debugfs cros_ec_sysfs uvcvideo dw_hdmi_cec dw_hdmi_i2s_audio videobuf2_vmalloc cfg80211 gpio_charger rk_crypto rfkill videobuf2_memops videobuf2_v4l2 des_generic videobuf2_common ofpart m25p80 spi_nor tpm_i2c_infineon sbs_battery mtd tpm joydev cros_ec_dev coreboot_table evdev mousedev ip_tables x_tables [last unloaded: brcmutil]
      CPU: 2 PID: 361 Comm: systemd-sleep Not tainted 5.1.0-rc1-1-ARCH+ #1
      Hardware name: Rockchip (Device Tree)
      [<c020e4b0>] (unwind_backtrace) from [<c020ac18>] (show_stack+0x10/0x14)
      [<c020ac18>] (show_stack) from [<c07a3e04>] (dump_stack+0x7c/0x9c)
      [<c07a3e04>] (dump_stack) from [<c0222748>] (__warn+0xd0/0xec)
      [<c0222748>] (__warn) from [<c022279c>] (warn_slowpath_null+0x38/0x44)
      [<c022279c>] (warn_slowpath_null) from [<c02365d0>] (__flush_work+0x38/0x154)
      [<c02365d0>] (__flush_work) from [<c023786c>] (__cancel_work_timer+0x114/0x1a4)
      [<c023786c>] (__cancel_work_timer) from [<bf33233c>] (cros_ec_debugfs_suspend+0x14/0x1c [cros_ec_debugfs])
      [<bf33233c>] (cros_ec_debugfs_suspend [cros_ec_debugfs]) from [<c056a888>] (dpm_run_callback+0x64/0xcc)
      [<c056a888>] (dpm_run_callback) from [<c056ad2c>] (__device_suspend+0x174/0x3a8)
      [<c056ad2c>] (__device_suspend) from [<c056b9e0>] (dpm_suspend+0x174/0x1e0)
      [<c056b9e0>] (dpm_suspend) from [<c026b3e0>] (suspend_devices_and_enter+0x6c/0x50c)
      [<c026b3e0>] (suspend_devices_and_enter) from [<c026ba8c>] (pm_suspend+0x20c/0x274)
      [<c026ba8c>] (pm_suspend) from [<c026a628>] (state_store+0x54/0x88)
      [<c026a628>] (state_store) from [<c03cd2d0>] (kernfs_fop_write+0x114/0x180)
      [<c03cd2d0>] (kernfs_fop_write) from [<c035d48c>] (__vfs_write+0x1c/0x154)
      [<c035d48c>] (__vfs_write) from [<c035f9e8>] (vfs_write+0xb8/0x198)
      [<c035f9e8>] (vfs_write) from [<c035fbc0>] (ksys_write+0x3c/0x74)
      [<c035fbc0>] (ksys_write) from [<c0201000>] (ret_fast_syscall+0x0/0x4c)
      Exception stack(0xe9365fa8 to 0xe9365ff0)
      5fa0: 00000004 beef8b28 00000004 beef8b28 00000004 00000000
      5fc0: 00000004 beef8b28 02319170 00000004 beef8b28 00000004 b6f3d900 beef8b74
      5fe0: 0000006c beef8a98 b6c0adac b6c66534
      ---[ end trace f4ee5df14e8ea0ec ]---
      
      If console logging is not supported, the work structure is never
      initialized, resulting in the traceback. Calling cancel/schedule functions
      conditionally fixes the problem.
      
      While at it, also fix error handling in the probe function.
      Reported-by: NUrja Rannikko <urjaman@gmail.com>
      Cc: Urja Rannikko <urjaman@gmail.com>
      Fixes: 6fce0a2c ("mfd / platform: cros_ec: Move debugfs attributes to its own driver")
      Signed-off-by: NGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: NBenson Leung <bleung@chromium.org>
      57aeef7f
    • L
      Merge tag 'mips_fixes_5.1_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · b7a42146
      Linus Torvalds 提交于
      Pull MIPS fixes from Paul Burton:
       "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)"
      
      * tag 'mips_fixes_5.1_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
        MIPS: Remove custom MIPS32 __kernel_fsid_t type
        mips: bcm47xx: Enable USB power on Netgear WNDR3400v2
        MIPS: Fix kernel crash for R6 in jump label branch function
        MIPS: Ensure ELF appended dtb is relocated
        mips: loongson64: lemote-2f: Add IRQF_NO_SUSPEND to "cascade" irqaction.
      b7a42146
  5. 19 3月, 2019 11 次提交