diff mbox series

cxl: Add Support for Get Timestamp

Message ID 20230829152014.15452-1-dave@stgolabs.net
State Accepted
Commit cb46fca88d14939da2785567253d0a297f31be27
Headers show
Series cxl: Add Support for Get Timestamp | expand

Commit Message

Davidlohr Bueso Aug. 29, 2023, 3:20 p.m. UTC
Add the call to the UAPI such that userspace may corelate the
timestamps from the device log with system wall time, if, for
example there's any sort of inaccuracy or skew in the device.

Signed-off-by: Davidlohr Bueso <dave@stgolabs.net>
---
 drivers/cxl/core/mbox.c      | 1 +
 drivers/cxl/cxlmem.h         | 1 +
 include/uapi/linux/cxl_mem.h | 1 +
 3 files changed, 3 insertions(+)

Comments

Jonathan Cameron Aug. 30, 2023, 11:03 a.m. UTC | #1
On Tue, 29 Aug 2023 08:20:14 -0700
Davidlohr Bueso <dave@stgolabs.net> wrote:

> Add the call to the UAPI such that userspace may corelate the
> timestamps from the device log with system wall time, if, for
> example there's any sort of inaccuracy or skew in the device.
> 
> Signed-off-by: Davidlohr Bueso <dave@stgolabs.net>

Seems sensible to me.

Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

