diff mbox series

[u-boot-marvell] ddr: marvell: a38x: Add more space for additional info from SPD

Message ID 20210226105659.3054-1-marek.behun@nic.cz
State Awaiting Upstream
Delegated to: Stefan Roese
Headers show
Series [u-boot-marvell] ddr: marvell: a38x: Add more space for additional info from SPD | expand

Commit Message

Marek Behún Feb. 26, 2021, 10:56 a.m. UTC
From: Sujeet Baranwal <sbaranwal@marvell.com>

commit 258be123226f8f5cd516b7813fe201fb7d7416e9 upstream.

At this moment, only page 0 of SPD is being read but to support
smbios, we need to read page 1 also which has more info. In order
to do that, we need to allocate more space.

Signed-off-by: Sujeet Baranwal <sujeet.baranwal@cavium.com>
Tested-by: sa_ip-sw-jenkins <sa_ip-sw-jenkins@marvell.com>
Reviewed-by: Sujeet Kumar Baranwal <Sujeet.Baranwal@cavium.com>
Reviewed-by: Nadav Haklai <nadavh@marvell.com>
Signed-off-by: Marek Behún <marek.behun@nic.cz>
---

Stefan, last time I overlooked this commit. This is also part of
upstream mv-ddr-marvell.

With the previous 18 patch series the SPL binary size for
turris_omnia_defconfig rose 36 bytes. With this change it is 424 bytes
(which makes sense since the change is making some structures bigger).
It is still okay for all boards that did not have "SPL too big" problem
before this series.

---
 drivers/ddr/marvell/a38x/mv_ddr_spd.h | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

Comments

Chris Packham March 3, 2021, 1:54 a.m. UTC | #1
On Fri, Feb 26, 2021 at 11:57 PM Marek Behún <marek.behun@nic.cz> wrote:
>
> From: Sujeet Baranwal <sbaranwal@marvell.com>
>
> commit 258be123226f8f5cd516b7813fe201fb7d7416e9 upstream.
>
> At this moment, only page 0 of SPD is being read but to support
> smbios, we need to read page 1 also which has more info. In order
> to do that, we need to allocate more space.
>
> Signed-off-by: Sujeet Baranwal <sujeet.baranwal@cavium.com>
> Tested-by: sa_ip-sw-jenkins <sa_ip-sw-jenkins@marvell.com>
> Reviewed-by: Sujeet Kumar Baranwal <Sujeet.Baranwal@cavium.com>
> Reviewed-by: Nadav Haklai <nadavh@marvell.com>
> Signed-off-by: Marek Behún <marek.behun@nic.cz>

Taken for a spin on db-88f6820-amc and x530.

Tested-by: Chris Packham <judge.packham@gmail.com>

> ---
>
> Stefan, last time I overlooked this commit. This is also part of
> upstream mv-ddr-marvell.
>
> With the previous 18 patch series the SPL binary size for
> turris_omnia_defconfig rose 36 bytes. With this change it is 424 bytes
> (which makes sense since the change is making some structures bigger).
> It is still okay for all boards that did not have "SPL too big" problem
> before this series.
>
> ---
>  drivers/ddr/marvell/a38x/mv_ddr_spd.h | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/ddr/marvell/a38x/mv_ddr_spd.h b/drivers/ddr/marvell/a38x/mv_ddr_spd.h
> index b4bfef3103..6043f11b28 100644
> --- a/drivers/ddr/marvell/a38x/mv_ddr_spd.h
> +++ b/drivers/ddr/marvell/a38x/mv_ddr_spd.h
> @@ -40,7 +40,10 @@
>   */
>  union mv_ddr_spd_data {
>         unsigned char all_bytes[MV_DDR_SPD_DATA_BLOCK0_SIZE +
> -                               MV_DDR_SPD_DATA_BLOCK1M_SIZE];
> +                               MV_DDR_SPD_DATA_BLOCK1M_SIZE +
> +                               MV_DDR_SPD_DATA_BLOCK1H_SIZE +
> +                               MV_DDR_SPD_DATA_BLOCK2E_SIZE +
> +                               MV_DDR_SPD_DATA_BLOCK2M_SIZE];
>         struct {
>                 /* block 0 */
>                 union { /* num of bytes used/num of bytes in spd device/crc coverage */
> @@ -271,6 +274,9 @@ union mv_ddr_spd_data {
>                         } bit_fields;
>                 } byte_131;
>                 unsigned char bytes_132_191[60]; /* reserved; all 0s */
> +               unsigned char bytes_192_255[MV_DDR_SPD_DATA_BLOCK1H_SIZE];
> +               unsigned char bytes_256_319[MV_DDR_SPD_DATA_BLOCK2E_SIZE];
> +               unsigned char bytes_320_383[MV_DDR_SPD_DATA_BLOCK2M_SIZE];
>         } byte_fields;
>  };
>
> --
> 2.26.2
>
Stefan Roese March 12, 2021, 8:50 a.m. UTC | #2
On 26.02.21 11:56, Marek Behún wrote:
> From: Sujeet Baranwal <sbaranwal@marvell.com>
> 
> commit 258be123226f8f5cd516b7813fe201fb7d7416e9 upstream.
> 
> At this moment, only page 0 of SPD is being read but to support
> smbios, we need to read page 1 also which has more info. In order
> to do that, we need to allocate more space.
> 
> Signed-off-by: Sujeet Baranwal <sujeet.baranwal@cavium.com>
> Tested-by: sa_ip-sw-jenkins <sa_ip-sw-jenkins@marvell.com>
> Reviewed-by: Sujeet Kumar Baranwal <Sujeet.Baranwal@cavium.com>
> Reviewed-by: Nadav Haklai <nadavh@marvell.com>
> Signed-off-by: Marek Behún <marek.behun@nic.cz>

