diff --git a/src/opensuperclone/clone_gui.c b/src/opensuperclone/clone_gui.c
index 7896d90..e504288 100644
--- a/src/opensuperclone/clone_gui.c
+++ b/src/opensuperclone/clone_gui.c
@@ -3005,6 +3005,7 @@ void display_identify_data_ccc(void)
GtkWidget *identify_rebuild_assist_checkbox = GTK_WIDGET(gtk_builder_get_object(builder, "identify_rebuild_assist_checkbox"));
GtkWidget *identify_ncq_checkbox = GTK_WIDGET(gtk_builder_get_object(builder, "identify_ncq_checkbox"));
GtkWidget *identify_sct_error_recovery_checkbox = GTK_WIDGET(gtk_builder_get_object(builder, "identify_sct_error_recovery_checkbox"));
+ GtkWidget *identify_trim_supported_checkbox = GTK_WIDGET(gtk_builder_get_object(builder, "identify_trim_supported_checkbox"));
GtkWidget *identify_mdma_label = GTK_WIDGET(gtk_builder_get_object(builder, "identify_mdma_label"));
GtkWidget *identify_mdma_supported_label = GTK_WIDGET(gtk_builder_get_object(builder, "identify_mdma_supported_label"));
@@ -3049,6 +3050,7 @@ void display_identify_data_ccc(void)
gtk_button_set_label(GTK_BUTTON(identify_rebuild_assist_checkbox), _("Rebuild Assist Supported"));
gtk_button_set_label(GTK_BUTTON(identify_ncq_checkbox), _("NCQ Supported"));
gtk_button_set_label(GTK_BUTTON(identify_sct_error_recovery_checkbox), _("SCT Error Recovery Supported"));
+ gtk_button_set_label(GTK_BUTTON(identify_trim_supported_checkbox), _("TRIM Supported"));
gtk_label_set_text(GTK_LABEL(identify_mdma_label), _("Multiword DMA Support"));
gtk_label_set_text(GTK_LABEL(identify_mdma_supported_label), _("Supported"));
@@ -3088,6 +3090,7 @@ void display_identify_data_ccc(void)
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(identify_rebuild_assist_checkbox), identify_device_data_ccc.rebuild_assist_supported);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(identify_ncq_checkbox), identify_device_data_ccc.ncq_supported);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(identify_sct_error_recovery_checkbox), identify_device_data_ccc.sct_error_recovery_control);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(identify_trim_supported_checkbox), identify_device_data_ccc.trim_supported);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(identify_mdma_supported_0_checkbox), identify_device_data_ccc.mdma_mode_0_supported);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(identify_mdma_supported_1_checkbox), identify_device_data_ccc.mdma_mode_1_supported);
diff --git a/src/opensuperclone/clone_gui_common.h b/src/opensuperclone/clone_gui_common.h
index d7e4a5d..32ff530 100644
--- a/src/opensuperclone/clone_gui_common.h
+++ b/src/opensuperclone/clone_gui_common.h
@@ -130,6 +130,7 @@ struct
bool rebuild_assist_supported;
bool ncq_supported;
bool sct_error_recovery_control;
+ bool trim_supported;
bool mdma_mode_0_supported;
bool mdma_mode_1_supported;
bool mdma_mode_2_supported;
diff --git a/src/opensuperclone/opensuperclone.c b/src/opensuperclone/opensuperclone.c
index 915f648..1764037 100644
--- a/src/opensuperclone/opensuperclone.c
+++ b/src/opensuperclone/opensuperclone.c
@@ -13721,6 +13721,7 @@ int process_source_ccc(void)
identify_flags_ccc.rebuild_assist_supported = get_flag_data_from_identify_ccc(78, 11, 11);
identify_flags_ccc.ncq_supported = get_flag_data_from_identify_ccc(76, 8, 8);
identify_flags_ccc.sct_error_recovery_control = get_flag_data_from_identify_ccc(206, 3, 3);
+ identify_flags_ccc.trim_supported = get_flag_data_from_identify_ccc(169, 0, 0);
identify_flags_ccc.multiword_dma_mode0_supported = get_flag_data_from_identify_ccc(63, 0, 0);
identify_flags_ccc.multiword_dma_mode1_supported = get_flag_data_from_identify_ccc(63, 1, 1);
identify_flags_ccc.multiword_dma_mode2_supported = get_flag_data_from_identify_ccc(63, 2, 2);
@@ -13749,6 +13750,7 @@ int process_source_ccc(void)
identify_device_data_ccc.rebuild_assist_supported = identify_flags_ccc.rebuild_assist_supported;
identify_device_data_ccc.ncq_supported = identify_flags_ccc.ncq_supported;
identify_device_data_ccc.sct_error_recovery_control = identify_flags_ccc.sct_error_recovery_control;
+ identify_device_data_ccc.trim_supported = identify_flags_ccc.trim_supported;
identify_device_data_ccc.mdma_mode_0_supported = identify_flags_ccc.multiword_dma_mode0_supported;
identify_device_data_ccc.mdma_mode_1_supported = identify_flags_ccc.multiword_dma_mode1_supported;
identify_device_data_ccc.mdma_mode_2_supported = identify_flags_ccc.multiword_dma_mode2_supported;
diff --git a/src/opensuperclone/opensuperclone.glade b/src/opensuperclone/opensuperclone.glade
index 2be44ec..aee142b 100644
--- a/src/opensuperclone/opensuperclone.glade
+++ b/src/opensuperclone/opensuperclone.glade
@@ -6308,6 +6308,21 @@ no data
3
+
+
+
+ False
+ True
+ 4
+
+
True
diff --git a/src/opensuperclone/opensuperclone.h b/src/opensuperclone/opensuperclone.h
index 0b7d20f..c5546d7 100644
--- a/src/opensuperclone/opensuperclone.h
+++ b/src/opensuperclone/opensuperclone.h
@@ -315,6 +315,7 @@ struct
bool smart_enabled; // word 85 bit 0
bool hpa_supported; // word 82 bit 10
bool dco_supported; // word 83 bit 11
+ bool trim_supported; // word 169 bit 0
bool multiword_dma_mode0_supported; // word 63 bit 0
bool multiword_dma_mode1_supported; // word 63 bit 1
bool multiword_dma_mode2_supported; // word 63 bit 2