diff --git a/src/dsp/base.c b/src/dsp/base.c
index c227beb..7ca3e2b 100644
--- a/src/dsp/base.c
+++ b/src/dsp/base.c
@@ -582,7 +582,7 @@
 	return PLDM_SUCCESS;
 }
 
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
 int encode_pldm_base_multipart_receive_req(
 	uint8_t instance_id, const struct pldm_base_multipart_receive_req *req,
 	struct pldm_msg *msg, size_t *payload_length)
@@ -621,7 +621,7 @@
 	return pldm_msgbuf_complete_used(buf, *payload_length, payload_length);
 }
 
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
 int decode_pldm_base_multipart_receive_resp(
 	const struct pldm_msg *msg, size_t payload_length,
 	struct pldm_base_multipart_receive_resp *resp,
@@ -791,7 +791,7 @@
 	return PLDM_SUCCESS;
 }
 
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
 int encode_pldm_base_negotiate_transfer_params_req(
 	uint8_t instance_id,
 	const struct pldm_base_negotiate_transfer_params_req *req,
@@ -834,7 +834,7 @@
 	return pldm_msgbuf_complete_used(buf, *payload_length, payload_length);
 }
 
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
 int decode_pldm_base_negotiate_transfer_params_resp(
 	const struct pldm_msg *msg, size_t payload_length,
 	struct pldm_base_negotiate_transfer_params_resp *resp)
diff --git a/src/dsp/file.c b/src/dsp/file.c
index bdfc9c6..07a283c 100644
--- a/src/dsp/file.c
+++ b/src/dsp/file.c
@@ -13,7 +13,7 @@
 #include <string.h>
 #include <stdlib.h>
 
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
 int encode_pldm_file_df_open_req(uint8_t instance_id,
 				 const struct pldm_file_df_open_req *req,
 				 struct pldm_msg *msg, size_t *payload_length)
@@ -109,7 +109,7 @@
 	return pldm_msgbuf_complete_used(buf, *payload_length, payload_length);
 }
 
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
 int decode_pldm_file_df_open_resp(const struct pldm_msg *msg,
 				  size_t payload_length,
 				  struct pldm_file_df_open_resp *resp)
@@ -144,7 +144,7 @@
 	return pldm_msgbuf_complete_consumed(buf);
 }
 
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
 int encode_pldm_file_df_close_req(uint8_t instance_id,
 				  const struct pldm_file_df_close_req *req,
 				  struct pldm_msg *msg, size_t *payload_length)
@@ -237,7 +237,7 @@
 	return pldm_msgbuf_complete_used(buf, *payload_length, payload_length);
 }
 
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
 int decode_pldm_file_df_close_resp(const struct pldm_msg *msg,
 				   size_t payload_length,
 				   struct pldm_file_df_close_resp *resp)
@@ -251,7 +251,7 @@
 	return 0;
 }
 
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
 int encode_pldm_file_df_heartbeat_req(
 	uint8_t instance_id, const struct pldm_file_df_heartbeat_req *req,
 	struct pldm_msg *msg, size_t *payload_length)
@@ -286,7 +286,7 @@
 	return pldm_msgbuf_complete_used(buf, *payload_length, payload_length);
 }
 
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
 int decode_pldm_file_df_heartbeat_resp(const struct pldm_msg *msg,
 				       size_t payload_length,
 				       struct pldm_file_df_heartbeat_resp *resp)
diff --git a/src/dsp/platform.c b/src/dsp/platform.c
index 9af2d67..1a2c962 100644
--- a/src/dsp/platform.c
+++ b/src/dsp/platform.c
@@ -3472,7 +3472,7 @@
 	return event->event_data;
 }
 
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
 int decode_pldm_platform_file_descriptor_pdr(
 	const void *data, size_t data_length,
 	struct pldm_platform_file_descriptor_pdr *pdr)
