[U-Boot] [PATCH v2 01/11] x86: quark: Optimize MRC execution time

Simon Glass sjg at chromium.org
Wed Sep 2 16:05:16 CEST 2015


Hi Bin,

On 2 September 2015 at 03:17, Bin Meng <bmeng.cn at gmail.com> wrote:
> Intel Quark SoC has a low end x86 processor with only 400MHz
> frequency. Currently it takes about 15 seconds for U-Boot to
> boot to shell and the most time consuming part is with MRC,
> which is about 12 seconds. MRC programs lots of registers on
> the SoC internal message bus indirectly accessed via pci bus.
>
> To speed up the boot, create an optimized version of pci config
> read/write dword routines which directly operate on PCI I/O ports.
> These two routines are inlined to provide better performance too.
> Now it only takes about 3 seconds to finish MRC, which is really
> fast (4 times faster than before).

Is it possible to use the new memory-mapped-based PCI configuration
approach on Quark. Also I wonder if we should adjust the functions in
arch/x86/cpu.c to do this?

>
> Signed-off-by: Bin Meng <bmeng.cn at gmail.com>
>
> ---
>
> Changes in v2:
> - Drop v1 patch: "x86: quark: Make host bridge (b.d.f=0.0.0) visible",
>   as pci_skip_dev() is not needed with the conversion to dm pci.
> - Drop v1 patch: "dm: pci: Allow skipping device configuration",
>   as full PCIe root port support has been added and there is no need
>   to add such feature at this point. We can still add such capability
>   to dm pci in the future whenever needed.
> - Reorder to put patch "Optimize MRC execution time" as the first one
>   in v2, as this patch addressed the slow boot time issue which exists
>   before dm pci conversion, although it significantly improves more
>   after dm pci conversion :-)
> - Move qrk_pci_write_config_dword() and qrk_pci_read_config_dword()
>   to arch/x86/cpu/quark/quark.c
> - Rewrite this commit's message (ie: not mentioning dm pci conversion)
>
>  arch/x86/cpu/quark/msg_port.c           | 44 ++++++++++++++++-----------------
>  arch/x86/include/asm/arch-quark/quark.h | 35 ++++++++++++++++++++++++++
>  2 files changed, 57 insertions(+), 22 deletions(-)

Acked-by: Simon Glass <sjg at chromium.org>

Regards,
Simon


More information about the U-Boot mailing list