Message ID | 1543577981-60113-2-git-send-email-philipp.tomsich@theobroma-systems.com |
---|---|
State | Superseded |
Delegated to: | Tom Rini |
Headers | show |
Series | Migrate BOUNCE_BUFFER | expand |
Hi Philipp, > -----Original Message----- > From: Philipp Tomsich [mailto:philipp.tomsich@theobroma-systems.com] > Sent: Friday, November 30, 2018 2:40 PM > To: u-boot@lists.denx.de > Cc: Tom Rini <trini@konsulko.com>; Philipp Tomsich <philipp.tomsich@theobroma-systems.com>; Mario Six <mario.six@gdsys.cc>; > Michal Simek <michal.simek@xilinx.com>; Simon Glass <sjg@chromium.org>; Masahiro Yamada > <yamada.masahiro@socionext.com>; Alexey Brodkin <alexey.brodkin@synopsys.com>; Alex Kiernan <alex.kiernan@gmail.com>; Eric > Nelson <eric@nelint.com>; Marek Vasut <marek.vasut@gmail.com>; Jörg Krause <joerg.krause@embedded.rocks>; Adam Ford > <aford173@gmail.com>; Stephen Warren <swarren@nvidia.com>; Angelo Dureghello <angelo@sysam.it>; Tuomas Tynkkynen > <tuomas.tynkkynen@iki.fi>; Eugeniu Rosca <roscaeugeniu@gmail.com> > Subject: [PATCH 1/6] Kconfig: Migrate BOUNCE_BUFFER > > The bounce buffer is used by a few drivers (most of the MMC drivers) > to overcome limitations in their respective DMA implementation. > > This moves the configuration to Kconfig and makes it user-selectable > (even though it will be a required feature to make those drivers > work): the expected usage is for drivers depending on this to 'select' > it unconditionally from their respective Kconfig. > > Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> > > --- > > common/Kconfig | 8 ++++++++ > scripts/config_whitelist.txt | 1 - > 2 files changed, 8 insertions(+), 1 deletion(-) > > diff --git a/common/Kconfig b/common/Kconfig > index 57bd16d..f45e066 100644 > --- a/common/Kconfig > +++ b/common/Kconfig > @@ -645,6 +645,14 @@ config DISPLAY_BOARDINFO_LATE > the relocation phase. The board function checkboard() is called to do > this. > > +config BOUNCE_BUFFER > + bool "Include bounce buffer API" > + help > + Some peripherals support DMA from a subset of physically > + addressable memory only. To support such peripherals, the > + bounce buffer API uses a temporary buffer: it copies data > + to/from DMA regions while managing cache operations. IIRC I decided to use bounce buffer just to make sure data we pass to the DMA is properly aligned. Not sure though if that's a valid use-case for it but if it is IMHO it worth mentioning here in this help message. -Alexey
diff --git a/common/Kconfig b/common/Kconfig index 57bd16d..f45e066 100644 --- a/common/Kconfig +++ b/common/Kconfig @@ -645,6 +645,14 @@ config DISPLAY_BOARDINFO_LATE the relocation phase. The board function checkboard() is called to do this. +config BOUNCE_BUFFER + bool "Include bounce buffer API" + help + Some peripherals support DMA from a subset of physically + addressable memory only. To support such peripherals, the + bounce buffer API uses a temporary buffer: it copies data + to/from DMA regions while managing cache operations. + menu "Start-up hooks" config ARCH_EARLY_INIT_R diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt index b3f525f..2151d65 100644 --- a/scripts/config_whitelist.txt +++ b/scripts/config_whitelist.txt @@ -169,7 +169,6 @@ CONFIG_BOOT_OS_NET CONFIG_BOOT_PARAMS_ADDR CONFIG_BOOT_RETRY_MIN CONFIG_BOOT_RETRY_TIME -CONFIG_BOUNCE_BUFFER CONFIG_BPTR_VIRT_ADDR CONFIG_BS_ADDR_DEVICE CONFIG_BS_ADDR_RAM
The bounce buffer is used by a few drivers (most of the MMC drivers) to overcome limitations in their respective DMA implementation. This moves the configuration to Kconfig and makes it user-selectable (even though it will be a required feature to make those drivers work): the expected usage is for drivers depending on this to 'select' it unconditionally from their respective Kconfig. Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> --- common/Kconfig | 8 ++++++++ scripts/config_whitelist.txt | 1 - 2 files changed, 8 insertions(+), 1 deletion(-)