[PATCH] ddr: fsl: Reduce the size of interactive options

Peng Fan peng.fan at oss.nxp.com
Tue Sep 6 07:27:46 CEST 2022



On 8/31/2022 4:54 AM, Sean Anderson wrote:
> The interactive mode uses large several tables of options which can be
> configured. However, much of the contents of these tables are
> repetetive. For example, no struct is larger than half a kilobyte, so
> the offset only takes up 9 bits. Similarly, the size is only ever 4 or
> 8, and printhex is a boolean. Reduce the size of these fields. This
> reduces the size of the options tables by around 10 KiB. However, the
> largest contributor to the size of the options tables is the use of a
> pointer for the strings. A better approach would be to use a separate
> array of strings, and store an integer index in the options tables.
> However, this would require a large re-architecting of this file.
> 
> Signed-off-by: Sean Anderson <sean.anderson at seco.com>

In tag:
https://source.denx.de/u-boot/custodians/u-boot-fsl-qoriq/-/tags/fsl-qoriq-2022-9-6

Waiting CI results.

Regards,
Peng.

> ---
> 
>   drivers/ddr/fsl/interactive.c | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/ddr/fsl/interactive.c b/drivers/ddr/fsl/interactive.c
> index 2f76beb2dbe..eb2f06e8300 100644
> --- a/drivers/ddr/fsl/interactive.c
> +++ b/drivers/ddr/fsl/interactive.c
> @@ -27,9 +27,9 @@
>   /* Option parameter Structures */
>   struct options_string {
>   	const char *option_name;
> -	size_t offset;
> -	unsigned int size;
> -	const char printhex;
> +	u32 offset : 9;
> +	u32 size : 4;
> +	u32 printhex : 1;
>   };
>   
>   static unsigned int picos_to_mhz(unsigned int picos)


More information about the U-Boot mailing list