diff mbox series

[U-Boot,1/6] Kconfig: Migrate BOUNCE_BUFFER

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

Commit Message

Philipp Tomsich Nov. 30, 2018, 11:39 a.m. UTC
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(-)

Comments

Alexey Brodkin Nov. 30, 2018, 1:41 p.m. UTC | #1
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 mbox series

Patch

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