]> git.kernelconcepts.de Git - karo-tx-uboot.git/commit
x86: quark: Optimize MRC execution time
authorBin Meng <bmeng.cn@gmail.com>
Thu, 3 Sep 2015 12:37:23 +0000 (05:37 -0700)
committerSimon Glass <sjg@chromium.org>
Wed, 9 Sep 2015 13:48:03 +0000 (07:48 -0600)
commit5750e5e29a4d4e90cb0ce3ec71233f8efbf5ebaa
treee51131daf89888e445763705d744369a3d460c76
parent983c6ba227e192c79b1df82853d8bacd40e1e989
x86: quark: Optimize MRC execution time

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).

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
arch/x86/cpu/quark/msg_port.c
arch/x86/include/asm/arch-quark/quark.h