diff mbox series

hw/block/nvme: fix io-command set profile feature

Message ID 20210419104832.25455-1-anaidu.gollu@samsung.com
State New
Headers show
Series hw/block/nvme: fix io-command set profile feature | expand

Commit Message

Gollu Appalanaidu April 19, 2021, 10:48 a.m. UTC
Currently IO Command Set Profile feaure is supported, but
feature support flag not set and this feature is changable
add support for that.

Remove filling default value of feature in CQE CDW0 with zero,
since it fallbacks to default case and it is zero initialized,
if feature default value not set explicitly.

Signed-off-by: Gollu Appalanaidu <anaidu.gollu@samsung.com>
---
 hw/block/nvme.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

Comments

Klaus Jensen April 19, 2021, 11:12 a.m. UTC | #1
On Apr 19 16:18, Gollu Appalanaidu wrote:
>Currently IO Command Set Profile feaure is supported, but
>feature support flag not set and this feature is changable
>add support for that.
>
>Remove filling default value of feature in CQE CDW0 with zero,
>since it fallbacks to default case and it is zero initialized,
>if feature default value not set explicitly.
>
>Signed-off-by: Gollu Appalanaidu <anaidu.gollu@samsung.com>
>---
> hw/block/nvme.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
>diff --git a/hw/block/nvme.c b/hw/block/nvme.c
>index 624a1431d0..b5d2c29fc4 100644
>--- a/hw/block/nvme.c
>+++ b/hw/block/nvme.c
>@@ -185,6 +185,7 @@ static const bool nvme_feature_support[NVME_FID_MAX] = {
>     [NVME_WRITE_ATOMICITY]          = true,
>     [NVME_ASYNCHRONOUS_EVENT_CONF]  = true,
>     [NVME_TIMESTAMP]                = true,
>+    [NVME_COMMAND_SET_PROFILE]      = true,
> };
>
> static const uint32_t nvme_feature_cap[NVME_FID_MAX] = {
>@@ -194,6 +195,7 @@ static const uint32_t nvme_feature_cap[NVME_FID_MAX] = {
>     [NVME_NUMBER_OF_QUEUES]         = NVME_FEAT_CAP_CHANGE,
>     [NVME_ASYNCHRONOUS_EVENT_CONF]  = NVME_FEAT_CAP_CHANGE,
>     [NVME_TIMESTAMP]                = NVME_FEAT_CAP_CHANGE,
>+    [NVME_COMMAND_SET_PROFILE]      = NVME_FEAT_CAP_CHANGE,
> };
>
> static const uint32_t nvme_cse_acs[256] = {
>@@ -4707,9 +4709,6 @@ defaults:
>             result |= NVME_INTVC_NOCOALESCING;
>         }
>         break;
>-    case NVME_COMMAND_SET_PROFILE:
>-        result = 0;
>-        break;
>     default:
>         result = nvme_feature_default[fid];
>         break;
>-- 
>2.17.1
>
>

LGTM.

Reviewed-by: Klaus Jensen <k.jensen@samsung.com>
Klaus Jensen April 20, 2021, 8:02 p.m. UTC | #2
On Apr 19 16:18, Gollu Appalanaidu wrote:
>Currently IO Command Set Profile feaure is supported, but
>feature support flag not set and this feature is changable
>add support for that.
>
>Remove filling default value of feature in CQE CDW0 with zero,
>since it fallbacks to default case and it is zero initialized,
>if feature default value not set explicitly.
>
>Signed-off-by: Gollu Appalanaidu <anaidu.gollu@samsung.com>
>---
> hw/block/nvme.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
>diff --git a/hw/block/nvme.c b/hw/block/nvme.c
>index 624a1431d0..b5d2c29fc4 100644
>--- a/hw/block/nvme.c
>+++ b/hw/block/nvme.c
>@@ -185,6 +185,7 @@ static const bool nvme_feature_support[NVME_FID_MAX] = {
>     [NVME_WRITE_ATOMICITY]          = true,
>     [NVME_ASYNCHRONOUS_EVENT_CONF]  = true,
>     [NVME_TIMESTAMP]                = true,
>+    [NVME_COMMAND_SET_PROFILE]      = true,
> };
>
> static const uint32_t nvme_feature_cap[NVME_FID_MAX] = {
>@@ -194,6 +195,7 @@ static const uint32_t nvme_feature_cap[NVME_FID_MAX] = {
>     [NVME_NUMBER_OF_QUEUES]         = NVME_FEAT_CAP_CHANGE,
>     [NVME_ASYNCHRONOUS_EVENT_CONF]  = NVME_FEAT_CAP_CHANGE,
>     [NVME_TIMESTAMP]                = NVME_FEAT_CAP_CHANGE,
>+    [NVME_COMMAND_SET_PROFILE]      = NVME_FEAT_CAP_CHANGE,
> };
>
> static const uint32_t nvme_cse_acs[256] = {
>@@ -4707,9 +4709,6 @@ defaults:
>             result |= NVME_INTVC_NOCOALESCING;
>         }
>         break;
>-    case NVME_COMMAND_SET_PROFILE:
>-        result = 0;
>-        break;
>     default:
>         result = nvme_feature_default[fid];
>         break;
>-- 
>2.17.1
>

Applied to nvme-next. Thanks!
diff mbox series

Patch

diff --git a/hw/block/nvme.c b/hw/block/nvme.c
index 624a1431d0..b5d2c29fc4 100644
--- a/hw/block/nvme.c
+++ b/hw/block/nvme.c
@@ -185,6 +185,7 @@  static const bool nvme_feature_support[NVME_FID_MAX] = {
     [NVME_WRITE_ATOMICITY]          = true,
     [NVME_ASYNCHRONOUS_EVENT_CONF]  = true,
     [NVME_TIMESTAMP]                = true,
+    [NVME_COMMAND_SET_PROFILE]      = true,
 };
 
 static const uint32_t nvme_feature_cap[NVME_FID_MAX] = {
@@ -194,6 +195,7 @@  static const uint32_t nvme_feature_cap[NVME_FID_MAX] = {
     [NVME_NUMBER_OF_QUEUES]         = NVME_FEAT_CAP_CHANGE,
     [NVME_ASYNCHRONOUS_EVENT_CONF]  = NVME_FEAT_CAP_CHANGE,
     [NVME_TIMESTAMP]                = NVME_FEAT_CAP_CHANGE,
+    [NVME_COMMAND_SET_PROFILE]      = NVME_FEAT_CAP_CHANGE,
 };
 
 static const uint32_t nvme_cse_acs[256] = {
@@ -4707,9 +4709,6 @@  defaults:
             result |= NVME_INTVC_NOCOALESCING;
         }
         break;
-    case NVME_COMMAND_SET_PROFILE:
-        result = 0;
-        break;
     default:
         result = nvme_feature_default[fid];
         break;