Skip to contentSkip to conversation

ARM: shmobile: R-car Gen2 CMA reservation support

PATCH In review Magnus Damm 2 participants 4 messages Jun 9, 2014 – Jun 10, 2014 SuperH

lore
Share & tools
lore
#0 lore raw

cover ARM: shmobile: R-car Gen2 CMA reservation support

ARM: shmobile: R-car Gen2 CMA reservation support

[PATCH 01/02] ARM: shmobile: Add shared R-Car Gen2 CMA reservation code [PATCH 02/02] ARM: shmobile: Enable R-Car Gen2 CMA code in board files

These patches add CMA reservation code for R-Car Gen2 SoCs and boards.

Instead of using custom memory reservation hacks for demos and other things, make use of standard CMA to reserve a pool of memory. This memory is suitable for devices that take physically contiguous memory such as DU and VSP1 multimedia devices. At this point no device assignment is included - only memory reservation code is added for now.

All R-Car Gen2 SoCs so far have LPAE support and boards tend to use more than 32-bits of physical addresses to access the system memory. These patches add code that during run time parses the DT memory banks and nick 256MiB from the highest memory bank within the legacy 32-bit physical memory space and use that for CMA.

On Lager and Koelsch boards these 256 MiB is at 0x7000000 -> 0x7fffffff.

The code uses dynamic calculation of the CMA area base address over static DT reservation since this kind of configuration is based on software policy. DT is however still used to describe the system memory banks as expected. Software memory partitioning is excluded from DT by design.

---

Written on top of renesas-devel-v3.15-20140609v2

 arch/arm/mach-shmobile/board-koelsch-reference.c |    1 
 arch/arm/mach-shmobile/board-koelsch.c           |    1 
 arch/arm/mach-shmobile/board-lager-reference.c   |    1 
 arch/arm/mach-shmobile/board-lager.c             |    1 
 arch/arm/mach-shmobile/include/mach/rcar-gen2.h  |    1 
 arch/arm/mach-shmobile/setup-r8a7790.c           |    1 
 arch/arm/mach-shmobile/setup-r8a7791.c           |    1 
 arch/arm/mach-shmobile/setup-rcar-gen2.c         |   79 ++++++++++++++++++++++
 8 files changed, 86 insertions(+)
#1 lore raw
Quoted 19 lines · Magnus Damm

ARM: shmobile: R-car Gen2 CMA reservation support

[PATCH 01/02] ARM: shmobile: Add shared R-Car Gen2 CMA reservation code [PATCH 02/02] ARM: shmobile: Enable R-Car Gen2 CMA code in board files

These patches add CMA reservation code for R-Car Gen2 SoCs and boards.

Instead of using custom memory reservation hacks for demos and other things, make use of standard CMA to reserve a pool of memory. This memory is suitable for devices that take physically contiguous memory such as DU and VSP1 multimedia devices. At this point no device assignment is included - only memory reservation code is added for now.

All R-Car Gen2 SoCs so far have LPAE support and boards tend to use more than 32-bits of physical addresses to access the system memory. These patches add code that during run time parses the DT memory banks and nick 256MiB from the highest memory bank within the legacy 32-bit physical memory space and use that for CMA.

Quoted 8 lines

On Lager and Koelsch boards these 256 MiB is at 0x7000000 -> 0x7fffffff.

The code uses dynamic calculation of the CMA area base address over static DT reservation since this kind of configuration is based on software policy. DT is however still used to describe the system memory banks as expected. Software memory partitioning is excluded from DT by design.

Hi Magnus,

this seems clean to me. Shall I queue it up?

#2 lore raw
In reply to Magnus Damm

Hi Simon,

Quoted 27 lines · Simon Horman
Quoted 26 lines · Magnus Damm

ARM: shmobile: R-car Gen2 CMA reservation support

[PATCH 01/02] ARM: shmobile: Add shared R-Car Gen2 CMA reservation code [PATCH 02/02] ARM: shmobile: Enable R-Car Gen2 CMA code in board files

These patches add CMA reservation code for R-Car Gen2 SoCs and boards.

Instead of using custom memory reservation hacks for demos and other things, make use of standard CMA to reserve a pool of memory. This memory is suitable for devices that take physically contiguous memory such as DU and VSP1 multimedia devices. At this point no device assignment is included - only memory reservation code is added for now.

All R-Car Gen2 SoCs so far have LPAE support and boards tend to use more than 32-bits of physical addresses to access the system memory. These patches add code that during run time parses the DT memory banks and nick 256MiB from the highest memory bank within the legacy 32-bit physical memory space and use that for CMA.

On Lager and Koelsch boards these 256 MiB is at 0x7000000 -> 0x7fffffff.

The code uses dynamic calculation of the CMA area base address over static DT reservation since this kind of configuration is based on software policy. DT is however still used to describe the system memory banks as expected. Software memory partitioning is excluded from DT by design.

Quoted 5 lines
Quoted 1 line

Hi Magnus,

this seems clean to me. Shall I queue it up?

Thanks, yes please queue up!

/ magnus

#3 lore raw
In reply to Magnus Damm
Quoted 30 lines · Magnus Damm

Hi Simon,

Quoted 27 lines · Simon Horman
Quoted 26 lines · Magnus Damm

ARM: shmobile: R-car Gen2 CMA reservation support

[PATCH 01/02] ARM: shmobile: Add shared R-Car Gen2 CMA reservation code [PATCH 02/02] ARM: shmobile: Enable R-Car Gen2 CMA code in board files

These patches add CMA reservation code for R-Car Gen2 SoCs and boards.

Instead of using custom memory reservation hacks for demos and other things, make use of standard CMA to reserve a pool of memory. This memory is suitable for devices that take physically contiguous memory such as DU and VSP1 multimedia devices. At this point no device assignment is included - only memory reservation code is added for now.

All R-Car Gen2 SoCs so far have LPAE support and boards tend to use more than 32-bits of physical addresses to access the system memory. These patches add code that during run time parses the DT memory banks and nick 256MiB from the highest memory bank within the legacy 32-bit physical memory space and use that for CMA.

On Lager and Koelsch boards these 256 MiB is at 0x7000000 -> 0x7fffffff.

The code uses dynamic calculation of the CMA area base address over static DT reservation since this kind of configuration is based on software policy. DT is however still used to describe the system memory banks as expected. Software memory partitioning is excluded from DT by design.

Quoted 7 lines
Quoted 5 lines
Quoted 1 line

Hi Magnus,

this seems clean to me. Shall I queue it up?

Thanks, yes please queue up!

Thanks, done.