All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bin Meng <bmeng.cn@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 026/126] pci: sandbox: Move the emulators into their own node
Date: Sun, 6 Oct 2019 18:04:10 +0800	[thread overview]
Message-ID: <CAEUhbmVhBXOWCUOq+XqLYaOWusBd5ED=2rm3+t4YyKASgKhSPQ@mail.gmail.com> (raw)
In-Reply-To: <CAEUhbmXN5QFgeu0YYUctbR6fkkk7PC0B1SNm+xG+fuSTC_Xrvg@mail.gmail.com>

On Sat, Oct 5, 2019 at 1:03 PM Bin Meng <bmeng.cn@gmail.com> wrote:
>
> On Wed, Sep 25, 2019 at 10:58 PM Simon Glass <sjg@chromium.org> wrote:
> >
> > Sandbox i2c works using emulation drivers which are currently children of
>
> pci
>
> > the i2c device:
>
> pci

Fixed these, and

>
> >
> >         pci-controller {
> >                 pci at 1f,0 {
> >                         compatible = "pci-generic";
> >                         reg = <0xf800 0 0 0 0>;
> >                         emul at 1f,0 {
> >                                 compatible = "sandbox,swap-case";
> >                         };
> >                 };
> >         };
> >
> > In this case the emulation device is attached to pci device on address
> > f800 (device 1f, function 0) and provides the swap-case functionality.
> >
> > However this is not ideal, since every device on a PCI bus has a child
> > device. This is only really the case for sandbox, but we want to avoid
> > special-case code for sandbox.
> >
> > Worse, child devices cannot be probed before their parents. This forces
> > us to use 'find' rather than 'get' to obtain the emulator device. In fact
> > the emulator devices are never probed. There is code in
> > sandbox_pci_emul_post_probe() which tries to track when emulators are
> > active, but at present this does not work.
> >
> > A better approach seems to be to add a separate node elsewhere in the
> > device tree, an 'emulation parent'. This could be given a bogus address
> > (such as -1) to hide the emulators away from the 'pci' command, but it
> > seems better to keep it at the root node to avoid such hacks.
> >
> > Then we can use a phandle to point from the  evice to the correct
>
> typo: device

Fixed this, and

