[PATCH-for-10.0 3/3] hw/sd/sdcard: Remove support for spec v1.10

Philippe Mathieu-Daudé posted 3 patches 1 year, 7 months ago
There is a newer version of this series
[PATCH-for-10.0 3/3] hw/sd/sdcard: Remove support for spec v1.10
Posted by Philippe Mathieu-Daudé 1 year, 7 months ago
Support for spec v1.10 was deprecated in QEMU v9.1.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 docs/about/deprecated.rst       |  6 ------
 docs/about/removed-features.rst |  5 +++++
 include/hw/sd/sd.h              |  1 -
 hw/sd/sd.c                      | 12 ++----------
 4 files changed, 7 insertions(+), 17 deletions(-)

diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index 02cdef14aa..ff3da68208 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -362,12 +362,6 @@ recommending to switch to their stable counterparts:
 - "Zve64f" should be replaced with "zve64f"
 - "Zve64d" should be replaced with "zve64d"
 
-``-device sd-card,spec_version=1`` (since 9.1)
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-SD physical layer specification v2.00 supersedes the v1.10 one.
-v2.00 is the default since QEMU 3.0.0.
-
 Block device options
 ''''''''''''''''''''
 
diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst
index fc7b28e637..dfe04b0555 100644
--- a/docs/about/removed-features.rst
+++ b/docs/about/removed-features.rst
@@ -1056,6 +1056,11 @@ by using ``-machine graphics=off``.
 
 The 'pvrdma' device and the whole RDMA subsystem have been removed.
 
