memory: tegra30: Add FIFO sizes to memory clients
authorDmitry Osipenko <digetx@gmail.com>
Wed, 11 Nov 2020 01:14:36 +0000 (04:14 +0300)
committerKrzysztof Kozlowski <krzk@kernel.org>
Thu, 26 Nov 2020 17:50:36 +0000 (18:50 +0100)
The latency allowness is calculated based on buffering capabilities of
memory clients. Add FIFO sizes to the Tegra30 memory clients.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Link: https://lore.kernel.org/r/20201111011456.7875-7-digetx@gmail.com
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
drivers/memory/tegra/tegra30.c

index b1990b4..d0314f2 100644 (file)
@@ -42,6 +42,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x0,
                },
+               .fifo_size = 16 * 2,
        }, {
                .id = 0x01,
                .name = "display0a",
@@ -56,6 +57,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x4e,
                },
+               .fifo_size = 16 * 128,
        }, {
                .id = 0x02,
                .name = "display0ab",
@@ -70,6 +72,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x4e,
                },
+               .fifo_size = 16 * 128,
        }, {
                .id = 0x03,
                .name = "display0b",
@@ -84,6 +87,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x4e,
                },
+               .fifo_size = 16 * 64,
        }, {
                .id = 0x04,
                .name = "display0bb",
@@ -98,6 +102,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x4e,
                },
+               .fifo_size = 16 * 64,
        }, {
                .id = 0x05,
                .name = "display0c",
@@ -112,6 +117,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x4e,
                },
+               .fifo_size = 16 * 128,
        }, {
                .id = 0x06,
                .name = "display0cb",
@@ -126,6 +132,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x4e,
                },
+               .fifo_size = 16 * 128,
        }, {
                .id = 0x07,
                .name = "display1b",
@@ -140,6 +147,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x4e,
                },
+               .fifo_size = 16 * 64,
        }, {
                .id = 0x08,
                .name = "display1bb",
@@ -154,6 +162,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x4e,
                },
+               .fifo_size = 16 * 64,
        }, {
                .id = 0x09,
                .name = "eppup",
@@ -168,6 +177,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x17,
                },
+               .fifo_size = 16 * 8,
        }, {
                .id = 0x0a,
                .name = "g2pr",
@@ -182,6 +192,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x09,
                },
+               .fifo_size = 16 * 64,
        }, {
                .id = 0x0b,
                .name = "g2sr",
@@ -196,6 +207,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x09,
                },
+               .fifo_size = 16 * 64,
        }, {
                .id = 0x0c,
                .name = "mpeunifbr",
@@ -210,6 +222,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x50,
                },
+               .fifo_size = 16 * 8,
        }, {
                .id = 0x0d,
                .name = "viruv",
@@ -224,6 +237,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x2c,
                },
+               .fifo_size = 16 * 8,
        }, {
                .id = 0x0e,
                .name = "afir",
@@ -238,6 +252,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x10,
                },
+               .fifo_size = 16 * 32,
        }, {
                .id = 0x0f,
                .name = "avpcarm7r",
@@ -252,6 +267,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x04,
                },
+               .fifo_size = 16 * 2,
        }, {
                .id = 0x10,
                .name = "displayhc",
@@ -266,6 +282,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0xff,
                },
+               .fifo_size = 16 * 2,
        }, {
                .id = 0x11,
                .name = "displayhcb",
@@ -280,6 +297,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0xff,
                },
+               .fifo_size = 16 * 2,
        }, {
                .id = 0x12,
                .name = "fdcdrd",
@@ -294,6 +312,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x0a,
                },
+               .fifo_size = 16 * 48,
        }, {
                .id = 0x13,
                .name = "fdcdrd2",
@@ -308,6 +327,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x0a,
                },
+               .fifo_size = 16 * 48,
        }, {
                .id = 0x14,
                .name = "g2dr",
@@ -322,6 +342,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x0a,
                },
+               .fifo_size = 16 * 48,
        }, {
                .id = 0x15,
                .name = "hdar",
@@ -336,6 +357,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0xff,
                },
+               .fifo_size = 16 * 16,
        }, {
                .id = 0x16,
                .name = "host1xdmar",
@@ -350,6 +372,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x05,
                },
+               .fifo_size = 16 * 16,
        }, {
                .id = 0x17,
                .name = "host1xr",
@@ -364,6 +387,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x50,
                },
+               .fifo_size = 16 * 8,
        }, {
                .id = 0x18,
                .name = "idxsrd",
@@ -378,6 +402,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x13,
                },
+               .fifo_size = 16 * 64,
        }, {
                .id = 0x19,
                .name = "idxsrd2",
@@ -392,6 +417,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x13,
                },
+               .fifo_size = 16 * 64,
        }, {
                .id = 0x1a,
                .name = "mpe_ipred",
@@ -406,6 +432,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x80,
                },
+               .fifo_size = 16 * 2,
        }, {
                .id = 0x1b,
                .name = "mpeamemrd",
@@ -420,6 +447,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x42,
                },
+               .fifo_size = 16 * 64,
        }, {
                .id = 0x1c,
                .name = "mpecsrd",
@@ -434,6 +462,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0xff,
                },
+               .fifo_size = 16 * 8,
        }, {
                .id = 0x1d,
                .name = "ppcsahbdmar",
@@ -448,6 +477,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x10,
                },
+               .fifo_size = 16 * 2,
        }, {
                .id = 0x1e,
                .name = "ppcsahbslvr",
@@ -462,6 +492,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x12,
                },
+               .fifo_size = 16 * 8,
        }, {
                .id = 0x1f,
                .name = "satar",
@@ -476,6 +507,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x33,
                },
