Commit graph

691,473 commits

Author SHA1 Message Date
Nishanth Menon
f971512c78 ARM: OMAP: DRA7: powerdomain data: Erratum i892 workaround: Disable core INA
Erratum i892 as will be documented in the upcoming G or later revision
of DRA7xx/ AM57xx errata documentation (SPRZ398F) states that L3 clock
needs to be kept active all the time to ensure that asymmetric aging
degradation is minimal and within the design allowed margin.

By allowing core domain to transition to INA and allowing L3 clock to be
turned off for extended periods of time, there is a risk of functional
issues and device failure as a result.

Ref: http://www.ti.com/lit/er/sprz429h/sprz429h.pdf

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-04-13 14:30:09 -07:00
Olof Johansson
60cf1d9957 Device Tree additions for LPC18xx platform
- CREG clock controller
  - Real Time Clock (RTC)
  - Analog peripherals (ADC/DAC)
  - Warning fixes for the new dtc compiler
 
 With the CREG clock controller in place it is now possible
 to enable the internal RTC on LPC18xx/43xx platforms. The
 analog peripherals (ADC/DAC) has also been added here and
 enabled on both the EA4357 dev kit and Hitex eval board.
 
 In addition to the new entries there are a fixes for the
 DT warnings generated by the new dtc.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQEcBAABCAAGBQJXAs9CAAoJEF5zSH4+/j/a6ZoIAKxH1719KAQ7QBAvegmeQxvJ
 qV9cp+zcg2mqbB8QtL1Bl0BH1E/BhjtI9lRia5tNe68z/reGePb7CSxC4aK5FfWs
 BEIk8Io3VWCjq+ZMc88VHSa2uJo/v4mxV5Lc3LquiJYtBZnnvf0u8f1pAE9lR021
 KgdkO0qWPeJUOEOghSZ4jwWTZBBtkxa+5WqOLwvM8lokFIHey0GBTcAIb77gOIqD
 27oU0YCo83xCOLUBlUZMHpLiYjQZtSfROJdysEYu1rn5hrL16G3Bj0TkdWMyw5Wf
 r5HC+qBBc2qqVK/CRZnYQFAOZlGUjrbMHdrjpzkILWYbsbV29XCymn4p/QDO6bo=
 =Y9wO
 -----END PGP SIGNATURE-----

Merge tag 'lpc18xx_dts_for_4.7' of https://github.com/manabian/linux-lpc into next/dt

Device Tree additions for LPC18xx platform
 - CREG clock controller
 - Real Time Clock (RTC)
 - Analog peripherals (ADC/DAC)
 - Warning fixes for the new dtc compiler

With the CREG clock controller in place it is now possible
to enable the internal RTC on LPC18xx/43xx platforms. The
analog peripherals (ADC/DAC) has also been added here and
enabled on both the EA4357 dev kit and Hitex eval board.

In addition to the new entries there are a fixes for the
DT warnings generated by the new dtc.

