]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
ARM: tegra: bbc: set LA based on ISO requests
authorNeil Patel <neilp@nvidia.com>
Fri, 22 Mar 2013 15:03:56 +0000 (11:03 -0400)
committerDan Willemsen <dwillemsen@nvidia.com>
Sat, 14 Sep 2013 20:07:32 +0000 (13:07 -0700)
The BBCR and BBCW LA values should be set based on ISO bw
reservation requests. The BBCLLR LA value should be set for
640 MB/s so that cache misses are not throttled and is not
expected to change.

Bug 1258931

Change-Id: Ibfcc1fac931bab6600d13aee0e43761a10b801ad
Signed-off-by: Neil Patel <neilp@nvidia.com>
Reviewed-on: http://git-master/r/212156
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Frederic Bossy <fbossy@nvidia.com>
Reviewed-by: Stephane Dion <sdion@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Steve Lin <stlin@nvidia.com>
arch/arm/mach-tegra/tegra_bbc_proxy.c

index c51d82d229124f777d17c1f23b775b4479c0ff21..23dbb196970f14f1b44c1986ce321911267cc5e9 100644 (file)
@@ -316,6 +316,9 @@ static ssize_t iso_reserve_store(struct device *dev,
        if (!ret)
                dev_err(dev, "can't reserve iso bw\n");
 
+       tegra_set_latency_allowance(TEGRA_LA_BBCR, bw / 1000);
+       tegra_set_latency_allowance(TEGRA_LA_BBCW, bw / 1000);
+
        return size;
 }
 
@@ -380,7 +383,9 @@ static ssize_t iso_res_realize_store(struct device *dev,
                return size;
        }
 
-/* TODO: set LA*/
+       tegra_set_latency_allowance(TEGRA_LA_BBCR, bw / 1000);
+       tegra_set_latency_allowance(TEGRA_LA_BBCW, bw / 1000);
+
        return size;
 }
 
@@ -584,6 +589,8 @@ static int tegra_bbc_proxy_probe(struct platform_device *pdev)
        if (!bbc->isomgr_handle)
                goto iso_error;
 
+       tegra_set_latency_allowance(TEGRA_LA_BBCLLR, 640);
+
        attrs = mc_attributes;
        while ((attr = *attrs++)) {
                ret = device_create_file(&pdev->dev, attr);