+               .fifo_size = 16 * 32,
        }, {
                .id = 0x20,
                .name = "texsrd",
@@ -490,6 +522,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x13,
                },
+               .fifo_size = 16 * 64,
        }, {
                .id = 0x21,
                .name = "texsrd2",
@@ -504,6 +537,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x13,
                },
+               .fifo_size = 16 * 64,
        }, {
                .id = 0x22,
                .name = "vdebsevr",
@@ -518,6 +552,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0xff,
                },
+               .fifo_size = 16 * 8,
        }, {
                .id = 0x23,
                .name = "vdember",
@@ -532,6 +567,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0xd0,
                },
+               .fifo_size = 16 * 4,
        }, {
                .id = 0x24,
                .name = "vdemcer",
@@ -546,6 +582,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x2a,
                },
+               .fifo_size = 16 * 16,
        }, {
                .id = 0x25,
                .name = "vdetper",
@@ -560,6 +597,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x74,
                },
+               .fifo_size = 16 * 16,
        }, {
                .id = 0x26,
                .name = "mpcorelpr",
@@ -570,6 +608,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x04,
                },
+               .fifo_size = 16 * 14,
        }, {
                .id = 0x27,
                .name = "mpcorer",
@@ -580,6 +619,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x04,
                },
+               .fifo_size = 16 * 14,
        }, {
                .id = 0x28,
                .name = "eppu",
@@ -594,6 +634,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x6c,
                },
+               .fifo_size = 16 * 64,
        }, {
                .id = 0x29,
                .name = "eppv",
@@ -608,6 +649,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x6c,
                },
+               .fifo_size = 16 * 64,
        }, {
                .id = 0x2a,
                .name = "eppy",
@@ -622,6 +664,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x6c,
                },
+               .fifo_size = 16 * 64,
        }, {
                .id = 0x2b,
                .name = "mpeunifbw",
@@ -636,6 +679,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x13,
                },
+               .fifo_size = 16 * 8,
        }, {
                .id = 0x2c,
                .name = "viwsb",
@@ -650,6 +694,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x12,
                },
+               .fifo_size = 16 * 64,
        }, {
                .id = 0x2d,
                .name = "viwu",
@@ -664,6 +709,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0xb2,
                },
+               .fifo_size = 16 * 64,
        }, {
                .id = 0x2e,
                .name = "viwv",
@@ -678,6 +724,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0xb2,
                },
+               .fifo_size = 16 * 64,
        }, {
                .id = 0x2f,
                .name = "viwy",
@@ -692,6 +739,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x12,
                },
+               .fifo_size = 16 * 64,
        }, {
                .id = 0x30,
                .name = "g2dw",
@@ -706,6 +754,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x9,
                },
+               .fifo_size = 16 * 128,
        }, {
                .id = 0x31,
                .name = "afiw",
@@ -720,6 +769,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x0c,
                },
+               .fifo_size = 16 * 32,
        }, {
                .id = 0x32,
                .name = "avpcarm7w",
@@ -734,6 +784,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x0e,
                },
+               .fifo_size = 16 * 2,
        }, {
                .id = 0x33,
                .name = "fdcdwr",
@@ -748,6 +799,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x0a,
                },
+               .fifo_size = 16 * 48,
        }, {
                .id = 0x34,
                .name = "fdcdwr2",
@@ -762,6 +814,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x0a,
                },
+               .fifo_size = 16 * 48,
        }, {
                .id = 0x35,
                .name = "hdaw",
@@ -776,6 +829,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0xff,
                },
+               .fifo_size = 16 * 16,
        }, {
                .id = 0x36,
                .name = "host1xw",
@@ -790,6 +844,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x10,
                },
+               .fifo_size = 16 * 32,
        }, {
                .id = 0x37,
                .name = "ispw",
@@ -804,6 +859,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0xff,
                },
+               .fifo_size = 16 * 64,
        }, {
                .id = 0x38,
                .name = "mpcorelpw",
@@ -814,6 +870,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x0e,
                },
+               .fifo_size = 16 * 24,
        }, {
                .id = 0x39,
                .name = "mpcorew",
@@ -824,6 +881,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x0e,
                },
+               .fifo_size = 16 * 24,
        }, {
                .id = 0x3a,
                .name = "mpecswr",
@@ -838,6 +896,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0xff,
                },
+               .fifo_size = 16 * 8,
        }, {
                .id = 0x3b,
                .name = "ppcsahbdmaw",
@@ -852,6 +911,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x10,
                },
+               .fifo_size = 16 * 2,
        }, {
                .id = 0x3c,
                .name = "ppcsahbslvw",
@@ -866,6 +926,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x06,
                },
+               .fifo_size = 16 * 4,
        }, {
                .id = 0x3d,
                .name = "sataw",
@@ -880,6 +941,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x33,
                },
+               .fifo_size = 16 * 32,
        }, {
                .id = 0x3e,
                .name = "vdebsevw",
@@ -894,6 +956,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0xff,
                },
+               .fifo_size = 16 * 4,
        }, {
                .id = 0x3f,
                .name = "vdedbgw",
@@ -908,6 +971,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0xff,
                },
+               .fifo_size = 16 * 16,
        }, {
                .id = 0x40,
                .name = "vdembew",
@@ -922,6 +986,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x42,
                },
+               .fifo_size = 16 * 2,
        }, {
                .id = 0x41,
                .name = "vdetpmw",
@@ -936,6 +1001,7 @@ static const struct tegra_mc_client tegra30_mc_clients[] = {
                        .mask = 0xff,
                        .def = 0x2a,
                },
+               .fifo_size = 16 * 16,
        },
 };