Displaying 20 results from an estimated 23 matches for "nvkm_volt_set_id".
2016 Mar 21
0
[PATCH v2 07/22] volt: add min_id parameter to nvkm_volt_set_id
...b/drm/nouveau/include/nvkm/subdev/volt.h
index 3e0f8da..e966266 100644
--- a/drm/nouveau/include/nvkm/subdev/volt.h
+++ b/drm/nouveau/include/nvkm/subdev/volt.h
@@ -21,7 +21,7 @@ struct nvkm_volt {
int nvkm_volt_map_min(struct nvkm_volt *volt, u8 id);
int nvkm_volt_get(struct nvkm_volt *);
-int nvkm_volt_set_id(struct nvkm_volt *, u8 id, int condition);
+int nvkm_volt_set_id(struct nvkm_volt *, u8 id, u8 min_id, int condition);
int nv40_volt_new(struct nvkm_device *, int, struct nvkm_volt **);
int gk104_volt_new(struct nvkm_device *, int, struct nvkm_volt **);
diff --git a/drm/nouveau/nvkm/subdev/clk/...
2016 Mar 28
1
[PATCH v2 07/22] volt: add min_id parameter to nvkm_volt_set_id
On 21/03/16 18:16, Karol Herbst wrote:
> min_id indicates a volt map entry which acts as a floor value, this will be
> used to set the lower voltage limit through pstates
>
> Signed-off-by: Karol Herbst <nouveau at karolherbst.de>
Do we really want to push reclocking logic to the volt subsystem?
To me, volt should just allow you to read back and set a voltage. All
the rest of
2016 Aug 16
21
[PATCH v5 00/20] Engine Reclocking Fixes for Fermi-Maxwell2
...hen there is a display engine
bios/volt: Handle voltage table version 0x50 with 0ed header
volt: Properly detect entry based voltage tables
clk: Don't create cstates with voltages higher than what the gpu can
do
volt: Parse the max voltage map entries
volt: Add min_id parameter to nvkm_volt_set_id
clk: Add index field to nvkm_cstate
clk: Let nvkm_clk_tstate take a temperature value
volt: Add temperature parameter to nvkm_volt_map
clk: Fixup cstate selection
clk: Respect voltage limits in nvkm_cstate_prog
bios: Add parsing of VPSTATE table
clk: Allow boosting only when NvBoost i...
2016 Apr 18
0
[PATCH v4 37/37] volt: add NvVoltOffsetmV option
...int speedo;
+
+ int volt_offset_mv;
};
-int nvkm_volt_map(struct nvkm_volt *volt, u8 id, u8 temperature);
+int nvkm_volt_map(struct nvkm_volt *volt, u8 id, u8 temperature, bool enableOffset);
int nvkm_volt_map_min(struct nvkm_volt *volt, u8 id);
int nvkm_volt_get(struct nvkm_volt *);
int nvkm_volt_set_id(struct nvkm_volt *, u8 id, u8 min_id, int condition);
diff --git a/drm/nouveau/nvkm/subdev/clk/base.c b/drm/nouveau/nvkm/subdev/clk/base.c
index d5440a9..7937155 100644
--- a/drm/nouveau/nvkm/subdev/clk/base.c
+++ b/drm/nouveau/nvkm/subdev/clk/base.c
@@ -100,7 +100,7 @@ nvkm_cstate_valid(struct nvk...
2016 Mar 17
22
[PATCH 00/19] Volting/Clocking improvements for Fermi and newer
...cks
clk: allow boosting only when NvBoost is set
volt: save the voltage range we are able to set
volt: add nvkm_volt_map_min function
clk: don't create cstates which voltage is higher than what the gpu
can do
volt: parse the both max voltage entries
volt: add min_id parameter to nvkm_volt_set_id
clk: export nvkm_volt_map
clk: add index field to nvkm_cstate
add daemon to compare nouveau with blob voltage
volt: add temperature parameter to nvkm_volt_map
nouveau/subdev/clk: fixup cstate selection
clk: respect voltage limits in nvkm_cstate_prog with cstate = -1
volt: don't re...
2016 Mar 21
28
[PATCH v2 00/22] Volting/Clocking improvements for Fermi and newer
...volt: properly detect entry based voltage tables
volt: save the voltage range we are able to set
volt: add nvkm_volt_map_min function
clk: don't create cstates which voltage is higher than what the gpu
can do
volt: parse the both max voltage entries
volt: add min_id parameter to nvkm_volt_set_id
clk: export nvkm_volt_map
clk: add index field to nvkm_cstate
add daemon to compare nouveau with blob voltage
volt: add temperature parameter to nvkm_volt_map
clk: fixup cstate selection
clk: respect voltage limits in nvkm_cstate_prog with cstate = -1
bios: add parsing of BASE CLOCK t...
2016 Apr 18
0
[PATCH v4 11/37] volt: add temperature parameter to nvkm_volt_map
...clude/nvkm/subdev/volt.h
@@ -22,7 +22,7 @@ struct nvkm_volt {
u8 max2_id;
};
-int nvkm_volt_map(struct nvkm_volt *volt, u8 id);
+int nvkm_volt_map(struct nvkm_volt *volt, u8 id, u8 temperature);
int nvkm_volt_map_min(struct nvkm_volt *volt, u8 id);
int nvkm_volt_get(struct nvkm_volt *);
int nvkm_volt_set_id(struct nvkm_volt *, u8 id, u8 min_id, int condition);
diff --git a/drm/nouveau/nvkm/subdev/volt/base.c b/drm/nouveau/nvkm/subdev/volt/base.c
index 6fb9d2e..d72bd4a 100644
--- a/drm/nouveau/nvkm/subdev/volt/base.c
+++ b/drm/nouveau/nvkm/subdev/volt/base.c
@@ -26,6 +26,7 @@
#include <subdev/bios....
2016 Apr 07
29
[PATCH v3 00/29] Volting/Clocking improvements for Fermi and newer
...der
volt: properly detect entry based voltage tables
volt: save the voltage range we are able to set
volt: add nvkm_volt_map_min function
clk: don't create cstates whit voltages higher than what the gpu can
do
volt: parse the max voltage map entries
volt: add min_id parameter to nvkm_volt_set_id
clk: export nvkm_volt_map
clk: add index field to nvkm_cstate
add daemon to compare nouveau with blob voltage
volt: add temperature parameter to nvkm_volt_map
clk: fixup cstate selection
clk: respect voltage limits in nvkm_cstate_prog
bios: add parsing of BASE CLOCK table
clk: allow...
2016 Apr 18
63
[PATCH v4 00/37] Volting/Clocking improvements for Fermi and newer
...der
volt: properly detect entry based voltage tables
volt: save the voltage range we are able to set
volt: add nvkm_volt_map_min function
clk: don't create cstates whit voltages higher than what the gpu can
do
volt: parse the max voltage map entries
volt: add min_id parameter to nvkm_volt_set_id
clk: export nvkm_volt_map
clk: add index field to nvkm_cstate
add daemon to compare nouveau with blob voltage
volt: add temperature parameter to nvkm_volt_map
clk: fixup cstate selection
clk: respect voltage limits in nvkm_cstate_prog
bios: add parsing of BASE CLOCK table
clk: allow...
2016 Mar 16
1
[PATCH v2 2/2] volt: properly detect entry based voltage tables
...t;entry_based = !(nvbios_rd08(bios, volt + 0x4) & 0x2);
}
break;
}
diff --git a/drm/nouveau/nvkm/subdev/volt/base.c b/drm/nouveau/nvkm/subdev/volt/base.c
index 50b5649..4653f3f 100644
--- a/drm/nouveau/nvkm/subdev/volt/base.c
+++ b/drm/nouveau/nvkm/subdev/volt/base.c
@@ -112,6 +112,7 @@ nvkm_volt_set_id(struct nvkm_volt *volt, u8 id, int condition)
static void
nvkm_volt_parse_bios(struct nvkm_bios *bios, struct nvkm_volt *volt)
{
+ struct nvkm_subdev *subdev = &bios->subdev;
struct nvbios_volt_entry ivid;
struct nvbios_volt info;
u8 ver, hdr, cnt, len;
@@ -119,7 +120,8 @@ nvkm_vol...
2019 Jan 13
1
[PATCH v2] drm/nouveau/volt/gf117: fix speedo readout register
...117.c
diff --git a/drivers/gpu/drm/nouveau/include/nvkm/subdev/volt.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/volt.h
index 8a0f85f5fc1a..6a765682fbfa 100644
--- a/drivers/gpu/drm/nouveau/include/nvkm/subdev/volt.h
+++ b/drivers/gpu/drm/nouveau/include/nvkm/subdev/volt.h
@@ -38,6 +38,7 @@ int nvkm_volt_set_id(struct nvkm_volt *, u8 id, u8 min_id, u8 temp,
int nv40_volt_new(struct nvkm_device *, int, struct nvkm_volt **);
int gf100_volt_new(struct nvkm_device *, int, struct nvkm_volt **);
+int gf117_volt_new(struct nvkm_device *, int, struct nvkm_volt **);
int gk104_volt_new(struct nvkm_device *, in...
2016 Apr 18
0
[PATCH v4 08/37] clk: export nvkm_volt_map
...4
--- a/drm/nouveau/include/nvkm/subdev/volt.h
+++ b/drm/nouveau/include/nvkm/subdev/volt.h
@@ -22,6 +22,7 @@ struct nvkm_volt {
u8 max2_id;
};
+int nvkm_volt_map(struct nvkm_volt *volt, u8 id);
int nvkm_volt_map_min(struct nvkm_volt *volt, u8 id);
int nvkm_volt_get(struct nvkm_volt *);
int nvkm_volt_set_id(struct nvkm_volt *, u8 id, u8 min_id, int condition);
diff --git a/drm/nouveau/nvkm/subdev/volt/base.c b/drm/nouveau/nvkm/subdev/volt/base.c
index 1690c1c..6fb9d2e 100644
--- a/drm/nouveau/nvkm/subdev/volt/base.c
+++ b/drm/nouveau/nvkm/subdev/volt/base.c
@@ -87,7 +87,7 @@ nvkm_volt_map_min(struct n...
2016 Apr 18
0
[PATCH v4 19/37] volt: add gf100 subdev with speedo
...vkm/subdev/volt/gf100.c
diff --git a/drm/nouveau/include/nvkm/subdev/volt.h b/drm/nouveau/include/nvkm/subdev/volt.h
index 4cb0292..25588c7 100644
--- a/drm/nouveau/include/nvkm/subdev/volt.h
+++ b/drm/nouveau/include/nvkm/subdev/volt.h
@@ -30,6 +30,7 @@ int nvkm_volt_get(struct nvkm_volt *);
int nvkm_volt_set_id(struct nvkm_volt *, u8 id, u8 min_id, int condition);
int nv40_volt_new(struct nvkm_device *, int, struct nvkm_volt **);
+int gf100_volt_new(struct nvkm_device *, int, struct nvkm_volt **);
int gk104_volt_new(struct nvkm_device *, int, struct nvkm_volt **);
int gk20a_volt_new(struct nvkm_devic...
2016 Mar 16
2
[PATCH 0/2] Fix some VID parsing in the voltage table version 0x50
On a very few GPUs with the voltage table version 0x50 we have to read out
the VIDs out of the entries of the table, where all the other gpus are either
PWM based or get a base and a step voltage out of the table header.
Currently nouveau tried to autodetect this and actually doesn't parse the
entries.
This Series adds two things:
1. It parses the entries
2. It decides upon a field in the
2015 Nov 23
2
[PATCH 0/2] Fix some voltage issues found on Kepler cards
With these both patches, most of the kepler cards should be able to reclock
their core clock without issues.
These patches should be tested carefully among nouveau devs, so that these
don't break reclocking on other cards (especially Teslas).
Particularly the second one might break reclocking here and there.
Karol Herbst (2):
bios/volt: handle voltage table version 0x50 with 0ed header
2016 Apr 18
0
[PATCH v4 32/37] clk: only do partial reclocks as required
..._update_volt(struct nvkm_clk *clk)
+{
+ struct nvkm_subdev *subdev = &clk->subdev;
+ struct nvkm_volt *volt = subdev->device->volt;
+ struct nvkm_therm *therm = subdev->device->therm;
+
+ if (!volt || !therm || !clk->pstate || !clk->set_cstate)
+ return -EINVAL;
+
+ return nvkm_volt_set_id(volt, clk->set_cstate->voltage,
+ clk->pstate->base.voltage, 0);
+}
+
+void
+gf100_clk_update(struct nvkm_clk *clk, int pstate)
+{
+ struct nvkm_subdev *subdev = &clk->subdev;
+ int ret;
+
+ if (!clk->pstate || clk->pstate->pstate != pstate) {
+ nvkm_trace(subdev, &q...
2016 Feb 29
9
[PATCH 0/9] Groundwork for clocking fixes
This series contains a lot of groundwork to finally fix reclocking issues on
Kepler+ gpus.
There shouldn't be any functional changes with the first patch being the only
exception (fixes some voltage table parsing issues with of few kepler gpus)
The most interessting thing is the tool in the last patch, which can be ran
alongside the nvidia driver to test nouveaus volting code and print the
2015 Dec 01
7
[RFC PATCH 0/5] stabilize kepler reclocking
this series solves different issues we encounter on kepler cards while reclocking:
1. core clock doesn't change at all and produces a volting error (patch 1)
this can happen when the voltage table has only 0ed values in the header
so we have to parse the entries itself, which contain the right voltages
2. kepler won't clock to highest cstates (patch 2)
this happens, because there are
2017 Nov 17
35
[PATCH 00/32] Updated State of my clk patches
Last update here: https://lists.freedesktop.org/archives/nouveau/2017-September/028848.html
Basically big cleanup, reordering, simplifications and some renaming to make
the code easier to read and to review. I also moved some bugfixes to the front
so they can be merged prior the other patches.
There was also a bug related to the therm daemon triggering a pstate change
leading to PMU lockups,
2015 Dec 02
11
[RFC PATCH v2 0/7] stabilize kepler reclocking
this series solves different issues we encounter on kepler cards while reclocking:
1. core clock doesn't change at all and produces a volting error (patch 1)
this can happen when the voltage table has only 0ed values in the header
so we have to parse the entries itself, which contain the right voltages
2. kepler won't clock to highest cstates (patch 2)
this happens, because there are