qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] qtest/npcm7xx_sdhci: Use card-provided address (RCA)
@ 2024-07-02 14:08 Philippe Mathieu-Daudé
  2024-07-02 14:08 ` [PATCH 1/4] hw/sd/npcm7xx_sdhci: Use TYPE_SYSBUS_SDHCI definition Philippe Mathieu-Daudé
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Philippe Mathieu-Daudé @ 2024-07-02 14:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Tyrone Ting, Paolo Bonzini, Hao Wu, Thomas Huth, Shengtan Mao,
	Chris Rauer, Joel Stanley, Cédric Le Goater, Sai Pavan Boddu,
	Laurent Vivier, Luc Michel, Bin Meng, qemu-arm, qemu-block,
	Philippe Mathieu-Daudé, Patrick Venture

Avoid to use the SDCard hardcoded 0x4567 RCA in npcm7xx
SDHCI qtest, so we can generate one in the card model.

Philippe Mathieu-Daudé (4):
  hw/sd/npcm7xx_sdhci: Use TYPE_SYSBUS_SDHCI definition
  hw/sd/sdhci: Log non-sequencial access as GUEST_ERROR
  tests/qtest/npcm7xx_sdhci: Access the card using its published address
  hw/sd/sdcard: Generate random RCA value

 tests/qtest/libqos/sdhci-cmd.h   |  2 ++
 hw/sd/npcm7xx_sdhci.c            |  3 ++-
 hw/sd/sd.c                       | 11 ++++++++---
 hw/sd/sdhci.c                    |  5 +++--
 tests/qtest/npcm7xx_sdhci-test.c |  8 ++++++--
 hw/sd/trace-events               |  1 +
 6 files changed, 22 insertions(+), 8 deletions(-)

-- 
2.41.0



^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 1/4] hw/sd/npcm7xx_sdhci: Use TYPE_SYSBUS_SDHCI definition
  2024-07-02 14:08 [PATCH 0/4] qtest/npcm7xx_sdhci: Use card-provided address (RCA) Philippe Mathieu-Daudé
@ 2024-07-02 14:08 ` Philippe Mathieu-Daudé
  2024-07-02 14:15   ` Cédric Le Goater
  2024-07-02 14:08 ` [PATCH 2/4] hw/sd/sdhci: Log non-sequencial access as GUEST_ERROR Philippe Mathieu-Daudé
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 9+ messages in thread
From: Philippe Mathieu-Daudé @ 2024-07-02 14:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Tyrone Ting, Paolo Bonzini, Hao Wu, Thomas Huth, Shengtan Mao,
	Chris Rauer, Joel Stanley, Cédric Le Goater, Sai Pavan Boddu,
	Laurent Vivier, Luc Michel, Bin Meng, qemu-arm, qemu-block,
	Philippe Mathieu-Daudé, Patrick Venture

Use the macro instead of two explicit string literals.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/sd/npcm7xx_sdhci.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/hw/sd/npcm7xx_sdhci.c b/hw/sd/npcm7xx_sdhci.c
index e93dab8dbd..fb51821e11 100644
--- a/hw/sd/npcm7xx_sdhci.c
+++ b/hw/sd/npcm7xx_sdhci.c
@@ -16,6 +16,7 @@
 
 #include "qemu/osdep.h"
 
+#include "hw/sd/sdhci.h"
 #include "hw/sd/npcm7xx_sdhci.h"
 #include "migration/vmstate.h"
 #include "sdhci-internal.h"