Applied to u-boot-marvell/master

Thanks,
Stefan

> ---
> 
> Stefan, last time I overlooked this commit. This is also part of
> upstream mv-ddr-marvell.
> With the previous 18 patch series the SPL binary size for
> turris_omnia_defconfig rose 36 bytes. With this change it is 424 bytes
> (which makes sense since the change is making some structures bigger).
> It is still okay for all boards that did not have "SPL too big" problem
> before this series.
> 
> ---
>   drivers/ddr/marvell/a38x/mv_ddr_spd.h | 8 +++++++-
>   1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/ddr/marvell/a38x/mv_ddr_spd.h b/drivers/ddr/marvell/a38x/mv_ddr_spd.h
> index b4bfef3103..6043f11b28 100644
> --- a/drivers/ddr/marvell/a38x/mv_ddr_spd.h
> +++ b/drivers/ddr/marvell/a38x/mv_ddr_spd.h
> @@ -40,7 +40,10 @@
>    */
>   union mv_ddr_spd_data {
>   	unsigned char all_bytes[MV_DDR_SPD_DATA_BLOCK0_SIZE +
> -				MV_DDR_SPD_DATA_BLOCK1M_SIZE];
> +				MV_DDR_SPD_DATA_BLOCK1M_SIZE +
> +				MV_DDR_SPD_DATA_BLOCK1H_SIZE +
> +				MV_DDR_SPD_DATA_BLOCK2E_SIZE +
> +				MV_DDR_SPD_DATA_BLOCK2M_SIZE];
>   	struct {
>   		/* block 0 */
>   		union { /* num of bytes used/num of bytes in spd device/crc coverage */
> @@ -271,6 +274,9 @@ union mv_ddr_spd_data {
>   			} bit_fields;
>   		} byte_131;
>   		unsigned char bytes_132_191[60]; /* reserved; all 0s */
> +		unsigned char bytes_192_255[MV_DDR_SPD_DATA_BLOCK1H_SIZE];
> +		unsigned char bytes_256_319[MV_DDR_SPD_DATA_BLOCK2E_SIZE];
> +		unsigned char bytes_320_383[MV_DDR_SPD_DATA_BLOCK2M_SIZE];
>   	} byte_fields;
>   };
>   
> 


Viele Grüße,
Stefan
diff mbox series

Patch

diff --git a/drivers/ddr/marvell/a38x/mv_ddr_spd.h b/drivers/ddr/marvell/a38x/mv_ddr_spd.h
index b4bfef3103..6043f11b28 100644
--- a/drivers/ddr/marvell/a38x/mv_ddr_spd.h
+++ b/drivers/ddr/marvell/a38x/mv_ddr_spd.h
@@ -40,7 +40,10 @@ 
  */
 union mv_ddr_spd_data {
 	unsigned char all_bytes[MV_DDR_SPD_DATA_BLOCK0_SIZE +
-				MV_DDR_SPD_DATA_BLOCK1M_SIZE];
+				MV_DDR_SPD_DATA_BLOCK1M_SIZE +
+				MV_DDR_SPD_DATA_BLOCK1H_SIZE +
+				MV_DDR_SPD_DATA_BLOCK2E_SIZE +
+				MV_DDR_SPD_DATA_BLOCK2M_SIZE];
 	struct {
 		/* block 0 */
 		union { /* num of bytes used/num of bytes in spd device/crc coverage */
@@ -271,6 +274,9 @@  union mv_ddr_spd_data {
 			} bit_fields;
 		} byte_131;
 		unsigned char bytes_132_191[60]; /* reserved; all 0s */
+		unsigned char bytes_192_255[MV_DDR_SPD_DATA_BLOCK1H_SIZE];
+		unsigned char bytes_256_319[MV_DDR_SPD_DATA_BLOCK2E_SIZE];
+		unsigned char bytes_320_383[MV_DDR_SPD_DATA_BLOCK2M_SIZE];
 	} byte_fields;
 };