1. 05 9月, 2015 39 次提交
    • A
      rtc: cmos: Cancel alarm timer if alarm time is equal to now+1 seconds · 88b8d33b
      Adrian Huang 提交于
      Steps to reproduce the problem:
      	1) Enable RTC wake-up option in BIOS Setup
      	2) Issue one of these commands in the OS: "poweroff"
      	   or "shutdown -h now"
      	3) System will shut down and then reboot automatically
      
      Root-cause of the issue:
      	1) During the shutdown process, the hwclock utility is used
      	   to save the system clock to hardware clock (RTC).
      	2) The hwclock utility invokes ioctl() with RTC_UIE_ON. The
      	   kernel configures the RTC alarm for the periodic interrupt
      	   (every 1 second).
      	3) The hwclock uitlity closes the /dev/rtc0 device, and the
      	   kernel disables the RTC alarm irq (AIE bit of Register B)
      	   via ioctl() with RTC_UIE_OFF. But, the configured alarm
      	   time is the current_time + 1.
      	4) After the next 1 second is elapsed, the AF (alarm
      	   interrupt flag) of Register C is set.
      	5) The S5 handler in BIOS is invoked to configure alarm
      	   registers (enable AIE bit and configure alarm date/time).
      	   But, BIOS does not clear the previous interrupt status
      	   during alarm configuration. Therefore, "AF=AIE=1" causes
      	   the rtc device to trigger an interrupt.
      	6) So, the machine reboots automatically right after shutdown.
      
      This patch cancels the alarm timer if the following condictions are
      met (suggested by Alexandre):
      	1) The configured alarm time is equal to current_time + 1
      	   seconds.
      	2) The AIE timer is not in use.
      
      The member 'alarm_expires' is introduced in struct cmos_rtc because
      of the following reasons:
      	1) The configured alarm time can be retrieved from
      	   cmos_read_alarm(), but we need to take the 'wrapped
      	   timestamp' and 'time rollover' into consideration. The
      	   function __rtc_read_alarm() eliminates the concerns. To
      	   avoid the duplicated code in the lower level RTC driver,
      	   invoking __rtc_read_alarm from the lower level RTC driver
      	   is not encouraged. Moreover, the compilation error 'the
      	   undefined __rtc_read_alarm" is observed if the lower level
      	   RTC driver is compiled as a kernel module.
      	2) The uie_rtctimer.node.expires and aie_timer.node.expires can
      	   be retrieved for the configured alarm time. But, the problem
      	   is that either of them might configure the CMOS alarm time.
      	   We cannot make sure UIE timer or AIE tiemr configured the
      	   CMOS alarm time before. (uie_rtctimer or aie_timer is enabled
      	   and then is disabled).
      	3) The patch introduces the member 'alarm_expires' to keep the
      	   newly configured alarm time, so the above-mentioned concerns
      	   can be eliminated.
      
      The issue goes away after 20-time shutdown tests.
      Signed-off-by: NAdrian Huang <ahuang12@lenovo.com>
      Tested-by: NEgbert Eich <eich@suse.de>
      Tested-by: NDiego Ercolani <diego.ercolani@gmail.com>
      Cc: Borislav Petkov <bp@suse.de>
      Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
      88b8d33b
    • S
      rtc: da9063: Add DA9062 RTC capability to DA9063 RTC driver · 80ca3277
      S Twiss 提交于
      Add DA9062 RTC support into the existing DA9063 RTC driver component by
      using generic access tables for common register and bit mask definitions.
      
      The following change will add generic register and bit mask support to the
      DA9063 RTC. The changes are slightly complicated by requiring support for
      three register sets: DA9063-AD, DA9063-BB and DA9062-AA.
      
      The following alterations have been made to the DA9063 RTC:
      
      - Addition of a da9063_compatible_rtc_regmap structure to hold all generic
        registers and bitmasks for this type of RTC component.
      - A re-write of struct da9063 to use pointers for regmap and compatible
        registers/masks definitions
      - Addition of a of_device_id table for DA9063 and DA9062 defaults
      - Refactoring functions to use struct da9063_compatible_rtc accesses to
        generic registers/masks instead of using defines from registers.h
      - Re-work of da9063_rtc_probe() to use of_match_node() and dev_get_regmap()
        to provide initialisation of generic registers and masks and access to
        regmap
      Signed-off-by: NSteve Twiss <stwiss.opensource@diasemi.com>
      Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
      80ca3277
    • H
      rtc: mt6397: implement suspend/resume function in rtc-mt6397 driver · d7f9777d
      Henry Chen 提交于
      Implement the suspend/resume function in order to control rtc's irq_wake flag and handle as wakeup source.
      Signed-off-by: NHenry Chen <henryc.chen@mediatek.com>
      Acked-by: NEddie Huang <eddie.huang@mediatek.com>
      Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
      d7f9777d
    • D
      rtc: switch to using is_visible() to control sysfs attributes · 3ee2c40b
      Dmitry Torokhov 提交于
      Instead of creating wakealarm attribute manually, after the device has been
      registered, let's rely on facilities provided by the attribute groups to
      control which attributes are visible and which are not. This allows to
      create all needed attributes at once, at the same time that we register RTC
      class device.
      Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
      Reviewed-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
      3ee2c40b
    • D
      rtc: switch wakealarm attribute to DEVICE_ATTR_RW · a17ccd1c
      Dmitry Torokhov 提交于
      Instead of using older style DEVICE_ATTR for wakealarm attribute let's
      switch to using DEVICE_ATTR_RW that ensures consistent across the kernel
      permissions on the attribute.
      Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
      Reviewed-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
      a17ccd1c
    • D
      rtc: make rtc_does_wakealarm() return boolean · df100c01
      Dmitry Torokhov 提交于
      Users of rtc_does_wakealarm() return value treat it as boolean so let's
      change the signature accordingly.
      Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
      Reviewed-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
      df100c01
    • H
      rtc: rx8025: remove obsolete local_irq_disable() and local_irq_enable() for rtc_update_irq() · f2284f9c
      Henri Roosen 提交于
      Since commit e6229bec ("rtc: make rtc_update_irq callable with irqs
      enabled") rtc_update_irq() is callable with irqs enabled.
      Signed-off-by: NHenri Roosen <henriroosen@gmail.com>
      Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
      f2284f9c
    • O
      rtc: fix drivers that consider 0 as a valid IRQ in client->irq · 0d9030a2
      Octavian Purdila 提交于
      Since dab472eb ("i2c / ACPI: Use 0 to indicate that device does not
      have interrupt assigned"), 0 is not a valid i2c client irq anymore, so
      change all driver's checks accordingly.
      
      The same issue occurs when the device is instantiated via device tree
      with no IRQ, or from the i2c sysfs interface, even before the patch
      above.
      Signed-off-by: NOctavian Purdila <octavian.purdila@intel.com>
      Reviewed-by: NMika Westerberg <mika.westerberg@linux.intel.com>
      Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
      0d9030a2
    • D
      rtc: dev: properly manage lifetime of dev and cdev in rtc device · 1e4cd625
      Dmitry Torokhov 提交于
      struct rtc embeds both struct dev and struct cdev.  Unfortunately character
      device structure may outlive the parent rtc structure unless we set it up
      as parent of character device so that it will stay pinned until character
      device is freed.
      Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
      Reviewed-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
      1e4cd625
    • D
      rtc: class: remove unnecessary device_get() in rtc_device_unregister · c3b399a4
      Dmitry Torokhov 提交于
      Technically the address of rtc->dev can never be NULL, so get_device()
      can never fail. Also caller of rtc_device_unregister() supposed to be
      the owner of the device and thus have a valid reference. Therefore
      call to get_device() is not needed here.
      Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
      Reviewed-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
      c3b399a4
    • D
      rtc: class: fix double free in rtc_register_device() error path · 6706664d
      Dmitry Torokhov 提交于
      Commit 59cca865 ("drivers/rtc/class.c: fix device_register() error
      handling") correctly noted that naked kfree() should not be used after
      failed device_register() call, however, while it added the needed
      put_device() it forgot to remove the original kfree() causing double-free.
      
      Cc: Vasiliy Kulikov <segooon@gmail.com>
      Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
      Reviewed-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
      6706664d
    • G
      rtc: sirfsoc: move to regmap APIs from platform-specific APIs · dfe6c04a
      Guo Zeng 提交于
      The current codes use CSR platform specific API exported by machine
      codes to read/write RTC registers. they are:
      sirfsoc_rtc_iobrg_readl()
      sirfsoc_rtc_iobrg_writel()
      
      commit b1999477 ("ARM: prima2: move to use REGMAP APIs for rtciobrg")
      moves to regmap support, now we can move to use regmap APIs in RTC
      driver.
      Signed-off-by: NGuo Zeng <guo.zeng@csr.com>
      Signed-off-by: NBarry Song <Baohua.Song@csr.com>
      Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
      dfe6c04a
    • V
      rtc: opal: Enable alarms only when opal supports tpo · f4a2eecb
      Vaibhav Jain 提交于
      rtc-opal driver provides support for rtc alarms via
      timed-power-on(tpo). However some Power platforms like BML use a fake
      rtc clock and don't support tpo. Such platforms are indicated by the
      missing 'has-tpo' property in the device tree.
      
      Current implementation however enables callback for
      rtc_class_ops.read/set alarm irrespective of the tpo support from the
      platform. This results in a failed opal call when kernel tries to read
      an existing alarms via opal_get_tpo_time during rtc device registration.
      
      This patch fixes this issue by setting opal_rtc_ops.read/set_alarm
      callback pointers only when tpo is supported.
      Acked-by: NMichael Neuling <mikey@neuling.org>
      Acked-by: NNeelesh Gupta <neelegup@linux.vnet.ibm.com>
      Signed-off-by: NVaibhav Jain <vaibhav@linux.vnet.ibm.com>
      Acked-by: NStewart Smith <stewart@linux.vnet.ibm.com>
      Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
      f4a2eecb
    • J
      rtc: add rtc-lpc24xx driver · c28b42e3
      Joachim Eastwood 提交于
      Add driver for the RTC found on NXP LPC178x/18xx/408x/43xx devices.
      The RTC provides calendar and clock functionality together with
      alarm interrupt support.
      Signed-off-by: NJoachim Eastwood <manabian@gmail.com>
      Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
      c28b42e3
    • J
      doc: dt: add documentation for nxp,lpc1788-rtc · dcb9372b
      Joachim Eastwood 提交于
      Document NXP LPC178x/18xx/408x/43xx bindings
      Signed-off-by: NJoachim Eastwood <manabian@gmail.com>
      Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
      dcb9372b
    • K
      rtc: Drop owner assignment from platform_driver · 045c6fdd
      Krzysztof Kozlowski 提交于
      platform_driver does not need to set an owner because
      platform_driver_register() will set it.
      Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
      045c6fdd
    • K
      rtc: Drop owner assignment from i2c_driver · b2884543
      Krzysztof Kozlowski 提交于
      i2c_driver does not need to set an owner because i2c_register_driver()
      will set it.
      Signed-off-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
      b2884543
    • A
      rtc: pcf2127: use OFS flag to detect unreliable date and warn the user · 653ebd75
      Andrea Scian 提交于
      The PCF2127 datasheet states that it's wrong to say that the date in
      unreliable if BLF (battery low flag) is set but instead, OSF (seconds
      register) should be used to check if oscillator, for any reason, stopped.
      Battery may be low (usually below 2V5 threshold) but the date may be anyway
      correct (typically date is unreliable when input voltage is below 1V2).
      Signed-off-by: NAndrea Scian <andrea.scian@dave.eu>
      Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
      653ebd75
    • A
      rtc: use rtc_valid_tm() error code when reading date/time · 821f51c4
      Andrea Scian 提交于
      There's a wrong comment in some RTC drivers that say it's better to ignore
      rtc_valid_tm() when reading RTC timestamp. However this is wrong and is
      better to return to the userspace the error if timestamp is not valid.
      Signed-off-by: NAndrea Scian <andrea.scian@dave.eu>
      Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
      821f51c4
    • V
      rtc: 88pm80x: add device tree support · 4ab82103
      Vaibhav Hiremath 提交于
      Along with DT support, this patch also cleans up the unnecessary
      code around 'rtc_wakeup' initialization.
      Signed-off-by: NChao Xie <chao.xie@marvell.com>
      Signed-off-by: NVaibhav Hiremath <vaibhav.hiremath@linaro.org>
      Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
      4ab82103
    • M
      rtc: bq32k: remove redundant check · 617f6f7e
      Maninder Singh 提交于
      removing below static analysis error:
      (error) Possible null pointer dereference: client
      
      if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
      							^^^^^^^
      Error comes because client is dereferenced before NULL check.
      So probably NULL this check is not required.
      Signed-off-by: NManinder Singh <maninder1.s@samsung.com>
      Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
      617f6f7e
    • V
      rtc: ds1685: Use module_platform_driver · 508db592
      Vaishali Thakkar 提交于
      Use module_platform_driver for drivers whose init and exit functions
      only register and unregister, respectively.
      
      A simplified version of the Coccinelle semantic patch that performs
      this transformation is as follows:
      
      @a@
      identifier f, x;
      @@
      -static f(...) { return platform_driver_register(&x); }
      
      @b depends on a@
      identifier e, a.x;
      @@
      -static e(...) { platform_driver_unregister(&x); }
      
      @c depends on a && b@
      identifier a.f;
      declarer name module_init;
      @@
      -module_init(f);
      
      @d depends on a && b && c@
      identifier b.e, a.x;
      declarer name module_exit;
      declarer name module_platform_driver;
      @@
      -module_exit(e);
      +module_platform_driver(x);
      Signed-off-by: NVaishali Thakkar <vthakkar1994@gmail.com>
      Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
      508db592
    • N
      rtc: ds1307: Support optional wakeup interrupt source · 7abea617
      Nishanth Menon 提交于
      With the recent pinctrl-single changes, SoCs such as Texas
      Instrument's OMAP processors can treat wake-up events from deeper idle
      states as interrupts.
      
      Let's add support for the optional second interrupt for wake-up using
      the generic wakeirq support added in commit 4990d4fe ("PM /
      Wakeirq: Add automated device wake IRQ handling")
      
      Finally, to pass the wake-up interrupt in the dts file,
      interrupts-extended property needs to be passed.
      
      This is similar in approach to commit 2a0b965c ("serial: omap: Add
      support for optional wake-up") + ee83bd3b ("serial: omap: Switch
      wake-up interrupt to generic wakeirq")
      Signed-off-by: NNishanth Menon <nm@ti.com>
      Reviewed-by: NGrygorii Strashko <grygorii.strashko@ti.com>
      Acked-by: NTony Lindgren <tony@atomide.com>
      Acked-by: NFelipe Balbi <balbi@ti.com>
      Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
      7abea617
    • N
      rtc: ds1307: Sort the headers · eac7237f
      Nishanth Menon 提交于
      It is always a good practice to keep the #includes sorted
      Signed-off-by: NNishanth Menon <nm@ti.com>
      Acked-by: NFelipe Balbi <balbi@ti.com>
      Reviewed-by: NGrygorii Strashko <grygorii.strashko@ti.com>
      Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
      eac7237f
    • N
      rtc: ds1307: Switch to managed irq allocation · c5983191
      Nishanth Menon 提交于
      Since we are not doing anything fancy in remove function that requires
      us to sequence IRQ free operation, we might as well switch over to devm_
      equivalent of managed IRQ allocation and remove the explicit free_irq
      since it'd be done automatically at remove.
      Signed-off-by: NNishanth Menon <nm@ti.com>
      Acked-by: NFelipe Balbi <balbi@ti.com>
      Reviewed-by: NGrygorii Strashko <grygorii.strashko@ti.com>
      Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
      c5983191
    • F
      rtc: ds1307: Convert to threaded IRQ · 2fb07a10
      Felipe Balbi 提交于
      The driver currently emulates the concept of threaded IRQ using a
      workqueue, which it really does not need to. Instead, switch over to
      threaded_irq handlers which is meant precisely for the same purpose.
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      Signed-off-by: NNishanth Menon <nm@ti.com>
      Reviewed-by: NGrygorii Strashko <grygorii.strashko@ti.com>
      Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
      2fb07a10
    • L
      Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux · f377ea88
      Linus Torvalds 提交于
      Pull drm updates from Dave Airlie:
       "This is the main pull request for the drm for 4.3.  Nouveau is
        probably the biggest amount of changes in here, since it missed 4.2.
        Highlights below, along with the usual bunch of fixes.
      
        All stuff outside drm should have applicable acks.
      
        Highlights:
      
         - new drivers:
              freescale dcu kms driver
      
         - core:
              more atomic fixes
              disable some dri1 interfaces on kms drivers
              drop fb panic handling, this was just getting more broken, as more locking was required.
              new core fbdev Kconfig support - instead of each driver enable/disabling it
              struct_mutex cleanups
      
         - panel:
              more new panels
              cleanup Kconfig
      
         - i915:
              Skylake support enabled by default
              legacy modesetting using atomic infrastructure
              Skylake fixes
              GEN9 workarounds
      
         - amdgpu:
              Fiji support
              CGS support for amdgpu
              Initial GPU scheduler - off by default
              Lots of bug fixes and optimisations.
      
         - radeon:
              DP fixes
              misc fixes
      
         - amdkfd:
              Add Carrizo support for amdkfd using amdgpu.
      
         - nouveau:
              long pending cleanup to complete driver,
              fully bisectable which makes it larger,
              perfmon work
              more reclocking improvements
              maxwell displayport fixes
      
         - vmwgfx:
              new DX device support, supports OpenGL 3.3
              screen targets support
      
         - mgag200:
              G200eW support
              G200e new revision support
      
         - msm:
              dragonboard 410c support, msm8x94 support, msm8x74v1 support
              yuv format support
              dma plane support
              mdp5 rotation
              initial hdcp
      
         - sti:
              atomic support
      
         - exynos:
              lots of cleanups
              atomic modesetting/pageflipping support
              render node support
      
         - tegra:
              tegra210 support (dc, dsi, dp/hdmi)
              dpms with atomic modesetting support
      
         - atmel:
              support for 3 more atmel SoCs
              new input formats, PRIME support.
      
         - dwhdmi:
              preparing to add audio support
      
         - rockchip:
              yuv plane support"
      
      * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (1369 commits)
        drm/amdgpu: rename gmc_v8_0_init_compute_vmid
        drm/amdgpu: fix vce3 instance handling
        drm/amdgpu: remove ib test for the second VCE Ring
        drm/amdgpu: properly enable VM fault interrupts
        drm/amdgpu: fix warning in scheduler
        drm/amdgpu: fix buffer placement under memory pressure
        drm/amdgpu/cz: fix cz_dpm_update_low_memory_pstate logic
        drm/amdgpu: fix typo in dce11 watermark setup
        drm/amdgpu: fix typo in dce10 watermark setup
        drm/amdgpu: use top down allocation for non-CPU accessible vram
        drm/amdgpu: be explicit about cpu vram access for driver BOs (v2)
        drm/amdgpu: set MEC doorbell range for Fiji
        drm/amdgpu: implement burst NOP for SDMA
        drm/amdgpu: add insert_nop ring func and default implementation
        drm/amdgpu: add amdgpu_get_sdma_instance helper function
        drm/amdgpu: add AMDGPU_MAX_SDMA_INSTANCES
        drm/amdgpu: add burst_nop flag for sdma
        drm/amdgpu: add count field for the SDMA NOP packet v2
        drm/amdgpu: use PT for VM sync on unmap
        drm/amdgpu: make wait_event uninterruptible in push_job
        ...
      f377ea88
    • D
      Merge branch 'drm-next-4.3' of git://people.freedesktop.org/~agd5f/linux into drm-next · 73bf1b7b
      Dave Airlie 提交于
      A few more fixes for amdgpu from the last few days:
      - Fix several copy paste typos
      - Resume from suspend fixes for VCE
      - Fix the GPU scheduler warning in kfifo_out
      - Re-enable GPUVM fault interrupts which were inadvertently disabled
      - GPUVM page table hang fix when paging
      
      * 'drm-next-4.3' of git://people.freedesktop.org/~agd5f/linux:
        drm/amdgpu: rename gmc_v8_0_init_compute_vmid
        drm/amdgpu: fix vce3 instance handling
        drm/amdgpu: remove ib test for the second VCE Ring
        drm/amdgpu: properly enable VM fault interrupts
        drm/amdgpu: fix warning in scheduler
        drm/amdgpu: fix buffer placement under memory pressure
        drm/amdgpu/cz: fix cz_dpm_update_low_memory_pstate logic
        drm/amdgpu: fix typo in dce11 watermark setup
        drm/amdgpu: fix typo in dce10 watermark setup
        drm/amdgpu: use top down allocation for non-CPU accessible vram
        drm/amdgpu: be explicit about cpu vram access for driver BOs (v2)
      73bf1b7b
    • A
      drm/amdgpu: rename gmc_v8_0_init_compute_vmid · 35c7a952
      Alex Deucher 提交于
      It should be gfx_v8_0_init_compute_vmid since it's
      part of the gfx block.
      Acked-by: NLeo Liu <leo.liu@amd.com>
      Reviewed-by: NChristian König <christian.koenig@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      35c7a952
    • A
      drm/amdgpu: fix vce3 instance handling · be4f38e2
      Alex Deucher 提交于
      Need to properly handle the instances for the idle
      checks and soft reset.
      Acked-by: NLeo Liu <leo.liu@amd.com>
      Reviewed-by: NChristian König <christian.koenig@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      be4f38e2
    • L
      drm/amdgpu: remove ib test for the second VCE Ring · 898e50d4
      Leo Liu 提交于
      it seems the VCE ring 1 ib test not reliable, remove it for now.
      Signed-off-by: NLeo Liu <leo.liu@amd.com>
      Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
      Reviewed-by: NChristian König <christian.koenig@amd.com>
      Tested-and-Reviewed-by: NSonny Jiang <sonny.jiang@amd.com>
      898e50d4
    • C
      drm/amdgpu: properly enable VM fault interrupts · 140b519f
      Christian König 提交于
      This fixes not printing VM faults.
      Signed-off-by: NChristian König <christian.koenig@amd.com>
      Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
      140b519f
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 51e771c0
      Linus Torvalds 提交于
      Pull input subsystem updates from Dmitry Torokhov:
       "Drivers, drivers, drivers...  No interesting input core changes this
        time"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (74 commits)
        Input: elan_i2c - use iap_version to get firmware information
        Input: max8997_haptic - fix module alias
        Input: elan_i2c - fix typos for validpage_count
        Input: psmouse - add small delay for IBM trackpoint pass-through mode
        Input: synaptics - fix handling of disabling gesture mode
        Input: elan_i2c - enable ELAN0100 acpi panels
        Input: gpio-keys - report error when disabling unsupported key
        Input: sur40 - fix error return code
        Input: sentelic - silence some underflow warnings
        Input: zhenhua - switch to using bitrev8()
        Input: cros_ec_keyb - replace KEYBOARD_CROS_EC dependency
        Input: cap11xx - add LED support
        Input: elants_i2c - fix for devm_gpiod_get API change
        Input: elan_i2c - enable asynchronous probing
        Input: elants_i2c - enable asynchronous probing
        Input: elants_i2c - wire up regulator support
        Input: do not emit unneeded EV_SYN when suspending
        Input: elants_i2c - disable idle mode before updating firmware
        MAINTAINERS: Add maintainer for atmel_mxt_ts
        Input: atmel_mxt_ts - remove warning on zero T44 count
        ...
      51e771c0
    • L
      Merge tag 'sound-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · abebcdfb
      Linus Torvalds 提交于
      Pull sound updates from Takashi Iwai:
       "There are little changes in core part, but lots of development are
        found in drivers, especially ASoC.  The diffstat shows regmap-related
        changes for a slight API additions / changes, and that's all.
      
        Looking at the code size statistics, the most significant addition is
        for Intel Skylake.  (Note that SKL support is still underway, the
        codec driver is missing.) Also STI controller driver is a major
        addition as well as a few new codec drivers.
      
        In HD-audio side, there are fewer changes than the past.  The
        noticeable change is the support of ELD notification from i915
        graphics driver.  Thus this pull request carries a few changes in
        drm/i915.
      
        Other than that, USB-audio got a rewrite of runtime PM code.  It was
        initiated by lockdep warning, but resulted in a good cleanup in the
        end.
      
        Below are the highlights:
      
        Common:
         - Factoring out of AC'97 reset code from ASoC into the core helper
         - A few regmap API extensions (in case it's not pulled yet)
      
        ASoC:
         - New drivers for Cirrus CS4349, GTM601, InvenSense ICS43432, Realtek
           RT298 and ST STI controllers
         - Machine drivers for Rockchip systems with MAX98090 and RT5645 and
           RT5650
         - Initial driver support for Intel Skylake devices
         - Lots of rsnd cleanup and enhancements
         - A few DAPM fixes and cleanups
         - A large number of cleanups in various drivers (conversion and
           standardized to regmap, component) mostly by Lars-Peter and Axel
      
        HD-audio:
         - Extended HD-audio core for Intel Skylake controller support
         - Quirks for Dell headsets, Alienware 15
         - Clean up of pin-based quirk tables for Realtek codecs
         - ELD notifier implenetation for Intel HDMI/DP
      
        USB-audio:
         - Refactor runtime PM code to make lockdep happier"
      
      * tag 'sound-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (411 commits)
        drm/i915: Add locks around audio component bind/unbind
        drm/i915: Drop port_mst_index parameter from pin/eld callback
        ALSA: hda - Fix missing inline for dummy snd_hdac_set_codec_wakeup()
        ALSA: hda - Wake the codec up on pin/ELD notify events
        ALSA: hda - allow codecs to access the i915 pin/ELD callback
        drm/i915: Call audio pin/ELD notify function
        drm/i915: Add audio pin sense / ELD callback
        ASoC: zx296702-i2s: Fix resource leak when unload module
        ASoC: sti_uniperif: Ensure component is unregistered when unload module
        ASoC: au1x: psc-i2s: Convert to use devm_ioremap_resource
        ASoC: sh: dma-sh7760: Convert to devm_snd_soc_register_platform
        ASoC: spear_pcm: Use devm_snd_dmaengine_pcm_register to fix resource leak
        ALSA: fireworks/bebob/dice/oxfw: fix substreams counting at vmalloc failure
        ASoC: Clean up docbook warnings
        ASoC: txx9: Convert to devm_snd_soc_register_platform
        ASoC: pxa: Convert to devm_snd_soc_register_platform
        ASoC: nuc900: Convert to devm_snd_soc_register_platform
        ASoC: blackfin: Convert to devm_snd_soc_register_platform
        ASoC: au1x: Convert to devm_snd_soc_register_platform
        ASoC: qcom: Constify asoc_qcom_lpass_cpu_dai_ops
        ...
      abebcdfb
    • L
      Merge tag 'backlight-for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight · 670c039d
      Linus Torvalds 提交于
      Pull backlight updates from Lee Jones:
       - Stop using LP855X Platform Data to control regulators
       - Move PWM8941 WLED driver into Backlight
       - Remove invalid use of IS_ERR_VALUE() macro
       - Remove duplicate check for NULL data before unregistering
       - Export I2C Device ID structure
      
      * tag 'backlight-for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
        backlight: tosa: Export I2C module alias information
        backlight: lp8788_bl: Delete a check before backlight_device_unregister()
        backlight: sky81452: Remove unneeded use of IS_ERR_VALUE() macro
        backlight: pm8941-wled: Move PM8941 WLED driver to backlight
        backlight: lp855x: Use private data for regulator control
      670c039d
    • L
      Merge tag 'mfd-for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · 8bd8fd0a
      Linus Torvalds 提交于
      Pull MFD updates from Lee Jones:
       "New Device Support:
         - New Clocksource driver from ST
         - New MFD/ACPI/DMA drivers for Intel's Sunrisepoint PCH based platforms
         - Add support for Arizona WM8998 and WM1814
         - Add support for Dialog Semi DA9062 and DA9063
         - Add support for Kontron COMe-bBL6 and COMe-cBW6
         - Add support for X-Powers AXP152
         - Add support for Atmel, many
         - Add support for STMPE, many
         - Add support for USB in X-Powers AXP22X
      
        Core Frameworks:
         - New Base API to traverse devices and their children in reverse order
      
        Bug Fixes:
         - Fix race between runtime-suspend and IRQs
         - Obtain platform data form more reliable source
      
        Fix-ups:
         - Constifying things
         - Variable signage changes
         - Kconfig depends|selects changes
         - Make use of BIT() macro
         - Do not supply .owner attribute in *_driver structures
         - MAINTAINERS entries
         - Stop using set_irq_flags()
         - Start using irq_set_chained_handler_and_data()
         - Export DT device ID structures"
      
      * tag 'mfd-for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (69 commits)
        mfd: jz4740-adc: Init mask cache in generic IRQ chip
        mfd: cros_ec: spi: Add OF match table
        mfd: stmpe: Add OF match table
        mfd: max77686: Split out regulator part from the DT binding
        mfd: Add DT binding for Maxim MAX77802 IC
        mfd: max77686: Use a generic name for the PMIC node in the example
        mfd: max77686: Don't suggest in binding to use a deprecated property
        mfd: Add MFD_CROS_EC dependencies
        mfd: cros_ec: Remove CROS_EC_PROTO dependency for SPI and I2C drivers
        mfd: axp20x: Add a cell for the usb power_supply part of the axp20x PMICs
        mfd: axp20x: Add missing registers, and mark more registers volatile
        mfd: arizona: Fixup some formatting/white space errors
        mfd: wm8994: Fix NULL pointer exception on missing pdata
        of: Add vendor prefix for Nuvoton
        mfd: mt6397: Implement wake handler and suspend/resume to handle wake up event
        mfd: atmel-hlcdc: Add support for new SoCs
        mfd: Export OF module alias information in missing drivers
        mfd: stw481x: Export I2C module alias information
        mfd: da9062: Support for the DA9063 OnKey in the DA9062 core
        mfd: max899x: Avoid redundant irq_data lookup
        ...
      8bd8fd0a
    • L
      Merge tag 'dmaengine-4.3-rc1' of git://git.infradead.org/users/vkoul/slave-dma · 35271227
      Linus Torvalds 提交于
      Pull dmaengine updates from Vinod Koul:
       "This time we have aded a new capability for scatter-gathered memset
        using dmaengine APIs.  This is supported in xdmac & hdmac drivers
      
        We have added support for reusing descriptors for examples like video
        buffers etc.  Driver will follow
      
        The behaviour of descriptor ack has been clarified and documented
      
        New devices added are:
         - dma controller in sun[457]i SoCs
         - lpc18xx dmamux
         - ZTE ZX296702 dma controller
         - Analog Devices AXI-DMAC DMA controller
         - eDMA support for dma-crossbar
         - imx6sx support in imx-sdma driver
         - imx-sdma device to device support
      
        Other:
         - jz4780 fixes
         - ioatdma large refactor and cleanup for removal of ioat v1 and v2
           which is deprecated and fixes
         - ACPI support in X-Gene DMA engine driver
         - ipu irq fixes
         - mvxor fixes
         - minor fixes spread thru drivers"
      
      [ The Kconfig and Makefile entries got re-sorted alphabetically, and I
        handled the conflict with the new Intel integrated IDMA driver by
        slightly mis-sorting it on purpose: "IDMA64" got sorted after "IMX" in
        order to keep the Intel entries together.  I think it might be a good
        idea to just rename the IDMA64 config entry to INTEL_IDMA64 to make
        the sorting be a true sort, not this mismash.
      
        Also, this merge disables the COMPILE_TEST for the sun4i DMA
        controller, because it does not compile cleanly at all.     - Linus ]
      
      * tag 'dmaengine-4.3-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (89 commits)
        dmaengine: ioatdma: add Broadwell EP ioatdma PCI dev IDs
        dmaengine :ipu: change ipu_irq_handler() to remove compile warning
        dmaengine: ioatdma: Fix variable array length
        dmaengine: ioatdma: fix sparse "error" with prep lock
        dmaengine: hdmac: Add memset capabilities
        dmaengine: sort the sh Makefile
        dmaengine: sort the sh Kconfig
        dmaengine: sort the dw Kconfig
        dmaengine: sort the Kconfig
        dmaengine: sort the makefile
        drivers/dma: make mv_xor.c driver explicitly non-modular
        dmaengine: Add support for the Analog Devices AXI-DMAC DMA controller
        devicetree: Add bindings documentation for Analog Devices AXI-DMAC
        dmaengine: xgene-dma: Fix the lock to allow client for further submission of requests
        dmaengine: ioatdma: fix coccinelle warning
        dmaengine: ioatdma: fix zero day warning on incompatible pointer type
        dmaengine: tegra-apb: Simplify locking for device using global pause
        dmaengine: tegra-apb: Remove unnecessary return statements and variables
        dmaengine: tegra-apb: Avoid unnecessary channel base address calculation
        dmaengine: tegra-apb: Remove unused variables
        ...
      35271227
    • L
      Merge tag 'pinctrl-v4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 88a99886
      Linus Torvalds 提交于
      Pull pin control updates from Linus Walleij:
       "This is the bulk of pin control changes for the v4.3 development
        cycle.
      
        Like with GPIO it's a lot of stuff.  If my subsystems are any sign of
        the overall tempo of the kernel v4.3 will be a gigantic diff.
      
      [ It looks like 4.3 is calmer than 4.2 in most other subsystems, but
        we'll see - Linus ]
      
        Core changes:
      
         - It is possible configure groups in debugfs.
      
         - Consolidation of chained IRQ handler install/remove replacing all
           call sites where irq_set_handler_data() and
           irq_set_chained_handler() were done in succession with a combined
           call to irq_set_chained_handler_and_data().  This series was
           created by Thomas Gleixner after the problem was observed by
           Russell King.
      
         - Tglx also made another series of patches switching
           __irq_set_handler_locked() for irq_set_handler_locked() which is
           way cleaner.
      
         - Tglx also wrote a good bunch of patches to make use of
           irq_desc_get_xxx() accessors and avoid looking up irq_descs from
           IRQ numbers.  The goal is to get rid of the irq number from the
           handlers in the IRQ flow which is nice.
      
        Driver feature enhancements:
      
         - Power management support for the SiRF SoC Atlas 7.
      
         - Power down support for the Qualcomm driver.
      
         - Intel Cherryview and Baytrail: switch drivers to use raw spinlocks
           in IRQ handlers to play nice with the realtime patch set.
      
         - Rework and new modes handling for Qualcomm SPMI-MPP.
      
         - Pinconf power source config for SH PFC.
      
        New drivers and subdrivers:
      
         - A new driver for Conexant Digicolor CX92755.
      
         - A new driver for UniPhier PH1-LD4, PH1-Pro4, PH1-sLD8, PH1-Pro5,
           ProXtream2 and PH1-LD6b SoC pin control support.
      
         - Reverse-egineered the S/PDIF settings for the Allwinner sun4i
           driver.
      
         - Support for Qualcomm Technologies QDF2xxx ARM64 SoCs
      
         - A new Freescale i.mx6ul subdriver.
      
        Cleanup:
      
         - Remove platform data support in a number of SH PFC subdrivers"
      
      * tag 'pinctrl-v4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (95 commits)
        pinctrl: at91: fix null pointer dereference
        pinctrl: mediatek: Implement wake handler and suspend resume
        pinctrl: mediatek: Fix multiple registration issue.
        pinctrl: sh-pfc: r8a7794: add USB pin groups
        pinctrl: at91: Use generic irq_{request,release}_resources()
        pinctrl: cherryview: Use raw_spinlock for locking
        pinctrl: baytrail: Use raw_spinlock for locking
        pinctrl: imx6ul: Remove .owner field
        pinctrl: zynq: Fix typos in smc0_nand_grp and smc0_nor_grp
        pinctrl: sh-pfc: Implement pinconf power-source param for voltage switching
        clk: rockchip: add pclk_pd_pmu to the list of rk3288 critical clocks
        pinctrl: sun4i: add spdif to pin description.
        pinctrl: atlas7: clear ugly branch statements for pull and drivestrength
        pinctrl: baytrail: Serialize all register access
        pinctrl: baytrail: Drop FSF mailing address
        pinctrl: rockchip: only enable gpio clock when it setting
        pinctrl/mediatek: fix spelling mistake in dev_err error message
        pinctrl: cherryview: Serialize all register access
        pinctrl: UniPhier: PH1-Pro5: add I2C ch6 pin-mux setting
        pinctrl: nomadik: reflect current input value
        ...
      88a99886
    • L
      Merge tag 'gpio-v4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 8d2faea6
      Linus Torvalds 提交于
      Pull GPIO updates from Linus Walleij:
       "This is the bulk of GPIO changes for the v4.3 kernel cycle.
      
        There is quite a lot going on in the GPIO subsystem this merge window,
        so the main matter is decribed below.
      
        The hits in other subsystems when making the GPIO flags optional are
        all ACKed by their respective subsystem maintainers.
      
        Core changes:
      
         - Root out the wrapper devm_gpiod_get() and gpiod_get() etc versions
           of the descriptor calls that did not use the flags argument on the
           end.  This was around for too long and eventually Uwe Kleine-König
           took the time to clean it out and the last users are removed along
           with the macros in this tag.  In several cases the use of flags
           simplifies the code.  For this reason we have (ACKed) patches
           hitting in DRM, IIO, media, NFC, USB+PHY up until we hammer in the
           nail with removing the macros.
      
         - Add a fat document describing how much ready-made GPIO stuff we
           have i the kernel to discourage people from reinventing a square
           wheel in userspace, as so often happens.
      
         - Create a separate lockdep class for each instance of a GPIO IRQ
           chip instead of using one class for all chips, as the current code
           will not work with systems with several GPIO chips doing lockdep
           debugging.
      
         - Protect against driver unloading also when a GPIO line is only used
           as IRQ for the GPIOLIB_IRQCHIP helpers.
      
         - If the GPIO chip has no designated owner, assign the parent device
           driver owner as owner.
      
         - Consolidation of chained IRQ handler install/remove replacing all
           call sites where irq_set_handler_data() and
           irq_set_chained_handler() were done in succession with a combined
           call to irq_set_chained_handler_and_data().
      
           This series was created by Thomas Gleixner after the problem was
           observed by Russell King.
      
         - Tglx also made another series of patches switching
           __irq_set_handler_locked() for irq_set_handler_locked() which is
           way cleaner.
      
         - Tglx and Jiang Liu wrote a good bunch of patches to make use of
           irq_desc_get_xxx() accessors and avoid looking up irq_descs from
           IRQ numbers.  The goal is to get rid of the irq number from the
           handlers in the IRQ flow which is nice.
      
         - Rob Herring killed off the set_irq_flags() for all GPIO drivers.
           This was an ARM specific function that is replaced with the generic
           irq_modify_status() where special flags are actually needed.
      
         - When an OF node has a pin range for its GPIOs, return -EPROBE_DEFER
           if the pin controller isn't available.  Pretty logical, yet needed
           to be fixed.
      
         - If a driver using GPIOLIB_IRQCHIP has its own irq_*_resources call
           back, then call these instead of the defaults provided by the
           GPIOLIB.
      
         - Fix an undocumented ABI hole: named GPIOs were not properly
           documented.
      
        Driver improvements:
      
         - Add get_direction() support to the generic GPIO driver, it's
           strange that we didn't have that before.
      
         - Make it possible to have input-only GPIO chips using the generic
           GPIO driver.
      
         - Clean out platform data support from the Emma Mobile (EM) driver
      
         - Finegrained runtime PM support for the RCAR driver.
      
         - Support r8a7795 (R-car H3) in the RCAR driver.
      
         - Support interrupts on GPIOs 16 thru 31 in the DaVinci driver.
      
         - Some consolidation and new support in the MPC8xxx driver, we now
           support MPC5125.
      
         - Preempt-RT-friendly patches: the OMAP, MPC8xxx, drivers uses raw
           spinlocks making it work better with the realime patches.
      
         - Interrupt support for the EXTRAXFS GPIO driver.
      
         - Make the ETRAXFS GPIO driver support also ARTPEC-3.
      
         - Interrupt and wakeup support for the BRCMSTB driver, also for
           wakeup from S5 cold boot.
      
         - Mask MXC IRQs during suspend.
      
         - Improve OMAP2 GPIO set_debounce() to work according to spec.
      
         - The VF610 driver handles IRQs properly.
      
        New drivers:
      
         - ZTE ZX GPIO driver"
      
      * tag 'gpio-v4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (87 commits)
        Revert "gpio: extraxfs: fix returnvar.cocci warnings"
        gpio: tc3589x: use static container helper
        gpio: xlp: fix error return code
        gpio: vf610: handle level IRQ's properly
        gpio: max732x: Fix error handling in probe()
        gpio: omap: fix clk_prepare/unprepare usage
        gpio: omap: protect regs access in omap_gpio_irq_handler
        gpio: omap: fix omap2_set_gpio_debounce
        gpio: omap: switch to use platform_get_irq
        gpio: omap: remove wrong irq_domain_remove usage in probe
        gpiolib: add description for gpio irqchip fields in struct gpio_chip
        gpio: extraxfs: fix returnvar.cocci warnings
        gpiolib: irqchip: use different lockdep class for each gpio irqchip
        gpio/grgpio: fix deadlock in grgpio_irq_unmap()
        Documentation: gpio: consumer: describe active low property
        gpio: mxc: fix section mismatch warning
        gpio/mxc: mask gpio interrupts in suspend
        gpio: omap: Fix missing raw locks conversion
        gpio: brcmstb: support wakeup from S5 cold boot
        gpio: brcmstb: Add interrupt and wakeup source support
        ...
      8d2faea6
  2. 04 9月, 2015 1 次提交