On 21/03/2021 22:02, Juha-Pekka Heikkila wrote:
On 18.3.2021 8.41, Martin Peres wrote:
On 18/03/2021 00:44, Lyude wrote:
From: Lyude Paul
Currently, nouveau doesn't support having a CRTC without a primary FB
set. We
won't reject such configurations, but the behavior is undefined which
any other test.
Not sure I can comment on the implementation details of
require_cursor_size(), but everything else, and the series is:
Reviewed-by: Martin Peres
Signed-off-by: Lyude Paul
Cc: Martin Peres
Cc: Ben Skeggs
Cc: Jeremy Cline
---
tests/kms_cursor_crc.c |
kernel patches to fix these in
nouveau very shortly.
The series is:
Reviewed-by: Martin Peres
Cc: Martin Peres
Cc: Ben Skeggs
Cc: Jeremy Cline
Lyude Paul (3):
tests/kms_color: Don't opencode igt_check_crc_equal()
tests/kms_color: Allow tests to run on any driver
tests/kms_color
-primary planes.
Looks good to me:
Reviewed-by: Martin Peres
Signed-off-by: Lyude Paul
Cc: Martin Peres
Cc: Ben Skeggs
Cc: Jeremy Cline
---
tests/kms_plane.c | 9 +
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/tests/kms_plane.c b/tests/kms_plane.c
index 298a9375
On 18/03/2021 00:49, Lyude wrote:
From: Lyude Paul
These are just a couple of small fixes that didn't seem important
enough to stick in their own patch series, but were various issues with
igt that I found along the way during my recent nouveau igt work.
Cc: Martin Peres
Cc: Jeremy Cline
tests which test tiling formats to run on nouveau,
and fix some seemingly random test failures as a result of not having
zero-filled buffers in a few other tests like kms_cursor_crc.
\o/
More comments inline :)
Signed-off-by: Lyude Paul
Cc: Martin Peres
Cc: Ben Skeggs
Cc: Jeremy Cline
that Intel should add skips or fix the kernel to support
these 32xXX format.
@Petri, could you get someone to investigate this?
In the mean time, here is my:
Reviewed-by: Martin Peres
Martin
Signed-off-by: Lyude Paul
Cc: Martin Peres
Cc: Ben Skeggs
Cc: Jeremy Cline
---
tests
called when
changing the pstate.
However, in the absence of ANY information, we fallback to a
temperature-based management which requires constant polling, so the
patch is accurate and poll = false should only be set if we have a cstate.
So, the patch is Reviewed-by: Martin Peres
>
>>
Hi Anusha,
Sorry, I was under the expectation that userspace developers would
answer you after your first message, and I missed your second one! My
sincere apologies.
Generally, the process is that the student should research the topic by
first asking questions to developers about the effort,
Hi everyone,
Just a quick word to remind you that the X.Org Foundation got accepted
to the Google Summer of Code 2018!
As a potential mentor, if you have a project falling under the
foundation's (large) umbrella that you would like to kick start or get
help finishing, please add it to the list
On 07/02/18 05:31, John Hubbard wrote:
> On 01/28/2018 04:05 PM, Martin Peres wrote:
>> On 29/01/18 01:24, Martin Peres wrote:
>>> On 28/11/17 07:32, John Hubbard wrote:
>>>> On 11/23/2017 02:48 PM, Martin Peres wrote:
>>>>> On 23/11/17 10:06, John
On 29/01/18 09:51, John Hubbard wrote:
> On 01/28/2018 04:05 PM, Martin Peres wrote:
>> On 29/01/18 01:24, Martin Peres wrote:
>>> On 28/11/17 07:32, John Hubbard wrote:
>>>> On 11/23/2017 02:48 PM, Martin Peres wrote:
>>>>> On 23/11/17 10:06, John
On 28/11/17 07:32, John Hubbard wrote:
> On 11/23/2017 02:48 PM, Martin Peres wrote:
>> On 23/11/17 10:06, John Hubbard wrote:
>>> On 11/22/2017 05:07 PM, Martin Peres wrote:
>>>> Hey,
>>>>
>>>> Thanks for your answer, Andy!
>>>&g
On 29/01/18 01:24, Martin Peres wrote:
> On 28/11/17 07:32, John Hubbard wrote:
>> On 11/23/2017 02:48 PM, Martin Peres wrote:
>>> On 23/11/17 10:06, John Hubbard wrote:
>>>> On 11/22/2017 05:07 PM, Martin Peres wrote:
>>>>> Hey,
>>>>>
&g
g up the GPU. However, the values used by
> the vbios are more power hungry then they need to be, so the nvidia driver
then -> than.
With the comment about not exposing clock gating until patch 2, 3, and 4
have landed addressed, the series is:
Reviewed-by: Martin Peres <martin.pe...@free
m/Kbuild
> @@ -10,6 +10,7 @@ nvkm-y += nvkm/subdev/therm/nv50.o
> nvkm-y += nvkm/subdev/therm/g84.o
> nvkm-y += nvkm/subdev/therm/gt215.o
> nvkm-y += nvkm/subdev/therm/gf119.o
> +nvkm-y += nvkm/subdev/therm/gk104.o
> nvkm-y += nvkm/subdev/therm/gm107.o
> nvkm-
drivers/gpu/drm/nouveau/nvkm/subdev/therm/Kbuild
> @@ -10,6 +10,7 @@ nvkm-y += nvkm/subdev/therm/nv50.o
> nvkm-y += nvkm/subdev/therm/g84.o
> nvkm-y += nvkm/subdev/therm/gt215.o
> nvkm-y += nvkm/subdev/therm/gf119.o
> +nvkm-y += nvkm/subdev/therm/gk104.o
> nvkm-y += nvkm/subdev/t
On 23/11/17 10:06, John Hubbard wrote:
> On 11/22/2017 05:07 PM, Martin Peres wrote:
>> Hey,
>>
>> Thanks for your answer, Andy!
>>
>> On 22/11/17 04:06, Ilia Mirkin wrote:
>>> On Tue, Nov 21, 2017 at 8:29 PM, Andy Ritger <arit...@nvidia.co
Hey,
Thanks for your answer, Andy!
On 22/11/17 04:06, Ilia Mirkin wrote:
> On Tue, Nov 21, 2017 at 8:29 PM, Andy Ritger wrote:
>> Hi Martin,
>
> Martin should have complete answers,
>
>>
>> I was asked to clarify a few things:
>>
>> (1) Are all the user reports of loud
On 22/11/17 03:42, Karol Herbst wrote:
> On Wed, Nov 22, 2017 at 1:32 AM, Martin Peres <martin.pe...@free.fr> wrote:
>> On 17/11/17 02:04, Karol Herbst wrote:
>>> The current hwmon code doesn't check if the returned value was actually an
>>> error.
>>>
>
On 17/11/17 02:04, Karol Herbst wrote:
> The current hwmon code doesn't check if the returned value was actually an
> error.
>
> Since Kepler temperature sensors are able to report negative values. Those
> negative values are not for error reporting, but rather when you buried
> your GPU in snow
GPU from sleeping):
Signed-off-by: Martin Peres <martin.pe...@free.fr>
>
> Signed-off-by: Karol Herbst <karolher...@gmail.com>
> ---
> drm/nouveau/nouveau_debugfs.c | 4
> 1 file changed, 4 insertions(+)
>
> diff --git a/drm/nouveau/nouveau_debugfs.c b/d
er commit message, this patch is:
Signed-off-by: Martin Peres <martin.pe...@free.fr>
> ---
> drm/nouveau/nvkm/subdev/bios/vpstate.c | 10 --
> 1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/drm/nouveau/nvkm/subdev/bios/vpstate.c
> b/drm/nouveau/n
Hello,
On 13/11/17 09:15, John Hubbard wrote:
> On 11/12/2017 06:29 PM, Martin Peres wrote:
>> Hello,
>>
>> Some users have been complaining for years about their GPU sounding like
>> a jet engine at take off. Last year, I finally laid my hand on one of
>> these
Hello,
Some users have been complaining for years about their GPU sounding like
a jet engine at take off. Last year, I finally laid my hand on one of
these GPUs and have been trying to fix this issue on and off since then.
After failing to find anything in the HW, I figured out that the duty
On 15/10/17 22:13, Karol Herbst wrote:
> Hi everybody,
>
> currently on the Xorg Wiki page [1] there are only three projects
> ideas, two being quite similiar:
> 1. Instruction scheduling
> 2. Maxwell Video Accel Decoding
> 3. Kepler Video Accel Encoding
> and also the reference to our Trello
ro/Tesla/Tegra"
The problem is that we do not support all Tegras. How about Tegra TK1+?
I really do not care much about this string, but I guess I probably
should a bit.
With the TK1 added, this is:
Reviewed-by" Martin Peres <martin.pe...@free.fr>
> #define DRIVER_DATE
/questions, please send them to Stéphane Marchesin (please also
CC: board at foundation.x.org).
Martin Peres
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau
e author of something. Just add
yourself if you care about this (I did not care to add my name when I
wrote in this file, because the git history makes more sense nowadays.
Otherwise, I have no strong opinions on this patch. I guess the numeric
representation is easier to read, so I will give you my R
dev and split special_groups
on the following line.
> if (IS_ERR(hwmon_dev)) {
> ret = PTR_ERR(hwmon_dev);
> NV_ERROR(drm, "Unable to register hwmon device: %d\n", ret);
>
This commit breaks bisectability, so Ben may have to squash it in the
previous one. Otherwise, this looks good to me:
Reviewed-by: Martin Peres <martin.pe...@free.fr>
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau
,
> _temp_attrgroup);
> - if (ret)
> - goto error;
> - }
> -
> - /* if the card has a pwm fan */
> - /*XXX: incorrect, need better detection for this, some boards
> have
> - * the gpio entries for pwm fan control even when there's no
> - * actual fan connected to it... therm table? */
> - if (therm->fan_get && therm->fan_get(therm) >= 0) {
> - ret = sysfs_create_group(_dev->kobj,
> - _pwm_fan_attrgroup);
> - if (ret)
> - goto error;
> - }
> - }
> -
> - /* if the card can read the fan rpm */
> - if (therm && nvkm_therm_fan_sense(therm) >= 0) {
> - ret = sysfs_create_group(_dev->kobj,
> - _fan_rpm_attrgroup);
> - if (ret)
> - goto error;
> - }
> -
> - if (volt && nvkm_volt_get(volt) >= 0) {
> - ret = sysfs_create_group(_dev->kobj,
> - _in0_attrgroup);
> -
> - if (ret)
> - goto error;
> - }
> -
> - if (iccsense && iccsense->data_valid && !list_empty(>rails)) {
> - ret = sysfs_create_group(_dev->kobj,
> - _power_attrgroup);
> -
> - if (ret)
> - goto error;
> -
> - if (iccsense->power_w_max && iccsense->power_w_crit) {
> - ret = sysfs_create_group(_dev->kobj,
> - _power_caps_attrgroup);
> - if (ret)
> - goto error;
> - }
> - }
>
> hwmon->hwmon = hwmon_dev;
> -
> return 0;
> -
> -error:
> - NV_ERROR(drm, "Unable to create some hwmon sysfs files: %d\n", ret);
> - hwmon_device_unregister(hwmon_dev);
> - hwmon->hwmon = NULL;
> - return ret;
> #else
> return 0;
> #endif
> @@ -1037,17 +822,8 @@ nouveau_hwmon_fini(struct drm_device *dev)
> #if defined(CONFIG_HWMON) || (defined(MODULE) &&
> defined(CONFIG_HWMON_MODULE))
> struct nouveau_hwmon *hwmon = nouveau_hwmon(dev);
>
> - if (hwmon->hwmon) {
> - sysfs_remove_group(>hwmon->kobj,
> _default_attrgroup);
> - sysfs_remove_group(>hwmon->kobj, _temp_attrgroup);
> - sysfs_remove_group(>hwmon->kobj,
> _pwm_fan_attrgroup);
> - sysfs_remove_group(>hwmon->kobj,
> _fan_rpm_attrgroup);
> - sysfs_remove_group(>hwmon->kobj, _in0_attrgroup);
> - sysfs_remove_group(>hwmon->kobj, _power_attrgroup);
> - sysfs_remove_group(>hwmon->kobj,
> _power_caps_attrgroup);
> -
> + if (hwmon->hwmon)
> hwmon_device_unregister(hwmon->hwmon);
> - }
>
> nouveau_drm(dev)->hwmon = NULL;
> kfree(hwmon);
>
Thanks a lot, this patch makes a huge improvement in readability! With
the comments addressed, this patch is:
Reviewed-by: Martin Peres <martin.pe...@free.fr>
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau
> +
> +static int
> +nouveau_read_string(struct device *dev, enum hwmon_sensor_types type, u32
> attr,
> + int channel, char **buf)
Same as above.
> +{
> + if (type == hwmon_in && attr == hwmon_in_label) {
>
volt->vid_nr++;
+ volt->min_uv = min(volt->min_uv, info.base);
+ volt->max_uv = max(volt->max_uv, info.base);
}
info.base += info.step;
On 25/02/17 05:39, Zhengjie (PARC) wrote:
Hi,
I’m a developer from Huawei Technologies Co.,Ltd. China. I’m working on
GPU Virtualization.
I found some academic papers on google which describe how to virtualize
GPU on Cloud based on Nouveau, Such as < TimeGraph: GPU Scheduling for
Real-Time
On 05/03/17 18:35, Karol Herbst wrote:
We don't want to change anything on the GPU if it's suspended. Also we
need to increase the refcount on the pm_runtime counter so that the GPU
won't be suspended while reclocking.
Signed-off-by: Karol Herbst
---
viewed-by: Martin Peres <martin.pe...@free.fr>
---
drm/nouveau/nvkm/subdev/clk/base.c | 9 ++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/drm/nouveau/nvkm/subdev/clk/base.c
b/drm/nouveau/nvkm/subdev/clk/base.c
index 54a4b7fa..bc65906e 100644
--- a/drm/nouveau/nvkm/subdev/clk/
bst <karolher...@gmail.com>
Reviewed-by: Martin Peres <martin.pe...@free.fr>
---
drm/nouveau/nouveau_debugfs.c | 6 +--
drm/nouveau/nvkm/subdev/clk/base.c | 78 +++---
2 files changed, 41 insertions(+), 43 deletions(-)
diff --git a/drm/nouveau/nouveau_
ng them up every second.
Signed-off-by: Karol Herbst <karolher...@gmail.com>
Reviewed-by: Martin Peres <martin.pe...@free.fr>
---
drm/nouveau/include/nvkm/subdev/clk.h | 4 +++-
drm/nouveau/nvkm/engine/device/ctrl.c | 5 -
drm/nouveau/nvkm/subdev/clk/base.c| 17 -
On 05/03/17 18:34, Karol Herbst wrote:
This function will be used to update the current clock state.
This will happen for various reasons:
* Temperature changes
* User changes clocking state
* Load changes
Signed-off-by: Karol Herbst
---
scosta <emmanuelpescosta...@gmail.com>
Signed-off-by: Martin Peres <martin.pe...@free.fr>
---
Ben, I do not have a 4.10 kernel available to at least test-compile the
patch. Could you make sure it works before applying it? After all the
trouble we got from the LED before, I don't want to add
On 12/01/17 09:55, George Spelvin wrote:
If CONFIG_DRM_NOUVEAU=y and CONFIG_LEDS_CLASS=m, then nouveau_led.o is
neither stubbed out nor compiled in and the compile fails with undefined
symbols in nouveau_drm.c.
I'm guessing it's commit 8d021d71b324. (Thanks for the cool hack, BTW,
even if I
rgmann <a...@arndb.de>
Reported-by: Intel's 0-DAY
Fixes: 8d021d71b324 ("drm/nouveau/drm/nouveau: add a LED driver for the NVIDIA
logo")
Signed-off-by: Martin Peres <martin.pe...@free.fr>
---
drivers/gpu/drm/nouveau/nouveau_led.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
On 07/12/16 05:32, Martin Peres wrote:
This fixes the auto-magic detection of LEDS_CLASS by fixing the case
where nouveau would be built-in and the LEDS_CLASS would be built as
as module.
Cc: <sta...@vger.kernel.org> # 4.9.x-
Reported-by: Intel's 0-DAY
Signed-off-by: Martin Peres <
This fixes the auto-magic detection of LEDS_CLASS by fixing the case
where nouveau would be built-in and the LEDS_CLASS would be built as
as module.
Cc: <sta...@vger.kernel.org> # 4.9.x-
Reported-by: Intel's 0-DAY
Signed-off-by: Martin Peres <martin.pe...@free.fr>
---
drivers/gpu
On 08/11/16 15:56, Arnd Bergmann wrote:
The newly introduced LED handling for nouveau fails to link when the
driver is built-in but the LED subsystem is a loadable module:
drivers/gpu/drm/nouveau/nouveau.o: In function `nouveau_do_suspend':
tvnv17.c:(.text.nouveau_do_suspend+0x10): undefined
On 25/10/16 00:11, Karol Herbst wrote:
Signed-off-by: Karol Herbst
---
drm/nouveau/nouveau_hwmon.c | 44
1 file changed, 44 insertions(+)
diff --git a/drm/nouveau/nouveau_hwmon.c b/drm/nouveau/nouveau_hwmon.c
index
On 25/10/16 00:11, Karol Herbst wrote:
Signed-off-by: Karol Herbst
---
drm/nouveau/include/nvkm/subdev/iccsense.h | 3 +++
drm/nouveau/nvkm/subdev/iccsense/base.c| 13 -
2 files changed, 15 insertions(+), 1 deletion(-)
What is the point of duplicating
On 25/10/16 00:11, Karol Herbst wrote:
Signed-off-by: Karol Herbst
---
.../include/nvkm/subdev/bios/power_budget.h| 20
drm/nouveau/nvkm/subdev/bios/Kbuild| 1 +
drm/nouveau/nvkm/subdev/bios/power_budget.c| 108
On 25/10/16 00:11, Karol Herbst wrote:
There is an optinal header field in the power budget table we can use to
read out the power cap of the GPU.
Sadly it is optional and if that field isn't sad, things beome
oh why would it be sad? Poor little one :p
complicated.
Anyhow, this is good
On 18/10/16 12:19, Alexandre Courbot wrote:
On Mon, Oct 17, 2016 at 6:47 PM, Samuel Pitoiset
wrote:
This requires at least a quick test. :-)
Acked-by: Samuel Pitoiset
On 10/16/2016 09:14 PM, Ilia Mirkin wrote:
Signed-off-by: Ilia
This seems to be absolutely necessary for a lot of NV40.
Reported-by: gsgf on IRC/freenode
Signed-off-by: Martin Peres <martin.pe...@free.fr>
---
drm/nouveau/nvkm/subdev/therm/base.c | 22 +++---
1 file changed, 19 insertions(+), 3 deletions(-)
diff --git a/drm/nouvea
On 19/09/16 06:50, Alexandre Courbot wrote:
On Mon, Sep 19, 2016 at 12:43 PM, Ilia Mirkin wrote:
On Sun, Sep 18, 2016 at 11:39 PM, Alexandre Courbot wrote:
On Sun, Sep 18, 2016 at 7:21 PM, Karol Herbst wrote:
This reverts
Suggested-by: Ilia Mirkin <imir...@alum.mit.edu>
Signed-off-by: Martin Peres <martin.pe...@free.fr>
---
drm/nouveau/nouveau_led.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drm/nouveau/nouveau_led.h b/drm/nouveau/nouveau_led.h
index 750a0d9..187ecdb 1006
On 16/09/16 10:42, Karol Herbst wrote:
Reviewed-by: Karol Herbst <karolher...@gmail.com>
2016-09-16 9:34 GMT+02:00 Martin Peres <martin.pe...@free.fr>:
Signed-off-by: Martin Peres <martin.pe...@free.fr>
---
drm/nouveau/nouveau_led.c | 5 -
1 file changed, 4 inserti
Signed-off-by: Martin Peres <martin.pe...@free.fr>
---
drm/nouveau/nouveau_led.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drm/nouveau/nouveau_led.c b/drm/nouveau/nouveau_led.c
index 1f731da..3e2f1b6 100644
--- a/drm/nouveau/nouveau_led.c
+++ b/drm/nouveau/nouveau_led.c
@@
From: Karol Herbst
Fixes a kernel crash on suspend/resume.
---
drm/nouveau/nouveau_led.c | 7 ---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drm/nouveau/nouveau_led.c b/drm/nouveau/nouveau_led.c
index 9eed5a6..5e28b5f 100644
---
Signed-off-by: Martin Peres <martin.pe...@free.fr>
---
drm/nouveau/nouveau_led.c | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drm/nouveau/nouveau_led.c b/drm/nouveau/nouveau_led.c
index 5e28b5f..1f731da 100644
--- a/drm/nouveau/nouveau_led.c
+++ b/drm/n
ifdefs everywhere, follow the recommendations of
/doc/Documentation/CodingStyle. Suggested by Emil Velikov.
Signed-off-by: Martin Peres <martin.pe...@free.fr>
---
I again managed to send the wrong patch...
I guess porting patches between kernels and then scp'ing at 4am is not
something I
ifdefs everywhere, follow the recommendations of
/doc/Documentation/CodingStyle. Suggested by Emil Velikov.
Reviewed-by: Karol Herbst <karolher...@gmail.com>
Signed-off-by: Martin Peres <martin.pe...@free.fr>
---
drm/nouveau/Kbuild | 1 +
drm/nouveau/include
On 23/08/16 17:43, Emil Velikov wrote:
On 23 August 2016 at 00:42, Martin Peres <martin.pe...@free.fr> wrote:
v2:
- guard LED framework calls with ifdef CONFIG_LEDS_CLASS
IIRC kernel has the tendency of using static inlines in the headers
when CONFIG_foo is not set. Worth
ED/PWM to the LED subsystem which allows
blinking it in sync with cpu/disk/network/whatever activity (heartbeat
is quite nice!). Users may also implement some breathing effect or
morse code support in the userspace if they feel like it.
Signed-off-by: Martin Peres <martin.pe...@free.fr>
---
v2:
- guard LED framework calls with ifdef CONFIG_LEDS_CLASS
Signed-off-by: Martin Peres <martin.pe...@free.fr>
---
For real this time! Sorry for the noise
drm/nouveau/Kbuild | 1 +
drm/nouveau/include/nvkm/subdev/bios/gpio.h | 1 +
drm/nouveau/nouveau
On 07/05/16 23:44, karol herbst wrote:
looks good, just a minor thing: You need to check for
CONFIG_LEDS_CLASS, otherwise the compile throws out "warnings":
WARNING: "led_classdev_register"
[/home/karol/Dokumente/repos/nouveau/drm/nouveau/nouveau.ko]
undefined!
WARNING: "led_classdev_resume"
On 04/05/16 02:57, Ilia Mirkin wrote:
On Tue, May 3, 2016 at 7:51 PM, Martin Peres <martin.pe...@free.fr> wrote:
We received a donation of a Titan which has this useless feature
allowing users to control the brightness of the LED behind the
logo of NVIDIA. In the true spirit of open
allows
blinking it in sync with cpu/disk/network/whatever activity (heartbeat
is quite nice!). Users may also implement some breathing effect or
morse code support in the userspace if they feel like it.
Signed-off-by: Martin Peres <martin.pe...@free.fr>
---
drm/nouveau/
On 21/04/16 00:46, karol herbst wrote:
2016-04-20 20:53 GMT+00:00 Martin Peres <martin.pe...@free.fr>:
On 18/04/16 22:14, Karol Herbst wrote:
we will access the current set cstate at least every second and this safes
us
saves
some CPU cycles looking them up every second.
Sign
nvkm_volt_map(volt, volt->max2_id, temp, false));
So, this ugly dance of having true or flase depending on whether we are
looking for a
pstate or a cstate looks really ugly, but it does make some sense. Given
how useful this
may be to debug voltage-related issues, I would say it is worth the
and get rid of this
confusing talk about the PWM voltage management, because I really do not
get how it is relevant.
With this addressed:
Reviewed-by: Martin Peres <martin.pe...@free.fr>
+ ret = nvkm_fuse_read(fuse, 0x3a8);
+ nvkm_wr32(device, 0x122634, 0x41);
+ return ret;
+}
+
s
On 18/04/16 22:14, Karol Herbst wrote:
Signed-off-by: Karol Herbst <nouv...@karolherbst.de>
Reviewed-by: Martin Peres <martin.pe...@free.fr>
---
drm/nouveau/nvkm/subdev/clk/base.c | 19 +++
drm/nouveau/nvkm/subdev/clk/gf100.c | 4 ++--
drm/nouveau/nvkm/subde
On 18/04/16 22:14, Karol Herbst wrote:
Signed-off-by: Karol Herbst
---
drm/nouveau/nvkm/subdev/mc/base.c | 7 ++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/drm/nouveau/nvkm/subdev/mc/base.c
b/drm/nouveau/nvkm/subdev/mc/base.c
index
On 18/04/16 22:14, Karol Herbst wrote:
depending on the temperature, cstates might become unreachable or the maped
voltage of a cstate changes. We want to adjust to that.
Yeah! That was a lot of plumbing to get to this, but it is here!
Reviewed-by: Martin Peres <martin.pe...@free.fr>
On 18/04/16 22:14, Karol Herbst wrote:
we don't want to reclock to the same pstate or cstate over and over again, so
only do things we actually have to do.
v4: move into gf100
Reviewed-by: Martin Peres <martin.pe...@free.fr>
Signed-off-by: Karol Herbst <nouv...@karolherbst.de&g
On 18/04/16 22:14, Karol Herbst wrote:
this code will change for gf100 and newer
Reviewed-by: Martin Peres <martin.pe...@free.fr>
Signed-off-by: Karol Herbst <nouv...@karolherbst.de>
---
drm/nouveau/nvkm/subdev/clk/base.c | 14 ++
drm/nouveau/nvkm/subdev/clk/
sepArate
On 18/04/16 22:14, Karol Herbst wrote:
Would be nice to say what for.
With a better commit message and the typo fixed:
Reviewed-by: Martin Peres <martin.pe...@free.fr>
Signed-off-by: Karol Herbst <nouv...@karolherbst.de>
---
drm/nouveau/nvkm/subdev/clk
On 18/04/16 22:14, Karol Herbst wrote:
this makes the code easier, because we can compare the id with pstate->pstate
and safe us the trouble iterating over the entire pstate list
save us.
Not the easiest patch to read, but it seems alright and it has been
tested, so:
Reviewed-by: Mar
;
else clk->ustate_dc = ret;
+ clk->exp_cstate = NVKM_CLK_CSTATE_HIGHEST;
I am really not a fan of this astate. We will revisit this when we are
done with manual reclocking!
In the mean time, this is:
Reviewed-by: Martin Peres <martin.pe.
On 18/04/16 22:14, Karol Herbst wrote:
we will access the current set cstate at least every second and this safes us
saves
some CPU cycles looking them up every second.
Signed-off-by: Karol Herbst
---
drm/nouveau/include/nvkm/subdev/clk.h | 2 +-
On 18/04/16 22:14, Karol Herbst wrote:
we will need a always running therm daemon to adjust the voltage/clocks on the
fly.
Signed-off-by: Karol Herbst <nouv...@karolherbst.de>
Reviewed-by: Martin Peres <martin.pe...@free.fr>
---
drm/nouveau/nvkm/subdev/therm/base.c | 9 ++
On 20/04/16 23:45, Martin Peres wrote:
On 18/04/16 22:13, Karol Herbst wrote:
we won't need them, because we will adjust the clocks depending on engine loads
later on anyway. It also simplifies the clocking logic.
You can also say that the code was just mocked up anyway.
Forgot to give my R
On 18/04/16 22:13, Karol Herbst wrote:
we won't need them, because we will adjust the clocks depending on engine loads
later on anyway. It also simplifies the clocking logic.
You can also say that the code was just mocked up anyway.
Signed-off-by: Karol Herbst
---
On 18/04/16 22:13, Karol Herbst wrote:
this function will be used to update the current clock state.
This will happen for various reasons:
* temperature changes (may change cstate and/or voltage)
* user changes boost mode
* load changes
v2: add wait parameter
Signed-off-by: Karol Herbst
On 18/04/16 22:13, Karol Herbst wrote:
Signed-off-by: Karol Herbst <nouv...@karolherbst.de>
Reviewed-by: Martin Peres <martin.pe...@free.fr>
---
drm/nouveau/include/nvkm/subdev/clk.h | 1 +
drm/nouveau/nvkm/subdev/clk/base.c| 2 ++
2 files changed, 3 insertions(+)
diff
On 20/04/16 00:54, Ilia Mirkin wrote:
On Tue, Apr 19, 2016 at 5:52 PM, Martin Peres <martin.pe...@free.fr> wrote:
+ result = ((s64)info.arg[0] * 15625) >>
18;
+ result += ((s64)info.arg[1] * volt->speedo
until we know better,
let's stick to them.
Hopefully, we can figure out where this 15625 comes from. This patch is:
Reviewed-by: Martin Peres <martin.pe...@free.fr>
+ case 0x3:
+ result = (info.min + info.max) / 2;
+
;
+
+ return nvkm_voltgpio_init(volt);
+}
This is OK because fuse is initialized before volt
(drm/nouveau/include/nvkm/core/device.h). This is:
Reviewed-by: Martin Peres <martin.pe...@free.fr>
___
Nouveau mailing list
Nouveau@lists.freed
ou may set best_err to the maximum
voltage, anything under that may fail in theory.
With this fixed, this is:
Reviewed-by: Martin Peres <martin.pe...@free.fr>
if (volt->func->volt_set)
return volt->func->volt_set(volt, uv);
for (i = 0; i < volt-&
Herbst <nouv...@karolherbst.de>
Reviewed-by: Martin Peres <martin.pe...@free.fr>
---
drm/nouveau/include/nvkm/subdev/bios/vmap.h | 2 +-
drm/nouveau/nvkm/subdev/bios/vmap.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drm/nouveau/include/nvkm/subdev
atch) to read the speedo.
Either way, I do not really care, as this won't go in the kernel anyway
and it does not hurt to enable this a little early.
Reviewed-by: Martin Peres <martin.pe...@free.fr>
(1ULL << NVKM_SUBDEV_GPIO) |
// (1
make
1 the default.
Please change it to keep my R-b :)
2: boost to max clock available
v2: moved into nvkm_cstate_valid
v4: check the existence of the clocks before limiting
Signed-off-by: Karol Herbst <nouv...@karolherbst.de>
Reviewed-by: Martin Peres <martin.pe...@free.fr>
---
ate, cstatei);
+ cstate = nvkm_cstate_find_best(clk, pstate, cstate);
} else {
cstate = >base;
}
Reviewed-by: Martin Peres <martin.pe...@free.fr>
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau
tage, new_nouveau_voltage -
new_voltage,
+ 100 * (double)new_nouveau_voltage / new_voltage,
+ new_pstate, new_cstate, new_temp);
+ }
+ usleep(10);
+ }
+
+ return 0;
+}
I am surprised by how short this tool is.
ret = nvkm_volt_set(volt, ret);
With the commit message and the max() duplication fixed, this is:
Reviewed-by: Martin Peres <martin.pe...@free.fr>
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau
struct nvkm_volt *volt, u8 id)
{
struct nvkm_bios *bios = volt->subdev.device->bios;
Reviewed-by: Martin Peres <martin.pe...@free.fr>
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau
lt->max1_id = vmap.max1;
+ volt->max2_id = vmap.max2;
+ } else {
+ volt->max0_id = 0xff;
+ volt->max1_id = 0xff;
+ volt->max2_id = 0xff;
+ }
}
if (volt->v
On 21/03/16 18:16, Karol Herbst wrote:
if we calculate the voltage in the table right, we get all kinds of values,
which never fit the hardware steps, so we use the closest higher value the
hardware can do
This is indeed the goal.
Signed-off-by: Karol Herbst
---
On 21/03/16 18:16, Karol Herbst wrote:
I am sure that those are a bit different on other GPUs, but while testing
the error range compared to nvidia was around 100%+-3%.
Without this change we are most of the time around 10% below nvidias voltage,
so this change causes no harm and improves the
On 28/03/16 23:49, Martin Peres wrote:
On 21/03/16 18:16, Karol Herbst wrote:
these entries specify a maximum voltage nvidia never exceeds, we shouldn't do
that, too.
Signed-off-by: Karol Herbst <nouv...@karolherbst.de>
---
drm/nouveau/include/nvkm/subdev/bios/vmap.h | 2 ++
drm/n
On 21/03/16 18:16, Karol Herbst wrote:
Signed-off-by: Karol Herbst <nouv...@karolherbst.de>
21-22 are:
Reviewed-by: Martin Peres <martin.pe...@free.fr>
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop
On 28/03/16 23:52, Martin Peres wrote:
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
Please state that this comes that this min_id is different for each
pstate, hence why
To me, volt should just allow you to read back and set a voltage. All
the rest of the logic should be in clk.
Since this is my first NAK, here are my R-b for 3, 4 and 5:
Reviewed-by: Martin Peres <martin.pe...@free.fr>
___
Nouveau mailing
1 - 100 of 313 matches
Mail list logo