* tag 'lpc18xx_dts_for_4.7' of https://github.com/manabian/linux-lpc:
  dt-bindings: phy-lpc18xx-usb-otg: remove unit address from binding
  ARM: dts: lpc4350-hitex-eval: fix unit name warnings from dtc
  ARM: dts: lpc4357-ea4357: fix unit name warnings from dtc
  ARM: dts: lpc18xx: remove unit addresses from creg childs
  ARM: dts: armv7-m: add unit name to interrupt-controller
  ARM: dts: lpc4350-hitex-eval: add adc1
  ARM: dts: lpc4357-ea4357: add dac
  ARM: dts: lpc4357-ea4357: add adc0
  ARM: dts: lpc18xx: add dac node
  ARM: dts: lpc18xx: add adc nodes
  ARM: dts: lpc18xx: add rtc node
  ARM: dts: lpc18xx: add creg-clk node

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-04-13 14:29:51 -07:00
Olof Johansson
390dc69e22 Versatile DTS changes, baseline for the v4.7 series:
- Add CLCD panel nodes to PB1176 and PB11MPCore
 - Add a DT binding blurb for the Versatile IB2 syscon
 - Add DTS files for the (QEMU supported) RealView EB
   boards in all variants.
 - Add DTS files for the (QEMU supported) RealView PBA8
   and PBX-A9 board variants.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXAi1uAAoJEEEQszewGV1zrkkP/jdZuJXWIwf4Xa3lVFKtV1kq
 oX47F+TJ8eelfE4YGzSV5VG/hWDJHwy74nqI2VTPf/kfbyn6A7ZZyZGa/5lcqIL5
 7RkwUS5txxZKLdQmri2HjEBYQTZZGVZW4s6/7do4nHdqjtTrtoRkQd7SRqN9+Mgh
 NIwUjg3WecP4u/W4S/iQWnj3UxCOvQrKPEPb+2eeKW98gfmFwD6vZ/ck1CTh3pTe
 eSpdrPuipKAlmoSKnG6kpejdlJUyBcCkY4egD9BlFpiG2H7eoS+vK0VfGYwpLr6v
 Xi/qZwMOxbbdXnBalIVVN1MFtNjeBJABdmwA5QDvKWfIp/TRORwvxog2j4Dm4oE/
 JmsE+0Gab8TV8o2WBR78WS7fz68rnVvBAL35twi9eoveM9sNmKoEL+EybwtNKXj+
 7FcnWh6RPoRPh9XroNKuRpQNaH/MYzgJ1VNFafHUA7TxjcqqCVaIsp21CaF6LERu
 hiLhY/V3JlLDE7h0i23HwnIY5K2w7QyzBBXVZKkJ5F14vHvfdWX0htj50ykatcCo
 ic4EZMgd2gbTMF2K3IYXdDI+dlklhTM9TudkZTnnG4/6nnPhsn9vKfDAfBsFECP6
 TGZazkyCM6ExNzIgaRp+SC7/L2pnot7NHyjyqiUfmYvuesxeWV3391569a/2bGil
 2dwxNOoQV09pLItGPDUg
 =3eW6
 -----END PGP SIGNATURE-----

Merge tag 'versatile-dts-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into next/dt

Versatile DTS changes, baseline for the v4.7 series:
- Add CLCD panel nodes to PB1176 and PB11MPCore
- Add a DT binding blurb for the Versatile IB2 syscon
- Add DTS files for the (QEMU supported) RealView EB
  boards in all variants.
- Add DTS files for the (QEMU supported) RealView PBA8
  and PBX-A9 board variants.

* tag 'versatile-dts-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator:
  ARM: dts: realview: DT support for the PBA8 and PBX-A9
  ARM: dts: realview: support all the RealView EB board variants
  ARM: dts: realview: PB1176: define a standard VGA panel
  ARM: dts: realview: PB11MPCore: define a standard VGA panel
  Documentation/DT: add blurb for IB2 syscon to Versatile

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-04-13 14:12:29 -07:00
Yakir Yang
d549df4b22 ARM: dts: rockchip: add i2c nodes for RK3228 SoCs
This patch add the i2c dt nodes for rk3228 SoCs.

Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2016-04-13 22:55:17 +02:00
Laurent Pinchart
0efdf0f5ea [media] v4l: vsp1: Implement and use the subdev pad::init_cfg configuration
Turn the custom formats initialization function into a standard
pad::init_cfg handler and use it in subdevs instead of initializing
formats in the subdev open handler.

