[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