1. 16 7月, 2014 6 次提交
  2. 15 7月, 2014 5 次提交
    • J
      dmaengine: Use dma_zalloc_coherent · 9f92d223
      Joe Perches 提交于
      Use the zeroing function instead of dma_alloc_coherent & memset(,0,)
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NVinod Koul <vinod.koul@intel.com>
      9f92d223
    • A
      dmaengine: qcom_bam_dma: Add descriptor flags · 89751d0a
      Andy Gross 提交于
      This patch adds support for end of transaction (EOT) and notify when done (NWD)
      hardware descriptor flags.
      
      The EOT flag requests that the peripheral assert an end of transaction interrupt
      when that descriptor is complete.  It also results in special signaling protocol
      that is used between the attached peripheral and the core using the DMA
      controller.  Clients will specify DMA_PREP_INTERRUPT to enable this flag.
      
      The NWD flag requests that the peripheral wait until the data has been fully
      processed by the peripheral before moving on to the next descriptor.  Clients
      will specify DMA_PREP_FENCE to enable this flag.
      Signed-off-by: NAndy Gross <agross@codeaurora.org>
      Signed-off-by: NVinod Koul <vinod.koul@intel.com>
      89751d0a
    • H
      dmaengine: Freescale: change descriptor release process for supporting async_tx · 43452fad
      Hongbo Zhang 提交于
      Fix the potential risk when enable config NET_DMA and ASYNC_TX. Async_tx is
      lack of support in current release process of dma descriptor, all descriptors
      will be released whatever is acked or no-acked by async_tx, so there is a
      potential race condition when dma engine is uesd by others clients (e.g. when
      enable NET_DMA to offload TCP).
      
      In our case, a race condition which is raised when use both of talitos and
      dmaengine to offload xor is because napi scheduler will sync all pending
      requests in dma channels, it affects the process of raid operations due to
      ack_tx is not checked in fsl dma. The no-acked descriptor is freed which is
      submitted just now, as a dependent tx, this freed descriptor trigger
      BUG_ON(async_tx_test_ack(depend_tx)) in async_tx_submit().
      
      TASK = ee1a94a0[1390] 'md0_raid5' THREAD: ecf40000 CPU: 0
      GPR00: 00000001 ecf41ca0 ee44/921a94a0 0000003f 00000001 c00593e4 00000000 00000001
      GPR08: 00000000 a7a7a7a7 00000001 045/920000002 42028042 100a38d4 ed576d98 00000000
      GPR16: ed5a11b0 00000000 2b162000 00000200 046/920000000 2d555000 ed3015e8 c15a7aa0
      GPR24: 00000000 c155fc40 00000000 ecb63220 ecf41d28 e47/92f640bb0 ef640c30 ecf41ca0
      NIP [c02b048c] async_tx_submit+0x6c/0x2b4
      LR [c02b068c] async_tx_submit+0x26c/0x2b4
      Call Trace:
      [ecf41ca0] [c02b068c] async_tx_submit+0x26c/0x2b448/92 (unreliable)
      [ecf41cd0] [c02b0a4c] async_memcpy+0x240/0x25c
      [ecf41d20] [c0421064] async_copy_data+0xa0/0x17c
      [ecf41d70] [c0421cf4] __raid_run_ops+0x874/0xe10
      [ecf41df0] [c0426ee4] handle_stripe+0x820/0x25e8
      [ecf41e90] [c0429080] raid5d+0x3d4/0x5b4
      [ecf41f40] [c04329b8] md_thread+0x138/0x16c
      [ecf41f90] [c008277c] kthread+0x8c/0x90
      [ecf41ff0] [c0011630] kernel_thread+0x4c/0x68
      
      Another modification in this patch is the change of completed descriptors,
      there is a potential risk which caused by exception interrupt, all descriptors
      in ld_running list are seemed completed when an interrupt raised, it works fine
      under normal condition, but if there is an exception occured, it cannot work as
      our excepted. Hardware should not be depend on s/w list, the right way is to
      read current descriptor address register to find the last completed descriptor.
      If an interrupt is raised by an error, all descriptors in ld_running should not
      be seemed finished, or these unfinished descriptors in ld_running will be
      released wrongly.
      
      A simple way to reproduce:
      Enable dmatest first, then insert some bad descriptors which can trigger
      Programming Error interrupts before the good descriptors. Last, the good
      descriptors will be freed before they are processsed because of the exception
      intrerrupt.
      
      Note: the bad descriptors are only for simulating an exception interrupt.  This
      case can illustrate the potential risk in current fsl-dma very well.
      Signed-off-by: NHongbo Zhang <hongbo.zhang@freescale.com>
      Signed-off-by: NQiang Liu <qiang.liu@freescale.com>
      Signed-off-by: NIra W. Snyder <iws@ovro.caltech.edu>
      Signed-off-by: NVinod Koul <vinod.koul@intel.com>
      43452fad
    • H
      dmaengine: Freescale: add suspend resume functions for DMA driver · 14c6a333
      Hongbo Zhang 提交于
      This patch adds suspend and resume functions for Freescale DMA driver.
      Signed-off-by: NHongbo Zhang <hongbo.zhang@freescale.com>
      Signed-off-by: NVinod Koul <vinod.koul@intel.com>
      14c6a333
    • H
      dmaengine: Freescale: use spin_lock_bh instead of spin_lock_irqsave · 2baff570
      Hongbo Zhang 提交于
      The usage of spin_lock_irqsave() is a stronger locking mechanism than is
      required throughout the driver. The minimum locking required should be used
      instead. Interrupts will be turned off and context will be saved, it is
      unnecessary to use irqsave.
      
      This patch changes all instances of spin_lock_irqsave() to spin_lock_bh(). All
      manipulation of protected fields is done using tasklet context or weaker, which
      makes spin_lock_bh() the correct choice.
      Signed-off-by: NHongbo Zhang <hongbo.zhang@freescale.com>
      Signed-off-by: NQiang Liu <qiang.liu@freescale.com>
      Signed-off-by: NVinod Koul <vinod.koul@intel.com>
      2baff570
  3. 13 7月, 2014 2 次提交
  4. 12 7月, 2014 7 次提交
  5. 11 7月, 2014 12 次提交
  6. 10 7月, 2014 5 次提交
  7. 09 7月, 2014 3 次提交
    • Z
      ACPI / PNP: add soc_button_array device ID to PNP IDs list · c128c776
      Zhang Rui 提交于
      The soc_button_array PNP driver was introduced in 3.15.
      But in commit eec15edb (ACPI / PNP: use device ID list for
      PNPACPI device enumeration), when reworking the PNPACPI device
      enumeration, we missed the soc_button_array device ID.
      
      This results in a regression in 3.16-rc1 that soc_button_array
      pnp device fails to be enumerated.
      
      Fix the problem by adding soc_button_array device ID into the
      acpi_pnp scan handler's ID list.
      
      Fixes: eec15edb (ACPI / PNP: use device ID list for PNPACPI device enumeration)
      Signed-off-by: NZhang Rui <rui.zhang@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      c128c776
    • C
      drm/i915/vlv: T12 eDP panel timing enforcement during reboot · 01527b31
      Clint Taylor 提交于
      The panel power sequencer on vlv doesn't appear to accept changes to its
      T12 power down duration during warm reboots. This change forces a delay
      for warm reboots to the T12 panel timing as defined in the VBT table for
      the connected panel.
      
      Ver2: removed redundant pr_crit(), commented magic value for pp_div_reg
      
      Ver3: moved SYS_RESTART check earlier, new name for pp_div.
      
      Ver4: Minor issue changes
      
      Ver5: Move registration of reboot notifier to edp_connector_init,
            Added warning comment to handler about lack of PM notification.
      Signed-off-by: NClint Taylor <clinton.a.taylor@intel.com>
      Reviewed-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      01527b31
    • D
      drm/i915: Only unbind vgacon, not other console drivers · 1bb9e632
      Daniel Vetter 提交于
      The console subsystem only provides a function to switch to a given
      console, but we want to actually only switach away from vgacon.
      Unconditionally switching to the dummy console resulted in switching
      away from fbcon in multi-gpu setups when other gpu drivers are loaded
      before i915.
      
      Then either the reinitialization of fbcon when i915 registers its
      fbdev emulation or the teardown of the fbcon driver killed the
      machine. So only switch to the dummy console when it's required.
      
      Kudos to Chris for the original idea, I've only refined it a bit to
      still unregister vgacon even when it's currently unused.
      
      This regression has been introduced in
      
      commit a4de0526
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Thu Jun 5 16:20:46 2014 +0200
      
          drm/i915: Kick out vga console
      Reported-and-tested-by: NEd Tomlinson <edt@aei.ca>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: David Herrmann <dh.herrmann@gmail.com>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: NDavid Herrmann <dh.herrmann@gmail.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      1bb9e632