This makes the subdev open handler empty, so remove it.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:54:17 -03:00
Laurent Pinchart
613721265a [media] v4l: vsp1: Add race condition FIXME comment
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:53:40 -03:00
Laurent Pinchart
21b3d7365f [media] v4l: vsp1: Fix BRU try compose rectangle storage
Fix a typo that stored the try compose rectangle in the crop rectangle.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:53:06 -03:00
Laurent Pinchart
5243453472 [media] v4l: vsp1: Consolidate entity ops in a struct vsp1_entity_operations
Entities have two operations, a destroy operation stored directly in
vsp1_entity and a set_memory operation stored in a vsp1_rwpf_operations
structure. Move the two to a more generic vsp1_entity_operations
structure that will serve to implement additional operations.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:52:36 -03:00
Laurent Pinchart
823329dfee [media] v4l: vsp1: Move subdev initialization code to vsp1_entity_init()
Don't duplicate the code in every module driver, centralize it in a
single place.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:51:24 -03:00
Olof Johansson
4b051f925c Versatile cleanups for the v4.7 series:
- Dynamically detect and print HBI numbers in SoC sysfs
 - Hide the unused "pmu_device"
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXAi3IAAoJEEEQszewGV1z8IoQAMVpeZ5689bgHREtAK1IlA68
 KIh5Ydhkpic2QvkxaBPSxuU6PYlvQuG6RPDdfpxN+J3sskqK7kOzJkxzEbvVz/SH
 e1mJnDvvRYa+yg62/u1aBEafR+uaLBKL0FaD+nLs/BkO6J6Zb2qISqdZiKzfgbce
 BM1fRmx2+MmmIZ11VW0LFMOzTY05WKAmwyVmUEzC+rBXWIOIxIdqZWGEbaNSd0+M
 Wi07AGhK1Hxxxaj1Fm2Or4xequYd33FAk8/iHNAL1BUccHa2gShDrsBp3DbXChbP
 Y8AVsd5Lc+e9SW1/ZzAOudWpGqxLe7/TdjVbOMjXUqfDfNpadug2HI06G5rAM/dN
 abOSCm0CV65RSSdWuWKFl7v26sM4V7+w+XH5pXGU4zEwUyofIHsezzX+ZM8voHk2
 yxwXfXsKDvShgaqHtKbnKh5ouZorc68OmVuMoa3y/ei4Fr8JMZ+aEF9gfoLCAYx8
 xnba3zeT4MbgewvnRGkhuv9N/VpWeNIPVpFlBpM+tNVfVx8zKccO6uKiaycq6oFc
 N+qwTbDD5H6jflNInaBX9OlWx6bKjGnD0YGxq6oamjrbayOyl8Txf2OBE+mYUS28
 r4222jx5tTIfOAipLOlfMyORumdrOhk19azSmzUvxxZOkfHcix6hs8mfgoyfzfZa
 eki0IeVNIVWaHnnIi9xk
 =ZmNC
 -----END PGP SIGNATURE-----

Merge tag 'versatile-cleanup-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into next/cleanup

Versatile cleanups for the v4.7 series:
- Dynamically detect and print HBI numbers in SoC sysfs
- Hide the unused "pmu_device"

* tag 'versatile-cleanup-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator:
  ARM: realview: hide unused 'pmu_device' object
  soc: versatile: dynamically detect RealView HBI numbers

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-04-13 13:51:14 -07:00
Laurent Pinchart
351bbf99f2 [media] v4l: vsp1: Use display lists with the userspace API
Don't restrict display list usage to the DRM pipeline, use them
unconditionally. This prepares the driver to support the request API.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:50:21 -03:00
Laurent Pinchart
1216198935 [media] v4l: vsp1: Add header display list support
Display lists can operate in header or headerless mode. The headerless
mode is only available on WPF0, to be used with the display engine. All
other WPF instances can only use display lists in header mode.

