ARM: OMAP2+: Configure dma_plat_info directly and drop dma_dev_attr
authorTony Lindgren <tony@atomide.com>
Mon, 16 Dec 2019 22:41:53 +0000 (14:41 -0800)
committerTony Lindgren <tony@atomide.com>
Tue, 17 Dec 2019 16:06:43 +0000 (08:06 -0800)
Let's prepare things for passing dma_plat_info to the dmaengine driver in
device tree auxdata. To do that, we want to configure dma_plat_info
directly. And we can also drop the related dma_dev_attr data.

Cc: Aaro Koskinen <aaro.koskinen@iki.fi>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
Cc: Russell King <rmk+kernel@armlinux.org.uk>
Cc: Vinod Koul <vkoul@kernel.org>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Tested-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap2/dma.c
arch/arm/mach-omap2/omap_hwmod_2420_data.c
arch/arm/mach-omap2/omap_hwmod_2430_data.c
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
arch/arm/mach-omap2/omap_hwmod_44xx_data.c
arch/arm/mach-omap2/omap_hwmod_54xx_data.c
arch/arm/mach-omap2/omap_hwmod_7xx_data.c

index a380bf823197780a8bf0f351981753a95f2ee43d..9dd4807f5ee0f33c7afcc6ac3ac395785837e4af 100644 (file)
@@ -211,9 +211,16 @@ static const struct dma_slave_map omap24xx_sdma_dt_map[] = {
        { "musb-hdrc.1.auto", "dmareq5", SDMA_FILTER_PARAM(64) }, /* OMAP2420 only */
 };
 
