1. 27 3月, 2021 1 次提交
  2. 24 3月, 2021 1 次提交
  3. 23 3月, 2021 13 次提交
  4. 20 3月, 2021 5 次提交
  5. 19 3月, 2021 8 次提交
    • A
      nvme: Elaborate on cache maintenance operation in get/set_features · 4c498796
      Andre Przywara 提交于
      At the moment the nvme_get_features() and nvme_set_features() functions
      carry a (somewhat misleading) comment about missing cache maintenance.
      
      As it turns out, nvme_get_features() has no caller at all in the tree,
      and nvme_set_features' only user doesn't use a DMA buffer.
      
      Mention that in the comment, and leave some breadcrumbs for the future,
      should those functions attract more users.
      Signed-off-by: NAndre Przywara <andre.przywara@arm.com>
      Reviewed-by: NMichael Trimarchi <michael@amarulasolutions.com>
      Reviewed-by: NBin Meng <bmeng.cn@gmail.com>
      4c498796
    • A
      nvme: Always invalidate whole cqes[] array · d0c04926
      Andre Przywara 提交于
      At the moment nvme_read_completion_status() tries to invalidate a single
      member of the cqes[] array, which is shady as just a single entry is
      not cache line aligned.
      The structure is dictated by hardware, and with 16 bytes is smaller than
      any cache line we usually deal with. Also multiple entries need to be
      consecutive in memory, so we can't pad them to cover a whole cache line.
      
      As a consequence we can only always invalidate all of them - U-Boot just
      uses two of them anyway. This is fine, as they are only ever read by the
      CPU (apart from the initial zeroing), so they can't become dirty.
      
      Make this obvious by always invalidating the whole array, regardless of
      the entry number we are about to read.
      Also blow up the allocation size to cover whole cache lines, to avoid
      other heap allocations to sneak in.
      Signed-off-by: NAndre Przywara <andre.przywara@arm.com>
      Reviewed-by: NBin Meng <bmeng.cn@gmail.com>
      Reviewed-by: NMichael Trimarchi <michael@amarulasolutions.com>
      Tested-by: NNeil Armstrong <narmstrong@baylibre.com>
      d0c04926
    • M
      api: fix a potential serious bug caused by undef CONFIG_SYS_64BIT_LBA · d32211ee
      Marek Behún 提交于
      The api_public.h header file undefined macro CONFIG_SYS_64BIT_LBA.
      
      But api/api_storage.c includes this header before including part.h,
      causing the type of lbaint_t and subsequently the type signature of
      blk_dread() and blk_dwrite() functions to change from the rest of U-Boot
      (if CONFIG_SYS_64BIT_LBA is defined for the board).
      
      This is of course wrong, because the call to blk_dread() / blk_dwrite()
      will receive mangled arguments.
      
      Fix this by removing the undef of macro CONFIG_SYS_64BIT_LBA and instead
      make the immediate code do what it would do as if the macro was not
      defined.
      
      Add a FIXME to whoever is maintaining this code.
      
      CI managed to trigger this bug when compiling for lsxhl_defconfig, which
      has CONFIG_API selected. The compiler complained about blk_dwrite() and
      blk_dread() not matching original declarations:
      
        include/blk.h:280:15: warning: type of ‘blk_dwrite’ does not match
                                       original declaration
      				 [-Wlto-type-mismatch]
        280 | unsigned long blk_dwrite(struct blk_desc *block_dev, lbaint_t st
            |               ^
        drivers/block/blk-uclass.c:456:15: note: type mismatch in parameter 2
        456 | unsigned long blk_dwrite(struct blk_desc *block_dev, lbaint_t st
            |               ^
      Signed-off-by: NMarek Behún <marek.behun@nic.cz>
      Reviewed-by: NSimon Glass <sjg@chromium.org>
      d32211ee
    • D
      bus: ti-sysc: change in a normal driver · ccc58b4d
      Dario Binacchi 提交于
      The module defines a duplicate uclass driver for UCLASS_SIMPLE_BUS, but
      it is not allowed. This breaks of-platdata and makes the result
      non-deterministic.
      
      The driver does not need to be an uclass driver, so lets remove it. I
      had turned it into an uclass driver because I thought wrongly it had to
      call the dm_scan_fdt_dev routine to work properly, but some tests on the
      board have shown otherwise.
      Signed-off-by: NDario Binacchi <dariobin@libero.it>
      Reviewed-by: NSimon Glass <sjg@chromium.org>
      ccc58b4d
    • M
      board: sl28: disable HS400 mode · 73e553a2
      Michael Walle 提交于
      Since commit 8ee802f8 ("mmc: fsl_esdhc: make sure delay chain locked
      for HS400") HS400 mode is unreliable on LS1028A SoCs. Some workarounds are
      missing for this SoC.
      
      Disable HS400 mode for now.
      Signed-off-by: NMichael Walle <michael@walle.cc>
      73e553a2
    • F
      ahci: mediatek: fix undefined reference of dev_err · 93cac85d
      Frank Wunderlich 提交于
      building with MTK_AHCI enabled results in implicit declaration and
      undefined reference of dev_err followed by a segfault of gcc
      
      drivers/ata/mtk_ahci.c: In function 'mtk_ahci_parse_property':
      drivers/ata/mtk_ahci.c:65:4: warning:
      implicit declaration of function 'dev_err'
      drivers/ata/mtk_ahci.c:65: undefined reference to `dev_err'
      in function `mtk_ahci_probe':
      drivers/ata/mtk_ahci.c:92: undefined reference to `dev_err'
      Segmentation fault
      
      fix this by adding the dm/device_compat.h to includes
      Signed-off-by: NFrank Wunderlich <frank-w@public-files.de>
      93cac85d
    • T
      Merge tag 'video-for-v2021.04' of https://source.denx.de/u-boot/custodians/u-boot-video · e3310c21
      Tom Rini 提交于
       - drop unprintable characters from video font header
      e3310c21
    • T
      Merge branch '2021-03-17-assorted-fixes' · d65bd570
      Tom Rini 提交于
      - Make tests search /sbin for tools, don't use ENODATA in host tools to
        be more portable, avb fix when partition isn't found and a bugfix for
        mediatek mmc.
      d65bd570
  6. 18 3月, 2021 4 次提交
  7. 16 3月, 2021 8 次提交
    • T
      Merge tag 'efi-2021-04-rc5' of https://source.denx.de/u-boot/custodians/u-boot-efi · eed127db
      Tom Rini 提交于
      Pull request for efi-2021-04-rc5
      
      Bug fixes:
      
      * fix memory type for memory reservation block
      * illegal cast to pointer in initrddump
      * fix compiler warnings
      
      Documentation:
      
      * move README.dfu to HTML documentation
      eed127db
    • H
      doc: move README.dfu to HTML documentation · 75d48d11
      Heinrich Schuchardt 提交于
      Move README.dfu to doc/usage/dfu.rst and convert to reStructured text.
      
      In the long run this page should be split into two. One for the overview
      and one for the dfu command. UEFI capsule updates and dfutftp should be
      integrated into the overview page.
      Signed-off-by: NHeinrich Schuchardt <xypron.glpk@gmx.de>
      75d48d11
    • S
      efi: Fix compiler warnings · 64d809b4
      Simon Glass 提交于
      This occur when building on Raspberry Pi 400 (32-bit ARM). Fix them.
      
      Examples:
      
      cmd/efidebug.c: In function ‘do_efi_capsule_update’:
      cmd/efidebug.c:75:49: warning: cast from pointer to integer of different
      	size [-Wpointer-to-int-cast]
        ret = EFI_CALL(RT->update_capsule(&capsule, 1, (u64)NULL));
                                                       ^
      include/efi_loader.h:104:9: note: in definition of macro ‘EFI_CALL’
        typeof(exp) _r = exp; \
               ^~~
      cmd/efidebug.c:75:49: warning: cast from pointer to integer of different
      	size [-Wpointer-to-int-cast]
        ret = EFI_CALL(RT->update_capsule(&capsule, 1, (u64)NULL));
                                                       ^
      include/efi_loader.h:104:19: note: in definition of macro ‘EFI_CALL’
        typeof(exp) _r = exp; \
                         ^~~
      
      In file included from include/common.h:20,
                       from lib/efi_loader/efi_capsule.c:9:
      lib/efi_loader/efi_capsule.c: In function ‘efi_update_capsule’:
      include/efi_loader.h:83:8: warning: format ‘%lu’ expects argument of type
      	‘long unsigned int’, but argument 10 has type ‘size_t’
      	{aka ‘unsigned int’} [-Wformat=]
        debug("%sEFI: Entry %s(" format ")\n", __efi_nesting_inc(), \
              ^~~~~~~~~~~~~~~~~~
      include/linux/printk.h:37:21: note: in definition of macro ‘pr_fmt’
       #define pr_fmt(fmt) fmt
                           ^~~
      include/log.h:229:2: note: in expansion of macro ‘log’
        log(LOG_CATEGORY, LOGL_DEBUG, fmt, ##args); \
        ^~~
      include/log.h:249:2: note: in expansion of macro ‘debug_cond’
        debug_cond(_DEBUG, fmt, ##args)
        ^~~~~~~~~~
      include/efi_loader.h:83:2: note: in expansion of macro ‘debug’
        debug("%sEFI: Entry %s(" format ")\n", __efi_nesting_inc(), \
        ^~~~~
      lib/efi_loader/efi_capsule.c:444:2: note: in expansion of macro ‘EFI_ENTRY’
        EFI_ENTRY("%p, %lu, %llu\n", capsule_header_array, capsule_count,
        ^~~~~~~~~
      lib/efi_loader/efi_capsule.c:444:19: note: format string is defined here
        EFI_ENTRY("%p, %lu, %llu\n", capsule_header_array, capsule_count,
                       ~~^
                       %u
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      Replace (uintptr_t)NULL by 0.
      Reviewed-by: NHeinrich Schuchardt <xypron.glpk@gmx.de>
      64d809b4
    • I
      efi_selftest: Remove loadfile2 for initrd selftests · d2ac8af9
      Ilias Apalodimas 提交于
      We are redefining how u-boot locates the initrd to load via the kernel
      LoadFile2 protocol.  This selftest is not relevant any more, so remove
      it. A new one will be added later
      Signed-off-by: NIlias Apalodimas <ilias.apalodimas@linaro.org>
      Reviewed-by: NHeinrich Schuchardt <xypron.glpk@gmx.de>
      Signed-off-by: NHeinrich Schuchardt <xypron.glpk@gmx.de>
      d2ac8af9
    • S
      mkeficapsule: Correct printf() strings · ad09004a
      Simon Glass 提交于
      Use %z when printing size_t values. This avoids errors on 32-bit
      machines.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      Use a conversion to size_t for printing stat.st_size.
      Reviewed-by: NHeinrich Schuchardt <xypron.glpk@gmx.de>
      Signed-off-by: NHeinrich Schuchardt <xypron.glpk@gmx.de>
      ad09004a
    • H
      efi_selftest: illegal cast to pointer in initrddump · fbc6ceae
      Heinrich Schuchardt 提交于
      On 32bit systems u64 cannot directly be cast to void *.
      Signed-off-by: NHeinrich Schuchardt <xypron.glpk@gmx.de>
      fbc6ceae
    • M
      efi_loader: fix memory type for memory reservation block · 9ff9f4b4
      Mark Kettenis 提交于
      The (yet unreleased version of the) devicetree specification clearly
      states that:
      
        As with the /reserved-memory node, when booting via UEFI
        entries in the Memory Reservation Block must also be listed
        in the system memory map obtained via the GetMemoryMap() toi
        protect against allocations by UEFI applications. The memory
        reservation block entries should be listed with type
        EfiReservedMemoryType.
      
      This restores the behaviour that was changed by commit 4cbb2930
      ("efi_loader: consider no-map property of reserved memory").
      
      Fixes: 4cbb2930 ("efi_loader: consider no-map property of reserved memory")
      Signed-off-by: NMark Kettenis <kettenis@openbsd.org>
      Reviewed-by: NHeinrich Schuchardt <xypron.glpk@gmx.de>
      9ff9f4b4
    • H
      efi_loader: disable GRUB_ARM32_WORKAROUND on ARCH_SUNXI · 8b5dea33
      Heinrich Schuchardt 提交于
      GRUB_ARM32_WORKAROUND can be disabled on ARCH_SUNXI as the Allwinner SoCs
      only have a level 2 cache controlled via CP15 and not an architecturally
      defined cache. Having the cache available speeds up booting Linux.
      
      On ARCH_BCM283X it is already disabled via rpi_2_defconfig. But let's move
      this setting to Kconfig.
      Signed-off-by: NHeinrich Schuchardt <xypron.glpk@gmx.de>
      8b5dea33