@@ -162,7 +163,7 @@ static void npcm7xx_sdhci_instance_init(Object *obj)
 {
     NPCM7xxSDHCIState *s = NPCM7XX_SDHCI(obj);
 
-    object_initialize_child(OBJECT(s), "generic-sdhci", &s->sdhci,
+    object_initialize_child(OBJECT(s), TYPE_SYSBUS_SDHCI, &s->sdhci,
                             TYPE_SYSBUS_SDHCI);
 }
 
-- 
2.41.0



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 2/4] hw/sd/sdhci: Log non-sequencial access as GUEST_ERROR
  2024-07-02 14:08 [PATCH 0/4] qtest/npcm7xx_sdhci: Use card-provided address (RCA) Philippe Mathieu-Daudé
  2024-07-02 14:08 ` [PATCH 1/4] hw/sd/npcm7xx_sdhci: Use TYPE_SYSBUS_SDHCI definition Philippe Mathieu-Daudé
@ 2024-07-02 14:08 ` Philippe Mathieu-Daudé
  2024-07-02 14:16   ` Cédric Le Goater
  2024-07-02 14:08 ` [PATCH 3/4] tests/qtest/npcm7xx_sdhci: Access the card using its published address Philippe Mathieu-Daudé
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 9+ messages in thread
From: Philippe Mathieu-Daudé @ 2024-07-02 14:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Tyrone Ting, Paolo Bonzini, Hao Wu, Thomas Huth, Shengtan Mao,
	Chris Rauer, Joel Stanley, Cédric Le Goater, Sai Pavan Boddu,
	Laurent Vivier, Luc Michel, Bin Meng, qemu-arm, qemu-block,
	Philippe Mathieu-Daudé, Patrick Venture

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/sd/sdhci.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c
index 27673e1c70..d02c3e3963 100644
--- a/hw/sd/sdhci.c
+++ b/hw/sd/sdhci.c
@@ -983,8 +983,9 @@ static inline bool
 sdhci_buff_access_is_sequential(SDHCIState *s, unsigned byte_num)
 {
     if ((s->data_count & 0x3) != byte_num) {
-        trace_sdhci_error("Non-sequential access to Buffer Data Port register"
-                          "is prohibited\n");
+        qemu_log_mask(LOG_GUEST_ERROR,
+                      "SDHCI: Non-sequential access to Buffer Data Port"
+                      " register is prohibited\n");
         return false;
     }
     return true;
-- 
2.41.0



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 3/4] tests/qtest/npcm7xx_sdhci: Access the card using its published address
  2024-07-02 14:08 [PATCH 0/4] qtest/npcm7xx_sdhci: Use card-provided address (RCA) Philippe Mathieu-Daudé
  2024-07-02 14:08 ` [PATCH 1/4] hw/sd/npcm7xx_sdhci: Use TYPE_SYSBUS_SDHCI definition Philippe Mathieu-Daudé
  2024-07-02 14:08 ` [PATCH 2/4] hw/sd/sdhci: Log non-sequencial access as GUEST_ERROR Philippe Mathieu-Daudé
@ 2024-07-02 14:08 ` Philippe Mathieu-Daudé
  2024-07-02 14:28   ` Cédric Le Goater
  2024-07-02 14:08 ` [PATCH 4/4] hw/sd/sdcard: Generate random RCA value Philippe Mathieu-Daudé
  2024-07-05 21:52 ` [PATCH 0/4] qtest/npcm7xx_sdhci: Use card-provided address (RCA) Philippe Mathieu-Daudé
  4 siblings, 1 reply; 9+ messages in thread
From: Philippe Mathieu-Daudé @ 2024-07-02 14:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Tyrone Ting, Paolo Bonzini, Hao Wu, Thomas Huth, Shengtan Mao,
	Chris Rauer, Joel Stanley, Cédric Le Goater, Sai Pavan Boddu,
	Laurent Vivier, Luc Michel, Bin Meng, qemu-arm, qemu-block,
	Philippe Mathieu-Daudé, Patrick Venture

Currently setup_sd_card() asks the card its address,
but discard the response and use hardcoded 0x4567.

Set the SDHC_CMD_RESPONSE bit to have the controller
record the bus response, and read the response from
the RSPREG0 register. Then we can select the card with
its real address.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
Cc: Hao Wu <wuhaotsh@google.com>
Cc: Chris Rauer <crauer@google.com>
Cc: Shengtan Mao <stmao@google.com>
Cc: Patrick Venture <venture@google.com>
Cc: Tyrone Ting <kfting@nuvoton.com>
---
 tests/qtest/libqos/sdhci-cmd.h   | 2 ++
 tests/qtest/npcm7xx_sdhci-test.c | 8 ++++++--
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/tests/qtest/libqos/sdhci-cmd.h b/tests/qtest/libqos/sdhci-cmd.h
index 9e61dd4944..90efa028ef 100644
--- a/tests/qtest/libqos/sdhci-cmd.h
+++ b/tests/qtest/libqos/sdhci-cmd.h
@@ -22,6 +22,7 @@
 #define SDHC_ARGUMENT 0x08
 #define SDHC_TRNMOD 0x0C
 #define SDHC_CMDREG 0x0E
+#define SDHC_RSPREG0 0x10
 #define SDHC_BDATA 0x20
 #define SDHC_PRNSTS 0x24
 #define SDHC_BLKGAP 0x2A