+``-device sd-card,spec_version=1`` (since 10.0)
+'''''''''''''''''''''''''''''''''''''''''''''''
+
+SD physical layer specification v2.00 supersedes the v1.10 one.
+
 Related binaries
 ----------------
 
diff --git a/include/hw/sd/sd.h b/include/hw/sd/sd.h
index 2c8748fb9b..362e149360 100644
--- a/include/hw/sd/sd.h
+++ b/include/hw/sd/sd.h
@@ -56,7 +56,6 @@
 #define AKE_SEQ_ERROR           (1 << 3)
 
 enum SDPhySpecificationVersion {
-    SD_PHY_SPECv1_10_VERS     = 1,
     SD_PHY_SPECv2_00_VERS     = 2,
     SD_PHY_SPECv3_01_VERS     = 3,
 };
diff --git a/hw/sd/sd.c b/hw/sd/sd.c
index d0a1d5db18..37a6a989ee 100644
--- a/hw/sd/sd.c
+++ b/hw/sd/sd.c
@@ -168,7 +168,6 @@ static bool sd_is_spi(SDState *sd)
 static const char *sd_version_str(enum SDPhySpecificationVersion version)
 {
     static const char *sdphy_version[] = {
-        [SD_PHY_SPECv1_10_VERS]     = "v1.10",
         [SD_PHY_SPECv2_00_VERS]     = "v2.00",
         [SD_PHY_SPECv3_01_VERS]     = "v3.01",
     };
@@ -371,11 +370,7 @@ static void sd_set_ocr(SDState *sd)
 static void sd_set_scr(SDState *sd)
 {
     sd->scr[0] = 0 << 4;        /* SCR structure version 1.0 */
-    if (sd->spec_version == SD_PHY_SPECv1_10_VERS) {
-        sd->scr[0] |= 1;        /* Spec Version 1.10 */
-    } else {
-        sd->scr[0] |= 2;        /* Spec Version 2.00 or Version 3.0X */
-    }
+    sd->scr[0] |= 2;            /* Spec Version 2.00 or Version 3.0X */
     sd->scr[1] = (2 << 4)       /* SDSC Card (Security Version 1.01) */
                  | 0b0101;      /* 1-bit or 4-bit width bus modes */
     sd->scr[2] = 0x00;          /* Extended Security is not supported. */
@@ -1241,9 +1236,6 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, SDRequest req)
         break;
 
     case 8:  /* CMD8:   SEND_IF_COND */
-        if (sd->spec_version < SD_PHY_SPECv2_00_VERS) {
-            break;
-        }
         if (sd->state != sd_idle_state) {
             break;
         }
@@ -2231,7 +2223,7 @@ static void sd_realize(DeviceState *dev, Error **errp)
     int ret;
 
     switch (sd->spec_version) {
-    case SD_PHY_SPECv1_10_VERS
+    case SD_PHY_SPECv2_00_VERS
      ... SD_PHY_SPECv3_01_VERS:
         break;
     default:
-- 
2.41.0
Re: [PATCH-for-10.0 3/3] hw/sd/sdcard: Remove support for spec v1.10
Posted by Philippe Mathieu-Daudé 5 months, 1 week ago
Kind ping :)

On 27/6/24 09:10, Philippe Mathieu-Daudé wrote:
> Support for spec v1.10 was deprecated in QEMU v9.1.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   docs/about/deprecated.rst       |  6 ------
>   docs/about/removed-features.rst |  5 +++++
>   include/hw/sd/sd.h              |  1 -
>   hw/sd/sd.c                      | 12 ++----------
>   4 files changed, 7 insertions(+), 17 deletions(-)
> 
> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
> index 02cdef14aa..ff3da68208 100644
> --- a/docs/about/deprecated.rst
> +++ b/docs/about/deprecated.rst
> @@ -362,12 +362,6 @@ recommending to switch to their stable counterparts:
>   - "Zve64f" should be replaced with "zve64f"
>   - "Zve64d" should be replaced with "zve64d"
>   
> -``-device sd-card,spec_version=1`` (since 9.1)
> -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> -
> -SD physical layer specification v2.00 supersedes the v1.10 one.
> -v2.00 is the default since QEMU 3.0.0.
> -
>   Block device options
>   ''''''''''''''''''''
>   
> diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst
> index fc7b28e637..dfe04b0555 100644
> --- a/docs/about/removed-features.rst
> +++ b/docs/about/removed-features.rst
> @@ -1056,6 +1056,11 @@ by using ``-machine graphics=off``.
>   
>   The 'pvrdma' device and the whole RDMA subsystem have been removed.
>   
> +``-device sd-card,spec_version=1`` (since 10.0)
> +'''''''''''''''''''''''''''''''''''''''''''''''
> +
> +SD physical layer specification v2.00 supersedes the v1.10 one.
> +
>   Related binaries
>   ----------------
>   
> diff --git a/include/hw/sd/sd.h b/include/hw/sd/sd.h
> index 2c8748fb9b..362e149360 100644
> --- a/include/hw/sd/sd.h
> +++ b/include/hw/sd/sd.h
> @@ -56,7 +56,6 @@
>   #define AKE_SEQ_ERROR           (1 << 3)
>   
>   enum SDPhySpecificationVersion {
> -    SD_PHY_SPECv1_10_VERS     = 1,
>       SD_PHY_SPECv2_00_VERS     = 2,
>       SD_PHY_SPECv3_01_VERS     = 3,
>   };
> diff --git a/hw/sd/sd.c b/hw/sd/sd.c
> index d0a1d5db18..37a6a989ee 100644
> --- a/hw/sd/sd.c
> +++ b/hw/sd/sd.c
> @@ -168,7 +168,6 @@ static bool sd_is_spi(SDState *sd)
>   static const char *sd_version_str(enum SDPhySpecificationVersion version)
>   {
>       static const char *sdphy_version[] = {
> -        [SD_PHY_SPECv1_10_VERS]     = "v1.10",
>           [SD_PHY_SPECv2_00_VERS]     = "v2.00",
>           [SD_PHY_SPECv3_01_VERS]     = "v3.01",
>       };
> @@ -371,11 +370,7 @@ static void sd_set_ocr(SDState *sd)
>   static void sd_set_scr(SDState *sd)
>   {
>       sd->scr[0] = 0 << 4;        /* SCR structure version 1.0 */
> -    if (sd->spec_version == SD_PHY_SPECv1_10_VERS) {
> -        sd->scr[0] |= 1;        /* Spec Version 1.10 */
> -    } else {
> -        sd->scr[0] |= 2;        /* Spec Version 2.00 or Version 3.0X */
> -    }
> +    sd->scr[0] |= 2;            /* Spec Version 2.00 or Version 3.0X */
>       sd->scr[1] = (2 << 4)       /* SDSC Card (Security Version 1.01) */
>                    | 0b0101;      /* 1-bit or 4-bit width bus modes */
>       sd->scr[2] = 0x00;          /* Extended Security is not supported. */
> @@ -1241,9 +1236,6 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, SDRequest req)
>           break;
>   
>       case 8:  /* CMD8:   SEND_IF_COND */
> -        if (sd->spec_version < SD_PHY_SPECv2_00_VERS) {
> -            break;
> -        }
>           if (sd->state != sd_idle_state) {
>               break;
>           }
> @@ -2231,7 +2223,7 @@ static void sd_realize(DeviceState *dev, Error **errp)
>       int ret;
>   
>       switch (sd->spec_version) {
> -    case SD_PHY_SPECv1_10_VERS
> +    case SD_PHY_SPECv2_00_VERS
>        ... SD_PHY_SPECv3_01_VERS:
>           break;
>       default:


Re: [PATCH-for-10.0 3/3] hw/sd/sdcard: Remove support for spec v1.10
Posted by Philippe Mathieu-Daudé 5 months, 1 week ago
On 1/9/25 09:29, Philippe Mathieu-Daudé wrote:
> Kind ping :)
> 
> On 27/6/24 09:10, Philippe Mathieu-Daudé wrote:
>> Support for spec v1.10 was deprecated in QEMU v9.1.
>>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>> ---
>>   docs/about/deprecated.rst       |  6 ------
>>   docs/about/removed-features.rst |  5 +++++
>>   include/hw/sd/sd.h              |  1 -
>>   hw/sd/sd.c                      | 12 ++----------
>>   4 files changed, 7 insertions(+), 17 deletions(-)
>>
>> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
>> index 02cdef14aa..ff3da68208 100644
>> --- a/docs/about/deprecated.rst
>> +++ b/docs/about/deprecated.rst
>> @@ -362,12 +362,6 @@ recommending to switch to their stable counterparts:
>>   - "Zve64f" should be replaced with "zve64f"
>>   - "Zve64d" should be replaced with "zve64d"
>> -``-device sd-card,spec_version=1`` (since 9.1)
>> -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>> -
>> -SD physical layer specification v2.00 supersedes the v1.10 one.
>> -v2.00 is the default since QEMU 3.0.0.
>> -
>>   Block device options
>>   ''''''''''''''''''''
>> diff --git a/docs/about/removed-features.rst b/docs/about/removed- 
>> features.rst
>> index fc7b28e637..dfe04b0555 100644
>> --- a/docs/about/removed-features.rst
>> +++ b/docs/about/removed-features.rst
>> @@ -1056,6 +1056,11 @@ by using ``-machine graphics=off``.
>>   The 'pvrdma' device and the whole RDMA subsystem have been removed.
>> +``-device sd-card,spec_version=1`` (since 10.0)

Updated to "10.2".

>> +'''''''''''''''''''''''''''''''''''''''''''''''
>> +
>> +SD physical layer specification v2.00 supersedes the v1.10 one.
>> +
>>   Related binaries
>>   ----------------
>> diff --git a/include/hw/sd/sd.h b/include/hw/sd/sd.h
>> index 2c8748fb9b..362e149360 100644
>> --- a/include/hw/sd/sd.h
>> +++ b/include/hw/sd/sd.h
>> @@ -56,7 +56,6 @@
>>   #define AKE_SEQ_ERROR           (1 << 3)
>>   enum SDPhySpecificationVersion {
>> -    SD_PHY_SPECv1_10_VERS     = 1,
>>       SD_PHY_SPECv2_00_VERS     = 2,
>>       SD_PHY_SPECv3_01_VERS     = 3,
>>   };
>> diff --git a/hw/sd/sd.c b/hw/sd/sd.c
>> index d0a1d5db18..37a6a989ee 100644
>> --- a/hw/sd/sd.c
>> +++ b/hw/sd/sd.c
>> @@ -168,7 +168,6 @@ static bool sd_is_spi(SDState *sd)
>>   static const char *sd_version_str(enum SDPhySpecificationVersion 
>> version)
>>   {
>>       static const char *sdphy_version[] = {
>> -        [SD_PHY_SPECv1_10_VERS]     = "v1.10",
>>           [SD_PHY_SPECv2_00_VERS]     = "v2.00",
>>           [SD_PHY_SPECv3_01_VERS]     = "v3.01",
>>       };
>> @@ -371,11 +370,7 @@ static void sd_set_ocr(SDState *sd)
>>   static void sd_set_scr(SDState *sd)
>>   {
>>       sd->scr[0] = 0 << 4;        /* SCR structure version 1.0 */
>> -    if (sd->spec_version == SD_PHY_SPECv1_10_VERS) {
>> -        sd->scr[0] |= 1;        /* Spec Version 1.10 */
>> -    } else {
>> -        sd->scr[0] |= 2;        /* Spec Version 2.00 or Version 3.0X */
>> -    }
>> +    sd->scr[0] |= 2;            /* Spec Version 2.00 or Version 3.0X */
>>       sd->scr[1] = (2 << 4)       /* SDSC Card (Security Version 1.01) */
>>                    | 0b0101;      /* 1-bit or 4-bit width bus modes */
>>       sd->scr[2] = 0x00;          /* Extended Security is not 
>> supported. */
>> @@ -1241,9 +1236,6 @@ static sd_rsp_type_t sd_normal_command(SDState 
>> *sd, SDRequest req)
>>           break;
>>       case 8:  /* CMD8:   SEND_IF_COND */
>> -        if (sd->spec_version < SD_PHY_SPECv2_00_VERS) {
>> -            break;
>> -        }
>>           if (sd->state != sd_idle_state) {
>>               break;
>>           }
>> @@ -2231,7 +2223,7 @@ static void sd_realize(DeviceState *dev, Error 
>> **errp)
>>       int ret;
>>       switch (sd->spec_version) {
>> -    case SD_PHY_SPECv1_10_VERS
>> +    case SD_PHY_SPECv2_00_VERS
>>        ... SD_PHY_SPECv3_01_VERS:
>>           break;
>>       default:
> 


Re: [PATCH-for-10.0 3/3] hw/sd/sdcard: Remove support for spec v1.10
Posted by Philippe Mathieu-Daudé 5 months, 1 week ago
On 1/9/25 09:41, Philippe Mathieu-Daudé wrote:
> On 1/9/25 09:29, Philippe Mathieu-Daudé wrote:
>> Kind ping :)
>>
>> On 27/6/24 09:10, Philippe Mathieu-Daudé wrote:
>>> Support for spec v1.10 was deprecated in QEMU v9.1.
>>>
>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>>> ---
>>>   docs/about/deprecated.rst       |  6 ------
>>>   docs/about/removed-features.rst |  5 +++++
>>>   include/hw/sd/sd.h              |  1 -
>>>   hw/sd/sd.c                      | 12 ++----------
>>>   4 files changed, 7 insertions(+), 17 deletions(-)
>>>
>>> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
>>> index 02cdef14aa..ff3da68208 100644
>>> --- a/docs/about/deprecated.rst
>>> +++ b/docs/about/deprecated.rst
>>> @@ -362,12 +362,6 @@ recommending to switch to their stable 
>>> counterparts:
>>>   - "Zve64f" should be replaced with "zve64f"
>>>   - "Zve64d" should be replaced with "zve64d"
>>> -``-device sd-card,spec_version=1`` (since 9.1)
>>> -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>> -
>>> -SD physical layer specification v2.00 supersedes the v1.10 one.
>>> -v2.00 is the default since QEMU 3.0.0.
>>> -
>>>   Block device options
>>>   ''''''''''''''''''''
>>> diff --git a/docs/about/removed-features.rst b/docs/about/removed- 
>>> features.rst
>>> index fc7b28e637..dfe04b0555 100644
>>> --- a/docs/about/removed-features.rst
>>> +++ b/docs/about/removed-features.rst
>>> @@ -1056,6 +1056,11 @@ by using ``-machine graphics=off``.
>>>   The 'pvrdma' device and the whole RDMA subsystem have been removed.
>>> +``-device sd-card,spec_version=1`` (since 10.0)
> 
> Updated to "10.2".

As discussed with Pierrick during online review:

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>