dell-dock: Set minimum board to board 4

This allows dropping all the quirks related to older boards.
This commit is contained in:
Mario Limonciello 2019-01-08 09:29:14 -06:00 committed by Mario Limonciello
parent 993fc1636c
commit 8963d6b4b2
3 changed files with 2 additions and 63 deletions

View File

@ -70,8 +70,8 @@ FirmwareSizeMax = 0x20000
Flags = require-ac
Children = FuDellDockStatus|USB\VID_413C&PID_B06E&hub&status,FuDellDockMst|MST-panamera-vmm5331-259
DellDockUnlockTarget = 1
DellDockBoardMin = 2
DellDockVersionLowest = 00.00.00.09
DellDockBoardMin = 4
DellDockVersionLowest = 00.00.00.17
DellDockBlobVersionOffset = 0x1AFC0
InstallDuration = 60
@ -114,14 +114,3 @@ FirmwareSizeMin=0x40000
FirmwareSizeMax=0x80000
Flags = require-ac
InstallDuration = 22
# Thunderbolt controller (old ID)
# TODO: This should be dropped when DellDockBoardMin is 3+
[Guid=TBT-00d40012]
Name = Thunderbolt controller in Dell dock
Summary = Thunderbolt controller
Vendor = Dell Inc
ParentGuid = USB\VID_413C&PID_B06E&hub&embedded
FirmwareSizeMin=0x40000
FirmwareSizeMax=0x80000
Flags = require-ac,ignore-validation

View File

@ -529,7 +529,6 @@ fu_dell_dock_ec_reset (FuDevice *device, GError **error)
gboolean
fu_dell_dock_ec_reboot_dock (FuDevice *device, GError **error)
{
FuDellDockEc *self = FU_DELL_DOCK_EC (device);
guint16 cmd = EC_CMD_REBOOT;
g_return_val_if_fail (device != NULL, FALSE);
@ -539,10 +538,6 @@ fu_dell_dock_ec_reboot_dock (FuDevice *device, GError **error)
return TRUE;
}
/* TODO: Drop when bumping minimum EC version to 13+ */
if (fu_common_vercmp (self->ec_version, "00.00.00.13") < 0)
g_print ("\nEC Reboot API may fail on EC %s. Please manually power cycle dock.\n",
self->ec_version);
g_debug ("Rebooting %s", fu_device_get_name (device));
return fu_dell_dock_ec_write (device, 2, (guint8 *) &cmd, error);
@ -634,13 +629,6 @@ fu_dell_dock_ec_commit_package (FuDevice *device, GBytes *blob_fw,
g_debug ("\ttbt_version: %x", self->raw_versions->tbt_version);
g_debug ("\tpkg_version: %x", self->raw_versions->pkg_version);
/* TODO: Drop when updating minimum EC to 11+ */
if (fu_common_vercmp (self->ec_version, "00.00.00.11") < 0) {
g_debug ("EC %s doesn't support package version, ignoring",
self->ec_version);
return TRUE;
}
payload [0] = EC_CMD_SET_DOCK_PKG;
payload [1] = length;
memcpy (payload + 2, data, length);

View File

@ -424,35 +424,6 @@ fu_d19_mst_check_fw (FuDevice *symbiote, GError **error)
return TRUE;
}
static gboolean
fu_dell_dock_mst_get_version_direct (FuDevice *symbiote, gchar **version_out,
GError **error)
{
g_autoptr(GBytes) bytes = NULL;
const guint8 *data;
gsize length = 4;
g_return_val_if_fail (version_out != NULL, FALSE);
/* Try to read core MCU FW version */
if (!fu_dell_dock_mst_read_register (symbiote,
MST_CORE_MCU_FW_VERSION,
length, &bytes,
error))
return FALSE;
data = g_bytes_get_data (bytes, &length);
if (length < 4) {
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"Invalid MST result %" G_GSIZE_FORMAT, length);
return FALSE;
}
*version_out = g_strdup_printf ("%02x.%02x.%02x",
data[1], /* major */
data[0], /* minor */
data[2]); /* build */
return TRUE;
}
static gboolean
fu_dell_dock_mst_checksum_bank (FuDevice *symbiote,
GBytes *blob_fw,
@ -923,7 +894,6 @@ fu_dell_dock_mst_setup (FuDevice *device, GError **error)
FuDellDockMst *self = FU_DELL_DOCK_MST (device);
FuDevice *parent;
const gchar *version;
g_autofree gchar *dynamic_version = NULL;
/* sanity check that we can talk to MST */
if (!fu_d19_mst_check_fw (self->symbiote, error))
@ -933,14 +903,6 @@ fu_dell_dock_mst_setup (FuDevice *device, GError **error)
parent = fu_device_get_parent (device);
version = fu_dell_dock_ec_get_mst_version (parent);
/* TODO: Drop when we can guarantee EC 15+ */
if (version == NULL) {
if (!fu_dell_dock_mst_get_version_direct (self->symbiote,
&dynamic_version,
error))
return FALSE;
version = dynamic_version;
}
if (version != NULL)
fu_device_set_version (device, version);