Displaying 20 results from an estimated 85 matches for "nvkm_pci".
2019 Sep 13
8
[PATCH v4 0/4] add PCIe workaround to fix runpm on laptops
...t
unless they do rmmod/modprobe nouveau cycles.
Biggest change is that I force the link to a 8.0 speed rather than the
speed the GPU came up with.
Also this series depends on the PCIe improvement patches I sent out
recently.
Karol Herbst (4):
pci: enable pcie link changes for pascal
pci: add nvkm_pcie_get_speed
pci: set the pcie link speed to 8.0 when suspending
drm: abort runtime suspend if we hit an error
drm/nouveau/include/nvkm/core/device.h | 2 ++
drm/nouveau/include/nvkm/subdev/pci.h | 4 ++-
drm/nouveau/nouveau_drm.c | 6 +++++
drm/nouveau/nvkm/subdev/clk/base.c...
2019 Aug 13
3
[PATCH 1/4] pci: enable pcie link changes for pascal
...drm/nouveau/nvkm/subdev/pci/gk104.c b/drm/nouveau/nvkm/subdev/pci/gk104.c
index e68030507..664890185 100644
--- a/drm/nouveau/nvkm/subdev/pci/gk104.c
+++ b/drm/nouveau/nvkm/subdev/pci/gk104.c
@@ -23,7 +23,7 @@
*/
#include "priv.h"
-static int
+int
gk104_pcie_version_supported(struct nvkm_pci *pci)
{
return (nvkm_rd32(pci->subdev.device, 0x8c1c0) & 0x4) == 0x4 ? 2 : 1;
@@ -108,7 +108,7 @@ gk104_pcie_lnkctl_speed(struct nvkm_pci *pci)
return -1;
}
-static enum nvkm_pcie_speed
+enum nvkm_pcie_speed
gk104_pcie_max_speed(struct nvkm_pci *pci)
{
u32 max_speed = nvkm_rd32(p...
2019 May 04
10
[PATCH 0/5] Potential fix for runpm issues on various laptops
...n my machine. Secure booting
the gr (even with my workaround applied I need anyway) might fail after
the GPU got runtime resumed though...
Karol Herbst (5):
drm: don't set the pci power state if the pci subsystem handles the
ACPI bits
pci: enable pcie link changes for pascal
pci: add nvkm_pcie_get_speed
pci: save the boot pcie link speed
pci: restore the boot pcie link speed on fini
drm/nouveau/include/nvkm/subdev/pci.h | 6 ++++--
drm/nouveau/nouveau_acpi.c | 6 +++---
drm/nouveau/nouveau_acpi.h | 4 ++--
drm/nouveau/nouveau_drm.c | 15 +++++++...
2015 Oct 12
12
[PATCH 0/9] PCIe speed changes
this patch series implements PCIe speed changes for Tesla and newer.
The Kepler and Fermi bits are tested on my cards at home.
Karol Herbst (9):
pci: add gk104 variant
pci: add gf106 variant
pci: implement generic code for PCIe speed change
pci: implement pcie speed change for tesla
pci: implement pcie speed change on Fermi
pci: implement PCIe speed change for kepler+
bios/perf:
2015 Oct 13
12
[PATCH v2 0/9] PCIEs speed change
overall the same as the old stuff, but with better namings and tirivialy
improved code here and there
Karol Herbst (9):
pci: add gk104 variant
pci: add gf106 variant
pci: implement generic code for PCIe speed change
pci: implement pcie speed change for tesla
pci: implement pcie speed change on Fermi
pci: implement PCIe speed change for kepler+
bios/perf: parse the pci speed from the
2019 Sep 17
6
[PATCH 0/6] Add workaround for fixing runpm
I merged the both series I sent out recently into one bigger one so that
it's more obvious on why all of that is needed.
Biggest changes since last sent:
* reworked the ASPM patch
* removed "pci: add nvkm_pcie_get_speed" patch
Please test this on Laptops and report back if it either breaks something
or doesn't fix runpm.
Thanks
Karol Herbst (6):
pci: disable ASPM before changing the link speed
pci/gk104: enable dl_mgr safe mode
pci/gk104: wait for ltssm idle before changing the link...
2016 Jan 01
9
[PATCH v4 0/9] PCIe speed changes
overall it is for the most part the same as my older version.
I cleaned up some copyright things, so that it is more like the others.
Also I moved the print about the max speed supported into preinit and did
some other minor cleanups in the 3rd commit.
Happy testing (and performance for prime offloading setups)
Karol Herbst (9):
pci: add gk104 variant
pci: add gf106 variant
pci: implement
2019 Sep 17
1
[PATCH 1/3] pci: force disable ASPM before changing the link speed
...files changed, 30 insertions(+)
>
> diff --git a/drm/nouveau/nvkm/subdev/pci/g84.c b/drm/nouveau/nvkm/subdev/pci/g84.c
> index 62438d892..353d70d7e 100644
> --- a/drm/nouveau/nvkm/subdev/pci/g84.c
> +++ b/drm/nouveau/nvkm/subdev/pci/g84.c
> @@ -122,6 +122,14 @@ g84_pci_init(struct nvkm_pci *pci)
> nvkm_pci_mask(pci, 0x041c, 0x00000060, 0x00000000);
> }
>
> +void
> +g84_pcie_force_aspm_off(struct nvkm_pci *pci, bool status)
> +{
> + /* L0s and L1 */
> + u32 value = status ? 0x180 : 0x0;
> + nvkm_pci_mask(pci, 0x150, 0x180,...
2019 Sep 12
5
[PATCH 0/3] PCIe link change improvements
everything was taken from nvgpu.
Main reason for adding is to improve stability of the PCIe link changing code
as we might want to depend on it for a workaround fixing our infamous runpm
issues on recent laptops
Karol Herbst (3):
pci: force disable ASPM before changing the link speed
pci/gk104: enable dl_mgr safe mode
pci/gk104: wait for ltssm idle before changing the link
2019 May 07
8
[PATCH v2 0/4] Potential fix for runpm issues on various laptops
...n my machine. Secure booting
the gr (even with my workaround applied I need anyway) might fail after
the GPU got runtime resumed though...
Karol Herbst (4):
drm: don't set the pci power state if the pci subsystem handles the
ACPI bits
pci: enable pcie link changes for pascal
pci: add nvkm_pcie_get_speed
pci: save the boot pcie link speed and restore it on fini
drm/nouveau/include/nvkm/subdev/pci.h | 6 +++--
drm/nouveau/nouveau_acpi.c | 7 +++++-
drm/nouveau/nouveau_acpi.h | 2 ++
drm/nouveau/nouveau_drm.c | 14 +++++++++---
drm/nouveau/nouveau_d...
2019 Sep 17
2
[PATCH v4 3/4] pci: set the pcie link speed to 8.0 when suspending
...f --git a/drm/nouveau/include/nvkm/subdev/pci.h b/drm/nouveau/include/nvkm/subdev/pci.h
> index b29101e48..7245513d9 100644
> --- a/drm/nouveau/include/nvkm/subdev/pci.h
> +++ b/drm/nouveau/include/nvkm/subdev/pci.h
> @@ -52,6 +52,7 @@ int gk104_pci_new(struct nvkm_device *, int, struct nvkm_pci **);
> int gp100_pci_new(struct nvkm_device *, int, struct nvkm_pci **);
>
> /* pcie functions */
> -int nvkm_pcie_set_link(struct nvkm_pci *, enum nvkm_pcie_speed, u8 width);
> +int nvkm_pcie_set_link(struct nvkm_pci *, enum nvkm_pcie_speed, u8 width,
> + b...
2019 May 04
0
[PATCH 2/5] pci: enable pcie link changes for pascal
...a/drm/nouveau/nvkm/subdev/pci/gk104.c b/drm/nouveau/nvkm/subdev/pci/gk104.c
index e6803050..66489018 100644
--- a/drm/nouveau/nvkm/subdev/pci/gk104.c
+++ b/drm/nouveau/nvkm/subdev/pci/gk104.c
@@ -23,7 +23,7 @@
*/
#include "priv.h"
-static int
+int
gk104_pcie_version_supported(struct nvkm_pci *pci)
{
return (nvkm_rd32(pci->subdev.device, 0x8c1c0) & 0x4) == 0x4 ? 2 : 1;
@@ -108,7 +108,7 @@ gk104_pcie_lnkctl_speed(struct nvkm_pci *pci)
return -1;
}
-static enum nvkm_pcie_speed
+enum nvkm_pcie_speed
gk104_pcie_max_speed(struct nvkm_pci *pci)
{
u32 max_speed = nvkm_rd32(p...
2019 May 07
0
[PATCH v2 2/4] pci: enable pcie link changes for pascal
...a/drm/nouveau/nvkm/subdev/pci/gk104.c b/drm/nouveau/nvkm/subdev/pci/gk104.c
index e6803050..66489018 100644
--- a/drm/nouveau/nvkm/subdev/pci/gk104.c
+++ b/drm/nouveau/nvkm/subdev/pci/gk104.c
@@ -23,7 +23,7 @@
*/
#include "priv.h"
-static int
+int
gk104_pcie_version_supported(struct nvkm_pci *pci)
{
return (nvkm_rd32(pci->subdev.device, 0x8c1c0) & 0x4) == 0x4 ? 2 : 1;
@@ -108,7 +108,7 @@ gk104_pcie_lnkctl_speed(struct nvkm_pci *pci)
return -1;
}
-static enum nvkm_pcie_speed
+enum nvkm_pcie_speed
gk104_pcie_max_speed(struct nvkm_pci *pci)
{
u32 max_speed = nvkm_rd32(p...
2019 Sep 13
0
[PATCH v4 1/4] pci: enable pcie link changes for pascal
...rm/nouveau/nvkm/subdev/pci/gk104.c b/drm/nouveau/nvkm/subdev/pci/gk104.c
index 804ef017f..61c4e76e8 100644
--- a/drm/nouveau/nvkm/subdev/pci/gk104.c
+++ b/drm/nouveau/nvkm/subdev/pci/gk104.c
@@ -25,7 +25,7 @@
#include <subdev/timer.h>
-static int
+int
gk104_pcie_version_supported(struct nvkm_pci *pci)
{
return (nvkm_rd32(pci->subdev.device, 0x8c1c0) & 0x4) == 0x4 ? 2 : 1;
@@ -110,7 +110,7 @@ gk104_pcie_lnkctl_speed(struct nvkm_pci *pci)
return -1;
}
-static enum nvkm_pcie_speed
+enum nvkm_pcie_speed
gk104_pcie_max_speed(struct nvkm_pci *pci)
{
u32 max_speed = nvkm_rd32(p...
2018 Jul 27
0
[PATCH] pci/gp100: Enable changing pcie link speeds
this code is pretty usefull for now as nothing triggers it, but the link
speed can be changed with a
"gk104_pcie_set_link(pci, NVKM_PCIE_SPEED_8_0, 16);"
as the last call inside gk104_pcie_init.
In the future this should be helpful when using reverse prime with high
resolutions on Pascal GPUs.
I still need to verify this with a mmiotrace and do more testing, but
everybody suffering from bad reverse prime performance or just...
2019 Sep 17
2
[PATCH v4 3/4] pci: set the pcie link speed to 8.0 when suspending
...v/pci.h b/drm/nouveau/include/nvkm/subdev/pci.h
> > > index b29101e48..7245513d9 100644
> > > --- a/drm/nouveau/include/nvkm/subdev/pci.h
> > > +++ b/drm/nouveau/include/nvkm/subdev/pci.h
> > > @@ -52,6 +52,7 @@ int gk104_pci_new(struct nvkm_device *, int, struct nvkm_pci **);
> > > int gp100_pci_new(struct nvkm_device *, int, struct nvkm_pci **);
> > >
> > > /* pcie functions */
> > > -int nvkm_pcie_set_link(struct nvkm_pci *, enum nvkm_pcie_speed, u8 width);
> > > +int nvkm_pcie_set_link(struct nvkm_pci *, enum nvkm_p...
2019 May 20
2
[PATCH v2 4/4] pci: save the boot pcie link speed and restore it on fini
...32 insertions(+), 8 deletions(-)
>
> diff --git a/drm/nouveau/include/nvkm/subdev/pci.h b/drm/nouveau/include/nvkm/subdev/pci.h
> index 1fdf3098..b23793a2 100644
> --- a/drm/nouveau/include/nvkm/subdev/pci.h
> +++ b/drm/nouveau/include/nvkm/subdev/pci.h
> @@ -26,8 +26,9 @@ struct nvkm_pci {
> } agp;
>
> struct {
> - enum nvkm_pcie_speed speed;
> - u8 width;
> + enum nvkm_pcie_speed cur_speed;
> + enum nvkm_pcie_speed def_speed;
> + u8 cur_width;
> } pcie;
>
> bool msi;
> diff --git a/drm/nouveau/nvkm/subdev/pci/base.c b/drm/nouvea...
2019 Sep 12
0
[PATCH 1/3] pci: force disable ASPM before changing the link speed
...ubdev/pci/priv.h | 2 ++
8 files changed, 30 insertions(+)
diff --git a/drm/nouveau/nvkm/subdev/pci/g84.c b/drm/nouveau/nvkm/subdev/pci/g84.c
index 62438d892..353d70d7e 100644
--- a/drm/nouveau/nvkm/subdev/pci/g84.c
+++ b/drm/nouveau/nvkm/subdev/pci/g84.c
@@ -122,6 +122,14 @@ g84_pci_init(struct nvkm_pci *pci)
nvkm_pci_mask(pci, 0x041c, 0x00000060, 0x00000000);
}
+void
+g84_pcie_force_aspm_off(struct nvkm_pci *pci, bool status)
+{
+ /* L0s and L1 */
+ u32 value = status ? 0x180 : 0x0;
+ nvkm_pci_mask(pci, 0x150, 0x180, value);
+}
+
int
g84_pcie_init(struct nvkm_pci *pci)
{
@@ -147,6 +155,7...
2019 May 07
0
[PATCH v2 4/4] pci: save the boot pcie link speed and restore it on fini
...| 2 ++
4 files changed, 32 insertions(+), 8 deletions(-)
diff --git a/drm/nouveau/include/nvkm/subdev/pci.h b/drm/nouveau/include/nvkm/subdev/pci.h
index 1fdf3098..b23793a2 100644
--- a/drm/nouveau/include/nvkm/subdev/pci.h
+++ b/drm/nouveau/include/nvkm/subdev/pci.h
@@ -26,8 +26,9 @@ struct nvkm_pci {
} agp;
struct {
- enum nvkm_pcie_speed speed;
- u8 width;
+ enum nvkm_pcie_speed cur_speed;
+ enum nvkm_pcie_speed def_speed;
+ u8 cur_width;
} pcie;
bool msi;
diff --git a/drm/nouveau/nvkm/subdev/pci/base.c b/drm/nouveau/nvkm/subdev/pci/base.c
index ee2431a7..d9fb5a83 100644
---...
2016 Nov 19
3
[PATCH 0/2] Enable changing PCIe link on G92
one rename and one enable patch. Tested on hardware and confirmed with traces
Karol Herbst (2):
pci: Rename g94 to g92
pci/g92: Enable changing pcie link speeds
drm/nouveau/include/nvkm/subdev/pci.h | 2 +-
drm/nouveau/nvkm/engine/device/base.c | 22 +++++++++++-----------
drm/nouveau/nvkm/subdev/pci/Kbuild | 2 +-
drm/nouveau/nvkm/subdev/pci/{g94.c => g92.c} |