@@ -38,6 +39,7 @@
 #define SDHC_TRNS_MULTI 0x0020
 
 /* CMD Reg */
+#define SDHC_CMD_RESPONSE (3 << 0)
 #define SDHC_CMD_DATA_PRESENT (1 << 5)
 #define SDHC_ALL_SEND_CID (2 << 8)
 #define SDHC_SEND_RELATIVE_ADDR (3 << 8)
diff --git a/tests/qtest/npcm7xx_sdhci-test.c b/tests/qtest/npcm7xx_sdhci-test.c
index 5d68540e52..01f237a816 100644
--- a/tests/qtest/npcm7xx_sdhci-test.c
+++ b/tests/qtest/npcm7xx_sdhci-test.c
@@ -30,6 +30,8 @@ char *sd_path;
 
 static QTestState *setup_sd_card(void)
 {
+    uint16_t rca;
+
     QTestState *qts = qtest_initf(
         "-machine kudo-bmc "
         "-device sd-card,drive=drive0 "
@@ -43,8 +45,10 @@ static QTestState *setup_sd_card(void)
     sdhci_cmd_regs(qts, NPCM7XX_MMC_BA, 0, 0, 0, 0, SDHC_APP_CMD);
     sdhci_cmd_regs(qts, NPCM7XX_MMC_BA, 0, 0, 0x41200000, 0, (41 << 8));
     sdhci_cmd_regs(qts, NPCM7XX_MMC_BA, 0, 0, 0, 0, SDHC_ALL_SEND_CID);
-    sdhci_cmd_regs(qts, NPCM7XX_MMC_BA, 0, 0, 0, 0, SDHC_SEND_RELATIVE_ADDR);
-    sdhci_cmd_regs(qts, NPCM7XX_MMC_BA, 0, 0, 0x45670000, 0,
+    sdhci_cmd_regs(qts, NPCM7XX_MMC_BA, 0, 0, 0, 0, SDHC_SEND_RELATIVE_ADDR
+                                                    | SDHC_CMD_RESPONSE);
+    rca = qtest_readl(qts, NPCM7XX_MMC_BA + SDHC_RSPREG0) >> 16;
+    sdhci_cmd_regs(qts, NPCM7XX_MMC_BA, 0, 0, rca << 16, 0,
                    SDHC_SELECT_DESELECT_CARD);
 
     return qts;
-- 
2.41.0



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 4/4] hw/sd/sdcard: Generate random RCA value
  2024-07-02 14:08 [PATCH 0/4] qtest/npcm7xx_sdhci: Use card-provided address (RCA) Philippe Mathieu-Daudé
                   ` (2 preceding siblings ...)
  2024-07-02 14:08 ` [PATCH 3/4] tests/qtest/npcm7xx_sdhci: Access the card using its published address Philippe Mathieu-Daudé
@ 2024-07-02 14:08 ` Philippe Mathieu-Daudé
  2024-07-05 21:52 ` [PATCH 0/4] qtest/npcm7xx_sdhci: Use card-provided address (RCA) Philippe Mathieu-Daudé
  4 siblings, 0 replies; 9+ messages in thread
From: Philippe Mathieu-Daudé @ 2024-07-02 14:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Tyrone Ting, Paolo Bonzini, Hao Wu, Thomas Huth, Shengtan Mao,
	Chris Rauer, Joel Stanley, Cédric Le Goater, Sai Pavan Boddu,
	Laurent Vivier, Luc Michel, Bin Meng, qemu-arm, qemu-block,
	Philippe Mathieu-Daudé, Patrick Venture,
	Cédric Le Goater

Rather than using the obscure 0x4567 magic value,
use a real random one.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
---
 hw/sd/sd.c         | 11 ++++++++---
 hw/sd/trace-events |  1 +
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/hw/sd/sd.c b/hw/sd/sd.c
index a48010cfc1..9443a9439d 100644
--- a/hw/sd/sd.c
+++ b/hw/sd/sd.c
@@ -46,6 +46,7 @@
 #include "qemu/error-report.h"
 #include "qemu/timer.h"
 #include "qemu/log.h"
+#include "qemu/guest-random.h"
 #include "qemu/module.h"
 #include "sdmmc-internal.h"
 #include "trace.h"
@@ -490,9 +491,10 @@ static void sd_set_csd(SDState *sd, uint64_t size)
 
 /* Relative Card Address register */
 
-static void sd_set_rca(SDState *sd)
+static void sd_set_rca(SDState *sd, uint16_t value)
 {
-    sd->rca += 0x4567;
+    trace_sdcard_set_rca(value);
+    sd->rca = value;
 }
 
 static uint16_t sd_req_get_rca(SDState *s, SDRequest req)
@@ -1103,11 +1105,14 @@ static sd_rsp_type_t sd_cmd_ALL_SEND_CID(SDState *sd, SDRequest req)
 /* CMD3 */
 static sd_rsp_type_t sd_cmd_SEND_RELATIVE_ADDR(SDState *sd, SDRequest req)
 {
+    uint16_t random_rca;
+
     switch (sd->state) {
     case sd_identification_state:
     case sd_standby_state:
         sd->state = sd_standby_state;
-        sd_set_rca(sd);
+        qemu_guest_getrandom_nofail(&random_rca, sizeof(random_rca));
+        sd_set_rca(sd, random_rca);
         return sd_r6;
 
     default:
diff --git a/hw/sd/trace-events b/hw/sd/trace-events
index 724365efc3..f1281aecd3 100644
--- a/hw/sd/trace-events
+++ b/hw/sd/trace-events
@@ -43,6 +43,7 @@ sdcard_response(const char *rspdesc, int rsplen) "%s (sz:%d)"
 sdcard_powerup(void) ""
 sdcard_inquiry_cmd41(void) ""
 sdcard_reset(void) ""
+sdcard_set_rca(uint16_t value) "new RCA: 0x%04x"
 sdcard_set_blocklen(uint16_t length) "block len 0x%03x"
 sdcard_set_block_count(uint32_t cnt) "block cnt 0x%"PRIx32
 sdcard_inserted(bool readonly) "read_only: %u"
-- 
2.41.0



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/4] hw/sd/npcm7xx_sdhci: Use TYPE_SYSBUS_SDHCI definition
  2024-07-02 14:08 ` [PATCH 1/4] hw/sd/npcm7xx_sdhci: Use TYPE_SYSBUS_SDHCI definition Philippe Mathieu-Daudé
@ 2024-07-02 14:15   ` Cédric Le Goater
  0 siblings, 0 replies; 9+ messages in thread
From: Cédric Le Goater @ 2024-07-02 14:15 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Tyrone Ting, Paolo Bonzini, Hao Wu, Thomas Huth, Shengtan Mao,
	Chris Rauer, Joel Stanley, Sai Pavan Boddu, Laurent Vivier,
	Luc Michel, Bin Meng, qemu-arm, qemu-block, Patrick Venture

On 7/2/24 4:08 PM, Philippe Mathieu-Daudé wrote:
> Use the macro instead of two explicit string literals.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


Reviewed-by: Cédric Le Goater <clg@redhat.com>

Thanks,

C.


> ---
>   hw/sd/npcm7xx_sdhci.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/sd/npcm7xx_sdhci.c b/hw/sd/npcm7xx_sdhci.c
> index e93dab8dbd..fb51821e11 100644
> --- a/hw/sd/npcm7xx_sdhci.c
> +++ b/hw/sd/npcm7xx_sdhci.c
> @@ -16,6 +16,7 @@
>   
>   #include "qemu/osdep.h"
>   
> +#include "hw/sd/sdhci.h"
>   #include "hw/sd/npcm7xx_sdhci.h"
>   #include "migration/vmstate.h"
>   #include "sdhci-internal.h"
> @@ -162,7 +163,7 @@ static void npcm7xx_sdhci_instance_init(Object *obj)
>   {
>       NPCM7xxSDHCIState *s = NPCM7XX_SDHCI(obj);
>   
> -    object_initialize_child(OBJECT(s), "generic-sdhci", &s->sdhci,
> +    object_initialize_child(OBJECT(s), TYPE_SYSBUS_SDHCI, &s->sdhci,
>                               TYPE_SYSBUS_SDHCI);
>   }
>   



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 2/4] hw/sd/sdhci: Log non-sequencial access as GUEST_ERROR
  2024-07-02 14:08 ` [PATCH 2/4] hw/sd/sdhci: Log non-sequencial access as GUEST_ERROR Philippe Mathieu-Daudé
@ 2024-07-02 14:16   ` Cédric Le Goater
  0 siblings, 0 replies; 9+ messages in thread
From: Cédric Le Goater @ 2024-07-02 14:16 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Tyrone Ting, Paolo Bonzini, Hao Wu, Thomas Huth, Shengtan Mao,
	Chris Rauer, Joel Stanley, Sai Pavan Boddu, Laurent Vivier,
	Luc Michel, Bin Meng, qemu-arm, qemu-block, Patrick Venture

On 7/2/24 4:08 PM, Philippe Mathieu-Daudé wrote:
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


Reviewed-by: Cédric Le Goater <clg@redhat.com>

Thanks,

C.


> ---
>   hw/sd/sdhci.c | 5 +++--
>   1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c
> index 27673e1c70..d02c3e3963 100644
> --- a/hw/sd/sdhci.c
> +++ b/hw/sd/sdhci.c
> @@ -983,8 +983,9 @@ static inline bool
>   sdhci_buff_access_is_sequential(SDHCIState *s, unsigned byte_num)
>   {
>       if ((s->data_count & 0x3) != byte_num) {
> -        trace_sdhci_error("Non-sequential access to Buffer Data Port register"
> -                          "is prohibited\n");
> +        qemu_log_mask(LOG_GUEST_ERROR,
> +                      "SDHCI: Non-sequential access to Buffer Data Port"
> +                      " register is prohibited\n");
>           return false;
>       }
>       return true;



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 3/4] tests/qtest/npcm7xx_sdhci: Access the card using its published address
  2024-07-02 14:08 ` [PATCH 3/4] tests/qtest/npcm7xx_sdhci: Access the card using its published address Philippe Mathieu-Daudé
@ 2024-07-02 14:28   ` Cédric Le Goater
  0 siblings, 0 replies; 9+ messages in thread
From: Cédric Le Goater @ 2024-07-02 14:28 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Tyrone Ting, Paolo Bonzini, Hao Wu, Thomas Huth, Shengtan Mao,
	Chris Rauer, Joel Stanley, Sai Pavan Boddu, Laurent Vivier,
	Luc Michel, Bin Meng, qemu-arm, qemu-block, Patrick Venture

On 7/2/24 4:08 PM, Philippe Mathieu-Daudé wrote:
> Currently setup_sd_card() asks the card its address,
> but discard the response and use hardcoded 0x4567.
> 
> Set the SDHC_CMD_RESPONSE bit to have the controller
> record the bus response, and read the response from
> the RSPREG0 register. Then we can select the card with
> its real address.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
> Cc: Hao Wu <wuhaotsh@google.com>
> Cc: Chris Rauer <crauer@google.com>
> Cc: Shengtan Mao <stmao@google.com>
> Cc: Patrick Venture <venture@google.com>
> Cc: Tyrone Ting <kfting@nuvoton.com>
> ---
>   tests/qtest/libqos/sdhci-cmd.h   | 2 ++
>   tests/qtest/npcm7xx_sdhci-test.c | 8 ++++++--
>   2 files changed, 8 insertions(+), 2 deletions(-)


Tested-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>

Thanks,

C.


> 
> diff --git a/tests/qtest/libqos/sdhci-cmd.h b/tests/qtest/libqos/sdhci-cmd.h
> index 9e61dd4944..90efa028ef 100644
> --- a/tests/qtest/libqos/sdhci-cmd.h
> +++ b/tests/qtest/libqos/sdhci-cmd.h
> @@ -22,6 +22,7 @@
>   #define SDHC_ARGUMENT 0x08
>   #define SDHC_TRNMOD 0x0C
>   #define SDHC_CMDREG 0x0E
> +#define SDHC_RSPREG0 0x10
>   #define SDHC_BDATA 0x20
>   #define SDHC_PRNSTS 0x24
>   #define SDHC_BLKGAP 0x2A
> @@ -38,6 +39,7 @@
>   #define SDHC_TRNS_MULTI 0x0020
>   
>   /* CMD Reg */
> +#define SDHC_CMD_RESPONSE (3 << 0)
>   #define SDHC_CMD_DATA_PRESENT (1 << 5)
>   #define SDHC_ALL_SEND_CID (2 << 8)
>   #define SDHC_SEND_RELATIVE_ADDR (3 << 8)
> diff --git a/tests/qtest/npcm7xx_sdhci-test.c b/tests/qtest/npcm7xx_sdhci-test.c
> index 5d68540e52..01f237a816 100644
> --- a/tests/qtest/npcm7xx_sdhci-test.c
> +++ b/tests/qtest/npcm7xx_sdhci-test.c
> @@ -30,6 +30,8 @@ char *sd_path;
>   
>   static QTestState *setup_sd_card(void)
>   {
> +    uint16_t rca;
> +
>       QTestState *qts = qtest_initf(
>           "-machine kudo-bmc "
>           "-device sd-card,drive=drive0 "
> @@ -43,8 +45,10 @@ static QTestState *setup_sd_card(void)
>       sdhci_cmd_regs(qts, NPCM7XX_MMC_BA, 0, 0, 0, 0, SDHC_APP_CMD);
>       sdhci_cmd_regs(qts, NPCM7XX_MMC_BA, 0, 0, 0x41200000, 0, (41 << 8));
>       sdhci_cmd_regs(qts, NPCM7XX_MMC_BA, 0, 0, 0, 0, SDHC_ALL_SEND_CID);
> -    sdhci_cmd_regs(qts, NPCM7XX_MMC_BA, 0, 0, 0, 0, SDHC_SEND_RELATIVE_ADDR);
> -    sdhci_cmd_regs(qts, NPCM7XX_MMC_BA, 0, 0, 0x45670000, 0,
> +    sdhci_cmd_regs(qts, NPCM7XX_MMC_BA, 0, 0, 0, 0, SDHC_SEND_RELATIVE_ADDR
> +                                                    | SDHC_CMD_RESPONSE);
> +    rca = qtest_readl(qts, NPCM7XX_MMC_BA + SDHC_RSPREG0) >> 16;
> +    sdhci_cmd_regs(qts, NPCM7XX_MMC_BA, 0, 0, rca << 16, 0,
>                      SDHC_SELECT_DESELECT_CARD);
>   
>       return qts;



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 0/4] qtest/npcm7xx_sdhci: Use card-provided address (RCA)
  2024-07-02 14:08 [PATCH 0/4] qtest/npcm7xx_sdhci: Use card-provided address (RCA) Philippe Mathieu-Daudé
                   ` (3 preceding siblings ...)
  2024-07-02 14:08 ` [PATCH 4/4] hw/sd/sdcard: Generate random RCA value Philippe Mathieu-Daudé
@ 2024-07-05 21:52 ` Philippe Mathieu-Daudé
  4 siblings, 0 replies; 9+ messages in thread
From: Philippe Mathieu-Daudé @ 2024-07-05 21:52 UTC (permalink / raw)
  To: qemu-devel
  Cc: Tyrone Ting, Paolo Bonzini, Hao Wu, Thomas Huth, Shengtan Mao,
	Chris Rauer, Joel Stanley, Cédric Le Goater, Sai Pavan Boddu,
	Laurent Vivier, Luc Michel, Bin Meng, qemu-arm, qemu-block,
	Patrick Venture

On 2/7/24 16:08, Philippe Mathieu-Daudé wrote:

> Philippe Mathieu-Daudé (4):
>    hw/sd/npcm7xx_sdhci: Use TYPE_SYSBUS_SDHCI definition
>    hw/sd/sdhci: Log non-sequencial access as GUEST_ERROR
>    tests/qtest/npcm7xx_sdhci: Access the card using its published address
>    hw/sd/sdcard: Generate random RCA value

Series queued, thanks.



^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2024-07-05 21:52 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-02 14:08 [PATCH 0/4] qtest/npcm7xx_sdhci: Use card-provided address (RCA) Philippe Mathieu-Daudé
2024-07-02 14:08 ` [PATCH 1/4] hw/sd/npcm7xx_sdhci: Use TYPE_SYSBUS_SDHCI definition Philippe Mathieu-Daudé
2024-07-02 14:15   ` Cédric Le Goater
2024-07-02 14:08 ` [PATCH 2/4] hw/sd/sdhci: Log non-sequencial access as GUEST_ERROR Philippe Mathieu-Daudé
2024-07-02 14:16   ` Cédric Le Goater
2024-07-02 14:08 ` [PATCH 3/4] tests/qtest/npcm7xx_sdhci: Access the card using its published address Philippe Mathieu-Daudé
2024-07-02 14:28   ` Cédric Le Goater
2024-07-02 14:08 ` [PATCH 4/4] hw/sd/sdcard: Generate random RCA value Philippe Mathieu-Daudé
2024-07-05 21:52 ` [PATCH 0/4] qtest/npcm7xx_sdhci: Use card-provided address (RCA) Philippe Mathieu-Daudé

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).