[U-Boot] [PATCH 0/8] x86: quark: Convert to driver model

Bin Meng bmeng.cn at gmail.com
Mon Aug 31 11:52:45 CEST 2015


This series converts to use driver model for PCI/USB/ETH on Intel
Galileo board.

Note this series depend on Simon's patch [1] below, which fixes
the issue that pci enumeration is not automatically triggered when
using pci config read/write apis.

Boot time performance degradation is observed with the conversion
to use dm pci. Intel Quark SoC has a low end x86 processor with
only 400MHz frequency and the most time consuming part is with MRC.
Each MRC register programming requires indirect access via pci bus.
With dm pci, accessing pci configuration space has some overhead.
Unfortunately this single access overhead gets accumulated in the
whole MRC process, and finally leads to twice boot time (25s) than
before (12s).

To speed up the boot, create an optimized version of pci config
read/write routines without bothering to go through driver model.
Now it only takes about 3 seconds to finish MRC, which is really
fast (8 times faster than dm pci, or 4 times faster than before).

[1]: http://patchwork.ozlabs.org/patch/509736/


Bin Meng (8):
  x86: quark: Make host bridge (b.d.f=0.0.0) visible
  dm: pci: Allow skipping device configuration
  x86: Convert to use driver model pci on quark/galileo
  x86: galileo: Convert to use CONFIG_DM_USB
  net: designware: Fix build warnings
  net: designware: Add support to PCI designware devices
  x86: Convert to use driver model eth on quark/galileo
  x86: quark: Optimize MRC execution time

 arch/x86/cpu/quark/msg_port.c | 59 +++++++++++++++++++++++++++----------------
 arch/x86/cpu/quark/pci.c      | 46 +--------------------------------
 arch/x86/cpu/quark/quark.c    | 27 +++-----------------
 arch/x86/dts/galileo.dts      |  8 ++++--
 configs/galileo_defconfig     |  5 +++-
 drivers/net/designware.c      | 47 +++++++++++++++++++++++++++++++---
 drivers/pci/pci-uclass.c      |  3 +++
 include/configs/galileo.h     | 12 ---------
 8 files changed, 98 insertions(+), 109 deletions(-)

-- 
1.8.2.1



More information about the U-Boot mailing list