Hi Angus,

Thank you for working on MALI drivers. BTW, do you have a plan to post
these patches to mainline?

See comments below.

Thank you,
Kyungmin Park

On Sat, Jul 16, 2011 at 3:54 AM, Angus Ainslie <angus.ains...@linaro.org> wrote:
> The mali driver needs an SoC specific config file to build. This
> is for the Samsung Exynos4 SoC.
>
> This is a patch for Chunsangs repo at :
>
> git://git.linaro.org/people/chunsangjeong/mali.git
>
> Signed-off-by: Angus Ainslie <angus.ains...@linaro.org>
> ---
>  arch/arm/mach-exynos4/include/mach/mali/config.h |  171 
> ++++++++++++++++++++++
>  1 files changed, 171 insertions(+), 0 deletions(-)
>  create mode 100644 arch/arm/mach-exynos4/include/mach/mali/config.h
>
> diff --git a/arch/arm/mach-exynos4/include/mach/mali/config.h 
> b/arch/arm/mach-exynos4/include/mach/mali/config.h
> new file mode 100644
> index 0000000..1a00d08
> --- /dev/null
> +++ b/arch/arm/mach-exynos4/include/mach/mali/config.h
> @@ -0,0 +1,171 @@
> +/*
> + * Copyright (C) 2010 ARM Limited. All rights reserved.
> + *
> + * This program is free software and is provided to you under the terms of 
> the GNU General Public License version 2
> + * as published by the Free Software Foundation, and any use by you of this 
> program is subject to the terms of such GNU licence.
> + *
> + * A copy of the licence is included with the program, and can also be 
> obtained from Free Software
> + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  
> 02110-1301, USA.
> + */
> +
> +#ifndef __ARCH_CONFIG_H__
> +#define __ARCH_CONFIG_H__
> +
> +/* Configuration for the EB platform with ZBT memory enabled */
> +/*zepplin added 2010.08.17 for orion configuration*/
> +#define MALI_BASE_ADDR                    0x13000000
> +#define GP_ADDR        MALI_BASE_ADDR
> +#define L2_ADDR        MALI_BASE_ADDR+0x1000
> +#define PMU_ADDR       MALI_BASE_ADDR+0x2000
> +#define GP_MMU_ADDR    MALI_BASE_ADDR+0x3000
> +#define PP0_MMU_ADDR   MALI_BASE_ADDR+0x4000
> +#define PP1_MMU_ADDR   MALI_BASE_ADDR+0x5000
> +#define PP2_MMU_ADDR   MALI_BASE_ADDR+0x6000
> +#define PP3_MMU_ADDR   MALI_BASE_ADDR+0x7000
> +#define PP0_ADDR       MALI_BASE_ADDR+0x8000
> +#define PP1_ADDR       MALI_BASE_ADDR+0xA000
> +#define PP2_ADDR       MALI_BASE_ADDR+0xC000
> +#define PP3_ADDR       MALI_BASE_ADDR+0xE000
> +
> +/*for mmu and os memory*/
> +#define MEM_BASE_ADDR    0x40000000
> +#define MEM_TOTAL_SIZE   0x20000000
> +#define MEM_MALI_OS_SIZE 0x18000000
> +
> +/*for dedicated memory*/
> +#define MEM_MALI_SIZE   CONFIG_MALI_MEM_SIZE*1024*1024
> +#define MEM_MALI_BASE    0x60000000 - MEM_MALI_SIZE
> +
> +#define S5P_IRQ(x)              (x+32)
> +#define IRQ_SPI(x)              S5P_IRQ(x+32)
> +#define MAX_IRQ_IN_COMBINER     8
> +#define COMBINER_GROUP(x)       ((x) * MAX_IRQ_IN_COMBINER + IRQ_SPI(64))
> +#define COMBINER_IRQ(x, y)      (COMBINER_GROUP(x) + y)

These should conflict with irqs.h.
Please include the irqs.h

> +
> +#define IRQ_PPMMU0_3D          COMBINER_IRQ(13, 0)
> +#define IRQ_PPMMU1_3D          COMBINER_IRQ(13, 1)
> +#define IRQ_PPMMU2_3D          COMBINER_IRQ(13, 2)
> +#define IRQ_PPMMU3_3D          COMBINER_IRQ(13, 3)
> +#define IRQ_GPMMU_3D           COMBINER_IRQ(13, 4)
> +
> +#define IRQ_PP0_3D             COMBINER_IRQ(14, 0)
> +#define IRQ_PP1_3D             COMBINER_IRQ(14, 1)
> +#define IRQ_PP2_3D             COMBINER_IRQ(14, 2)
> +#define IRQ_PP3_3D             COMBINER_IRQ(14, 3)
> +#define IRQ_GP_3D              COMBINER_IRQ(14, 4)
> +#define IRQ_PMU_3D             COMBINER_IRQ(14, 5)

Please define it at irqs.h

