1. 19 9月, 2016 1 次提交
  2. 29 8月, 2016 2 次提交
    • S
      gpu: ipu-v3: Add FSU channel linking support · ac4708fa
      Steve Longerbeam 提交于
      Adds functions to link and unlink source channels to sink
      channels in the FSU:
      
      int ipu_fsu_link(struct ipu_soc *ipu, int src_ch, int sink_ch);
      int ipu_fsu_unlink(struct ipu_soc *ipu, int src_ch, int sink_ch);
      
      The channels numbers are usually IDMAC channels, but they can also be
      channels that do not transfer data to or from memory. The following
      convenience functions can be used in place of ipu_fsu_link/unlink()
      when both source and sink channels are IDMAC channels:
      
      int ipu_idmac_link(struct ipuv3_channel *src, struct ipuv3_channel *sink);
      int ipu_idmac_unlink(struct ipuv3_channel *src, struct ipuv3_channel *sink);
      
      So far the following links are supported:
      
      IPUV3_CHANNEL_IC_PRP_ENC_MEM -> IPUV3_CHANNEL_MEM_ROT_ENC
      PUV3_CHANNEL_IC_PRP_VF_MEM   -> IPUV3_CHANNEL_MEM_ROT_VF
      IPUV3_CHANNEL_IC_PP_MEM      -> IPUV3_CHANNEL_MEM_ROT_PP
      IPUV3_CHANNEL_CSI_DIRECT     -> IPUV3_CHANNEL_CSI_VDI_PREV
      
      More links can be added to the fsu_link_info[] array.
      Signed-off-by: NSteve Longerbeam <steve_longerbeam@mentor.com>
      Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de>
      ac4708fa
    • S
      gpu: ipu-v3: Add Video Deinterlacer unit · 2d2ead45
      Steve Longerbeam 提交于
      Adds the Video Deinterlacer (VDIC) unit.
      Signed-off-by: NSteve Longerbeam <steve_longerbeam@mentor.com>
      Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de>
      2d2ead45
  3. 08 8月, 2016 2 次提交
  4. 23 5月, 2016 1 次提交
    • P
      drm/imx: Match imx-ipuv3-crtc components using device node in platform data · 310944d1
      Philipp Zabel 提交于
      The component master driver imx-drm-core matches component devices using
      their of_node. Since commit 950b410dd1ab ("gpu: ipu-v3: Fix imx-ipuv3-crtc
      module autoloading"), the imx-ipuv3-crtc dev->of_node is not set during
      probing. Before that, of_node was set and caused an of: modalias to be
      used instead of the platform: modalias, which broke module autoloading.
      
      On the other hand, if dev->of_node is not set yet when the imx-ipuv3-crtc
      probe function calls component_add, component matching in imx-drm-core
      fails. While dev->of_node will be set once the next component tries to
      bring up the component master, imx-drm-core component binding will never
      succeed if one of the crtc devices is probed last.
      
      Add of_node to the component platform data and match against the
      pdata->of_node instead of dev->of_node in imx-drm-core to work around
      this problem.
      
      Cc: <stable@vger.kernel.org> # 4.4.x
      Fixes: 950b410dd1ab ("gpu: ipu-v3: Fix imx-ipuv3-crtc module autoloading")
      Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de>
      Tested-by: NFabio Estevam <fabio.estevam@nxp.com>
      Tested-by: NLothar Waßmann <LW@KARO-electronics.de>
      Tested-by: NHeiko Schocher <hs@denx.de>
      Tested-by: NChris Ruehl <chris.ruehl@gtsys.com.hk>
      310944d1
  5. 05 5月, 2016 1 次提交
  6. 10 2月, 2016 2 次提交
  7. 24 11月, 2015 2 次提交
  8. 31 10月, 2015 2 次提交
  9. 16 9月, 2015 2 次提交
    • R
      gpu/drm: Kill off set_irq_flags usage · ca0141de
      Rob Herring 提交于
      set_irq_flags is ARM specific with custom flags which have genirq
      equivalents. Convert drivers to use the genirq interfaces directly, so we
      can kill off set_irq_flags. The translation of flags is as follows:
      
      IRQF_VALID -> !IRQ_NOREQUEST
      IRQF_PROBE -> !IRQ_NOPROBE
      IRQF_NOAUTOEN -> IRQ_NOAUTOEN
      
      For IRQs managed by an irqdomain, the irqdomain core code handles clearing
      and setting IRQ_NOREQUEST already, so there is no need to do this in
      .map() functions and we can simply remove the set_irq_flags calls. Some
      users also modify IRQ_NOPROBE and this has been maintained although it
      is not clear that is really needed. There appears to be a great deal of
      blind copy and paste of this code.
      Signed-off-by: NRob Herring <robh@kernel.org>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: David Airlie <airlied@linux.ie>
      Cc: dri-devel@lists.freedesktop.org
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      ca0141de
    • T
      genirq: Remove irq argument from irq flow handlers · bd0b9ac4
      Thomas Gleixner 提交于
      Most interrupt flow handlers do not use the irq argument. Those few
      which use it can retrieve the irq number from the irq descriptor.
      
      Remove the argument.
      
      Search and replace was done with coccinelle and some extra helper
      scripts around it. Thanks to Julia for her help!
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Cc: Julia Lawall <Julia.Lawall@lip6.fr>
      Cc: Jiang Liu <jiang.liu@linux.intel.com>
      bd0b9ac4
  10. 16 7月, 2015 1 次提交
  11. 10 7月, 2015 1 次提交
  12. 18 6月, 2015 1 次提交
    • R
      GPU: ipu: Fix race in installing IPU chained IRQ handler · 86f5e733
      Russell King 提交于
      The IPU code was installing its chained interrupt handler (which enables
      the interrupt) before it was setting its data, which provokes an oops on
      kexec.  Fix this by converting to irq_set_chained_handler_and_data().
      
      [drm] Initialized drm 1.1.0 20060810
      imx-drm display-subsystem: parent device of /soc/aips-bus@02000000/ldb@020e0008/lvds-channel@1 is not available
      imx-drm display-subsystem: parent device of /soc/aips-bus@02000000/ldb@020e0008/lvds-channel@1 is not available
      Unable to handle kernel NULL pointer dereference at virtual address 00000070
      pgd = c0004000
      [00000070] *pgd=00000000
      Internal error: Oops: 5 [#1] SMP ARM
      Modules linked in:
      CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.1.0-rc6+ #1693
      Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
      task: d74c0000 ti: d74aa000 task.ti: d74aa000
      PC is at ipu_irq_handle+0x28/0xd8
      LR is at ipu_irq_handler+0x6c/0xc0
      pc : [<c03c56d8>]    lr : [<c03c58a4>]    psr: 200001d3
      sp : d74abbd0  ip : d74abc00  fp : d74abbfc
      r10: 000001e0  r9 : c0085154  r8 : 00000009
      r7 : 00000000  r6 : 00000000  r5 : d74abc04  r4 : c0a6b6a8
      r3 : 00000000  r2 : 00000009  r1 : d74abc04  r0 : 00000000
      Flags: nzCv  IRQs off  FIQs off  Mode SVC_32  ISA ARM  Segment kernel
      Control: 10c5387d  Table: 10004059  DAC: 00000015
      Process swapper/0 (pid: 1, stack limit = 0xd74aa210)
      Stack: (0xd74abbd0 to 0xd74ac000)
      Backtrace:
      [<c03c56b0>] (ipu_irq_handle) from [<c03c58a4>] (ipu_irq_handler+0x6c/0xc0)
      [<c03c5838>] (ipu_irq_handler) from [<c0080154>] (generic_handle_irq+0x28/0x38)
      [<c008012c>] (generic_handle_irq) from [<c0080288>] (__handle_domain_irq+0x5c/0xb8)
      [<c008022c>] (__handle_domain_irq) from [<c0009428>] (gic_handle_irq+0x28/0x68)
      [<c0009400>] (gic_handle_irq) from [<c0013dc4>] (__irq_svc+0x44/0x5c)
      [<c07638fc>] (_raw_spin_unlock_irqrestore) from [<c00803bc>] (__irq_put_desc_unlock+0x1c/0x40)
      [<c00803a0>] (__irq_put_desc_unlock) from [<c00841f4>] (__irq_set_handler+0x54/0x5c)
      [<c00841a0>] (__irq_set_handler) from [<c03c5f48>] (ipu_probe+0x29c/0x708)
      [<c03c5cac>] (ipu_probe) from [<c03d3848>] (platform_drv_probe+0x50/0xac)
      [<c03d37f8>] (platform_drv_probe) from [<c03d1f3c>] (driver_probe_device+0x1d4/0x278)
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Cc: Alexandre Courbot <gnurou@gmail.com>
      Cc: Hans Ulli Kroll <ulli.kroll@googlemail.com>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Cc: Lee Jones <lee.jones@linaro.org>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Link: http://lkml.kernel.org/r/E1Z4z02-0002SI-Br@rmk-PC.arm.linux.org.ukSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      86f5e733
  13. 27 1月, 2015 1 次提交
  14. 02 9月, 2014 15 次提交
  15. 18 8月, 2014 2 次提交
  16. 04 6月, 2014 4 次提交