[U-Boot] [PATCH v3 1/5] Kconfig: Migrate BOUNCE_BUFFER

Philipp Tomsich philipp.tomsich at theobroma-systems.com
Mon Dec 3 12:32:00 UTC 2018


Alexey,

> On 03.12.2018, at 12:17, Alexey Brodkin <alexey.brodkin at synopsys.com> wrote:
> 
> Hi Philipp,
> 
> On Fri, 2018-11-30 at 22:13 +0100, Philipp Tomsich wrote:
>> 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 (see follow-up
>> patches).
>> 
>> This commit includes a full migration using moveconfig.py to ensure
>> that each commit compiles; successive commits will introduce
>> individual dependencies for drivers and then undo some of the changes
>> to the defconfig files.
>> 
>> Signed-off-by: Philipp Tomsich <philipp.tomsich at theobroma-systems.com>
>> 
>> ---
> 
> [snip]
> 
>> diff --git a/common/Kconfig b/common/Kconfig
>> index 57bd16d..5bbd00a 100644
>> --- a/common/Kconfig
>> +++ b/common/Kconfig
>> @@ -645,6 +645,17 @@ 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.
>> +
>> +	  A second possible use of bounce buffers is their ability to
>> +	  provide aligned buffers for DMA operations.
>> +
> 
> Here you only add BOUNCE_BUFFER option and yet it is not dependent
> on anything, right?
> 
>> diff --git a/include/configs/axs10x.h b/include/configs/axs10x.h
>> index 1b2966f..8febe09 100644
>> --- a/include/configs/axs10x.h
>> +++ b/include/configs/axs10x.h
>> @@ -85,6 +85,5 @@
>> /*
>>  * Misc utility configuration
>>  */
>> -#define CONFIG_BOUNCE_BUFFER
>> 
>> #endif /* _CONFIG_AXS10X_H_ */
> 
> ...
> 
>> diff --git a/include/configs/emsdp.h b/include/configs/emsdp.h
>> index 385d59e..a77f262 100644
>> --- a/include/configs/emsdp.h
>> +++ b/include/configs/emsdp.h
>> @@ -19,7 +19,6 @@
>> #define CONFIG_SYS_LOAD_ADDR		CONFIG_SYS_SDRAM_BASE
>> 
>> /* Required by DW MMC driver */
>> -#define CONFIG_BOUNCE_BUFFER
>> 
>> /*
>>  * Environment
> 
> ...
> 
>> diff --git a/include/configs/hsdk.h b/include/configs/hsdk.h
>> index cdf4fdd..bafd8d0 100644
>> --- a/include/configs/hsdk.h
>> +++ b/include/configs/hsdk.h
>> @@ -119,7 +119,6 @@ setenv core_iccm_3 0x6; setenv core_dccm_3 0x6;\0"
>> /*
>>  * Misc utility configuration
>>  */
>> -#define CONFIG_BOUNCE_BUFFER
>> 
>> /* Cli configuration */
>> #define CONFIG_SYS_CBSIZE		SZ_2K
>> diff --git a/include/configs/iot_devkit.h b/include/configs/iot_devkit.h
>> index 4ffe114..1f40d61 100644
>> --- a/include/configs/iot_devkit.h
>> +++ b/include/configs/iot_devkit.h
>> @@ -72,7 +72,6 @@
>> 					CONFIG_ENV_SIZE
>> 
>> /* Required by DW MMC driver */
>> -#define CONFIG_BOUNCE_BUFFER
>> 
>> /*
>>  * Environment
> 
> And here in xxx.h files you unconditionally remove CONFIG_BOUNCE_BUFFER
> which breaks MMC on these boards.
> 
> I understand that you're fixing that in the subsequent commit but
> I'd prefer all changes to be bisectable, i.e. have normally working system
> on each and every commit.
> 
> Moreover IMHO it doesn't look logical to remove "#define CONFIG_BOUNCE_BUFFER" here
> while remove comment which is clearly bounded to CONFIG_BOUNCE_BUFFER in the next commit.

In this patch, moveconfig has moved the selction this into the respective _defconfig files
for the  AXS10x boards.

The later patches merely add the infrastructure to Kconfig to ensure this is automatically
selected and can’t be turned off...

> 
> So maybe we need to split this first commit in 3 parts and
> squash it with 2, 3 and 4.




More information about the U-Boot mailing list