1. 11 Nov, 2019 2 commits
  2. 23 Oct, 2019 2 commits
  3. 22 Oct, 2019 2 commits
  4. 21 Oct, 2019 4 commits
  5. 18 Oct, 2019 3 commits
    • Tony Lindgren's avatar
      ARM: OMAP2+: Configure voltage controller for cpcap to low-speed · c145649b
      Tony Lindgren authored
      Looks like the i2c timings in high-speed mode do not work properly to
      allow us to clear I2C_DISABLE bits for PRM_VOLTCTRL register and the
      device reboots if I2C_DISABLE bits are cleared.
      
      Let's configure the voltage controller i2c for low-speed mode as done in
      the Motorola Mapphone Android Linux kernel. This saves us about 7mW of
      power during retention compared to the high-speed values.
      
      Let's also change the low-speed warning to pr_info about relying on the
      bootloader configured low-speed values like we currently do.
      
      Cc: Merlijn Wajer <merlijn@wizzup.org>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Sebastian Reichel <sre@kernel.org>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      c145649b
    • Tony Lindgren's avatar
      ARM: OMAP2+: Configure voltage controller for retention · 71065d3f
      Tony Lindgren authored
      Similar to existing omap3_vc_set_pmic_signaling(), let's add omap4
      specific omap4_vc_set_pmic_signaling(). This allows the configured
      devices to enable voltage controller for retention later on during
      init.
      
      Cc: Merlijn Wajer <merlijn@wizzup.org>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Sebastian Reichel <sre@kernel.org>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      71065d3f
    • YueHaibing's avatar
      ARM: OMAP2+: Make some functions static · 821093e1
      YueHaibing authored
      Fix sparse warnings:
      
      arch/arm/mach-omap2/pmic-cpcap.c:29:15: warning: symbol 'omap_cpcap_vsel_to_uv' was not declared. Should it be static?
      arch/arm/mach-omap2/pmic-cpcap.c:43:15: warning: symbol 'omap_cpcap_uv_to_vsel' was not declared. Should it be static?
      arch/arm/mach-omap2/pmic-cpcap.c:93:15: warning: symbol 'omap_max8952_vsel_to_uv' was not declared. Should it be static?
      arch/arm/mach-omap2/pmic-cpcap.c:107:15: warning: symbol 'omap_max8952_uv_to_vsel' was not declared. Should it be static?
      arch/arm/mach-omap2/pmic-cpcap.c:140:15: warning: symbol 'omap_fan535503_vsel_to_uv' was not declared. Should it be static?
      arch/arm/mach-omap2/pmic-cpcap.c:155:15: warning: symbol 'omap_fan535508_vsel_to_uv' was not declared. Should it be static?
      arch/arm/mach-omap2/pmic-cpcap.c:173:15: warning: symbol 'omap_fan535503_uv_to_vsel' was not declared. Should it be static?
      arch/arm/mach-omap2/pmic-cpcap.c:192:15: warning: symbol 'omap_fan535508_uv_to_vsel' was not declared. Should it be static?
      Reported-by: default avatarHulk Robot <hulkci@huawei.com>
      Signed-off-by: default avatarYueHaibing <yuehaibing@huawei.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      821093e1
  6. 16 Oct, 2019 10 commits
    • Tony Lindgren's avatar
      ARM: OMAP2+: Simplify code for clkdm_clock_enable and disable · 21a18129
      Tony Lindgren authored
      We can make clkdm_clk_enable() usable for clkdm_hwmod_enable() by
      dropping the unused clock check, and drop _clkdm_clk_hwmod_enable().
      
      And we can make clkdm_hwmod_disable() call clkdm_hwmod_disable() and drop
      the duplicate code in clkdm_hwmod_disable().
      
      Cc: Tero Kristo <t-kristo@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      21a18129
    • Tony Lindgren's avatar
      ARM: OMAP2+: Drop unused enable_wakeup and disable_wakeup · 645ad6f3
      Tony Lindgren authored
      We're only using static _enable_wakeup(), the others have no callers.
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      645ad6f3
    • Tony Lindgren's avatar
      ARM: OMAP2+: Initialize voltage controller for omap4 · 48738437
      Tony Lindgren authored
      We're missing initializing the PRM_VOLTCTRL register for voltage
      controller. Let's add omap4_vc_init_pmic_signaling() similar to what we
      have for omap3 and enable voltage control for retention.
      
      This brings down droid4 power consumption with mainline kernel to somewhere
      between 40 and 50mW from about 70 to 80 mW for the whole device when
      running idle with LCD and backlight off, WLAN connected, and USB and modem
      modules unloaded.
      
      Mostly just rmmod of omap2430, ohci-platform and phy-mapphone-mdm6600 are
      needed to idle USB and shut down the modem. And after that measuring idle
      power consumption can be done with reading sysfs entry periodically
      for /sys/class/power_supply/battery/power_avg. Then rmmod of phy-cpcap-usb
      will save few more mW, but will disable the debug UART.
      
      Note that sometimes CM_L4PER_UART1_CLKCTRL at 0x4a009540 does not idle
      properly after unloading of phy-mapphone-mdm6600.
      
      Cc: Merlijn Wajer <merlijn@wizzup.org>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Sebastian Reichel <sre@kernel.org>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      48738437
    • Tony Lindgren's avatar
      ARM: OMAP2+: Allow core oswr for omap4 · caf8c87d
      Tony Lindgren authored
      Commit f74297dd ("ARM: OMAP2+: Make sure LOGICRETSTATE bits are not
      cleared") disabled oswr (open switch retention) for per and core domains
      as various GPIO related issues were noticed if the bootloader had
      configured the bits for LOGICRETSTATE for per and core domains.
      
      With the recent gpio-omap fixes, mostly related to commit e6818d29
      ("gpio: gpio-omap: configure edge detection for level IRQs for idle
      wakeup"), things now behave for enabling core oswr for omap4.
      
      Cc: Merlijn Wajer <merlijn@wizzup.org>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Sebastian Reichel <sre@kernel.org>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      caf8c87d
    • Tony Lindgren's avatar
      ARM: OMAP2+: Allow per oswr for omap4 · 623429d5
      Tony Lindgren authored
      Commit f74297dd ("ARM: OMAP2+: Make sure LOGICRETSTATE bits are not
      cleared") disabled oswr (open switch retention) for per and core domains
      as various GPIO related issues were noticed if the bootloader had
      configured the bits for LOGICRETSTATE for per and core domains.
      
      With the recent gpio-omap fixes, mostly related to commit e6818d29
      ("gpio: gpio-omap: configure edge detection for level IRQs for idle
      wakeup"), things now behave for enabling per oswr for omap4.
      
      Cc: Merlijn Wajer <merlijn@wizzup.org>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Sebastian Reichel <sre@kernel.org>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      623429d5
    • Tony Lindgren's avatar
      ARM: OMAP2+: Configure voltage controller for cpcap · d44fa156
      Tony Lindgren authored
      We can configure voltage controller for cpcap with the data available in
      Motorola Mapphone Android Linux kernel. Let's add it so we can have droid4
      behave the same way for voltage controller as other omap4 devices and save
      some power when idle.
      
      Note that we're now using high-speed i2c mode, looks like the Motorola
      kernel had a typo using 0x200 instead of 200 for the timings which may
      caused it to not work properly.
      
      Also note that in the long run, this should just become dts data for a
      voltage controller device driver. But let's get things working first to
      make it possible to test further changes easily.
      
      Cc: Merlijn Wajer <merlijn@wizzup.org>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Sebastian Reichel <sre@kernel.org>
      Acked-by: default avatarPavel Machek <pavel@ucw.cz>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      d44fa156
    • Tony Lindgren's avatar
      ARM: OMAP2+: Update 4430 voltage controller operating points · 32236a84
      Tony Lindgren authored
      The current operating points in the mainline kernel are out of date for
      at least omap4430. Let's use the values from Motorola Mapphone Linux
      Android kernel as presumably those have been verified.
      
      Note that these are only used by voltage controller, they do not enable
      any new operating points for cpufreq. Looking at the recent omap3 cpufreq
      related patches posted, that's a totally separate series of patches.
      
      Cc: Merlijn Wajer <merlijn@wizzup.org>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Sebastian Reichel <sre@kernel.org>
      Acked-by: default avatarPavel Machek <pavel@ucw.cz>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      32236a84
    • Tony Lindgren's avatar
      ARM: OMAP2+: Remove bogus warnings for machines without twl PMIC · ccd36945
      Tony Lindgren authored
      In general we want to see a quiet dmesg output with no errors or warnings
      unless something is really wrong and needs attention. We currently see
      these bogus warnings on boot:
      
      twl: not initialized
      twl6030_uv_to_vsel:OUT OF RANGE! non mapped vsel for 1375000 Vs max 1316660
      twl6030_uv_to_vsel:OUT OF RANGE! non mapped vsel for 1375000 Vs max 1316660
      twl6030_uv_to_vsel:OUT OF RANGE! non mapped vsel for 1375000 Vs max 1316660
      twl6030_uv_to_vsel:OUT OF RANGE! non mapped vsel for 1375000 Vs max 1316660
      ...
      
      Let's avoid these by checking if a device tree node for cpcap PMIC exists.
      
      Cc: Merlijn Wajer <merlijn@wizzup.org>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Sebastian Reichel <sre@kernel.org>
      Acked-by: default avatarPavel Machek <pavel@ucw.cz>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      ccd36945
    • Tony Lindgren's avatar
      ARM: OMAP2+: Drop bogus wkup domain oswr setting · dfc065aa
      Tony Lindgren authored
      The wkup domain is always on and does not have logic off setting. This
      got accidentally added by commit f74297dd ("ARM: OMAP2+: Make sure
      LOGICRETSTATE bits are not cleared") but is harmless.
      
      Cc: Merlijn Wajer <merlijn@wizzup.org>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Sebastian Reichel <sre@kernel.org>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      dfc065aa
    • Tony Lindgren's avatar
      ARM: OMAP2+: Remove unused wakeup_cpu · 5395b555
      Tony Lindgren authored
      After commit 32d174ed ("ARM: OMAP4: MPUSS PM: remove unnecessary
      shim functions for powerdomain control") this is no longer used.
      
      The code continues execution after context restore on the same CPU,
      so we can just use pm_info->pwrdm.
      
      Cc: Merlijn Wajer <merlijn@wizzup.org>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Sebastian Reichel <sre@kernel.org>
      Acked-by: default avatarPavel Machek <pavel@ucw.cz>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      5395b555
  7. 11 Oct, 2019 1 commit
  8. 09 Oct, 2019 1 commit
    • Tony Lindgren's avatar
      ARM: dts: Use level interrupt for omap4 & 5 wlcore · 087a2b7e
      Tony Lindgren authored
      Commit 572cf7d7 ("ARM: dts: Improve omap l4per idling with wlcore edge
      sensitive interrupt") changed wlcore interrupts to use edge interrupt based
      on what's specified in the wl1835mod.pdf data sheet.
      
      However, there are still cases where we can have lost interrupts as
      described in omap_gpio_unidle(). And using a level interrupt instead of edge
      interrupt helps as we avoid the check for untriggered GPIO interrupts in
      omap_gpio_unidle().
      
      And with commit e6818d29 ("gpio: gpio-omap: configure edge detection
      for level IRQs for idle wakeup") GPIOs idle just fine with level interrupts.
      
      Let's change omap4 and 5 wlcore users back to using level interrupt
      instead of edge interrupt. Let's not change the others as I've only seen
      this on omap4 and 5, probably because the other SoCs don't have l4per idle
      independent of the CPUs.
      
      Fixes: 572cf7d7 ("ARM: dts: Improve omap l4per idling with wlcore edge sensitive interrupt")
      Depends-on: e6818d29 ("gpio: gpio-omap: configure edge detection for level IRQs for idle wakeup")
      Cc: Anders Roxell <anders.roxell@linaro.org>
      Cc: Eyal Reizer <eyalr@ti.com>
      Cc: Guy Mishol <guym@ti.com>
      Cc: John Stultz <john.stultz@linaro.org>
      Cc: Ulf Hansson <ulf.hansson@linaro.org>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      087a2b7e
  9. 08 Oct, 2019 2 commits
  10. 04 Oct, 2019 2 commits
  11. 03 Oct, 2019 1 commit
  12. 30 Sep, 2019 10 commits
    • Linus Torvalds's avatar
      Linux 5.4-rc1 · 54ecb8f7
      Linus Torvalds authored
      54ecb8f7
    • Linus Torvalds's avatar
      Merge tag 'for-5.4-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · bb48a591
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
       "A bunch of fixes that accumulated in recent weeks, mostly material for
        stable.
      
        Summary:
      
         - fix for regression from 5.3 that prevents to use balance convert
           with single profile
      
         - qgroup fixes: rescan race, accounting leak with multiple writers,
           potential leak after io failure recovery
      
         - fix for use after free in relocation (reported by KASAN)
      
         - other error handling fixups"
      
      * tag 'for-5.4-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: qgroup: Fix reserved data space leak if we have multiple reserve calls
        btrfs: qgroup: Fix the wrong target io_tree when freeing reserved data space
        btrfs: Fix a regression which we can't convert to SINGLE profile
        btrfs: relocation: fix use-after-free on dead relocation roots
        Btrfs: fix race setting up and completing qgroup rescan workers
        Btrfs: fix missing error return if writeback for extent buffer never started
        btrfs: adjust dirty_metadata_bytes after writeback failure of extent buffer
        Btrfs: fix selftests failure due to uninitialized i_mode in test inodes
      bb48a591
    • Linus Torvalds's avatar
      Merge tag 'csky-for-linus-5.4-rc1' of git://github.com/c-sky/csky-linux · 80b29b6b
      Linus Torvalds authored
      Pull csky updates from Guo Ren:
       "This round of csky subsystem just some fixups:
      
         - Fix mb() synchronization problem
      
         - Fix dma_alloc_coherent with PAGE_SO attribute
      
         - Fix cache_op failed when cross memory ZONEs
      
         - Optimize arch_sync_dma_for_cpu/device with dma_inv_range
      
         - Fix ioremap function losing
      
         - Fix arch_get_unmapped_area() implementation
      
         - Fix defer cache flush for 610
      
         - Support kernel non-aligned access
      
         - Fix 610 vipt cache flush mechanism
      
         - Fix add zero_fp fixup perf backtrace panic
      
         - Move static keyword to the front of declaration
      
         - Fix csky_pmu.max_period assignment
      
         - Use generic free_initrd_mem()
      
         - entry: Remove unneeded need_resched() loop"
      
      * tag 'csky-for-linus-5.4-rc1' of git://github.com/c-sky/csky-linux:
        csky: Move static keyword to the front of declaration
        csky: entry: Remove unneeded need_resched() loop
        csky: Fixup csky_pmu.max_period assignment
        csky: Fixup add zero_fp fixup perf backtrace panic
        csky: Use generic free_initrd_mem()
        csky: Fixup 610 vipt cache flush mechanism
        csky: Support kernel non-aligned access
        csky: Fixup defer cache flush for 610
        csky: Fixup arch_get_unmapped_area() implementation
        csky: Fixup ioremap function losing
        csky: Optimize arch_sync_dma_for_cpu/device with dma_inv_range
        csky/dma: Fixup cache_op failed when cross memory ZONEs
        csky: Fixup dma_alloc_coherent with PAGE_SO attribute
        csky: Fixup mb() synchronization problem
      80b29b6b
    • Linus Torvalds's avatar
      Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · cef0aa0c
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "A few fixes that have trickled in through the merge window:
      
         - Video fixes for OMAP due to panel-dpi driver removal
      
         - Clock fixes for OMAP that broke no-idle quirks + nfsroot on DRA7
      
         - Fixing arch version on ASpeed ast2500
      
         - Two fixes for reset handling on ARM SCMI"
      
      * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
        ARM: aspeed: ast2500 is ARMv6K
        reset: reset-scmi: add missing handle initialisation
        firmware: arm_scmi: reset: fix reset_state assignment in scmi_domain_reset
        bus: ti-sysc: Remove unpaired sysc_clkdm_deny_idle()
        ARM: dts: logicpd-som-lv: Fix i2c2 and i2c3 Pin mux
        ARM: dts: am3517-evm: Fix missing video
        ARM: dts: logicpd-torpedo-baseboard: Fix missing video
        ARM: omap2plus_defconfig: Fix missing video
        bus: ti-sysc: Fix handling of invalid clocks
        bus: ti-sysc: Fix clock handling for no-idle quirks
      cef0aa0c
    • Peter Ujfalusi's avatar
      ARM: dts: am4372: Set memory bandwidth limit for DISPC · f90ec6cd
      Peter Ujfalusi authored
      Set memory bandwidth limit to filter out resolutions above 720p@60Hz to
      avoid underflow errors due to the bandwidth needs of higher resolutions.
      
      am43xx can not provide enough bandwidth to DISPC to correctly handle
      'high' resolutions.
      Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@ti.com>
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      f90ec6cd
    • Linus Torvalds's avatar
      Merge tag 'trace-v5.4-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · cf4f493b
      Linus Torvalds authored
      Pull tracing fixes from Steven Rostedt:
       "A few more tracing fixes:
      
         - Fix a buffer overflow by checking nr_args correctly in probes
      
         - Fix a warning that is reported by clang
      
         - Fix a possible memory leak in error path of filter processing
      
         - Fix the selftest that checks for failures, but wasn't failing
      
         - Minor clean up on call site output of a memory trace event"
      
      * tag 'trace-v5.4-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        selftests/ftrace: Fix same probe error test
        mm, tracing: Print symbol name for call_site in trace events
        tracing: Have error path in predicate_parse() free its allocated memory
        tracing: Fix clang -Wint-in-bool-context warnings in IF_ASSIGN macro
        tracing/probe: Fix to check the difference of nr_args before adding probe
      cf4f493b
    • Linus Torvalds's avatar
      Merge tag 'mmc-v5.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · c710364f
      Linus Torvalds authored
      Pull more MMC updates from Ulf Hansson:
       "A couple more updates/fixes for MMC:
      
         - sdhci-pci: Add Genesys Logic GL975x support
      
         - sdhci-tegra: Recover loss in throughput for DMA
      
         - sdhci-of-esdhc: Fix DMA bug"
      
      * tag 'mmc-v5.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
        mmc: host: sdhci-pci: Add Genesys Logic GL975x support
        mmc: tegra: Implement ->set_dma_mask()
        mmc: sdhci: Let drivers define their DMA mask
        mmc: sdhci-of-esdhc: set DMA snooping based on DMA coherence
        mmc: sdhci: improve ADMA error reporting
      c710364f
    • Krzysztof Wilczynski's avatar
      csky: Move static keyword to the front of declaration · 9af032a3
      Krzysztof Wilczynski authored
      Move the static keyword to the front of declaration of
      csky_pmu_of_device_ids, and resolve the following compiler
      warning that can be seen when building with warnings
      enabled (W=1):
      
      arch/csky/kernel/perf_event.c:1340:1: warning:
        ‘static’ is not at beginning of declaration [-Wold-style-declaration]
      Signed-off-by: default avatarKrzysztof Wilczynski <kw@linux.com>
      Signed-off-by: default avatarGuo Ren <guoren@kernel.org>
      9af032a3
    • Valentin Schneider's avatar
      csky: entry: Remove unneeded need_resched() loop · a2139d3b
      Valentin Schneider authored
      Since the enabling and disabling of IRQs within preempt_schedule_irq()
      is contained in a need_resched() loop, we don't need the outer arch
      code loop.
      Signed-off-by: default avatarValentin Schneider <valentin.schneider@arm.com>
      Signed-off-by: default avatarGuo Ren <guoren@kernel.org>
      a2139d3b
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 97f9a3c4
      Linus Torvalds authored
      Pull Documentation/process update from Greg KH:
       "Here are two small Documentation/process/embargoed-hardware-issues.rst
        file updates that missed my previous char/misc pull request.
      
        The first one adds an Intel representative for the process, and the
        second one cleans up the text a bit more when it comes to how the
        disclosure rules work, as it was a bit confusing to some companies"
      
      * tag 'char-misc-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        Documentation/process: Clarify disclosure rules
        Documentation/process: Volunteer as the ambassador for Intel
      97f9a3c4