Implement support for header mode to prepare for display list usage on
WPFs other than 0.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:47:50 -03:00
Olof Johansson
41f81a5100 Renesas ARM Based SoC Simple PM Bus Updates for v4.7
* Use ARCH_RENESAS in Kconfig
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXAcFLAAoJENfPZGlqN0++R4oP/0BRo8623i5ZvJvNRwa8nVqe
 BAEk4PMUK9mvPygb7vhZss+pcoU70adUImRkXoUScL6fsfgYob8vXLPqKPfykowj
 DT8TvMGkSLzjjdFkjROqULsVmtFtQvELcbLRocz4s4iXGtrvkbTdRVQ+OmKhk25M
 HsJTUEZxXtbaZARm1E5clUxZWqpX7DcIzl1qSwxo915gYrqJ2yfRmoCmAaZ+2PoL
 Jl8vfjRVmABdbRb+fT/B6IkO7EKkKSfN8cI0ybYqf9gvskz8wJ8Gcpx9kI+46N0Q
 Skt2MRPYm4iCTRLEem3K9URuCoCJB5G24KU6ZiF2ffuEVQyoySsAriVdCKKlNJDo
 WQgK0l1kZUSkZy5dLnsp16icPBltlDyUj5mmLX9f5dL2cwoTWvCx/wZHY9kEZ38c
 a0wdZUriS6xV+ltKUkVjHcxZMJVNSIHuvI+4nEhSQcYyyQj2RorZltlQ2YAQIqgw
 nIMYz3N6qdOtVGMbwuKT3WulUqX76LjVSBX2iXnF263JvgycRC5qPDrX/lTBY/v/
 sjMmn79qqG00srjNVXnilY4Nx1nYnkrwNZjtgejWIMEbG77ojEMNdmz3yUspiFcH
 PryxT7jpalaBX/WBxFrXXE6+g1JKzUgIbxT3M2i0ZWWdz3dMo+R4UfNERot2Oycx
 NClpiEXMfJPf7vSAjVdV
 =xdri
 -----END PGP SIGNATURE-----

Merge tag 'renesas-simple-pm-bus-for-v4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/drivers

Renesas ARM Based SoC Simple PM Bus Updates for v4.7

* Use ARCH_RENESAS in Kconfig

