From f8d85a91b0c92c2f0041bbd83ead15059831dcd9 Mon Sep 17 00:00:00 2001 From: Ben Skeggs Date: Thu, 25 Feb 2016 13:21:38 +1000 Subject: v4.5-rc5 --- drm/nouveau/nouveau_bo.c | 2 +- drm/nouveau/nouveau_debugfs.h | 4 ++-- drm/nouveau/nouveau_display.c | 8 ++++---- drm/nouveau/nvkm/subdev/clk/gk20a.c | 3 +-- drm/nouveau/nvkm/subdev/pci/pcie.c | 2 +- 5 files changed, 9 insertions(+), 10 deletions(-) diff --git a/drm/nouveau/nouveau_bo.c b/drm/nouveau/nouveau_bo.c index 78f520d05..e3acc35e3 100644 --- a/drm/nouveau/nouveau_bo.c +++ b/drm/nouveau/nouveau_bo.c @@ -1520,7 +1520,7 @@ nouveau_ttm_tt_populate(struct ttm_tt *ttm) DMA_BIDIRECTIONAL); if (dma_mapping_error(pdev, addr)) { - while (--i) { + while (i--) { dma_unmap_page(pdev, ttm_dma->dma_address[i], PAGE_SIZE, DMA_BIDIRECTIONAL); ttm_dma->dma_address[i] = 0; diff --git a/drm/nouveau/nouveau_debugfs.h b/drm/nouveau/nouveau_debugfs.h index 52c716129..b8c03ff5b 100644 --- a/drm/nouveau/nouveau_debugfs.h +++ b/drm/nouveau/nouveau_debugfs.h @@ -34,13 +34,13 @@ nouveau_drm_debugfs_cleanup(struct drm_minor *minor) } static inline int -nouveau_debugfs_init(struct nouveau_drm *) +nouveau_debugfs_init(struct nouveau_drm *drm) { return 0; } static inline void -nouveau_debugfs_fini(struct nouveau_drm *) +nouveau_debugfs_fini(struct nouveau_drm *drm) { } diff --git a/drm/nouveau/nouveau_display.c b/drm/nouveau/nouveau_display.c index 24be27d3c..20935eb2a 100644 --- a/drm/nouveau/nouveau_display.c +++ b/drm/nouveau/nouveau_display.c @@ -635,10 +635,6 @@ nouveau_display_resume(struct drm_device *dev, bool runtime) nv_crtc->lut.depth = 0; } - /* Make sure that drm and hw vblank irqs get resumed if needed. */ - for (head = 0; head < dev->mode_config.num_crtc; head++) - drm_vblank_on(dev, head); - /* This should ensure we don't hit a locking problem when someone * wakes us up via a connector. We should never go into suspend * while the display is on anyways. @@ -648,6 +644,10 @@ nouveau_display_resume(struct drm_device *dev, bool runtime) drm_helper_resume_force_mode(dev); + /* Make sure that drm and hw vblank irqs get resumed if needed. */ + for (head = 0; head < dev->mode_config.num_crtc; head++) + drm_vblank_on(dev, head); + list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc); diff --git a/drm/nouveau/nvkm/subdev/clk/gk20a.c b/drm/nouveau/nvkm/subdev/clk/gk20a.c index 254094ab7..5da2aa8cc 100644 --- a/drm/nouveau/nvkm/subdev/clk/gk20a.c +++ b/drm/nouveau/nvkm/subdev/clk/gk20a.c @@ -141,9 +141,8 @@ gk20a_pllg_calc_rate(struct gk20a_clk *clk) rate = clk->parent_rate * clk->n; divider = clk->m * pl_to_div[clk->pl]; - do_div(rate, divider); - return rate / 2; + return rate / divider / 2; } static int diff --git a/drm/nouveau/nvkm/subdev/pci/pcie.c b/drm/nouveau/nvkm/subdev/pci/pcie.c index b32954f53..d71e5db50 100644 --- a/drm/nouveau/nvkm/subdev/pci/pcie.c +++ b/drm/nouveau/nvkm/subdev/pci/pcie.c @@ -119,7 +119,7 @@ nvkm_pcie_set_link(struct nvkm_pci *pci, enum nvkm_pcie_speed speed, u8 width) struct pci_bus *pbus; int ret; - if (pci || !pci_is_pcie(pci->pdev)) + if (!pci || !pci_is_pcie(pci->pdev)) return 0; pbus = pci->pdev->bus; -- cgit v1.2.1