search for: tegra_mc_hr

Displaying 14 results from an estimated 14 matches for "tegra_mc_hr".

2014 Dec 23
0
[PATCH 2/11] memory: tegra: add mc flush support
...00644 --- a/drivers/memory/tegra/mc.c +++ b/drivers/memory/tegra/mc.c @@ -62,6 +62,27 @@ static const struct of_device_id tegra_mc_of_match[] = { }; MODULE_DEVICE_TABLE(of, tegra_mc_of_match); +int tegra_mc_flush(struct tegra_mc *mc, unsigned int swgroup, bool enable) +{ + int i; + const struct tegra_mc_hr *client; + + if (!mc || !mc->soc->hr_clients || + !mc->soc->ops || !mc->soc->ops->flush) + return -EINVAL;; + + client = mc->soc->hr_clients; + + for (i = 0; i < mc->soc->num_hr_clients; i++, client++) { + if (swgroup == client->swgroup) { + return mc-&g...
2015 Jan 06
2
[PATCH 3/11] memory: tegra: add flush operation for Tegra124 memory clients
...+#include <linux/delay.h> > #include <linux/of.h> > #include <linux/mm.h> > > @@ -959,7 +960,85 @@ static const struct tegra_smmu_swgroup tegra124_swgroups[] = { > { .swgroup = TEGRA_SWGROUP_VI, .reg = 0x280 }, > }; > > +static const struct tegra_mc_hr tegra124_mc_hr[] = { > + {TEGRA_SWGROUP_AFI, 0x200, 0x200, 0}, > + {TEGRA_SWGROUP_AVPC, 0x200, 0x200, 1}, > + {TEGRA_SWGROUP_DC, 0x200, 0x200, 2}, > + {TEGRA_SWGROUP_DCB, 0x200, 0x200, 3}, > + {TEGRA_SWGROUP_HC, 0x200, 0x200, 6}, > + {TEGRA...
2015 Jan 06
1
[PATCH 3/11] memory: tegra: add flush operation for Tegra124 memory clients
...; > > #include <linux/mm.h> > > > > > > @@ -959,7 +960,85 @@ static const struct tegra_smmu_swgroup tegra124_swgroups[] = { > > > { .swgroup = TEGRA_SWGROUP_VI, .reg = 0x280 }, > > > }; > > > > > > +static const struct tegra_mc_hr tegra124_mc_hr[] = { > > > + {TEGRA_SWGROUP_AFI, 0x200, 0x200, 0}, > > > + {TEGRA_SWGROUP_AVPC, 0x200, 0x200, 1}, > > > + {TEGRA_SWGROUP_DC, 0x200, 0x200, 2}, > > > + {TEGRA_SWGROUP_DCB, 0x200, 0x200, 3}, > > > + {TEGRA_SW...
2014 Dec 23
0
[PATCH 3/11] memory: tegra: add flush operation for Tegra124 memory clients
...by the Free Software Foundation. */ +#include <linux/delay.h> #include <linux/of.h> #include <linux/mm.h> @@ -959,7 +960,85 @@ static const struct tegra_smmu_swgroup tegra124_swgroups[] = { { .swgroup = TEGRA_SWGROUP_VI, .reg = 0x280 }, }; +static const struct tegra_mc_hr tegra124_mc_hr[] = { + {TEGRA_SWGROUP_AFI, 0x200, 0x200, 0}, + {TEGRA_SWGROUP_AVPC, 0x200, 0x200, 1}, + {TEGRA_SWGROUP_DC, 0x200, 0x200, 2}, + {TEGRA_SWGROUP_DCB, 0x200, 0x200, 3}, + {TEGRA_SWGROUP_HC, 0x200, 0x200, 6}, + {TEGRA_SWGROUP_HDA, 0x200, 0x...
2015 Jan 06
0
[PATCH 3/11] memory: tegra: add flush operation for Tegra124 memory clients
...t; #include <linux/of.h> > > #include <linux/mm.h> > > > > @@ -959,7 +960,85 @@ static const struct tegra_smmu_swgroup tegra124_swgroups[] = { > > { .swgroup = TEGRA_SWGROUP_VI, .reg = 0x280 }, > > }; > > > > +static const struct tegra_mc_hr tegra124_mc_hr[] = { > > + {TEGRA_SWGROUP_AFI, 0x200, 0x200, 0}, > > + {TEGRA_SWGROUP_AVPC, 0x200, 0x200, 1}, > > + {TEGRA_SWGROUP_DC, 0x200, 0x200, 2}, > > + {TEGRA_SWGROUP_DCB, 0x200, 0x200, 3}, > > + {TEGRA_SWGROUP_HC, 0x200,...
2014 Dec 23
18
[PATCH 0/11] Add suspend/resume support for GK20A
Hi, This series includes some pieces of fixes to complete the GK20A power on/off sequences and add the suspend/resume support. The patches 1/11 - 4/11 are based on the linux-next-20141219. The patches 5/11 - 11/11 are based on the branch "linux-3.19" of Ben Skeggs's tree (http://cgit.freedesktop.org/~darktama/nouveau). Thanks, Vince Vince Hsu (4): (linux-next-20141219) ARM:
2015 Jan 06
2
[PATCH 2/11] memory: tegra: add mc flush support
...+ b/drivers/memory/tegra/mc.c > @@ -62,6 +62,27 @@ static const struct of_device_id tegra_mc_of_match[] = { > }; > MODULE_DEVICE_TABLE(of, tegra_mc_of_match); > > +int tegra_mc_flush(struct tegra_mc *mc, unsigned int swgroup, bool enable) > +{ > + int i; > + const struct tegra_mc_hr *client; > + > + if (!mc || !mc->soc->hr_clients || > + !mc->soc->ops || !mc->soc->ops->flush) > + return -EINVAL;; > + > + client = mc->soc->hr_clients; > + > + for (i = 0; i < mc->soc->num_hr_clients; i++, client++) { > + if (swgr...
2015 Jan 06
2
[PATCH nouveau 06/11] platform: complete the power up/down sequence
...> struct tegra_mc *mc; > struct list_head head; > struct list_head clients; > }; > > And added the list head in the struct tegra_mc_soc. > > struct tegra_mc_soc { > struct tegra_mc_client *clients; > unsigned int num_clients; > > struct tegra_mc_hr *hr_clients; > unsigned int num_hr_clients; Why do you still need these? > struct list_head swgroups; This doesn't belong in struct tegra_mc_soc because that's meant to be static information about the specific variant of the memory-controller. Put it in struct tegra_mc inst...
2015 Jan 06
2
[PATCH nouveau 06/11] platform: complete the power up/down sequence
...ct list_head clients; > >>}; > >> > >>And added the list head in the struct tegra_mc_soc. > >> > >>struct tegra_mc_soc { > >> struct tegra_mc_client *clients; > >> unsigned int num_clients; > >> > >> struct tegra_mc_hr *hr_clients; > >> unsigned int num_hr_clients; > >Why do you still need these? > This part is added in "[PATCH 2/11] memory: tegra: add mc flush support" and > "[PATCH 3/11] memory: tegra: add flush operation for Tegra124 memory > clients" > for th...
2015 Jan 07
0
[PATCH 2/11] memory: tegra: add mc flush support
...@@ -62,6 +62,27 @@ static const struct of_device_id tegra_mc_of_match[] = { > > }; > > MODULE_DEVICE_TABLE(of, tegra_mc_of_match); > > > > +int tegra_mc_flush(struct tegra_mc *mc, unsigned int swgroup, bool enable) > > +{ > > + int i; > > + const struct tegra_mc_hr *client; > > + > > + if (!mc || !mc->soc->hr_clients || > > + !mc->soc->ops || !mc->soc->ops->flush) > > + return -EINVAL;; > > + > > + client = mc->soc->hr_clients; > > + > > + for (i = 0; i < mc->soc->num_hr_cl...
2015 Jan 05
2
[PATCH nouveau 06/11] platform: complete the power up/down sequence
On Thu, Dec 25, 2014 at 10:42:58AM +0800, Vince Hsu wrote: > > On 12/24/2014 09:23 PM, Lucas Stach wrote: > >Am Dienstag, den 23.12.2014, 18:39 +0800 schrieb Vince Hsu: > >>This patch adds some missing pieces of the rail gaing/ungating sequence that > >>can improve the stability in theory. > >> > >>Signed-off-by: Vince Hsu <vinceh at
2015 Jan 06
0
[PATCH nouveau 06/11] platform: complete the power up/down sequence
...oup: struct tegra_mc_swgroup { unsigned int id; struct tegra_mc *mc; struct list_head head; struct list_head clients; }; And added the list head in the struct tegra_mc_soc. struct tegra_mc_soc { struct tegra_mc_client *clients; unsigned int num_clients; struct tegra_mc_hr *hr_clients; unsigned int num_hr_clients; struct list_head swgroups; ... Created one function to build the swgroup list. static int tegra_mc_build_swgroup(struct tegra_mc *mc) { int i; for (i = 0; i < mc->soc->num_clients; i++) { struct tegra_mc_swgroup *sg...
2015 Jan 06
0
[PATCH nouveau 06/11] platform: complete the power up/down sequence
...ruct list_head head; >> struct list_head clients; >> }; >> >> And added the list head in the struct tegra_mc_soc. >> >> struct tegra_mc_soc { >> struct tegra_mc_client *clients; >> unsigned int num_clients; >> >> struct tegra_mc_hr *hr_clients; >> unsigned int num_hr_clients; > Why do you still need these? This part is added in "[PATCH 2/11] memory: tegra: add mc flush support" and "[PATCH 3/11] memory: tegra: add flush operation for Tegra124 memory clients" for the hotreset registers. &gt...
2015 Jan 06
0
[PATCH nouveau 06/11] platform: complete the power up/down sequence
...t; > >> > > >>And added the list head in the struct tegra_mc_soc. > > >> > > >>struct tegra_mc_soc { > > >> struct tegra_mc_client *clients; > > >> unsigned int num_clients; > > >> > > >> struct tegra_mc_hr *hr_clients; > > >> unsigned int num_hr_clients; > > >Why do you still need these? > > This part is added in "[PATCH 2/11] memory: tegra: add mc flush support" and > > "[PATCH 3/11] memory: tegra: add flush operation for Tegra124 memory > >...