* tag 'renesas-simple-pm-bus-for-v4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  bus: simple-pm-bus: Use ARCH_RENESAS

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-04-13 13:47:19 -07:00
Laurent Pinchart
1bd0a1bd34 [media] v4l: vsp1: Fix 80 characters per line violations
Commit f7234138f1 ("v4l2-subdev: replace v4l2_subdev_fh by
v4l2_subdev_pad_config") introduced lots of 80 characters per line
violations. Fix them.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:46:24 -03:00
Laurent Pinchart
c9e645a534 [media] v4l: vsp1: Document calling context of vsp1_pipeline_propagate_alpha()
The function can only be called from a s_stream handler as it requires a
valid display list context (due to calling vsp1_uds_set_alpha() which
writes to module registers). Document the requirement.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:45:44 -03:00
Laurent Pinchart
2b09ee4093 [media] v4l: vsp1: Remove unneeded entity streaming flag
The flag is set but never read, remove it.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:45:08 -03:00
Laurent Pinchart
4d346be55d [media] v4l: vsp1: Don't configure RPF memory buffers before calculating offsets
The RPF source memory pointers need to be offset to take the crop
rectangle into account. Offsets are computed in the RPF stream start,
which can happen (when using the DRM pipeline) after calling the RPF
.set_memory() operation that programs the buffer addresses.

The .set_memory() operation tries to guard against the problem by
skipping programming of the registers when the module isn't streaming.
This will however only protect the first use of an RPF in a DRM
pipeline, as in all subsequent uses the module streaming flag will be
set and the .set_memory() operation will use potentially incorrect
offsets.

Fix this by allowing the caller to decide whether to program the
hardware immediately or just cache the addresses. While at it refactor
the memory set code and create a new vsp1_rwpf_set_memory() that cache
addresses and calls the .set_memory() operation to apply them to the
hardware.

As a side effect the driver now writes all three DMA address registers
regardless of the number of planes, and initializes unused addresses to
zero.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:43:57 -03:00
Laurent Pinchart
773abafe6f [media] v4l: vsp1: Enable display list support for the HS[IT], LUT, SRU and UDS
Those modules were left out of display list integration as they're not
used by the DRM pipeline. To prepare for display list support in non-DRM
pipelines use the module write API to set registers.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:42:45 -03:00
Laurent Pinchart
59d0b2bf1d [media] v4l: vsp1: Don't setup control handler when starting streaming
The control handler set operations don't program the hardware anymore,
there's thus no need to call them when starting the stream.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:42:45 -03:00
Laurent Pinchart
d884a8b2a5 [media] v4l: vsp1: sru: Don't program intensity in control set handler
The datasheet clearly states that all but a few registers can't be
modified when the device is running. Programming the intensity
parameters in the control set handler is thus prohibited. Program it
when starting the module instead.

This requires storing the intensity value internally as the module can
be started from the frame completion interrupt handler, and accessing
control values requires taking a mutex.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:42:44 -03:00
Laurent Pinchart
bd2fdd5aa9 [media] v4l: vsp1: rwpf: Don't program alpha value in control set handler
The datasheet clearly states that all but a few registers can't be
modified when the device is running. Programming the alpha value in
the control set handler is thus prohibited. Program it when starting the
module instead.

This requires storing the alpha value internally as the module can be
started from the frame completion interrupt handler, and accessing
control values requires taking a mutex.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:42:43 -03:00
Mauro Carvalho Chehab
5fb2107346 [media] vsp1: make vsp1_drm_frame_end static
As reported by smatch:
	drivers/media/platform/vsp1/vsp1_drm.c:39:6: warning: no previous prototype for 'vsp1_drm_frame_end' [-Wmissing-prototypes]
	 void vsp1_drm_frame_end(struct vsp1_pipeline *pipe)

Fixes: ef9621bcd6 ("[media] v4l: vsp1: Store the display list manager in the WPF")
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:41:55 -03:00
Laurent Pinchart
f22af945f7 [media] v4l: vsp1: bru: Don't program background color in control set handler
The datasheet clearly states that all but a few registers can't be
modified when the device is running. Programming the background color
in the control set handler is thus prohibited. Program it when starting
the module instead.

This requires storing the background color value internally as the
module can be started from the frame completion interrupt handler, and
accessing control values requires taking a mutex.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:36:38 -03:00
Laurent Pinchart
ef9621bcd6 [media] v4l: vsp1: Store the display list manager in the WPF
Each WPF can process display lists independently, move the manager to
the WPF to reflect that and prepare for display list support for non-DRM
pipelines.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:35:26 -03:00
Laurent Pinchart
c2dd2513ea [media] v4l: vsp1: Split display list manager from display list
This clarifies the API and prepares display list support for being used
to implement the request API.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:34:44 -03:00
Laurent Pinchart
f9df34f8cd [media] v4l: vsp1: Simplify frame end processing
The DRM pipeline, as it runs in automatic restart mode, never sees the
pipeline state set to VSP1_PIPELINE_STOPPING or VSP1_PIPELINE_STOPPED
when running the frame end interrupt handler. We can thus skip the
checks various checks in the handler and return immediately.

Similarly the DRM frame end handler calls vsp1_pipeline_run()
unnecessarily, as the state there is never VSP1_PIPELINE_STOPPED. Remove
the function call and the frame end handler is it's now empty.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:33:22 -03:00
Laurent Pinchart
7939fef4d3 [media] v4l: vsp1: Always setup the display list
Make sure display list usage is correctly disabled by always setting up
the corresponding registers, including when the display list feature
isn't used.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:32:16 -03:00
Laurent Pinchart
aa380ea0c5 [media] v4l: vsp1: Use pipeline display list to decide how to write to modules
This allows getting rid of the vsp1_device::use_dl field.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:31:22 -03:00
Laurent Pinchart
94d48e56d3 [media] v4l: vsp1: VSPD instances have no LUT on Gen3
Remove the HAS_LUT flag in the corresponding device information entry.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:29:20 -03:00
Laurent Pinchart
6b1446bc7c [media] v4l: vsp1: video: Fix coding style
Commit 54b5a749b4 ("[media] v4l: vsp1: Use media entity enumeration
interface") wasn't aligned with the driver coding style. Fix it by
renaming the rval variable to ret.

Furthermore shorten lines by accessing the media_device instance in a
more straightforward fashion.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:25:17 -03:00
Laurent Pinchart
c1741af7d1 [media] v4l: vsp1: drm: Include correct header file
The VSP1 DRM API is declared in <media/vsp1.h>, not <linux/vsp1.h>. Fix
it. This also reverts commit 18922936dc ("[media] vsp1_drm.h: add
missing prototypes") that added the same declarations in a different
header file.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:24:51 -03:00
Laurent Pinchart
fa369c9366 [media] v4l: vsp1: Fix vsp1_du_atomic_(begin|flush) declarations
The functions are void, make the declaration match the definition.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:24:13 -03:00
Laurent Pinchart
9b02cbb3ed [media] v4l: subdev: Add pad config allocator and init
Add a new subdev operation to initialize a subdev pad config array, and
a helper function to allocate and initialize the array. This can be used
by bridge drivers to implement try format based on subdev pad
operations.

Signed-off-by: Laurent Pinchart <laurent.pinchart@linaro.org>
Acked-by: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:23:37 -03:00
Jonas Rabenstein
e60ba933bc ARM: OMAP2+: remove redundant multiplatform checks
The directory arch/arm/mach-omap2 is only selected for compilation if
CONFIG_ARCH_OMAP2PLUS is selected. CONFIG_ARCH_OMAP2PLUS itself is a
silent option and all machines selecting this option are multiplatform
devices. As a consequence checks for CONFIG_ARCH_MULTIPLATFORM as well
as CONFIG_ARCH_OMAP2PLUS within that directory are superfluous and can
be removed.

Signed-off-by: Jonas Rabenstein <jonas.rabenstein@studium.uni-erlangen.de>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-04-13 13:22:52 -07:00
Laurent Pinchart
45b46879a7 [media] media: Rename is_media_entity_v4l2_io to is_media_entity_v4l2_video_device
All users of is_media_entity_v4l2_io() (the exynos4-is, omap3isp,
davince_vpfe and omap4iss drivers and the v4l2-mc power management code)
use the function to check whether entities are video_device instances,
either to ensure they can cast the entity to a struct video_device, or
to count the number of video nodes users.

The purpose of the function is thus to identify whether the media entity
instance is an instance of the video_device object, not to check whether
it can perform I/O. Rename it accordingly, we will introduce a more
specific is_media_entity_v4l2_io() check when needed.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:20:48 -03:00
Laurent Pinchart
b76a2a8cb6 [media] media: Add obj_type field to struct media_entity
Code that processes media entities can require knowledge of the
structure type that embeds a particular media entity instance in order
to cast the entity to the proper object type. This needs is shown by the
presence of the is_media_entity_v4l2_io and is_media_entity_v4l2_subdev
functions.

The implementation of those two functions relies on the entity function
field, which is both a wrong and an inefficient design, without even
mentioning the maintenance issue involved in updating the functions
every time a new entity function is added. Fix this by adding add an
obj_type field to the media entity structure to carry the information.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:20:22 -03:00
Simon Horman
1d260123cb [media] soc_camera: rcar_vin: add device tree support for r8a7792
Simply document new compatibility string.
As a previous patch adds a generic R-Car Gen2 compatibility string
there appears to be no need for a driver updates.

By documenting this compat string it may be used in DTSs shipped, for
example as part of ROMs. It must be used in conjunction with the Gen2
fallback compat string. At this time there are no known differences between
the r8a7792 IP block and that implemented by the driver for the Gen2
fallback compat string. Thus there is no need to update the driver as the
use of the Gen2 fallback compat string will activate the correct code in
the current driver while leaving the option for r8a7792-specific driver
code to be activated in an updated driver should the need arise.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:18:15 -03:00
Yoshihiro Kaneko
bd546882ff [media] soc_camera: rcar_vin: add R-Car Gen 2 and 3 fallback compatibility strings
Add fallback compatibility string for R-Car Gen 1 and 2.

In the case of Renesas R-Car hardware we know that there are generations of
SoCs, e.g. Gen 2 and 3. But beyond that it's unclear what the relationship
between IP blocks might be. For example, I believe that r8a7790 is older
than r8a7791 but that doesn't imply that the latter is a descendant of the
former or vice versa.

We can, however, by examining the documentation and behaviour of the
hardware at run-time observe that the current driver implementation appears
to be compatible with the IP blocks on SoCs within a given generation.

For the above reasons and convenience when enabling new SoCs a
per-generation fallback compatibility string scheme being adopted for
drivers for Renesas SoCs.

Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:17:56 -03:00
Simon Horman
345900be58 [media] sh_mobile_ceu_camera: Remove dependency on SUPERH
A dependency on ARCH_SHMOBILE seems to be the best option for
sh_mobile_ceu_camera:

* For Super H based SoCs: sh_mobile_ceu is used on SH_AP325RXA, SH_ECOVEC,
  SH_KFR2R09, SH_MIGOR, and SH_7724_SOLUTION_ENGINE which depend on
  CPU_SUBTYPE_SH7722, CPU_SUBTYPE_SH7723, or CPU_SUBTYPE_SH7724 which all
  select ARCH_SHMOBILE.

* For ARM Based SoCs: Since the removal of legacy (non-multiplatform)
  support this driver has not been used by any Renesas ARM based SoCs.
  The Renesas ARM based SoCs currently select ARCH_SHMOBILE, however,
  it is planned that this will no longer be the case.

This is part of an ongoing process to migrate from ARCH_SHMOBILE to
ARCH_RENESAS the motivation for which being that RENESAS seems to be a more
appropriate name than SHMOBILE for the majority of Renesas ARM based SoCs.

Thanks to Geert Uytterhoeven for analysis and portions of the
change log text.

Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:17:15 -03:00
Simon Horman
f343f8484a [media] rcar_vin: Use ARCH_RENESAS
Make use of ARCH_RENESAS in place of ARCH_SHMOBILE.

This is part of an ongoing process to migrate from ARCH_SHMOBILE to
ARCH_RENESAS the motivation for which being that RENESAS seems to be a more
appropriate name than SHMOBILE for the majority of Renesas ARM based SoCs.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:13:22 -03:00
Guennadi Liakhovetski
20674818c4 [media] au0828: remove unused macro
An V4L2_CID_PRIVATE_SHARPNESS macro is defined in the au0828 driver, but
never used. Remove it.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:13:00 -03:00
Dan Carpenter
cc7666a394 [media] m5mols: potential uninitialized variable
Smatch complains that there are some paths where "status" isn't
initialized.  The code does assume that m5mols_read_u8() can fail so it
seems as if Smatch is correct.

Let's initialize it to REG_ISO_AUTO which is zero.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:10:59 -03:00
Dan Carpenter
60587bd068 [media] cx23885: uninitialized variable in cx23885_av_work_handler()
The "handled" variable could be uninitialized if the
interrupt_service_routine() call back hasn't been implimented or if it
has been implemented but doesn't initialize "handled" to zero at the
start.  For example, adv76xx_isr() only sets "handled" to true.

Fixes: 44b153ca63 ('[media] m5mols: Add ISO sensitivity controls')

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:10:32 -03:00
Dan Carpenter
e4bccada44 [media] am437x-vpfe: fix an uninitialized variable bug
If we are doing V4L2_FIELD_NONE then "ret" is used uninitialized.

Fixes: 417d2e507e ('[media] media: platform: add VPFE capture driver support for AM437X')

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:09:55 -03:00
Arnd Bergmann
0fb5040011 [media] am437x-vfpe: fix typo in vpfe_get_app_input_index
gcc-6 points out an obviously silly comparison in vpfe_get_app_input_index():

drivers/media/platform/am437x/am437x-vpfe.c: In function 'vpfe_get_app_input_index':
drivers/media/platform/am437x/am437x-vpfe.c:1709:27: warning: self-comparison always evaluats to true [-Wtautological-compare]
       client->adapter->nr == client->adapter->nr) {
                           ^~

This was introduced in a slighly incorrect conversion, and it's
clear that the comparison was meant to compare the iterator
to the current subdev instead, as we do in the line above.

Fixes: d37232390f ("[media] media: am437x-vpfe: match the OF node/i2c addr instead of name")

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:09:31 -03:00
Arnd Bergmann
c16352b5b3 [media] cobalt: add MTD dependency
The cobalt driver fails to link when it is built-in and MTD is disabled or a
loadable module:

drivers/media/built-in.o: In function `cobalt_flash_probe':
:(.text+0xb8b46): undefined reference to `mtd_device_parse_register'
:(.text+0xb8b88): undefined reference to `do_map_probe'
drivers/media/built-in.o: In function `cobalt_flash_remove':
:(.text+0xb8bb4): undefined reference to `mtd_device_unregister'
:(.text+0xb8bbe): undefined reference to `map_destroy'

This adds a Kconfig dependency to ensure we can call the API.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:08:51 -03:00
Tiffany Lin
baf43c6eac [media] media: v4l2-compat-ioctl32: fix missing reserved field copy in put_v4l2_create32
In v4l2-compliance utility, test VIDIOC_CREATE_BUFS will check whether reserved
filed of v4l2_create_buffers filled with zero
Reserved field is filled with zero in v4l_create_bufs.
This patch copy reserved field of v4l2_create_buffer from kernel space to user
space

Signed-off-by: Tiffany Lin <tiffany.lin@mediatek.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Cc: <stable@vger.kernel.org>      # for v3.19 and up
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:08:30 -03:00
Sudip Mukherjee
2a518f8e87 [media] dw2102: fix unreleased firmware
On the particular case when the product id is 0x2101 we have requested
for a firmware but after processing it we missed releasing it.

Signed-off-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:05:48 -03:00
Mauro Carvalho Chehab
ccc5429f7b [media] cx231xx: return proper error codes at cx231xx-417.c
Instead of returning -1, return valid error codes.

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:02:20 -03:00
Linus Torvalds
90de6800c2 Fixes for two arch/sh build regressions that appeared in 4.6-rc1, one
introduced by me, and one caused by changes elsewhere.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQEcBAABAgAGBQJXDaFFAAoJELcQ+SIFb8HaqYQH/2HE4XRXv7tYULlyTiQENFNc
 m7v8R6D9KLWYlJzrDl5UGfbRDnGHzVFpyzuyJrsEhpymTtoeWif3/96H/VTWKrPq
 h1obfuVH/p8bfodnTnsWqEJa/BdmAvyaeQZ5Ec8ibfYYAOLiUuKDwFI46kZ22m2r
 m13dYoNw0F+rjYjAtlHjX3M2Sq5DvKHLN/STONRtTXxE3FVHOGCQ6SGuasd9JkEr
 rTGRVE2Rkj7Q3BNCOK3eu0+LFkxJFE41nVdk2d/iRRyt9uwXveN8Yk5V/kX/oINk
 1zXfGmtpOiIMs2zH5oNrHwXqWBfEzEXH7XNJOoGVrAzg/6JxMWbQXbDwMyUPjCA=
 =qnfN
 -----END PGP SIGNATURE-----

Merge tag 'sh-fixes-4.6-rc1' of git://git.libc.org/linux-sh

Pull arch/sh fixes from Rich Felker:
 "Fixes for two arch/sh build regressions that appeared in 4.6-rc1, one
  introduced by me, and one caused by changes elsewhere"

* tag 'sh-fixes-4.6-rc1' of git://git.libc.org/linux-sh:
  sh: fix function signature of cpu_coregroup_mask to match pointer type
  sh: fix smp-shx3 build regression from removal of arch localtimer
2016-04-13 13:02:06 -07:00