Displaying 5 results from an estimated 5 matches for "gk20a_clock_priv".
2014 Jul 10
0
[PATCH 3/3] drm/gk20a: reclocking support
...max_n;
+ u32 min_pl, max_pl;
+};
+
+static const struct gk20a_clk_pllg_params gk20a_pllg_params = {
+ .min_freq = 144, .max_freq = 2064,
+ .min_vco = 1000, .max_vco = 2064,
+ .min_u = 12, .max_u = 38,
+ .min_m = 1, .max_m = 255,
+ .min_n = 8, .max_n = 255,
+ .min_pl = 1, .max_pl = 32,
+};
+
+struct gk20a_clock_priv {
+ struct nouveau_clock base;
+ const struct gk20a_clk_pllg_params *params;
+ u32 m, n, pl;
+ unsigned long parent_rate;
+};
+#define to_gk20a_clock(base) container_of(base, struct gk20a_clock_priv, base)
+
+static void
+gk20a_pllg_read_mnp(struct gk20a_clock_priv *priv)
+{
+ u32 val;
+
+ val = nv...
2014 Jul 10
3
[PATCH 3/3] drm/gk20a: reclocking support
...In current code we use kHz everywhere as a tradeoff between harsh
rounding errors, imprecision, int size and avoiding bugs caused by
constant conversion between different magnitudes. I personally believe
this consistency pays off and increases readability further in the code.
> +
> +struct gk20a_clock_priv {
> + struct nouveau_clock base;
> + const struct gk20a_clk_pllg_params *params;
> + u32 m, n, pl;
> + unsigned long parent_rate;
> +};
> +#define to_gk20a_clock(base) container_of(base, struct gk20a_clock_priv, base)
> +
> +static void
> +gk20a_pllg_read_mnp(struct gk20a...
2014 Jul 10
10
[PATCH 0/3] drm/gk20a: support for reclocking
This series adds support for reclocking on GK20A. The first two patches touch
the clock subsystem to allow GK20A to operate, by making the presence of the
thermal and voltage devices optional, and allowing pstates to be provided
directly instead of being probed using the BIOS (which Tegra does not have).
The last patch adds the GK20A clock device. Arguably the clock can be seen as a
stripped-down
2014 Jul 26
5
[PATCH v2 0/3] drm/gk20a: support for reclocking
Second version of the gk20a clock patches. I have tried to keep the therm and
volt devices mandatory in the clock driver, but unfortunately they are too tied
to bios to allow this, at least for the moment. Consequently this version is
mostly a port of the first version to Ben's tree.
Ben, please let me know what I have done wrong in terms of integration to your
tree, as the main purpose of
2014 Oct 02
0
[PATCH] drm/nouveau: gk20a: Fix type of dividend in do_div()
...rivers/gpu/drm/nouveau/core/subdev/clock/gk20a.c b/drivers/gpu/drm/nouveau/core/subdev/clock/gk20a.c
index 425a8d5e9129..c571437afbd2 100644
--- a/drivers/gpu/drm/nouveau/core/subdev/clock/gk20a.c
+++ b/drivers/gpu/drm/nouveau/core/subdev/clock/gk20a.c
@@ -138,7 +138,7 @@ gk20a_pllg_read_mnp(struct gk20a_clock_priv *priv)
static u32
gk20a_pllg_calc_rate(struct gk20a_clock_priv *priv)
{
- u32 rate;
+ u64 rate;
u32 divider;
rate = priv->parent_rate * priv->n;
--
2.1.0