>
>
> > emulator, and only on sandbox. The code to find an emulator does not
> > interfere with normal pci operation.
> >
> > Add a new UCLASS_PCI_EMUL_PARENT uclass which allows finding an emulator
> > given a bus, and finding a bus given an emulator. Update the existing
> > device trees and the code for finding an emulator.
> >
> > This brings PCI emulators more into line with I2C.
> >
> > Signed-off-by: Simon Glass <sjg@chromium.org>
> > ---
> >
> >  arch/sandbox/dts/sandbox.dtsi | 11 +++++++---
> >  arch/sandbox/dts/test.dts     | 38 +++++++++++++++++++++++------------
> >  doc/driver-model/pci-info.rst | 23 +++++++++++----------
> >  drivers/pci/pci-emul-uclass.c | 37 ++++++++++++++++++++++++++++------
> >  include/dm/uclass-id.h        |  1 +
> >  5 files changed, 77 insertions(+), 33 deletions(-)
> >
> > diff --git a/arch/sandbox/dts/sandbox.dtsi b/arch/sandbox/dts/sandbox.dtsi
> > index c6d5650c20b..f09bc70b0da 100644
> > --- a/arch/sandbox/dts/sandbox.dtsi
> > +++ b/arch/sandbox/dts/sandbox.dtsi
> > @@ -103,9 +103,14 @@
> >                 pci at 1f,0 {
> >                         compatible = "pci-generic";
> >                         reg = <0xf800 0 0 0 0>;
> > -                       emul at 1f,0 {
> > -                               compatible = "sandbox,swap-case";
> > -                       };
> > +                       sandbox,emul = <&swap_case_emul>;
> > +               };
> > +       };
> > +
> > +       emul {
> > +               compatible = "sandbox,pci-emul-parent";
> > +               swap_case_emul: emul at 1f,0 {
> > +                       compatible = "sandbox,swap-case";
> >                 };
> >         };
> >
> > diff --git a/arch/sandbox/dts/test.dts b/arch/sandbox/dts/test.dts
> > index 5669ede7051..a2e75981f0b 100644
> > --- a/arch/sandbox/dts/test.dts
> > +++ b/arch/sandbox/dts/test.dts
> > @@ -452,24 +452,31 @@
> >                 pci at 0,0 {
> >                         compatible = "pci-generic";
> >                         reg = <0x0000 0 0 0 0>;
> > -                       emul at 0,0 {
> > -                               compatible = "sandbox,swap-case";
> > -                       };
> > +                       sandbox,emul = <&swap_case_emul0>;
>
> &swap_case_emul0_0
>
> >                 };
> >                 pci at 1,0 {
> >                         compatible = "pci-generic";
> >                         reg = <0x0800 0 0 0 0>;
> > -                       emul at 0,0 {
> > -                               compatible = "sandbox,swap-case";
> > -                               use-ea;
> > -                       };
> > +                       sandbox,emul = <&swap_case_emul1>;
>
> &swap_case_emul0_1
>
> >                 };
> >                 pci at 1f,0 {
> >                         compatible = "pci-generic";
> >                         reg = <0xf800 0 0 0 0>;
> > -                       emul at 1f,0 {
> > -                               compatible = "sandbox,swap-case";
> > -                       };
> > +                       sandbox,emul = <&swap_case_emul1f>;
>
> &swap_case_emul0_1f

Fixed the label names, and

>
> > +               };
> > +       };
> > +
> > +       pci-emul0 {
> > +               compatible = "sandbox,pci-emul-parent";
> > +               swap_case_emul0: emul at 0,0 {
> > +                       compatible = "sandbox,swap-case";
> > +               };
> > +               swap_case_emul1: emul at 1,0 {
> > +                       compatible = "sandbox,swap-case";
> > +                       use-ea;
> > +               };
> > +               swap_case_emul1f: emul at 1f,0 {
> > +                       compatible = "sandbox,swap-case";
> >                 };
> >         };
> >
> > @@ -499,9 +506,14 @@
> >                 pci at 1f,0 {
> >                         compatible = "pci-generic";
> >                         reg = <0xf800 0 0 0 0>;
> > -                       emul at 1f,0 {
> > -                               compatible = "sandbox,swap-case";
> > -                       };
> > +                       sandbox,emul = <&swap_case_emul2_1f>;
> > +               };
> > +       };
> > +
> > +       pci-emul2 {
> > +               compatible = "sandbox,pci-emul-parent";
> > +               swap_case_emul2_1f: emul2 at 1f,0 {
> > +                       compatible = "sandbox,swap-case";
> >                 };
> >         };
> >
> > diff --git a/doc/driver-model/pci-info.rst b/doc/driver-model/pci-info.rst
> > index d93ab8b61d5..f39ff990a67 100644
> > --- a/doc/driver-model/pci-info.rst
> > +++ b/doc/driver-model/pci-info.rst
> > @@ -113,14 +113,17 @@ Sandbox
> >  -------
> >
> >  With sandbox we need a device emulator for each device on the bus since there
> > -is no real PCI bus. This works by looking in the device tree node for a
> > -driver. For example::
> > -
> > +is no real PCI bus. This works by looking in the device tree node for an
> > +emulator driver. For example::
> >
> >         pci at 1f,0 {
> >                 compatible = "pci-generic";
> >                 reg = <0xf800 0 0 0 0>;
> > -               emul at 1f,0 {
> > +               sandbox,emul = <&emul_1f>;
> > +       };
> > +       pci-emul {
> > +               compatible = "sandbox,pci-emul-parent";
> > +               emul_1f: emul at 1f,0 {
> >                         compatible = "sandbox,swap-case";
> >                 };
> >         };
> > @@ -130,14 +133,16 @@ Note that the first cell in the 'reg' value is the bus/device/function. See
> >  PCI_BDF() for the encoding (it is also specified in the IEEE Std 1275-1994
> >  PCI bus binding document, v2.1)
> >
> > +The pci-emul node should go outside the pci bus node, since otherwise it will
> > +be scanned as a PCI device, causing confusion.
> > +
> >  When this bus is scanned we will end up with something like this::
> >
> >     `- * pci-controller @ 05c660c8, 0
> >      `-   pci at 1f,0 @ 05c661c8, 63488
> > -     `-   emul at 1f,0 @ 05c662c8
> > +   `-   emul at 1f,0 @ 05c662c8
> >
> > -When accesses go to the pci at 1f,0 device they are forwarded to its child, the
> > -emulator.
> > +When accesses go to the pci at 1f,0 device they are forwarded to its emulator.
> >
> >  The sandbox PCI drivers also support dynamic driver binding, allowing device
> >  driver to declare the driver binding information via U_BOOT_PCI_DEVICE(),
> > @@ -164,7 +169,3 @@ When this bus is scanned we will end up with something like this::
> >   pci        [ + ]   pci_sandbo  |-- pci-controller1
> >   pci_emul   [   ]   sandbox_sw  |   |-- sandbox_swap_case_emul
> >   pci_emul   [   ]   sandbox_sw  |   `-- sandbox_swap_case_emul
> > -
> > -Note the difference from the statically declared device nodes is that the
> > -device is directly attached to the host controller, instead of via a container
> > -device like pci at 1f,0.
> > diff --git a/drivers/pci/pci-emul-uclass.c b/drivers/pci/pci-emul-uclass.c
> > index 38227583547..f918e9a52fd 100644
> > --- a/drivers/pci/pci-emul-uclass.c
> > +++ b/drivers/pci/pci-emul-uclass.c
> > @@ -10,6 +10,7 @@
> >  #include <linux/libfdt.h>
> >  #include <pci.h>
> >  #include <dm/lists.h>
> > +#include <dm/uclass-internal.h>
> >
> >  struct sandbox_pci_emul_priv {
> >         int dev_count;
> > @@ -30,13 +31,15 @@ int sandbox_pci_get_emul(struct udevice *bus, pci_dev_t find_devfn,
> >         }
> >         *containerp = dev;
> >
> > -       if (device_get_uclass_id(dev) == UCLASS_PCI_GENERIC) {
> > -               ret = device_find_first_child(dev, emulp);
> > -               if (ret)
> > -                       return ret;
> > -       } else {
> > +       /*
> > +        * TODO(sjg at chromium.org): This code needs a comment as I'm not sure
> > +        * why UCLASS_PCI_GENERIC devices end up being their own emulators. I
> > +        * left this code as is.
> > +        */
>
> This code comes from:
>
> commit 4345998ae9dfad7ba0beb54ad4322134557504a9
> Author: Bin Meng <bmeng.cn@gmail.com>
> Date:   Fri Aug 3 01:14:45 2018 -0700
>
>     pci: sandbox: Support dynamically binding device driver
>
> I think the comments can be removed :)

Updated the comment to mention commit
4345998ae9dfad7ba0beb54ad4322134557504a9, and

>
> > +       ret = uclass_find_device_by_phandle(UCLASS_PCI_EMUL, dev,
> > +                                           "sandbox,emul", emulp);
> > +       if (ret && device_get_uclass_id(dev) != UCLASS_PCI_GENERIC)
> >                 *emulp = dev;
> > -       }
> >
> >         return *emulp ? 0 : -ENODEV;
> >  }
> > @@ -68,3 +71,25 @@ UCLASS_DRIVER(pci_emul) = {
> >         .pre_remove     = sandbox_pci_emul_pre_remove,
> >         .priv_auto_alloc_size   = sizeof(struct sandbox_pci_emul_priv),
> >  };
> > +
> > +/*
> > + * This uclass is a child of the pci bus. Its platdata is not defined here so
> > + * is defined by its parent, UCLASS_PCI, which uses struct pci_child_platdata.
> > + * See per_child_platdata_auto_alloc_size in UCLASS_DRIVER(pci).
> > + */
> > +UCLASS_DRIVER(pci_emul_parent) = {
> > +       .id             = UCLASS_PCI_EMUL_PARENT,
> > +       .name           = "pci_emul_parent",
> > +       .post_bind      = dm_scan_fdt_dev,
> > +};
> > +
> > +static const struct udevice_id pci_emul_parent_ids[] = {
> > +       { .compatible = "sandbox,pci-emul-parent" },
> > +       { }
> > +};
> > +
> > +U_BOOT_DRIVER(pci_emul_parent_drv) = {
> > +       .name           = "pci_emul_parent_drv",
> > +       .id             = UCLASS_PCI_EMUL_PARENT,
> > +       .of_match       = pci_emul_parent_ids,
> > +};
> > diff --git a/include/dm/uclass-id.h b/include/dm/uclass-id.h
> > index d4d96106b37..f431f3bf294 100644
> > --- a/include/dm/uclass-id.h
> > +++ b/include/dm/uclass-id.h
> > @@ -23,6 +23,7 @@ enum uclass_id {
> >         UCLASS_I2C_EMUL,        /* sandbox I2C device emulator */
> >         UCLASS_I2C_EMUL_PARENT, /* parent for I2C device emulators */
> >         UCLASS_PCI_EMUL,        /* sandbox PCI device emulator */
> > +       UCLASS_PCI_EMUL_PARENT, /* parent for PCI device emulators */
> >         UCLASS_USB_EMUL,        /* sandbox USB bus device emulator */
> >         UCLASS_AXI_EMUL,        /* sandbox AXI bus device emulator */
> >
> > --
>
> Other than the issues above,
>
> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
> Tested-by: Bin Meng <bmeng.cn@gmail.com>

applied to u-boot-x86/next, thanks!

  reply	other threads:[~2019-10-06 10:04 UTC|newest]

Thread overview: 311+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-25 14:55 [U-Boot] [PATCH 000/126] x86: Add initial support for apollolake Simon Glass
2019-09-25 14:55 ` [U-Boot] [PATCH 001/126] dm: core: Use U-Boot logging instead of pr_debug() Simon Glass
2019-10-03 12:47   ` Bin Meng
2019-10-06  9:15     ` Bin Meng
2019-09-25 14:55 ` [U-Boot] [PATCH 002/126] dm: core: Correct low cell in ofnode_read_pci_addr() Simon Glass
2019-09-25 16:12   ` Stephen Warren
2019-10-03 12:47   ` Bin Meng
2019-10-03 13:13     ` Bin Meng
2019-09-25 14:55 ` [U-Boot] [PATCH 003/126] dm: core: Drop a few early returns Simon Glass
2019-10-03 12:47   ` Bin Meng
2019-10-06  9:15     ` Bin Meng
2019-09-25 14:55 ` [U-Boot] [PATCH 004/126] dm: core: Add documentation on how to debug driver model Simon Glass
2019-10-03 12:47   ` Bin Meng
2019-10-06  9:15     ` Bin Meng
2019-09-25 14:55 ` [U-Boot] [PATCH 005/126] dm: core: Don't include ofnode functions with of-platdata Simon Glass
2019-10-03 12:48   ` Bin Meng
2019-10-06  9:15     ` Bin Meng
2019-10-07  1:40       ` Bin Meng
2019-10-13 18:24         ` Simon Glass
2019-09-25 14:55 ` [U-Boot] [PATCH 006/126] dm: core: Correct bad cast in ofnode_get_addr_size_index() Simon Glass
2019-10-03 12:48   ` Bin Meng
2019-10-03 13:14     ` Bin Meng
2019-09-25 14:55 ` [U-Boot] [PATCH 007/126] dm: test: Fix running of multiple test from command line Simon Glass
2019-10-04  9:44   ` Bin Meng
2019-10-06  9:15     ` Bin Meng
2019-09-25 14:55 ` [U-Boot] [PATCH 008/126] dm: test: Don't fail when tests are skipped due to build Simon Glass
2019-10-04  9:44   ` Bin Meng
2019-10-06  9:15     ` Bin Meng
2019-09-25 14:55 ` [U-Boot] [PATCH 009/126] dm: core: Call ofdata_to_platdata() with of-platdata Simon Glass
2019-10-04  9:44   ` Bin Meng
2019-10-06  9:15     ` Bin Meng
2019-09-25 14:55 ` [U-Boot] [PATCH 010/126] dm: doc: Correct of-platdata CONFIG_IS_ENABLED() condition Simon Glass
2019-10-04  9:44   ` Bin Meng
2019-10-13 15:03     ` Simon Glass
2019-09-25 14:55 ` [U-Boot] [PATCH 011/126] dm: core: Correct the return value for uclass_find_first_device() Simon Glass
2019-10-04  9:44   ` Bin Meng
2019-10-06  9:27     ` Bin Meng
2019-09-25 14:55 ` [U-Boot] [PATCH 012/126] dm: core: Add device_foreach_child() Simon Glass
2019-10-04  9:44   ` Bin Meng
2019-10-06  9:27     ` Bin Meng
2019-09-25 14:55 ` [U-Boot] [PATCH 013/126] dm: test: Correct a stray backslash in dm_test_destroy() Simon Glass
2019-10-04  9:44   ` Bin Meng
2019-10-06  9:27     ` Bin Meng
2019-09-25 14:55 ` [U-Boot] [PATCH 014/126] fdt: Show the preprocessed .dts file on error Simon Glass
2019-10-04  9:44   ` Bin Meng
2019-10-13 15:03     ` Simon Glass
2019-09-25 14:55 ` [U-Boot] [PATCH 015/126] sandbox: spmi: Add ranges property for address translation Simon Glass
2019-10-05  1:58   ` Bin Meng
2019-10-06  9:27     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 016/126] sandbox: mmc: Fix up MMC emulator for valgrind Simon Glass
2019-10-05  1:58   ` Bin Meng
2019-10-06  9:27     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 017/126] sandbox: Rename PCI ID for swap_case to be more specific Simon Glass
2019-10-05  1:58   ` Bin Meng
2019-10-06  9:27     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 018/126] sandbox: Add support for clrsetio_32() and friends Simon Glass
2019-10-05  2:01   ` Bin Meng
2019-10-06  9:27     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 019/126] sandbox: swap_case: Use statics where possible Simon Glass
2019-10-05  2:01   ` Bin Meng
2019-10-06  9:28     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 020/126] sandbox: pci: Drop the get_devfn() method Simon Glass
2019-10-05  2:01   ` Bin Meng
2019-10-06  9:28     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 021/126] sandbox: net: Suppress the MAC-address warnings Simon Glass
2019-10-05  2:10   ` Bin Meng
2019-10-05  2:16   ` Bin Meng
2019-10-05  2:26     ` Bin Meng
2019-10-06  1:05       ` Joe Hershberger
2019-10-06  2:12         ` Bin Meng
2019-10-06  2:41           ` Joe Hershberger
2019-10-14 20:02             ` Simon Glass
2019-09-25 14:56 ` [U-Boot] [PATCH 022/126] sandbox: pci: Move pci_offset_to_barnum() to pci.h Simon Glass
2019-10-05  2:17   ` Bin Meng
2019-10-06 10:03     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 023/126] sandbox: Add a -T flag to use the test device tree Simon Glass
2019-10-05  3:13   ` Bin Meng
2019-10-06 10:04     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 024/126] sandbox: pci: Increase the memory space Simon Glass
2019-10-05  3:14   ` Bin Meng
2019-10-06 10:04     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 025/126] sandbox: Allow use of real I/O with readl(), etc Simon Glass
2019-10-05  3:30   ` Bin Meng
2019-10-06 10:04     ` Bin Meng
2019-10-07  1:40       ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 026/126] pci: sandbox: Move the emulators into their own node Simon Glass
2019-10-05  5:03   ` Bin Meng
2019-10-06 10:04     ` Bin Meng [this message]
2019-09-25 14:56 ` [U-Boot] [PATCH 027/126] pci: sandbox: Probe PCI emulation devices when used Simon Glass
2019-10-05  5:03   ` Bin Meng
2019-10-06 10:04     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 028/126] pci: Show the result of binding a device Simon Glass
2019-10-05  5:03   ` Bin Meng
2019-10-06 10:04     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 029/126] pci: Disable autoconfig in SPL Simon Glass
2019-10-05  5:03   ` Bin Meng
2019-10-06 10:04     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 030/126] pci: Correct 'specifified' and 'Plese' typos Simon Glass
2019-10-05  5:03   ` Bin Meng
2019-10-06 10:04     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 031/126] pci: Add more debug detail when resources are exhausted Simon Glass
2019-10-05 13:12   ` Bin Meng
2019-10-06 11:19     ` Bin Meng
2019-10-07  1:40       ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 032/126] pci: Show a message if PCI autoconfig fails Simon Glass
2019-10-05 13:12   ` Bin Meng
2019-10-06 11:19     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 033/126] dm: pci: Add a function to read a PCI BAR Simon Glass
2019-10-05 13:12   ` Bin Meng
2019-10-06 11:19     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 034/126] serial: ns16550: Add a PCI device/function field Simon Glass
2019-10-05 13:12   ` Bin Meng
2019-10-06 11:19     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 035/126] binman: Allow verbose output with all commands Simon Glass
2019-10-05 13:12   ` Bin Meng
2019-10-06 11:19     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 036/126] binman: Add a base implementation of Entry.ReadChildData() Simon Glass
2019-10-05 14:41   ` Bin Meng
2019-10-06 11:20     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 037/126] binman: Handle reading data for end-at-4gb sections Simon Glass
2019-10-05 14:42   ` Bin Meng
2019-10-06 11:20     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 038/126] binman: Take account of skip-at-start with image-header Simon Glass
2019-10-05 14:42   ` Bin Meng
2019-10-06 11:20     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 039/126] log: Add log_nop() to avoid unused-variable warnings Simon Glass
2019-10-05 14:42   ` Bin Meng
2019-10-06 11:20     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 040/126] cros_ec: Add MEC_EMI_BASE and size to the header file Simon Glass
2019-10-05 14:42   ` Bin Meng
2019-10-06 11:20     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 041/126] iod: Enhance to support display of multiple values Simon Glass
2019-10-05 15:18   ` Bin Meng
2019-10-07  1:00     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 042/126] arm: mxs: Correct CONFIG_SPL_NO_CPU_SUPPORT option Simon Glass
2019-10-05 15:18   ` Bin Meng
2019-10-07  1:00     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 043/126] spl: Allow tiny printf() to be controlled in SPL and TPL Simon Glass
2019-10-05 15:18   ` Bin Meng
2019-10-07  1:00     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 044/126] spl: Convert CONFIG_SPL_LIMIT to hex Simon Glass
2019-09-26 12:26   ` Simon Goldschmidt
2019-10-05 15:18   ` Bin Meng
2019-10-07  1:00     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 045/126] spl: Add a size check for TPL Simon Glass
2019-09-26 12:22   ` Simon Goldschmidt
2019-10-11 23:47     ` Simon Glass
2019-09-25 14:56 ` [U-Boot] [PATCH 046/126] spl: Allow distinguishing between two phases in U-Boot Simon Glass
2019-10-05 15:30   ` Bin Meng
2019-10-07  1:55     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 047/126] spl: Allow SPL/TPL to use of-platdata without libfdt Simon Glass
2019-10-05 15:30   ` Bin Meng
2019-10-07  1:55     ` Bin Meng
2019-10-08  5:46       ` Bin Meng
2019-10-13 18:30         ` Simon Glass
2019-09-25 14:56 ` [U-Boot] [PATCH 048/126] x86: Move acpi_s3.h to a common location Simon Glass
2019-10-05 15:33   ` Bin Meng
2019-10-07  1:55     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 049/126] x86: pci: Drop the first parameter in pci_x86_r/w_config() Simon Glass
2019-10-07 12:24   ` Bin Meng
2019-10-07 12:26     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 050/126] x86: timer: Reduce timer code size in TPL on Intel CPUs Simon Glass
2019-10-05 15:36   ` Bin Meng
2019-10-10 17:06     ` Simon Glass
2019-10-11 13:19       ` Bin Meng
2019-10-12  3:37         ` Simon Glass
2019-10-12  5:18           ` Bin Meng
2019-10-12 17:55             ` Simon Glass
2019-10-14  2:00               ` Bin Meng
2019-10-16  3:40                 ` Simon Glass
2019-09-25 14:56 ` [U-Boot] [PATCH 051/126] x86: Use a common definition of MSR_IA32_PERF_CTL Simon Glass
2019-10-06 16:08   ` Bin Meng
2019-10-07 12:52     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 052/126] x86: Add a common function to set CPU thermal target Simon Glass
2019-10-06 16:08   ` Bin Meng
2019-10-07 12:52     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 053/126] x86: Use a common bus clock for Intel CPUs Simon Glass
2019-10-06 16:09   ` Bin Meng
2019-10-07 12:52     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 054/126] x86: Add common functions for TDP and perf control Simon Glass
2019-10-06 16:09   ` Bin Meng
2019-10-06 16:15     ` Bin Meng
2019-10-07 12:52       ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 055/126] x86: Tidy up some duplicate MSR defines Simon Glass
2019-10-06 16:09   ` Bin Meng
2019-10-07 12:53     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 056/126] x86: Add new common CPU functions for turbo/burst mode Simon Glass
2019-10-07  0:32   ` Bin Meng
2019-10-07 12:53     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 057/126] dm: core: Drop fdtdec_get_pci_addr() Simon Glass
2019-10-07  0:32   ` Bin Meng
2019-10-07 12:53     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 058/126] sandbox: pci: Create a new sandbox_pci_read_bar() function Simon Glass
2019-10-07  0:32   ` Bin Meng
2019-10-07 12:53     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 059/126] x86: Allow the PCH and LPC uclasses to work with of-platdata Simon Glass
2019-10-07  0:32   ` Bin Meng
2019-10-07 12:53     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 060/126] x86: timer: Set up the timer in timer_early_get_count() Simon Glass
2019-10-07  0:32   ` Bin Meng
2019-10-12  3:37     ` Simon Glass
2019-09-25 14:56 ` [U-Boot] [PATCH 061/126] x86: Refactor mtrr_commit() to allow for shared code Simon Glass
2019-10-07 13:53   ` Bin Meng
2019-10-07 14:08     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 062/126] x86: Add a function to set variable MTRRs Simon Glass
2019-10-07 13:53   ` Bin Meng
2019-10-07 14:09     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 063/126] x86: pci: Add a function to decode a PCI BDF Simon Glass
2019-10-07 13:53   ` Bin Meng
2019-10-13 15:03     ` Simon Glass
2019-10-14  1:53       ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 064/126] x86: cpu: Don't include the cpu driver in TPL Simon Glass
2019-10-07 13:53   ` Bin Meng
2019-10-07 14:09     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 065/126] x86: Use mtrr_commit() with FSP2 Simon Glass
2019-10-07 13:53   ` Bin Meng
2019-10-07 14:09     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 066/126] x86: spl: Support init of a PUNIT Simon Glass
2019-10-09 14:01   ` Bin Meng
2019-10-14 20:02     ` Simon Glass
2019-09-25 14:56 ` [U-Boot] [PATCH 067/126] x86: Panic when SPL or TPL fail Simon Glass
2019-10-09 14:02   ` Bin Meng
2019-10-11  3:33     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 068/126] x86: tpl: Add a fake PCI bus Simon Glass
2019-10-09 14:20   ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 069/126] sandbox: pci: Remember the device being emulated Simon Glass
2019-10-09 14:27   ` Bin Meng
2019-10-11  8:26     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 070/126] x86: power: Add a PMC uclass Simon Glass
2019-10-10  3:10   ` Bin Meng
2019-10-12  3:37     ` Simon Glass
2019-09-25 14:56 ` [U-Boot] [PATCH 071/126] x86: sandbox: Add a PMC emulator and test Simon Glass
2019-09-25 14:56 ` [U-Boot] [PATCH 072/126] x86: power: Add a 'pmc' command Simon Glass
2019-09-25 14:56 ` [U-Boot] [PATCH 073/126] trace: Remove the const from write functions Simon Glass
2019-10-10  3:20   ` Bin Meng
2019-10-11  8:27     ` Bin Meng
2019-09-25 14:56 ` [U-Boot] [PATCH 074/126] pci: Add support for p2sb uclass Simon Glass
2019-10-10  4:57   ` Bin Meng
2019-10-12  3:37     ` Simon Glass
2019-10-12 20:57       ` Simon Glass
2019-09-25 14:56 ` [U-Boot] [PATCH 075/126] sandbox: Add PCI driver and test for p2sb Simon Glass
2019-09-25 14:57 ` [U-Boot] [PATCH 076/126] x86: Add a uclass for ITSS Simon Glass
2019-10-10  2:27   ` Bin Meng
2019-09-25 14:57 ` [U-Boot] [PATCH 077/126] sandbox: Add a test " Simon Glass
2019-09-25 14:57 ` [U-Boot] [PATCH 078/126] x86: Define the SPL image start Simon Glass
2019-10-10  7:09   ` Bin Meng
2019-10-10 17:06     ` Simon Glass
2019-09-25 14:57 ` [U-Boot] [PATCH 079/126] x86: Reduce mrccache record alignment size Simon Glass
2019-10-10  5:09   ` Bin Meng
2019-10-10 17:06     ` Simon Glass
2019-09-25 14:57 ` [U-Boot] [PATCH 080/126] x86: Add a function to find the size of an mrccache record Simon Glass
2019-10-10  5:09   ` Bin Meng
2019-10-11  8:28     ` Bin Meng
2019-09-25 14:57 ` [U-Boot] [PATCH 081/126] x86: Correct mrccache find_next_mrc_cache() calculation Simon Glass
2019-10-10  6:23   ` Bin Meng
2019-10-12  3:37     ` Simon Glass
2019-10-12  4:44       ` Bin Meng
2019-09-25 14:57 ` [U-Boot] [PATCH 082/126] x86: Adjust mrccache_get_region() to use livetree Simon Glass
2019-10-10  6:45   ` Bin Meng
2019-10-16  3:40     ` Simon Glass
2019-09-25 14:57 ` [U-Boot] [PATCH 083/126] x86: Add a new global_data member for the cache record Simon Glass
2019-10-10  7:00   ` Bin Meng
2019-09-25 14:57 ` [U-Boot] [PATCH 084/126] x86: Tidy up error handling in mrccache_save() Simon Glass
2019-10-10  7:07   ` Bin Meng
2019-09-25 14:57 ` [U-Boot] [PATCH 085/126] x86: Update mrccache to support multiple caches Simon Glass
2019-10-10  7:39   ` Bin Meng
2019-09-25 14:57 ` [U-Boot] [PATCH 086/126] x86: Add mrccache support for a 'variable' cache Simon Glass
2019-10-10  7:40   ` Bin Meng
2019-09-25 14:57 ` [U-Boot] [PATCH 087/126] x86: Move fsp_prepare_mrc_cache() to fsp1 directory Simon Glass
2019-10-10  7:43   ` Bin Meng
2019-09-25 14:57 ` [U-Boot] [PATCH 088/126] x86: Set the DRAM banks to reflect real location Simon Glass
2019-10-10  9:03   ` Bin Meng
2019-09-25 14:57 ` [U-Boot] [PATCH 089/126] x86: Set up the MTRR for SDRAM Simon Glass
2019-10-10  9:18   ` Bin Meng
2019-10-12  3:37     ` Simon Glass
2019-09-25 14:57 ` [U-Boot] [PATCH 090/126] x86: Update Kconfig options for FSP1 Simon Glass
2019-10-10  9:19   ` Bin Meng
2019-10-11  8:34     ` Bin Meng
2019-09-25 14:57 ` [U-Boot] [PATCH 091/126] x86: Don't imply TPL_OF_LIBFDT Simon Glass
2019-10-10  9:23   ` Bin Meng
2019-09-25 14:57 ` [U-Boot] [PATCH 092/126] x86: Allow removal of standard PCH drivers Simon Glass
2019-10-10  9:25   ` Bin Meng
2019-09-25 14:57 ` [U-Boot] [PATCH 093/126] x86: Allow interrupt to happen once Simon Glass
2019-10-10  9:26   ` Bin Meng
2019-10-11  8:35     ` Bin Meng
2019-10-11  9:06       ` Bin Meng
2019-09-25 14:57 ` [U-Boot] [PATCH 094/126] x86: Add FSP2 base support Simon Glass
2019-09-25 14:57 ` [U-Boot] [PATCH 095/126] x86: Don't include the BIOS emulator in TPL Simon Glass
2019-10-10  9:36   ` Bin Meng
2019-09-25 14:57 ` [U-Boot] [PATCH 096/126] x86: Add an option to include a FIT Simon Glass
2019-10-10  9:39   ` Bin Meng
2019-09-25 14:57 ` [U-Boot] [PATCH 097/126] x86: Add support for newer CAR schemes Simon Glass
2019-10-10  9:50   ` Bin Meng
2019-10-12  3:37     ` Simon Glass
2019-10-12  4:47       ` Bin Meng
2019-10-12 17:53         ` Simon Glass
2019-10-14  1:58           ` Bin Meng
2019-10-14 20:51             ` Simon Glass
2019-09-25 14:57 ` [U-Boot] [PATCH 098/126] x86: Drop RESET_BASE Simon Glass
2019-10-10  9:56   ` Bin Meng
2019-10-11  8:36     ` Bin Meng
2019-09-25 14:57 ` [U-Boot] [PATCH 099/126] x86: Drop RESET_SEG_SIZE Simon Glass
2019-10-10  9:57   ` Bin Meng
2019-10-11  8:37     ` Bin Meng
2019-09-25 14:57 ` [U-Boot] [PATCH 100/126] x86: Disable microcode section for FSP2 Simon Glass
2019-10-10  9:59   ` Bin Meng
2019-10-02  2:15 ` [U-Boot] [PATCH 000/126] x86: Add initial support for apollolake Simon Glass
2019-10-02 12:34   ` Bin Meng
2019-10-07 14:30     ` Bin Meng
2019-10-10 17:06       ` Simon Glass
2019-10-16  3:43         ` Simon Glass

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAEUhbmVhBXOWCUOq+XqLYaOWusBd5ED=2rm3+t4YyKASgKhSPQ@mail.gmail.com' \
    --to=bmeng.cn@gmail.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.