[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