> +
> +static _mali_osk_resource_t arch_configuration [] =
> +{
> +       {
> +               .type = MALI400GP,
> +               .description = "Mali-400 GP",
> +               .base = GP_ADDR,
> +               .irq = IRQ_GP_3D,
> +               .mmu_id = 1
> +       },
> +       {
> +               .type = MALI400PP,
> +               .base = PP0_ADDR,
> +               .irq = IRQ_PP0_3D,
> +               .description = "Mali-400 PP 0",
> +               .mmu_id = 2
> +       },
> +       {
> +               .type = MALI400PP,
> +               .base = PP1_ADDR,
> +               .irq = IRQ_PP1_3D,
> +               .description = "Mali-400 PP 1",
> +               .mmu_id = 3
> +       },
> +       {
> +               .type = MALI400PP,
> +               .base = PP2_ADDR,
> +               .irq = IRQ_PP2_3D,
> +               .description = "Mali-400 PP 2",
> +               .mmu_id = 4
> +       },
> +       {
> +               .type = MALI400PP,
> +               .base = PP3_ADDR,
> +               .irq = IRQ_PP3_3D,
> +               .description = "Mali-400 PP 3",
> +               .mmu_id = 5
> +       },
> +#if USING_MMU
> +       {
> +               .type = MMU,
> +               .base = GP_MMU_ADDR,
> +               .irq = IRQ_GPMMU_3D,
> +               .description = "Mali-400 MMU for GP",
> +               .mmu_id = 1
> +       },
> +       {
> +               .type = MMU,
> +               .base = PP0_MMU_ADDR,
> +               .irq = IRQ_PPMMU0_3D,
> +               .description = "Mali-400 MMU for PP 0",
> +               .mmu_id = 2
> +       },
> +       {
> +               .type = MMU,
> +               .base = PP1_MMU_ADDR,
> +               .irq = IRQ_PPMMU1_3D,
> +               .description = "Mali-400 MMU for PP 1",
> +               .mmu_id = 3
> +       },
> +       {
> +               .type = MMU,
> +               .base = PP2_MMU_ADDR,
> +               .irq = IRQ_PPMMU2_3D,
> +               .description = "Mali-400 MMU for PP 2",
> +               .mmu_id = 4
> +       },
> +       {
> +               .type = MMU,
> +               .base = PP3_MMU_ADDR,
> +               .irq = IRQ_PPMMU3_3D,
> +               .description = "Mali-400 MMU for PP 3",
> +               .mmu_id = 5
> +       },
> +#if USING_OS_MEMORY
> +       {
> +               .type = OS_MEMORY,
> +               .description = "System Memory",
> +               .size = MEM_MALI_OS_SIZE,
> +               .flags = _MALI_CPU_WRITEABLE | _MALI_CPU_READABLE | 
> _MALI_PP_READABLE | _MALI_PP_WRITEABLE | _MALI_GP_READABLE | 
> _MALI_GP_WRITEABLE
> +       },
> +#endif
> +#if USING_DED /* Dedicated Memory */
> +       {
> +               .type = MEMORY,
> +               .description = "Dedicated Memory",
> +               .base = MEM_MALI_BASE,
> +               .size = MEM_MALI_SIZE,
> +               .flags = _MALI_CPU_WRITEABLE | _MALI_CPU_READABLE | 
> _MALI_PP_READABLE | _MALI_PP_WRITEABLE | _MALI_GP_READABLE | 
> _MALI_GP_WRITEABLE | _MALI_MMU_READABLE | _MALI_MMU_WRITEABLE
> +       },
> +#endif/* if USING_OS_MEMORY*/
> +       {
> +               .type = MEM_VALIDATION,
> +               .description = "memory validation",
> +               .base = MEM_BASE_ADDR,
> +               .size = MEM_TOTAL_SIZE,
> +               .flags = _MALI_CPU_WRITEABLE | _MALI_CPU_READABLE | 
> _MALI_PP_READABLE | _MALI_PP_WRITEABLE | _MALI_GP_READABLE | 
> _MALI_GP_WRITEABLE | _MALI_MMU_READABLE | _MALI_MMU_WRITEABLE
> +       },
> +#else /* Not using MMU */
> +       {
> +               .type = MEMORY,
> +               .description = "Dedicated Memory",
> +               .base = MEM_MALI_BASE,
> +               .size = MEM_MALI_SIZE,
> +               .flags = _MALI_CPU_WRITEABLE | _MALI_CPU_READABLE | 
> _MALI_PP_READABLE | _MALI_PP_WRITEABLE | _MALI_GP_READABLE | 
> _MALI_GP_WRITEABLE | _MALI_MMU_READABLE | _MALI_MMU_WRITEABLE
> +       },
> +#endif
> +       {
> +               .type = MALI400L2,
> +               .base = L2_ADDR,
> +               .description = "Mali-400 L2 cache"
> +       },
> +};
> +
> +#endif /* __ARCH_CONFIG_H__ */
> --
> 1.7.4.1
>
>
> _______________________________________________
> linaro-dev mailing list
> linaro-dev@lists.linaro.org
> http://lists.linaro.org/mailman/listinfo/linaro-dev
>

_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev

Reply via email to