android_kernel_motorola_sm6375/include/media
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Hans Verkuil ea5c8ef296 media: cec-pin: add low-level pin hardware support
Add support for CEC hardware that relies on low-level pin polling or
GPIO interrupts.

One example is the Allwinner SoC. But any GPIO-based CEC implementation can
use this as well.

A GPIO implementation is very suitable as well for debugging: it can use
interrupts to detect state changes and report it. Userspace can then verify
if the bus traffic is correct. This also makes error injection possible.

The disadvantage is that it is hard to get the timings right since linux
isn't a hard realtime system.

In general on an idle system it works quite well, but under load the timer
will miss its mark every so often.

The debugfs file /sys/kernel/debug/cec/cecX/status gives some statistics
with respect to the timer overruns.

When the adapter is unconfigured and the low-level driver supports
interrupts, then the interrupt will be used to detect changes. This should
be quite accurate. But when the adapter is configured a hrtimer has to be
used.

The hrtimer implements a state machine where for each state the code will
read the bus or drive the bus and go on to the next state. It will re-arm
the timer with a delay based on the next state.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Reviewed-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-07-18 12:57:18 -03:00
..
blackfin [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
davinci [media] davinci: vpif_capture: get subdevs from DT when available 2017-06-07 12:17:12 -03:00
drv-intf [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
i2c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
cec-notifier.h media fixes for v4.12-rc4 2017-06-07 07:50:49 -03:00
cec-pin.h media: cec-pin: add low-level pin hardware support 2017-07-18 12:57:18 -03:00
cec.h media: cec-pin: add low-level pin hardware support 2017-07-18 12:57:18 -03:00
i2c-addr.h
imx.h [media] media: Add i.MX media core driver 2017-06-20 07:30:38 -03:00
lirc.h
lirc_dev.h [media] lirc_dev: cleanup header 2017-06-06 09:07:26 -03:00
media-device.h [media] media: Protect enable_source and disable_source handler code paths 2017-02-03 07:39:35 -02:00
media-devnode.h [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
media-entity.h [media] media: entity: Add media_entity_get_fwnode_pad() function 2017-06-20 09:09:37 -03:00
rc-core.h [media] rc-core: cleanup rc_register_device pt2 2017-06-13 13:55:01 -03:00
rc-map.h [media] mce_kbd: add encoder 2017-03-24 08:24:41 -03:00
rcar-fcp.h v4l: rcar-fcp: Add an API to retrieve the FCP device 2017-06-09 12:25:36 +01:00
soc_camera.h [media] v4l: soc-camera: Remove videobuf1 support 2017-03-22 11:27:24 -03:00
tuner-types.h
tuner.h
tveeprom.h [media] tveeprom: get rid of documentation of an unused parameter 2017-04-05 15:37:06 -03:00
v4l2-async.h [media] v4l: Switch from V4L2 OF not V4L2 fwnode API 2017-06-06 09:58:16 -03:00
v4l2-clk.h
v4l2-common.h
v4l2-ctrls.h [media] v4l2-ctrls.c: Implement unlocked variant of v4l2_ctrl_handler_setup() 2017-06-07 08:38:12 -03:00
v4l2-dev.h
v4l2-device.h
v4l2-dv-timings.h
v4l2-event.h [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
v4l2-fh.h [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
v4l2-flash-led-class.h [media] v4l: flash led class: Use fwnode_handle instead of device_node in init 2017-06-06 09:27:51 -03:00
v4l2-fwnode.h [media] v4l: fwnode: Support generic fwnode for parsing standardised properties 2017-06-06 09:25:16 -03:00
v4l2-image-sizes.h
v4l2-ioctl.h [media] v4l: Add metadata buffer type and format 2017-04-14 22:37:02 -03:00
v4l2-mc.h
v4l2-mediabus.h
v4l2-mem2mem.h [media] media: v4l2-mem2mem: extend m2m APIs for more accurate buffer management 2017-06-20 08:53:39 -03:00
v4l2-rect.h
v4l2-subdev.h [media] v4l: subdev: tolerate null in media_entity_to_v4l2_subdev 2017-06-08 16:55:25 -03:00
v4l2-tpg-colors.h
v4l2-tpg.h
videobuf-core.h
videobuf-dma-contig.h
videobuf-dma-sg.h
videobuf-dvb.h
videobuf-vmalloc.h
videobuf2-core.h [media] vb2: Fix queue_setup() callback description 2017-04-05 15:11:07 -03:00
videobuf2-dma-contig.h
videobuf2-dma-sg.h
videobuf2-dvb.h
videobuf2-memops.h [media] vb2: convert vb2_vmarea_handler refcount from atomic_t to refcount_t 2017-04-05 15:31:57 -03:00
videobuf2-v4l2.h
videobuf2-vmalloc.h
vsp1.h v4l: vsp1: Add API to map and unmap DRM buffers through the VSP 2017-06-09 12:25:38 +01:00