hw/sd/sdcard: Use registerfield CSR::CURRENT_STATE definition
authorPhilippe Mathieu-Daudé <philmd@linaro.org>
Mon, 17 Jun 2024 11:03:56 +0000 (13:03 +0200)
committerPhilippe Mathieu-Daudé <philmd@linaro.org>
Mon, 24 Jun 2024 08:41:42 +0000 (10:41 +0200)
Use registerfield-generated definitions to update card_status.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Tested-by: Cédric Le Goater <clg@redhat.com>
Message-Id: <20240621080554.18986-6-philmd@linaro.org>

hw/sd/sd.c

index a14c5ff147d2cf038e0f43268723a3d094cfcc13..64270dec0f6a39006cbfed5ba68a8cab950f0015 100644 (file)
@@ -1788,8 +1788,8 @@ int sd_do_command(SDState *sd, SDRequest *req,
          * (Do this now so they appear in r1 responses.)
          */
         sd->current_cmd = req->cmd;
-        sd->card_status &= ~CURRENT_STATE;
-        sd->card_status |= (last_state << 9);
+        sd->card_status = FIELD_DP32(sd->card_status, CSR,
+                                     CURRENT_STATE, last_state);
     }
 
 send_response: