diff mbox

ARM: sunxi_defconfig: Enable CMA

Message ID 20180119133208.12873-1-maxime.ripard@free-electrons.com (mailing list archive)
State New, archived
Headers show

Commit Message

Maxime Ripard Jan. 19, 2018, 1:32 p.m. UTC
The DRM driver most notably, but also out of tree drivers (for now) like
the VPU or GPU drivers, are quite big consumers of large, contiguous memory
buffers. However, the sunxi_defconfig doesn't enable CMA in order to
mitigate that, which makes them almost unusable.

Enable it to make sure it somewhat works.

Cc: <stable@vger.kernel.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
---

Hi Arnd, Olof,

Could you queue that patch as a fix?

Thanks!
Maxime

 arch/arm/configs/sunxi_defconfig | 2 ++
 1 file changed, 2 insertions(+)

Comments

Arnd Bergmann Jan. 19, 2018, 3:08 p.m. UTC | #1
On Fri, Jan 19, 2018 at 2:32 PM, Maxime Ripard
<maxime.ripard@free-electrons.com> wrote:
> The DRM driver most notably, but also out of tree drivers (for now) like
> the VPU or GPU drivers, are quite big consumers of large, contiguous memory
> buffers. However, the sunxi_defconfig doesn't enable CMA in order to
> mitigate that, which makes them almost unusable.
>
> Enable it to make sure it somewhat works.
>
> Cc: <stable@vger.kernel.org>
> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>

Applied to fixes, thanks!

      Arnd
Chen-Yu Tsai Jan. 20, 2018, 3:37 a.m. UTC | #2
On Fri, Jan 19, 2018 at 9:32 PM, Maxime Ripard
<maxime.ripard@free-electrons.com> wrote:
> The DRM driver most notably, but also out of tree drivers (for now) like
> the VPU or GPU drivers, are quite big consumers of large, contiguous memory
> buffers. However, the sunxi_defconfig doesn't enable CMA in order to
> mitigate that, which makes them almost unusable.
>
> Enable it to make sure it somewhat works.

IIRC the default size for CMA pretty much limits it to small tablet
screen resolutions. Is this something we want to leave up to the
user?

Thanks
ChenYu
Maxime Ripard Jan. 22, 2018, 7:34 a.m. UTC | #3
Hi,

On Sat, Jan 20, 2018 at 11:37:28AM +0800, Chen-Yu Tsai wrote:
> On Fri, Jan 19, 2018 at 9:32 PM, Maxime Ripard
> <maxime.ripard@free-electrons.com> wrote:
> > The DRM driver most notably, but also out of tree drivers (for now) like
> > the VPU or GPU drivers, are quite big consumers of large, contiguous memory
> > buffers. However, the sunxi_defconfig doesn't enable CMA in order to
> > mitigate that, which makes them almost unusable.
> >
> > Enable it to make sure it somewhat works.
> 
> IIRC the default size for CMA pretty much limits it to small tablet
> screen resolutions. Is this something we want to leave up to the
> user?

That's one of the pain points of CMA in our case. The amount of memory
you need depends on the resolution itself, but also the number of
multiple buffers you want to use, and even the number of planes you
want to use.

And then, you have to trade that off with the amount of RAM you have
on your board in order to still have something that's usable.

tl;dr: I don't really see how to define a value good enough for
everyone.

Maxime
Chen-Yu Tsai Jan. 23, 2018, 6:19 a.m. UTC | #4
On Mon, Jan 22, 2018 at 3:34 PM, Maxime Ripard
<maxime.ripard@free-electrons.com> wrote:
> Hi,
>
> On Sat, Jan 20, 2018 at 11:37:28AM +0800, Chen-Yu Tsai wrote:
>> On Fri, Jan 19, 2018 at 9:32 PM, Maxime Ripard
>> <maxime.ripard@free-electrons.com> wrote:
>> > The DRM driver most notably, but also out of tree drivers (for now) like
>> > the VPU or GPU drivers, are quite big consumers of large, contiguous memory
>> > buffers. However, the sunxi_defconfig doesn't enable CMA in order to
>> > mitigate that, which makes them almost unusable.
>> >
>> > Enable it to make sure it somewhat works.
>>
>> IIRC the default size for CMA pretty much limits it to small tablet
>> screen resolutions. Is this something we want to leave up to the
>> user?
>
> That's one of the pain points of CMA in our case. The amount of memory
> you need depends on the resolution itself, but also the number of
> multiple buffers you want to use, and even the number of planes you
> want to use.
>
> And then, you have to trade that off with the amount of RAM you have
> on your board in order to still have something that's usable.
>
> tl;dr: I don't really see how to define a value good enough for
> everyone.

Yeah, that's what I thought. On the other hand, I don't think any
of the kernelci boards have display enabled? So either way we won't
see any automated tests fail.

ChenYu
diff mbox

Patch

diff --git a/arch/arm/configs/sunxi_defconfig b/arch/arm/configs/sunxi_defconfig
index 5caaf971fb50..df433abfcb02 100644
--- a/arch/arm/configs/sunxi_defconfig
+++ b/arch/arm/configs/sunxi_defconfig
@@ -10,6 +10,7 @@  CONFIG_SMP=y
 CONFIG_NR_CPUS=8
 CONFIG_AEABI=y
 CONFIG_HIGHMEM=y
+CONFIG_CMA=y
 CONFIG_ARM_APPENDED_DTB=y
 CONFIG_ARM_ATAG_DTB_COMPAT=y
 CONFIG_CPU_FREQ=y
@@ -33,6 +34,7 @@  CONFIG_CAN_SUN4I=y
 # CONFIG_WIRELESS is not set
 CONFIG_DEVTMPFS=y
 CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_DMA_CMA=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_ATA=y
 CONFIG_AHCI_SUNXI=y