Commit Graph

30 Commits

Author SHA1 Message Date
Richard Hughes
be04e8e034 trivial: Fix warning: pointer parameter 'buf' can be pointer to const 2023-02-23 13:04:11 -06:00
Richard Hughes
090a7c8b9a Add API to wait for a device
This allows us to ignore all the delays when the device is emulated, with the
idea being to do dozens of device emulations in the CI tests.

Also, do not call fu_progress_sleep() when the device is emulated.
2023-02-23 13:04:11 -06:00
Richard Hughes
fc2da47b69 Remove fu_strtoull_full() 2022-06-14 14:36:52 -05:00
Richard Hughes
7f86ffab6f Split out the dump helpers to a new source file 2022-06-14 14:36:52 -05:00
Richard Hughes
ed1b13da28 Split out the memory helpers to a new source file 2022-06-14 14:36:52 -05:00
Richard Hughes
9d33c29e92 Split out the string helpers to a new source file 2022-06-14 14:36:52 -05:00
Gaël PORTAY
88db2a3f9e genesys: scaler: Fix calling to parent's vfunc close()
This uses the internal flag FU_DEVICE_INTERNAL_FLAG_USE_PARENT_FOR_OPEN,
to fix the calling to the parent's vfunc close() (it was calling the
parent's vfunc open() on close()).
2022-06-12 08:22:57 -04:00
Gaël PORTAY
d5b7206a3a trivial: genesys: Another nitpick round
See commit e6f049625e.
2022-06-12 08:22:57 -04:00
Gaël PORTAY
0fbd5e17fe genesys: scaler: Remove FuGenesysMtkFooter and XOR encryption 2022-06-06 16:32:17 -04:00
Gaël PORTAY
3063280ae8 genesys: Allow to force install even if public-key mismatch 2022-06-06 03:40:32 -04:00
Gaël PORTAY
882ab0812f genesys: scaler: Allow to specify Cfi
This allows to specify the Cfi device via the GenesysScalerCfiFlashId
quirk key.
2022-06-06 03:40:32 -04:00
Gaël PORTAY
6f7c4bb195 genesys: scaler: Check for firmware size 2022-06-06 03:40:32 -04:00
Gaël PORTAY
ace3f343fc genesys: scaler: Fix checking for CFI size 2022-06-06 03:40:32 -04:00
Gaël PORTAY
81f40da143 genesys: scaler: Increase retry timing after erase commands 2022-06-06 03:40:32 -04:00
Gaël PORTAY
0520411776 genesys: scaler: Get and set firmware address 2022-06-06 03:40:32 -04:00
Gaël PORTAY
7dca55a3fc genesys: Check for validity of public-key
The scaler may return invalid version or public-key.

This checks for the public-key by verifing if it starts with "N = " for
both devices usbhub and scaler; however, the scaler version cannot be
checked.

Note: Replug the USB-C cable is fixes the issue.
2022-06-06 03:40:32 -04:00
Gaël PORTAY
e6f049625e trivial: genesys: Several fixes and nitpicks 2022-06-06 03:40:32 -04:00
Richard Hughes
dc91d59f8e Remove the recently added fu_progress_add_step_full()
Just break API instead.
2022-06-03 13:47:11 -05:00
Richard Hughes
5ef0ae182d Add a 'name' attribute to each FuProgress step
This allows us to print better warning strings, and in the future
would allow us to profile each operation in a meaningful way.

Also, add context to some of the progress steps as required.
2022-06-01 15:05:43 +01:00
Gaël PORTAY
7dab90ff90 genesys: scaler: Dump the whole CFI device 2022-05-31 02:11:22 -04:00
Richard Hughes
c1d67be0a5 genesys: Fix a potential buffer overread spotted by Coverity
overrun-buffer-arg: Overrunning array buf of 64 bytes by passing it to
a function which accesses it at byte offset 65 using argument len + 3UL
2022-04-25 07:03:26 +01:00
Richard Hughes
a7149a4dac genesys: Fix a potential OOB read 2022-04-13 15:08:12 +01:00
Richard Hughes
7dc34ff02e Mark more devices as CAN_VERIFY_IMAGE
This allows us to filter the devices when showing what we can dump.
2022-04-01 21:46:04 -05:00
Richard Hughes
dcd39d80a7 Add the CFI quirks in setup() so the device can be open 2022-03-31 12:47:13 +01:00
Gaël PORTAY
c6c64bd8dc genesys: Add since version comment for private flags
This tags when the private flags has been introduced.
2022-03-23 20:46:39 +00:00
Gaël PORTAY
7fc784d612 genesys: scaler: Get real software version
The plugin gets the panel-type (i.e. hardware revision) as the firmware
version.

This gets the real firmware version, and appends the panel-type to the
instance-id string as the blobs are specific to panel-types.
2022-03-22 14:20:37 +00:00
Gaël PORTAY
41ab816fed genesys: scaler: Fix creation of error
The GError object is not yet created, and cannot be prefixed though.

This creates the GError using the function g_set_error().
2022-03-22 14:19:48 +00:00
Richard Hughes
c4ca026294 Allow devices to build instance IDs more easily
Provide a device instance builder that allows plugins to easily
create multiple instance IDs based on parent attributes.

Also fix a lot of the instance ID orders, so that we add more generic
IDs first, and more specific IDs after.
2022-03-03 09:13:29 +00:00
Richard Hughes
758d5d8c6f Add a flag to indicate the device is signed or unsigned
Devices without either flag are unknown.
2022-02-22 19:12:06 +00:00
Ricardo Cañuelo
9466e778f5 Add a new plugin to handle HP M2xfd monitors
Added support for genesys logic devices.
2022-02-21 08:30:43 +00:00