+static struct omap_dma_dev_attr dma_attr = {
+       .dev_caps = RESERVE_CHANNEL | DMA_LINKED_LCH | GLOBAL_PRIORITY |
+                   IS_CSSA_32 | IS_CDSA_32,
+       .lch_count = 32,
+};
+
 static struct omap_system_dma_plat_info dma_plat_info __initdata = {
        .reg_map        = reg_map,
        .channel_stride = 0x60,
+       .dma_attr       = &dma_attr,
        .show_dma_caps  = omap2_show_dma_caps,
        .clear_dma      = omap2_clear_dma,
        .dma_write      = dma_write,
@@ -230,22 +237,25 @@ static struct platform_device_info omap_dma_dev_info __initdata = {
 static int __init omap2_system_dma_init_dev(struct omap_hwmod *oh, void *unused)
 {
        struct platform_device                  *pdev;
-       struct omap_system_dma_plat_info        p;
-       struct omap_dma_dev_attr                *d;
        struct resource                         *mem;
        char                                    *name = "omap_dma_system";
 
-       p = dma_plat_info;
-       p.dma_attr = (struct omap_dma_dev_attr *)oh->dev_attr;
-       p.errata = configure_dma_errata();
+       dma_plat_info.errata = configure_dma_errata();
 
        if (soc_is_omap24xx()) {
                /* DMA slave map for drivers not yet converted to DT */
-               p.slave_map = omap24xx_sdma_dt_map;
-               p.slavecnt = ARRAY_SIZE(omap24xx_sdma_dt_map);
+               dma_plat_info.slave_map = omap24xx_sdma_dt_map;
+               dma_plat_info.slavecnt = ARRAY_SIZE(omap24xx_sdma_dt_map);
        }
 
-       pdev = omap_device_build(name, 0, oh, &p, sizeof(p));
+       if (!soc_is_omap242x())
+               dma_attr.dev_caps |= IS_RW_PRIORITY;
+
+       if (soc_is_omap34xx() && (omap_type() != OMAP2_DEVICE_TYPE_GP))
+               dma_attr.dev_caps |= HS_CHANNELS_RESERVED;
+
+       pdev = omap_device_build(name, 0, oh, &dma_plat_info,
+                                sizeof(dma_plat_info));
        if (IS_ERR(pdev)) {
                pr_err("%s: Can't build omap_device for %s:%s.\n",
                        __func__, name, oh->name);
@@ -267,11 +277,6 @@ static int __init omap2_system_dma_init_dev(struct omap_hwmod *oh, void *unused)
                return -ENOMEM;
        }
 
-       d = oh->dev_attr;
-
-       if (cpu_is_omap34xx() && (omap_type() != OMAP2_DEVICE_TYPE_GP))
-               d->dev_caps |= HS_CHANNELS_RESERVED;
-
        /* Check the capabilities register for descriptor loading feature */
        if (soc_is_omap24xx() || soc_is_omap34xx() || soc_is_am35xx())
                dma_common_ch_end = CCFN;
index d49df96b4052ae6693163ff8e7e2f5c6091c90c9..6127314ee97b1582def186a39b6274fef0af1cf1 100644 (file)
@@ -126,18 +126,10 @@ static struct omap_hwmod omap2420_i2c2_hwmod = {
        .flags          = HWMOD_16BIT_REG,
 };
 
-/* dma attributes */
-static struct omap_dma_dev_attr dma_dev_attr = {
-       .dev_caps  = RESERVE_CHANNEL | DMA_LINKED_LCH | GLOBAL_PRIORITY |
-                                               IS_CSSA_32 | IS_CDSA_32,
-       .lch_count = 32,
-};
-
 static struct omap_hwmod omap2420_dma_system_hwmod = {
        .name           = "dma",
        .class          = &omap2xxx_dma_hwmod_class,
        .main_clk       = "core_l3_ck",
-       .dev_attr       = &dma_dev_attr,
        .flags          = HWMOD_NO_IDLEST,
 };
 
index c51ef84ff64dc5b573672441ec9ecebc9b120fe4..05538f0fb20ce98662ddbefb3fd02532ac34da9c 100644 (file)
@@ -121,18 +121,10 @@ static struct omap_hwmod omap2430_gpio5_hwmod = {
        .class          = &omap2xxx_gpio_hwmod_class,
 };
 
-/* dma attributes */
-static struct omap_dma_dev_attr dma_dev_attr = {
-       .dev_caps  = RESERVE_CHANNEL | DMA_LINKED_LCH | GLOBAL_PRIORITY |
-                               IS_CSSA_32 | IS_CDSA_32 | IS_RW_PRIORITY,
-       .lch_count = 32,
-};
-
 static struct omap_hwmod omap2430_dma_system_hwmod = {
        .name           = "dma",
        .class          = &omap2xxx_dma_hwmod_class,
        .main_clk       = "core_l3_ck",
-       .dev_attr       = &dma_dev_attr,
        .flags          = HWMOD_NO_IDLEST,
 };
 
index f52438bdfc141dc83b00de3e4a37f3f560da5587..7ceece529c26895e4ed68f0fb6faec05c6cd7a31 100644 (file)
@@ -833,13 +833,6 @@ static struct omap_hwmod omap3xxx_gpio6_hwmod = {
        .class          = &omap3xxx_gpio_hwmod_class,
 };
 
-/* dma attributes */
-static struct omap_dma_dev_attr dma_dev_attr = {
-       .dev_caps  = RESERVE_CHANNEL | DMA_LINKED_LCH | GLOBAL_PRIORITY |
-                               IS_CSSA_32 | IS_CDSA_32 | IS_RW_PRIORITY,
-       .lch_count = 32,
-};
-
 static struct omap_hwmod_class_sysconfig omap3xxx_dma_sysc = {
        .rev_offs       = 0x0000,
        .sysc_offs      = 0x002c,
@@ -870,7 +863,6 @@ static struct omap_hwmod omap3xxx_dma_system_hwmod = {
                        .idlest_idle_bit        = OMAP3430_ST_SDMA_SHIFT,
                },
        },
-       .dev_attr       = &dma_dev_attr,
        .flags          = HWMOD_NO_IDLEST,
 };
 
index 292f544bd62dedce49bed8577766dc2ba3b9fa69..14167ae2dc2a5081236c6128628012ae84ae9e61 100644 (file)
@@ -422,13 +422,6 @@ static struct omap_hwmod_class omap44xx_dma_hwmod_class = {
        .sysc   = &omap44xx_dma_sysc,
 };
 
-/* dma dev_attr */
-static struct omap_dma_dev_attr dma_dev_attr = {
-       .dev_caps       = RESERVE_CHANNEL | DMA_LINKED_LCH | GLOBAL_PRIORITY |
-                         IS_CSSA_32 | IS_CDSA_32 | IS_RW_PRIORITY,
-       .lch_count      = 32,
-};
-
 /* dma_system */
 static struct omap_hwmod omap44xx_dma_system_hwmod = {
        .name           = "dma_system",
@@ -441,7 +434,6 @@ static struct omap_hwmod omap44xx_dma_system_hwmod = {
                        .context_offs = OMAP4_RM_SDMA_SDMA_CONTEXT_OFFSET,
                },
        },
-       .dev_attr       = &dma_dev_attr,
 };
 
 /*
index cc5ad6acab1d9524c14041c9fefb74b5f56b3be7..125ae4a79a45f2da38839cc6465ab2eea77de13e 100644 (file)
@@ -256,13 +256,6 @@ static struct omap_hwmod_class omap54xx_dma_hwmod_class = {
        .sysc   = &omap54xx_dma_sysc,
 };
 
-/* dma dev_attr */
-static struct omap_dma_dev_attr dma_dev_attr = {
-       .dev_caps       = RESERVE_CHANNEL | DMA_LINKED_LCH | GLOBAL_PRIORITY |
-                         IS_CSSA_32 | IS_CDSA_32 | IS_RW_PRIORITY,
-       .lch_count      = 32,
-};
-
 /* dma_system */
 static struct omap_hwmod omap54xx_dma_system_hwmod = {
        .name           = "dma_system",
@@ -275,7 +268,6 @@ static struct omap_hwmod omap54xx_dma_system_hwmod = {
                        .context_offs = OMAP54XX_RM_DMA_DMA_SYSTEM_CONTEXT_OFFSET,
                },
        },
-       .dev_attr       = &dma_dev_attr,
 };
 
 /*
index f8715bd9668706c94f2dadcd47de30000a4c97ef..ff28c73112b61164b4d31f35de9a1d0dfdd2f6f5 100644 (file)
@@ -411,13 +411,6 @@ static struct omap_hwmod_class dra7xx_dma_hwmod_class = {
        .sysc   = &dra7xx_dma_sysc,
 };
 
-/* dma dev_attr */
-static struct omap_dma_dev_attr dma_dev_attr = {
-       .dev_caps       = RESERVE_CHANNEL | DMA_LINKED_LCH | GLOBAL_PRIORITY |
-                         IS_CSSA_32 | IS_CDSA_32 | IS_RW_PRIORITY,
-       .lch_count      = 32,
-};
-
 /* dma_system */
 static struct omap_hwmod dra7xx_dma_system_hwmod = {
        .name           = "dma_system",
@@ -430,7 +423,6 @@ static struct omap_hwmod dra7xx_dma_system_hwmod = {
                        .context_offs = DRA7XX_RM_DMA_DMA_SYSTEM_CONTEXT_OFFSET,
                },
        },
-       .dev_attr       = &dma_dev_attr,
 };
 
 /*