summaryrefslogtreecommitdiff
path: root/utils/kmstest.cpp
AgeCommit message (Collapse)Author
2020-05-15kmstest: allow enabling output without anything connectedTomi Valkeinen
Allow kmstest to enable an output without anything connected, if the user gives a videomode. DRM framework allows this, and is needed for testing. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2020-04-21kmstest: add crc16 printTomi Valkeinen
Add an option to print crc16 for the framebuffer contents.
2019-10-28kmstest: convert to fmt::printTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2019-09-25videomode to_string improvementsTomi Valkeinen
Add to_string_short() and to_string_long() to videomode (using the fmt library) for easy printing of videomodes. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2019-01-17card: another try with card constructorsTomi Valkeinen
Let's try again with the card constructors. Card::open_modesetting_card() is removed. The main constructor is Card(const std::string& dev_path = ""). If dev_path is set, the device node with that path is used. If dev_path is not set, the behavior is similar as previously, except a modeset capable card is used at the third step: - If KMSXX_DEVICE env variable is set, the card device with that path is opened. - If KMSXX_DRIVER env variable is set, the card with the given driver name and index is opened. The format is either "drvname" or "drvname:idx". - If neither env variable is given, the first modeset capable card is opened. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2019-01-17Revert "kmstest: use open_modesetting_card"Tomi Valkeinen
This reverts commit c223cffa20d617863bffb0c7e3890172d93a53c8.
2019-01-14kmstest: use open_modesetting_cardTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2019-01-11kmstest: show sync polaritiesTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2018-09-10kmstest: give an error if master permissions could not be setTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2018-09-03kmstest: don't use "unknown" connectors by defaultTomi Valkeinen
When using kmstest without parameters, use only connectors in Connected state, not in Unknown state. To use Uknown state connectors, the connector must be specified in the cmdline. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2018-08-23kmstest: fix "Could not find available crtc" when crtc was not connected.Tomi Valkeinen
If a connector doesn't already have a crtc, we might get "Could not find available crtc" error from kmstest as it fails to search for the crtc. Fix this. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2018-06-29kmstest: set props in legacy modesetting tooTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2018-01-05kmstest: Separate reservation phase from command line parsingJyri Sarha
In the new order the planes are not reserved before the whole command line is parsed. This way we know the color format of the framebuffer that is going to be on the reserved plane and we can select a plane that supports the format. After this patch kmstest makes no distinction between primary and overlay planes if atomic mode setting is supported. If no plane is specified then a default plane, matching the screen size is created. Signed-off-by: Jyri Sarha <jsarha@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2018-01-05kmstest: Implement simplistic propery support behind -P flag.Jyri Sarha
Non atomic modesetting is not supported and there is no translation from various property types to unsigned 64-bit integer. Instead the property values are simply converted from string with stoull(str, 0, 0). Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2017-11-22kmstest: use resmanTomi Valkeinen
2017-10-24kmstest: rename ObjectType to ArgTypeTomi Valkeinen
2017-10-03Rework framebuffer classesTomi Valkeinen
Drop (I)MappedFramebuffer, as it doesn't really provide any value, and have most of the methods be present in IFramebuffer with default exception throwing implementation. This gives us simpler way to use the framebuffers, as almost always we can just use a pointer to IFramebuffer.
2017-09-04kmstest: fix --sync modeTomi Valkeinen
DRM sends page flips for each crtc in a commit. kmstest expected to get a single flip event for a single commit, which caused --sync not to work with two displays. Fix this by making kmstest skip the first flip event.
2017-09-04kmstest: add help text about env variablesTomi Valkeinen
2017-08-04kmstest: fix error in help textTomi Valkeinen
2017-03-21kmstest: check return values from reserve_*Tomi Valkeinen
2017-03-10kmstest: Add optional argument to the flip option to limit the flipsLaurent Pinchart
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2017-02-10kmstest: remove get_default_connector()Tomi Valkeinen
2017-02-10use reserve_connector from ResourceManagerTomi Valkeinen
2017-02-10kmstest: Add --view optionTomi Valkeinen
2016-12-20kmstest: don't reserve primary_plane if it's not neededTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2016-12-20kmstest: disable crtcs & planes before modesetTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2016-12-20kmstest: fix bug in setups_to_outputs()Tomi Valkeinen
Bad output used to get the crtc, causing crash. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2016-12-12kmstest: use resman to get primary planesTomi Valkeinen
We need to ensure that a primary plane is not already in use. ResourceManager does this for us. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2016-11-21kmstest: use MappedFramebufferTomi Valkeinen
Use MappedFramebuffer instead of DumbFramebuffer in kmstest, except when creating the object. This change makes it possible to easily use other framebuffer objects in kmstest than DumbFramebuffer. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2016-10-11kmstest: be explicit about mode selectionTomi Valkeinen
Instead of searching through the dmt and cea tables (if user has given the option), lets be more explicit about it. Only look for the mode from a single source, and fail if not found there. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2016-10-11kmstest: add --cvt optionTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2016-09-30kmstest: enable display even if crtc doesn't have fbTomi Valkeinen
With atomic modesetting we can enable the crtc without a primary plane. This allows enabling only a plane on the screen. Change set_crtcs_n_planes() to allow this. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2016-09-26kmatest: add custom videomode supportTomi Valkeinen
Support custom videomodes when specifying a crtc. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2016-09-26kmatest: split regex strings to multiple linesTomi Valkeinen
Split regex strings to multiple lines to make them slightly more readable. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2016-08-24kmstest: rename remaining references to testpatTomi Valkeinen
2016-08-16rename testpat and fbtestpatTomi Valkeinen