aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2020-04-07Merge branch 'linuxtv' into cec-conncec-connHans Verkuil2-11/+68
2020-04-07cec-ctl: add physical address sanity checksHans Verkuil1-2/+28
During the stress tests make sure the physical address is sane, i.e. never 0.0.0.0 and it is always the same. I.e. if it was 1.0.0.0 in one test iteration and in the next it is 2.0.0.0, then that's a fail. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-04-07cec-ctl: improve wait_for_pwr_stateHans Verkuil1-8/+39
If, while waiting for Standby, the HPD is pulled low, then do not immediately assume the device is in standby, instead wait for two consecutive low HPDs before reporting that the device is in standby. Also, if from the initial test it is clear that the device keeps the HPD high while in standby, ignore low HPDs as a sign of the device being in standby. Background: most displays keep the HPD high when in standby, but some pull it low to save energy. So a low HPD indicates that the display is in standby for that second category. However, often the HPD is pulled low for a short while when doing a power state transition, so just detecting a low HPD is not enough to decide a display is in standby. Instead wait for two consecutive low HPDs before making that decision. In addition, a low HPD doesn't indicate standby at all for the first class of displays and should just be ignored as a standby indicator. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-03-30keytable: use input_event properlyRosen Penev1-1/+1
It does not use time_t under musl when time_t is 64-bit. The struct has compatibility defines. Instead of using time_t directly, use those defines. Fixes compilation under musl 1.2.0 under 32-bit OSes. Signed-off-by: Rosen Penev <rosenp@gmail.com> Signed-off-by: Sean Young <sean@mess.org>
2020-03-26Merge branch 'linuxtv' into cec-connHans Verkuil2-2/+5
2020-03-26cec-follower: check both CEC_CAP_PHYS_ADDR and _CONNECTOR_INFOHans Verkuil1-1/+3
cec-follower bails out if the physical address is invalid and CEC_CAP_PHYS_ADDR is set. But it should also check that CEC_CAP_CONNECTOR_INFO is not set. If both capabilities are set than the device receives the physical address from the corresponding connector. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-03-25test-media: postpone the dmesg commandHans Verkuil1-1/+2
Make sure test-media is called as root before running dmesg since this may require root permissions. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-03-24Merge branch 'linuxtv' into cec-connHans Verkuil2-22/+40
2020-03-23cec-ctl: show | instead of e or EHans Verkuil1-4/+3
When a incorrect state transition is seen, log that as '|' instead of 'e' or 'E' which was not very clear. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-03-23cec-ctl: show timeouts vs NacksHans Verkuil1-2/+6
In the powercycle stress test output it was not clear if a transmit failed (was nacked) or if there was no reply (timeout). It now shows timeouts with 'T'. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-03-23cec-ctl: add min-sleep suboptionHans Verkuil2-16/+31
Add the min-sleep suboption for the powercycle stress test: the test will sleep for a random period between min-sleep and max-sleep before attempting the next power transition. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-03-21cec: add support to list/set connectorsHans Verkuil2-6/+91
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-03-21cec-ctl: check for incorrect state transitionsHans Verkuil1-3/+5
When stress testing power cycling, check for incorrect state transitions (i.e. TO_ON when you are really going to standby) and report that with 'e' or 'E'. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-03-20cec-compliance: check for invalid transient power statesHans Verkuil2-0/+10
Check in poll_stable_power_status() if the transient power state is correct, i.e. if you got from STANDBY to ON, then the transient state should be TO_ON, not TO_STANDBY. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-03-19cec-ctl: introduce and use transmit_msg_retry()Hans Verkuil1-29/+31
Some transmits should be retried if ENONET is returned or EINVAL and the initiator was Unregistered. Add a new function for that and use that in the stress tests. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-03-18cec-ctl: don't transmit IMAGE_VIEW_ON every secondHans Verkuil1-15/+0
If the HPD was low, then the power cycle stress tests would transmit an IMAGE_VIEW_ON message every second. It shouldn't do this: the --test-power-cycle already repeats IMAGE_VIEW_ON once if the first attempt failed, and --stress-test-power-cycle now has the 'repeats' sub-option if more attempts are needed. But for a properly designed display multiple attempts should not be needed. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-03-18v4l2-compliance: fix weird formatting with -fHans Verkuil1-3/+1
The 'Stride 3840, Field None: OK' messages were much too far to the right. Fix this so it is formatted nicely again: Stream using all formats: test MMAP for Format RG10, Frame Size 1920x1080: Stride 3840, Field None: OK Stride 3904, Field None: OK test MMAP for Format XR24, Frame Size 1920x1080: Stride 7680, Field None: OK Stride 7744, Field None: OK Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-03-17cec-ctl: set wakeup_la correctly and handle ENONET & EINVAL in stress testsHans Verkuil1-21/+44
The wakeup_la was set inside the stress test loops instead of setting it at the start: at the point the display is in standby and the LA will either be a valid LA or it is invalid, indicating that the HPD is low when in standby. In that case Image View On can be called with LA Unregistered (15) since we don't know the LA. Once the display wakes up and a valid LA is found, use that LA for all future Image View On messages. Some transmits can also return ENONET (either the HPD is low, or the adapter is still configuring) or EINVAL (Image View On with LA 15 only) that are now logged, but ignored. These errors can happen in this test. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-03-17Revert "cec-ctl: handle ENONET errors"Hans Verkuil1-12/+0
The idea was fine, but it was done at a too-low level. Revert this, then work on a proper fix. This reverts commit 0b239af2ca93726b63dfa9c64a8622644f898a25.
2020-03-16cec-ctl: handle ENONET errorsHans Verkuil1-0/+12
If a cec ioctl returns ENONET (i.e. the CEC adapter is in the process of configuring itself), then wait 1 second and retry. This error was seen during a stress test run, but it is really not an error the first time you see this. If it happens again after a second then something is wrong and it is OK to return an error. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
2020-03-13cec-ctl: added polls suboption to --stress-test-power-cycleHans Verkuil2-10/+16
By default this stress test tried to poll for a power state change for up to 50 seconds. This is too pessimistic and the default has been changed to 30 seconds. In addition a new <polls> suboption was added to change the number of polls, just like was done with the --test-power-cycle option. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-03-12cec-ctl: add 'repeats' suboption to --stress-test-power-cycleHans Verkuil2-122/+167
Some displays require multiple attempts to wake up a display or put it into standby. With the 'repeats' sub-option you can have the test repeat the power toggle attempt. If it is necessary to use this sub-option, then that indicates a problem with the display. But for testing it is useful to be able to use this sub-option. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-03-12Add keymap for Samsung AK59-00125A remoteSean Young1-0/+69
Signed-off-by: Sean Young <sean@mess.org>
2020-03-12keytable: new samsung36 bpf decoderSean Young2-1/+137
Signed-off-by: Sean Young <sean@mess.org>
2020-03-12keytable: support 64 bit scancodesSean Young3-29/+59
Signed-off-by: Sean Young <sean@mess.org>
2020-03-10v4l2-compliance: fix typo: v4l2-ctl -> v4l2-complianceHans Verkuil1-1/+1
Fix a copy-and-paste error in Makefile.am. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-03-10v4l2-ctl/compliance-32: fix when configuring from another dirHans Verkuil2-6/+6
Allow building in a build directory by setting the right dependencies and paths. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-03-10v4l2-compliance: fix 32 bit warningsHans Verkuil1-3/+3
Use %zd where needed. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-03-10test-media: add -32 optionHans Verkuil1-53/+68
With this option test-media will use v4l2-ctl-32 and v4l2-compliance-32 in order to do the tests. This will test the 32-to-64 bit compat layer in the kernel. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-03-09v4l-utils: fix autoconf/automake errorsHans Verkuil3-4/+9
I missed some autoconf/automake errors that I introduced in the previous patch. Hopefully this is now working properly. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-03-09v4l-utils: add --enable-v4l2-compliance/ctl-32 optionHans Verkuil5-3/+59
Add --enable-v4l2-compliance-32 and --enable-v4l2-ctl-32 options to the configure script. If enabled, and gcc/g++ multilib is installed, then 32 bit variants of these utilities are built in order to test the 32-to-64 kernel compat layer. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-03-09sync with latest media_tree masterHans Verkuil12-84/+441
Sync the kernel headers to the latest media_tree master. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-03-04cec-compliance: improve system_info_give_features()Hans Verkuil1-5/+6
Check the features using what was returned, not what was stored from the initial check. This helps catching errors sooner. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-02-27Fix build failure on s390xSean Young1-0/+3
See: https://bugzilla.redhat.com/show_bug.cgi?id=1800228 /usr/bin/ld: .libs/libdvbv5_la-dvb-fe.o:(.bss+0x8): multiple definition of `delivery_system_name'; .libs/libdvbv5_la-dvb-v5.o:/builddir/build/BUILD/v4l-utils-1.18.0/lib/libdvbv5/dvb-v5.h:29: first defined here /usr/bin/ld: .libs/libdvbv5_la-dvb-fe.o:(.bss+0xa8): multiple definition of `dvb_v5_name'; .libs/libdvbv5_la-dvb-v5.o:/builddir/build/BUILD/v4l-utils-1.18.0/lib/libdvbv5/dvb-v5.h:28: first defined here /usr/bin/ld: .libs/libdvbv5_la-dvb-fe.o:(.rodata+0x3ec): multiple definition of `fe_bandwidth_name'; .libs/libdvbv5_la-dvb-v5.o:/builddir/build/BUILD/v4l-utils-1.18.0/lib/libdvbv5/dvb-v5.h:20: first defined here delivery_system_name etc are being defined both in lib/libdvbv5/dvb-v5.c and lib/libdvbv5/dvb-v5.h. Signed-off-by: Sean Young <sean@mess.org> Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
2020-02-26Fix GCC 10 / -fno-commonDavid Seifert2-14/+14
* GCC 10 switches its default symbol emission mode to cause linker errors when an object is defined more than once. Bug: https://bugs.gentoo.org/706756 Signed-off-by: David Seifert <soap@gentoo.org> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-02-25v4l2-compliance: fix assert on only read/write-only controlsPhilipp Zabel1-0/+2
If the driver only contains read-only (or write-only) controls, total_vec is empty. In that case return immediately instead of trying to access total_vec[0]. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-02-24v4l2-compliance: fix userptr buffer checksHans Verkuil1-6/+7
The checks against buffer overruns were incorrect, leading to false warnings. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-02-22v4l2-compliance: fix bug/improve testing fillerHans Verkuil1-5/+38
The test for the filler bytes at the end of a buffer had a bug that caused it to fail. It now also keeps track of the bytesused values to deal with variable length buffers and checks that as well, although it will only warn if post-max-bytesused values have been overwritten, since that is allowed (if weird). Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-02-21v4l2-compliance: improve USERPTR streaming testsHans Verkuil1-2/+52
Verify that no memory before/after the actual buffer was written. This helps testing flaky DMA engines that say they can do USERPTR with contiguous or scatter-gather DMA, but in reality they can't cope with the corner cases in the first and last page of the malloc()ed data where you only write part of a page. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-02-18libcecutil: drop CEC_MSG_ prefix when logging messagesHans Verkuil2-10/+10
The CEC_MSG_ prefix corresponds to the opcode name in cec.h, but userspace doesn't care about that. So drop this prefix, making the logging a bit cleaner without that prefix everywhere. The only unexpected change is for unknown opcodes: CEC_MSG was used for that, this is now UNKNOWN. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-02-18libcecutil: translate abort_msg to a message stringHans Verkuil1-2/+9
The Feature Abort message returns the message command that caused the Feature Abort. Show this number also as the name of the corresponding command (if any) for easier debugging. I.e., instead of just showing the message number: Transmitted by TV to Playback Device 1 (0 to 4): CEC_MSG_GIVE_DEVICE_POWER_STATUS (0x8f) Received from Playback Device 1 to TV (4 to 0): CEC_MSG_FEATURE_ABORT (0x00): abort-msg: 143 (0x8f) reason: unrecognized-op (0x00) now also show the message name: Transmitted by TV to Playback Device 1 (0 to 4): CEC_MSG_GIVE_DEVICE_POWER_STATUS (0x8f) Received from Playback Device 1 to TV (4 to 0): CEC_MSG_FEATURE_ABORT (0x00): abort-msg: 143 (0x8f, CEC_MSG_GIVE_DEVICE_POWER_STATUS) reason: unrecognized-op (0x00) Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-02-10cec-ctl: improve --stress-test-power-cycle optionHans Verkuil2-11/+53
Add support to set a start seed for the randomize to create reproducible sleep values. Add support to explicitly set the sleep values before transmitting <Image View On> and before transmitting <Standby> to test specific problematic sleep values. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-02-10cec-ctl: add timestamps to the power-cycle testsHans Verkuil1-18/+43
To simplify debugging, add timestamps for each step of the power cycle tests. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-02-10cec-ctl: remove trailing space in outputHans Verkuil1-3/+3
When logging a message a trailing space would be printed in some situations. Remove it. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-02-10cec-compliance: clarify obscure error messageHans Verkuil3-32/+44
The --expect option checks if the test result matches what is expected. If it isn't, then this message is shown: Dynamic Auto Lipsync feature: Request Current Latency: FAIL (Expected 0, got 3) That's not very clear, so this is now changed to: Dynamic Auto Lipsync feature: Request Current Latency: FAIL (Expected 'OK', got 'OK (Not Supported)') Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-02-04v4l2-compliance: check source and sink pad types of a linkHans Verkuil1-1/+5
There was no check whether the source pad is actually a source, and whether the sink pad is actually a sink. Also, when printing the link it didn't include the pad indices. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-02-04qvidcap: properly initialize m_curSize/DataHans Verkuil1-1/+2
Both m_curSize[0] and m_curData[0] should be initialized to 0. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-02-04Revert "qvidcap: properly initialize m_curSize/Data"Hans Verkuil2-11/+26
Other changes got mixed in with this commit, revert and try again. This reverts commit 1a781740ca80c2c9723d0b74a30e609238fb9a3e.
2020-02-04qvidcap: properly initialize m_curSize/DataHans Verkuil2-26/+11
Both m_curSize[0] and m_curData[0] should be initialized to 0. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2020-01-30keytable: a bpf protocol can have parameters and no scancodesSean Young1-7/+7
Currently a protocol without scancodes does not get its parameters parsed. Signed-off-by: Sean Young <sean@mess.org>

Privacy Policy