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

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(-)
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; };

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

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 +
struct { /* block 0 */ union { /* num of bytes used/num of bytes in spd device/crc coverage */MV_DDR_SPD_DATA_BLOCK2M_SIZE];
@@ -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];
} byte_fields; };unsigned char bytes_320_383[MV_DDR_SPD_DATA_BLOCK2M_SIZE];
Viele Grüße, Stefan
participants (3)
-
Chris Packham
-
Marek Behún
-
Stefan Roese