diff mbox series

[v2] hw/cxl: fix physical address field in get scan media results output

Message ID 20240819154206.16456-1-engguopeng@buaa.edu.cn
State Superseded
Headers show
Series [v2] hw/cxl: fix physical address field in get scan media results output | expand

Commit Message

peng guo Aug. 19, 2024, 3:42 p.m. UTC
When using the mailbox command get scan media results, the scan media 
restart physical address field in the ouput palyload is not 64-byte 
aligned.

This patch removed the error source of the restart physical address. 

The Scan Media Restart Physical Address is the location from which the 
host should restart the Scan Media operation. [5:0] bits are reserved.
Refer to CXL spec r3.1 Table 8-146

Fixes: 89b5cfcc31e6 ("hw/cxl: Add get scan media results cmd support")
Signed-off-by: peng guo <engguopeng@buaa.edu.cn>
---
v1 -> v2: Add module name to title

 hw/cxl/cxl-mailbox-utils.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Jonathan Cameron Aug. 23, 2024, 3:03 p.m. UTC | #1
On Mon, 19 Aug 2024 23:42:06 +0800
peng guo <engguopeng@buaa.edu.cn> wrote:

> When using the mailbox command get scan media results, the scan media 
> restart physical address field in the ouput palyload is not 64-byte 
> aligned.
> 
> This patch removed the error source of the restart physical address. 
> 
> The Scan Media Restart Physical Address is the location from which the 
> host should restart the Scan Media operation. [5:0] bits are reserved.
> Refer to CXL spec r3.1 Table 8-146
> 
> Fixes: 89b5cfcc31e6 ("hw/cxl: Add get scan media results cmd support")
> Signed-off-by: peng guo <engguopeng@buaa.edu.cn>

For qemu patches, definitely need to include the qemu-devel list.
For this please also +CC Michael Tsirkin <mst@redhat.com>

I guess this is a cut and paste issue from the poison code.

Send a v3 with
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
but include a link tag to
Link: https://lore.kernel.org/linux-cxl/20240819154206.16456-1-engguopeng@buaa.edu.cn/

So MST  + qemu list readers can find this thread.

Thanks,

Jonathan

> ---
> v1 -> v2: Add module name to title
> 
>  hw/cxl/cxl-mailbox-utils.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/cxl/cxl-mailbox-utils.c b/hw/cxl/cxl-mailbox-utils.c
> index 3ebbd32e1028..9258e48f95ee 100644
> --- a/hw/cxl/cxl-mailbox-utils.c
> +++ b/hw/cxl/cxl-mailbox-utils.c
> @@ -2076,7 +2076,7 @@ static CXLRetCode cmd_media_get_scan_media_results(const struct cxl_cmd *cmd,
>  
>          start = ROUND_DOWN(ent->start, 64ull);
>          stop = ROUND_DOWN(ent->start, 64ull) + ent->length;
> -        stq_le_p(&out->records[i].addr, start | (ent->type & 0x7));
> +        stq_le_p(&out->records[i].addr, start);
>          stl_le_p(&out->records[i].length, (stop - start) / CXL_CACHE_LINE_SIZE);
>          i++;
>
diff mbox series

Patch

diff --git a/hw/cxl/cxl-mailbox-utils.c b/hw/cxl/cxl-mailbox-utils.c
index 3ebbd32e1028..9258e48f95ee 100644
--- a/hw/cxl/cxl-mailbox-utils.c
+++ b/hw/cxl/cxl-mailbox-utils.c
@@ -2076,7 +2076,7 @@  static CXLRetCode cmd_media_get_scan_media_results(const struct cxl_cmd *cmd,
 
         start = ROUND_DOWN(ent->start, 64ull);
         stop = ROUND_DOWN(ent->start, 64ull) + ent->length;
-        stq_le_p(&out->records[i].addr, start | (ent->type & 0x7));
+        stq_le_p(&out->records[i].addr, start);
         stl_le_p(&out->records[i].length, (stop - start) / CXL_CACHE_LINE_SIZE);
         i++;