> ---
>  drivers/cxl/core/mbox.c      | 1 +
>  drivers/cxl/cxlmem.h         | 1 +
>  include/uapi/linux/cxl_mem.h | 1 +
>  3 files changed, 3 insertions(+)
> 
> diff --git a/drivers/cxl/core/mbox.c b/drivers/cxl/core/mbox.c
> index ca60bb8114f2..2444faac1e4c 100644
> --- a/drivers/cxl/core/mbox.c
> +++ b/drivers/cxl/core/mbox.c
> @@ -63,6 +63,7 @@ static struct cxl_mem_command cxl_mem_commands[CXL_MEM_COMMAND_ID_MAX] = {
>  	CXL_CMD(GET_SHUTDOWN_STATE, 0, 0x1, 0),
>  	CXL_CMD(SET_SHUTDOWN_STATE, 0x1, 0, 0),
>  	CXL_CMD(GET_SCAN_MEDIA_CAPS, 0x10, 0x4, 0),
> +	CXL_CMD(GET_TIMESTAMP, 0, 0x8, 0),
>  };
>  
>  /*
> diff --git a/drivers/cxl/cxlmem.h b/drivers/cxl/cxlmem.h
> index 706f8a6d1ef4..ec6dfcc7bb99 100644
> --- a/drivers/cxl/cxlmem.h
> +++ b/drivers/cxl/cxlmem.h
> @@ -500,6 +500,7 @@ enum cxl_opcode {
>  	CXL_MBOX_OP_GET_FW_INFO		= 0x0200,
>  	CXL_MBOX_OP_TRANSFER_FW		= 0x0201,
>  	CXL_MBOX_OP_ACTIVATE_FW		= 0x0202,
> +	CXL_MBOX_OP_GET_TIMESTAMP	= 0x0300,
>  	CXL_MBOX_OP_SET_TIMESTAMP	= 0x0301,
>  	CXL_MBOX_OP_GET_SUPPORTED_LOGS	= 0x0400,
>  	CXL_MBOX_OP_GET_LOG		= 0x0401,
> diff --git a/include/uapi/linux/cxl_mem.h b/include/uapi/linux/cxl_mem.h
> index 14bc6e742148..42066f4eb890 100644
> --- a/include/uapi/linux/cxl_mem.h
> +++ b/include/uapi/linux/cxl_mem.h
> @@ -46,6 +46,7 @@
>  	___C(GET_SCAN_MEDIA_CAPS, "Get Scan Media Capabilities"),         \
>  	___DEPRECATED(SCAN_MEDIA, "Scan Media"),                          \
>  	___DEPRECATED(GET_SCAN_MEDIA, "Get Scan Media Results"),          \
> +	___C(GET_TIMESTAMP, "Get Timestamp"),                             \
>  	___C(MAX, "invalid / last command")
>  
>  #define ___C(a, b) CXL_MEM_COMMAND_ID_##a
Dave Jiang Aug. 30, 2023, 5:37 p.m. UTC | #2
On 8/29/23 08:20, Davidlohr Bueso wrote:
> Add the call to the UAPI such that userspace may corelate the
> timestamps from the device log with system wall time, if, for
> example there's any sort of inaccuracy or skew in the device.
> 
> Signed-off-by: Davidlohr Bueso <dave@stgolabs.net>

Reviewed-by: Dave Jiang <dave.jiang@intel.com>
> ---
>   drivers/cxl/core/mbox.c      | 1 +
>   drivers/cxl/cxlmem.h         | 1 +
>   include/uapi/linux/cxl_mem.h | 1 +
>   3 files changed, 3 insertions(+)
> 
> diff --git a/drivers/cxl/core/mbox.c b/drivers/cxl/core/mbox.c
> index ca60bb8114f2..2444faac1e4c 100644
> --- a/drivers/cxl/core/mbox.c
> +++ b/drivers/cxl/core/mbox.c
> @@ -63,6 +63,7 @@ static struct cxl_mem_command cxl_mem_commands[CXL_MEM_COMMAND_ID_MAX] = {
>   	CXL_CMD(GET_SHUTDOWN_STATE, 0, 0x1, 0),
>   	CXL_CMD(SET_SHUTDOWN_STATE, 0x1, 0, 0),
>   	CXL_CMD(GET_SCAN_MEDIA_CAPS, 0x10, 0x4, 0),
> +	CXL_CMD(GET_TIMESTAMP, 0, 0x8, 0),
>   };
>   
>   /*
> diff --git a/drivers/cxl/cxlmem.h b/drivers/cxl/cxlmem.h
> index 706f8a6d1ef4..ec6dfcc7bb99 100644
> --- a/drivers/cxl/cxlmem.h
> +++ b/drivers/cxl/cxlmem.h
> @@ -500,6 +500,7 @@ enum cxl_opcode {
>   	CXL_MBOX_OP_GET_FW_INFO		= 0x0200,
>   	CXL_MBOX_OP_TRANSFER_FW		= 0x0201,
>   	CXL_MBOX_OP_ACTIVATE_FW		= 0x0202,
> +	CXL_MBOX_OP_GET_TIMESTAMP	= 0x0300,
>   	CXL_MBOX_OP_SET_TIMESTAMP	= 0x0301,
>   	CXL_MBOX_OP_GET_SUPPORTED_LOGS	= 0x0400,
>   	CXL_MBOX_OP_GET_LOG		= 0x0401,
> diff --git a/include/uapi/linux/cxl_mem.h b/include/uapi/linux/cxl_mem.h
> index 14bc6e742148..42066f4eb890 100644
> --- a/include/uapi/linux/cxl_mem.h
> +++ b/include/uapi/linux/cxl_mem.h
> @@ -46,6 +46,7 @@
>   	___C(GET_SCAN_MEDIA_CAPS, "Get Scan Media Capabilities"),         \
>   	___DEPRECATED(SCAN_MEDIA, "Scan Media"),                          \
>   	___DEPRECATED(GET_SCAN_MEDIA, "Get Scan Media Results"),          \
> +	___C(GET_TIMESTAMP, "Get Timestamp"),                             \
>   	___C(MAX, "invalid / last command")
>   
>   #define ___C(a, b) CXL_MEM_COMMAND_ID_##a
Davidlohr Bueso Sept. 28, 2023, 1:22 a.m. UTC | #3
ping? Unless any objections, can this be picked up?

On Tue, 29 Aug 2023, Davidlohr Bueso wrote:

>Add the call to the UAPI such that userspace may corelate the
>timestamps from the device log with system wall time, if, for
>example there's any sort of inaccuracy or skew in the device.
>
>Signed-off-by: Davidlohr Bueso <dave@stgolabs.net>
3B>---
> drivers/cxl/core/mbox.c      | 1 +
> drivers/cxl/cxlmem.h         | 1 +
> include/uapi/linux/cxl_mem.h | 1 +
> 3 files changed, 3 insertions(+)
>
>diff --git a/drivers/cxl/core/mbox.c b/drivers/cxl/core/mbox.c
>index ca60bb8114f2..2444faac1e4c 100644
>--- a/drivers/cxl/core/mbox.c
>+++ b/drivers/cxl/core/mbox.c
>@@ -63,6 +63,7 @@ static struct cxl_mem_command cxl_mem_commands[CXL_MEM_COMMAND_ID_MAX] = {
>	CXL_CMD(GET_SHUTDOWN_STATE, 0, 0x1, 0),
>	CXL_CMD(SET_SHUTDOWN_STATE, 0x1, 0, 0),
>	CXL_CMD(GET_SCAN_MEDIA_CAPS, 0x10, 0x4, 0),
>+	CXL_CMD(GET_TIMESTAMP, 0, 0x8, 0),
> };
>
> /*
>diff --git a/drivers/cxl/cxlmem.h b/drivers/cxl/cxlmem.h
>index 706f8a6d1ef4..ec6dfcc7bb99 100644
>--- a/drivers/cxl/cxlmem.h
>+++ b/drivers/cxl/cxlmem.h
>@@ -500,6 +500,7 @@ enum cxl_opcode {
>	CXL_MBOX_OP_GET_FW_INFO		= 0x0200,
>	CXL_MBOX_OP_TRANSFER_FW		= 0x0201,
>	CXL_MBOX_OP_ACTIVATE_FW		= 0x0202,
>+	CXL_MBOX_OP_GET_TIMESTAMP	= 0x0300,
>	CXL_MBOX_OP_SET_TIMESTAMP	= 0x0301,
>	CXL_MBOX_OP_GET_SUPPORTED_LOGS	= 0x0400,
>	CXL_MBOX_OP_GET_LOG		= 0x0401,
>diff --git a/include/uapi/linux/cxl_mem.h b/include/uapi/linux/cxl_mem.h
>index 14bc6e742148..42066f4eb890 100644
>--- a/include/uapi/linux/cxl_mem.h
>+++ b/include/uapi/linux/cxl_mem.h
>@@ -46,6 +46,7 @@
>	___C(GET_SCAN_MEDIA_CAPS, "Get Scan Media Capabilities"),         \
>	___DEPRECATED(SCAN_MEDIA, "Scan Media"),                          \
>	___DEPRECATED(GET_SCAN_MEDIA, "Get Scan Media Results"),          \
>+	___C(GET_TIMESTAMP, "Get Timestamp"),                             \
>	___C(MAX, "invalid / last command")
>
> #define ___C(a, b) CXL_MEM_COMMAND_ID_##a
>--
>2.41.0
>
diff mbox series

Patch

diff --git a/drivers/cxl/core/mbox.c b/drivers/cxl/core/mbox.c
index ca60bb8114f2..2444faac1e4c 100644
--- a/drivers/cxl/core/mbox.c
+++ b/drivers/cxl/core/mbox.c
@@ -63,6 +63,7 @@  static struct cxl_mem_command cxl_mem_commands[CXL_MEM_COMMAND_ID_MAX] = {
 	CXL_CMD(GET_SHUTDOWN_STATE, 0, 0x1, 0),
 	CXL_CMD(SET_SHUTDOWN_STATE, 0x1, 0, 0),
 	CXL_CMD(GET_SCAN_MEDIA_CAPS, 0x10, 0x4, 0),
+	CXL_CMD(GET_TIMESTAMP, 0, 0x8, 0),
 };
 
 /*
diff --git a/drivers/cxl/cxlmem.h b/drivers/cxl/cxlmem.h
index 706f8a6d1ef4..ec6dfcc7bb99 100644
--- a/drivers/cxl/cxlmem.h
+++ b/drivers/cxl/cxlmem.h
@@ -500,6 +500,7 @@  enum cxl_opcode {
 	CXL_MBOX_OP_GET_FW_INFO		= 0x0200,
 	CXL_MBOX_OP_TRANSFER_FW		= 0x0201,
 	CXL_MBOX_OP_ACTIVATE_FW		= 0x0202,
+	CXL_MBOX_OP_GET_TIMESTAMP	= 0x0300,
 	CXL_MBOX_OP_SET_TIMESTAMP	= 0x0301,
 	CXL_MBOX_OP_GET_SUPPORTED_LOGS	= 0x0400,
 	CXL_MBOX_OP_GET_LOG		= 0x0401,
diff --git a/include/uapi/linux/cxl_mem.h b/include/uapi/linux/cxl_mem.h
index 14bc6e742148..42066f4eb890 100644
--- a/include/uapi/linux/cxl_mem.h
+++ b/include/uapi/linux/cxl_mem.h
@@ -46,6 +46,7 @@ 
 	___C(GET_SCAN_MEDIA_CAPS, "Get Scan Media Capabilities"),         \
 	___DEPRECATED(SCAN_MEDIA, "Scan Media"),                          \
 	___DEPRECATED(GET_SCAN_MEDIA, "Get Scan Media Results"),          \
+	___C(GET_TIMESTAMP, "Get Timestamp"),                             \
 	___C(MAX, "invalid / last command")
 
 #define ___C(a, b) CXL_MEM_COMMAND_ID_##a