search for: nvkm_pci_func

Displaying 20 results from an estimated 32 matches for "nvkm_pci_func".

Did you mean: nvkm_acr_func
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
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
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:
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
2019 Sep 17
1
[PATCH 1/3] pci: force disable ASPM before changing the link speed
.... Ben. > + > return ret; > } > diff --git a/drm/nouveau/nvkm/subdev/pci/priv.h b/drm/nouveau/nvkm/subdev/pci/priv.h > index 7009aad86..c6a9ef330 100644 > --- a/drm/nouveau/nvkm/subdev/pci/priv.h > +++ b/drm/nouveau/nvkm/subdev/pci/priv.h > @@ -24,6 +24,7 @@ struct nvkm_pci_func { > void (*set_version)(struct nvkm_pci *, u8); > int (*version)(struct nvkm_pci *); > int (*version_supported)(struct nvkm_pci *); > + void (*force_aspm_off)(struct nvkm_pci *, bool); > } pcie; > }; > >...
2017 Aug 10
0
[PATCH] pci/msi: disable MSI on big-endian platforms by default
...ci/base.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drm/nouveau/nvkm/subdev/pci/base.c b/drm/nouveau/nvkm/subdev/pci/base.c index eb9b2781..a4cb8249 100644 --- a/drm/nouveau/nvkm/subdev/pci/base.c +++ b/drm/nouveau/nvkm/subdev/pci/base.c @@ -192,6 +192,10 @@ nvkm_pci_new_(const struct nvkm_pci_func *func, struct nvkm_device *device, } } +#ifdef __BIG_ENDIAN + pci->msi = false; +#endif + pci->msi = nvkm_boolopt(device->cfgopt, "NvMSI", pci->msi); if (pci->msi && func->msi_rearm) { pci->msi = pci_enable_msi(pci->pdev) == 0; -- 2.13.0
2019 May 04
0
[PATCH 4/5] pci: save the boot pcie link speed
...pci/base.c @@ -100,6 +100,8 @@ nvkm_pci_preinit(struct nvkm_subdev *subdev) struct nvkm_pci *pci = nvkm_pci(subdev); if (pci->agp.bridge) nvkm_agp_preinit(pci); + else if (pci_is_pcie(pci->pdev)) + nvkm_pcie_preinit(pci); return 0; } @@ -193,8 +195,9 @@ nvkm_pci_new_(const struct nvkm_pci_func *func, struct nvkm_device *device, pci->func = func; pci->pdev = device->func->pci(device)->pdev; pci->irq = -1; - pci->pcie.speed = -1; - pci->pcie.width = -1; + pci->pcie.cur_speed = -1; + pci->pcie.def_speed = -1; + pci->pcie.cur_width = -1; if (device-...
2019 May 20
2
[PATCH v2 4/4] pci: save the boot pcie link speed and restore it on fini
...it(struct nvkm_subdev *subdev) > struct nvkm_pci *pci = nvkm_pci(subdev); > if (pci->agp.bridge) > nvkm_agp_preinit(pci); > + else if (pci_is_pcie(pci->pdev)) > + nvkm_pcie_preinit(pci); > return 0; > } > > @@ -193,8 +197,9 @@ nvkm_pci_new_(const struct nvkm_pci_func *func, struct nvkm_device *device, > pci->func = func; > pci->pdev = device->func->pci(device)->pdev; > pci->irq = -1; > - pci->pcie.speed = -1; > - pci->pcie.width = -1; > + pci->pcie.cur_speed = -1; > + pci->pcie.def_speed = -1; > + pci-...
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
0
[PATCH v2 4/4] pci: save the boot pcie link speed and restore it on fini
...turn 0; } @@ -100,6 +102,8 @@ nvkm_pci_preinit(struct nvkm_subdev *subdev) struct nvkm_pci *pci = nvkm_pci(subdev); if (pci->agp.bridge) nvkm_agp_preinit(pci); + else if (pci_is_pcie(pci->pdev)) + nvkm_pcie_preinit(pci); return 0; } @@ -193,8 +197,9 @@ nvkm_pci_new_(const struct nvkm_pci_func *func, struct nvkm_device *device, pci->func = func; pci->pdev = device->func->pci(device)->pdev; pci->irq = -1; - pci->pcie.speed = -1; - pci->pcie.width = -1; + pci->pcie.cur_speed = -1; + pci->pcie.def_speed = -1; + pci->pcie.cur_width = -1; if (device-...
2019 Sep 12
0
[PATCH 1/3] pci: force disable ASPM before changing the link speed
...isable ASPM */ + nvkm_pcie_force_aspm_off(pci, false); + return ret; } diff --git a/drm/nouveau/nvkm/subdev/pci/priv.h b/drm/nouveau/nvkm/subdev/pci/priv.h index 7009aad86..c6a9ef330 100644 --- a/drm/nouveau/nvkm/subdev/pci/priv.h +++ b/drm/nouveau/nvkm/subdev/pci/priv.h @@ -24,6 +24,7 @@ struct nvkm_pci_func { void (*set_version)(struct nvkm_pci *, u8); int (*version)(struct nvkm_pci *); int (*version_supported)(struct nvkm_pci *); + void (*force_aspm_off)(struct nvkm_pci *, bool); } pcie; }; @@ -42,6 +43,7 @@ int g84_pcie_version(struct nvkm_pci *); void g84_pcie_set_link_speed(struct...
2018 Jan 25
0
[PATCH] drm/nouveau: Move irq setup/teardown to pci ctor/dtor
...{ struct nvkm_pci *pci = nvkm_pci(subdev); + nvkm_agp_dtor(pci); + + if (pci->irq >= 0) { + pci->teardown = true; + free_irq(pci->irq, pci); + } + if (pci->msi) pci_disable_msi(pci->pdev); + return nvkm_pci(subdev); } @@ -177,6 +189,7 @@ nvkm_pci_new_(const struct nvkm_pci_func *func, struct nvkm_device *device, pci->func = func; pci->pdev = device->func->pci(device)->pdev; pci->irq = -1; + pci->teardown = false; pci->pcie.speed = -1; pci->pcie.width = -1; -- 2.14.3
2017 Feb 11
0
[PATCH] pci/g92: Fix rearm
...+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + * Authors: Ben Skeggs <bskeggs at redhat.com> + */ +#include "priv.h" + +static const struct nvkm_pci_func +g94_pci_func = { + .init = g84_pci_init, + .rd32 = nv40_pci_rd32, + .wr08 = nv40_pci_wr08, + .wr32 = nv40_pci_wr32, + .msi_rearm = nv40_pci_msi_rearm, + + .pcie.init = g84_pcie_init, + .pcie.set_link = g84_pcie_set_link, + + .pcie.max_speed = g84_pcie_max_speed, + .pcie.cur_speed = g84_pcie_cur_sp...
2018 Jan 25
0
[PATCH v2] drm/nouveau: Move irq setup/teardown to pci ctor/dtor
...{ struct nvkm_pci *pci = nvkm_pci(subdev); + nvkm_agp_dtor(pci); + + if (pci->irq >= 0) { + pci->teardown = true; + free_irq(pci->irq, pci); + } + if (pci->msi) pci_disable_msi(pci->pdev); + return nvkm_pci(subdev); } @@ -177,6 +189,7 @@ nvkm_pci_new_(const struct nvkm_pci_func *func, struct nvkm_device *device, pci->func = func; pci->pdev = device->func->pci(device)->pdev; pci->irq = -1; + pci->teardown = false; pci->pcie.speed = -1; pci->pcie.width = -1; -- 2.14.3
2019 May 20
0
[PATCH v2 4/4] pci: save the boot pcie link speed and restore it on fini
...bdev); > > if (pci->agp.bridge) > > nvkm_agp_preinit(pci); > > + else if (pci_is_pcie(pci->pdev)) > > + nvkm_pcie_preinit(pci); > > return 0; > > } > > > > @@ -193,8 +197,9 @@ nvkm_pci_new_(const struct nvkm_pci_func *func, struct nvkm_device *device, > > pci->func = func; > > pci->pdev = device->func->pci(device)->pdev; > > pci->irq = -1; > > - pci->pcie.speed = -1; > > - pci->pcie.width = -1; > > + pci->pcie.cur_speed...
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} |
2019 May 21
3
[PATCH v2 4/4] pci: save the boot pcie link speed and restore it on fini
...agp.bridge) > > > nvkm_agp_preinit(pci); > > > + else if (pci_is_pcie(pci->pdev)) > > > + nvkm_pcie_preinit(pci); > > > return 0; > > > } > > > > > > @@ -193,8 +197,9 @@ nvkm_pci_new_(const struct nvkm_pci_func *func, struct nvkm_device *device, > > > pci->func = func; > > > pci->pdev = device->func->pci(device)->pdev; > > > pci->irq = -1; > > > - pci->pcie.speed = -1; > > > - pci->pcie.width = -1; > > &gt...
2019 May 04
10
[PATCH 0/5] Potential fix for runpm issues on various laptops
While investigating the runpm issues on my GP107 I noticed that something inside devinit makes runpm break. If Nouveau loads up to the point right before doing devinit, runpm works without any issues, if devinit is ran, not anymore. Out of curiousity I even tried to "bisect" devinit by not running it on vbios provided signed PMU image, but on the devinit parser we have inside Nouveau.
2019 May 21
2
[PATCH v2 4/4] pci: save the boot pcie link speed and restore it on fini
...i); > > > > > + else if (pci_is_pcie(pci->pdev)) > > > > > + nvkm_pcie_preinit(pci); > > > > > return 0; > > > > > } > > > > > > > > > > @@ -193,8 +197,9 @@ nvkm_pci_new_(const struct nvkm_pci_func *func, struct nvkm_device *device, > > > > > pci->func = func; > > > > > pci->pdev = device->func->pci(device)->pdev; > > > > > pci->irq = -1; > > > > > - pci->pcie.speed = -1; > > > >...
2019 Aug 13
3
[PATCH 1/4] pci: enable pcie link changes for pascal
Signed-off-by: Karol Herbst <kherbst at redhat.com> Reviewed-by: Lyude Paul <lyude at redhat.com> --- drm/nouveau/nvkm/subdev/pci/gk104.c | 8 ++++---- drm/nouveau/nvkm/subdev/pci/gp100.c | 10 ++++++++++ drm/nouveau/nvkm/subdev/pci/priv.h | 5 +++++ 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/drm/nouveau/nvkm/subdev/pci/gk104.c