1. 22 Jan, 2015 40 commits
    • Ben Skeggs's avatar
      drm/nouveau/fb: namespace + nvidia gpu names (no binary change) · 639c308e
      Ben Skeggs authored
      The namespace of NVKM is being changed to nvkm_ instead of nouveau_,
      which will be used for the DRM part of the driver.  This is being
      done in order to make it very clear as to what part of the driver a
      given symbol belongs to, and as a minor step towards splitting the
      DRM driver out to be able to stand on its own (for virt).
      
      Because there's already a large amount of churn here anyway, this is
      as good a time as any to also switch to NVIDIA's device and chipset
      naming to ease collaboration with them.
      
      A comparison of objdump disassemblies proves no code changes.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      639c308e
    • Ben Skeggs's avatar
      drm/nouveau/devinit: namespace + nvidia gpu names (no binary change) · a8c4362b
      Ben Skeggs authored
      The namespace of NVKM is being changed to nvkm_ instead of nouveau_,
      which will be used for the DRM part of the driver.  This is being
      done in order to make it very clear as to what part of the driver a
      given symbol belongs to, and as a minor step towards splitting the
      DRM driver out to be able to stand on its own (for virt).
      
      Because there's already a large amount of churn here anyway, this is
      as good a time as any to also switch to NVIDIA's device and chipset
      naming to ease collaboration with them.
      
      A comparison of objdump disassemblies proves no code changes.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      a8c4362b
    • Ben Skeggs's avatar
      drm/nouveau/clk: namespace + nvidia gpu names (no binary change) · 7632b30e
      Ben Skeggs authored
      The namespace of NVKM is being changed to nvkm_ instead of nouveau_,
      which will be used for the DRM part of the driver.  This is being
      done in order to make it very clear as to what part of the driver a
      given symbol belongs to, and as a minor step towards splitting the
      DRM driver out to be able to stand on its own (for virt).
      
      Because there's already a large amount of churn here anyway, this is
      as good a time as any to also switch to NVIDIA's device and chipset
      naming to ease collaboration with them.
      
      A comparison of objdump disassemblies proves no code changes.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      7632b30e
    • Ben Skeggs's avatar
      drm/nouveau/bus: namespace + nvidia gpu names (no binary change) · 5f8824de
      Ben Skeggs authored
      The namespace of NVKM is being changed to nvkm_ instead of nouveau_,
      which will be used for the DRM part of the driver.  This is being
      done in order to make it very clear as to what part of the driver a
      given symbol belongs to, and as a minor step towards splitting the
      DRM driver out to be able to stand on its own (for virt).
      
      Because there's already a large amount of churn here anyway, this is
      as good a time as any to also switch to NVIDIA's device and chipset
      naming to ease collaboration with them.
      
      A comparison of objdump disassemblies proves no code changes.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      5f8824de
    • Ben Skeggs's avatar
      drm/nouveau/bios: namespace + nvidia gpu names (no binary change) · d390b480
      Ben Skeggs authored
      The namespace of NVKM is being changed to nvkm_ instead of nouveau_,
      which will be used for the DRM part of the driver.  This is being
      done in order to make it very clear as to what part of the driver a
      given symbol belongs to, and as a minor step towards splitting the
      DRM driver out to be able to stand on its own (for virt).
      
      Because there's already a large amount of churn here anyway, this is
      as good a time as any to also switch to NVIDIA's device and chipset
      naming to ease collaboration with them.
      
      A comparison of objdump disassemblies proves no code changes.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      d390b480
    • Ben Skeggs's avatar
      drm/nouveau/bar: namespace + nvidia gpu names (no binary change) · 245dcfe9
      Ben Skeggs authored
      The namespace of NVKM is being changed to nvkm_ instead of nouveau_,
      which will be used for the DRM part of the driver.  This is being
      done in order to make it very clear as to what part of the driver a
      given symbol belongs to, and as a minor step towards splitting the
      DRM driver out to be able to stand on its own (for virt).
      
      Because there's already a large amount of churn here anyway, this is
      as good a time as any to also switch to NVIDIA's device and chipset
      naming to ease collaboration with them.
      
      A comparison of objdump disassemblies proves no code changes.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      245dcfe9
    • Ben Skeggs's avatar
      drm/nouveau/core: namespace + nvidia gpu names (no binary change) · 5025407b
      Ben Skeggs authored
      The namespace of NVKM is being changed to nvkm_ instead of nouveau_,
      which will be used for the DRM part of the driver.  This is being
      done in order to make it very clear as to what part of the driver a
      given symbol belongs to, and as a minor step towards splitting the
      DRM driver out to be able to stand on its own (for virt).
      
      Because there's already a large amount of churn here anyway, this is
      as good a time as any to also switch to NVIDIA's device and chipset
      naming to ease collaboration with them.
      
      A comparison of objdump disassemblies proves no code changes.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      5025407b
    • Ben Skeggs's avatar
      drm/nouveau/nvif: namespace of nvkm accessors (no binary change) · 989aa5b7
      Ben Skeggs authored
      NVKM is having it's namespace switched to nvkm_, which will conflict
      with these functions (which are workarounds for the fact that as of
      yet, we still aren't able to split DRM and NVKM completely).
      
      A comparison of objdump disassemblies proves no code changes.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      989aa5b7
    • Ben Skeggs's avatar
      drm/nouveau/core: split device index enum out on its own · c4345146
      Ben Skeggs authored
      To avoid having to include core/device.h where it's not otherwise
      required.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      c4345146
    • Ben Skeggs's avatar
      drm/nouveau/mspdec: separate from vp · 37a5d028
      Ben Skeggs authored
      Switch to NVIDIA's name for the device.
      
      The namespace of NVKM is being changed to nvkm_ instead of nouveau_,
      which will be used for the DRM part of the driver.  This is being
      done in order to make it very clear as to what part of the driver a
      given symbol belongs to, and as a minor step towards splitting the
      DRM driver out to be able to stand on its own (for virt).
      
      Because there's already a large amount of churn here anyway, this is
      as good a time as any to also switch to NVIDIA's device and chipset
      naming to ease collaboration with them.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      37a5d028
    • Ben Skeggs's avatar
      drm/nouveau/msenc: rename from venc (no binary change) · bd8369ec
      Ben Skeggs authored
      Switch to NVIDIA's name for the device.
      
      The namespace of NVKM is being changed to nvkm_ instead of nouveau_,
      which will be used for the DRM part of the driver.  This is being
      done in order to make it very clear as to what part of the driver a
      given symbol belongs to, and as a minor step towards splitting the
      DRM driver out to be able to stand on its own (for virt).
      
      Because there's already a large amount of churn here anyway, this is
      as good a time as any to also switch to NVIDIA's device and chipset
      naming to ease collaboration with them.
      
      A comparison of objdump disassemblies proves no code changes.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      bd8369ec
    • Ben Skeggs's avatar
      drm/nouveau/sw: rename from software (no binary change) · 8700287b
      Ben Skeggs authored
      Shorter device name, make consistent with our engine enums.
      
      The namespace of NVKM is being changed to nvkm_ instead of nouveau_,
      which will be used for the DRM part of the driver.  This is being
      done in order to make it very clear as to what part of the driver a
      given symbol belongs to, and as a minor step towards splitting the
      DRM driver out to be able to stand on its own (for virt).
      
      Because there's already a large amount of churn here anyway, this is
      as good a time as any to also switch to NVIDIA's device and chipset
      naming to ease collaboration with them.
      
      A comparison of objdump disassemblies proves no code changes.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      8700287b
    • Ben Skeggs's avatar
      drm/nouveau/msppp: rename from ppp (no binary change) · fd8666f7
      Ben Skeggs authored
      Switch to NVIDIA's name for the device.
      
      The namespace of NVKM is being changed to nvkm_ instead of nouveau_,
      which will be used for the DRM part of the driver.  This is being
      done in order to make it very clear as to what part of the driver a
      given symbol belongs to, and as a minor step towards splitting the
      DRM driver out to be able to stand on its own (for virt).
      
      Because there's already a large amount of churn here anyway, this is
      as good a time as any to also switch to NVIDIA's device and chipset
      naming to ease collaboration with them.
      
      A comparison of objdump disassemblies proves no code changes.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      fd8666f7
    • Ben Skeggs's avatar
      drm/nouveau/pm: rename from perfmon (no binary change) · d5752b9b
      Ben Skeggs authored
      Switch to NVIDIA's name for the device.
      
      The namespace of NVKM is being changed to nvkm_ instead of nouveau_,
      which will be used for the DRM part of the driver.  This is being
      done in order to make it very clear as to what part of the driver a
      given symbol belongs to, and as a minor step towards splitting the
      DRM driver out to be able to stand on its own (for virt).
      
      Because there's already a large amount of churn here anyway, this is
      as good a time as any to also switch to NVIDIA's device and chipset
      naming to ease collaboration with them.
      
      A comparison of objdump disassemblies proves no code changes.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      d5752b9b
    • Ben Skeggs's avatar
      drm/nouveau/gr: rename from graph (no binary change) · b8bf04e1
      Ben Skeggs authored
      Shorter device name, match Tegra and our existing enums.
      
      The namespace of NVKM is being changed to nvkm_ instead of nouveau_,
      which will be used for the DRM part of the driver.  This is being
      done in order to make it very clear as to what part of the driver a
      given symbol belongs to, and as a minor step towards splitting the
      DRM driver out to be able to stand on its own (for virt).
      
      Because there's already a large amount of churn here anyway, this is
      as good a time as any to also switch to NVIDIA's device and chipset
      naming to ease collaboration with them.
      
      A comparison of objdump disassemblies proves no code changes.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      b8bf04e1
    • Ben Skeggs's avatar
      drm/nouveau/ce: rename from copy (no binary change) · aedf24ff
      Ben Skeggs authored
      Switch to NVIDIA's name for the device.
      
      The namespace of NVKM is being changed to nvkm_ instead of nouveau_,
      which will be used for the DRM part of the driver.  This is being
      done in order to make it very clear as to what part of the driver a
      given symbol belongs to, and as a minor step towards splitting the
      DRM driver out to be able to stand on its own (for virt).
      
      Because there's already a large amount of churn here anyway, this is
      as good a time as any to also switch to NVIDIA's device and chipset
      naming to ease collaboration with them.
      
      A comparison of objdump disassemblies proves no code changes.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      aedf24ff
    • Ben Skeggs's avatar
      drm/nouveau/sec: separate from cipher (formerly crypt) · 93d90ad7
      Ben Skeggs authored
      Switch to NVIDIA's name for the device.
      
      The namespace of NVKM is being changed to nvkm_ instead of nouveau_,
      which will be used for the DRM part of the driver.  This is being
      done in order to make it very clear as to what part of the driver a
      given symbol belongs to, and as a minor step towards splitting the
      DRM driver out to be able to stand on its own (for virt).
      
      Because there's already a large amount of churn here anyway, this is
      as good a time as any to also switch to NVIDIA's device and chipset
      naming to ease collaboration with them.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      93d90ad7
    • Ben Skeggs's avatar
      drm/nouveau/msvld: separate from bsp · eccf7e8a
      Ben Skeggs authored
      Switch to NVIDIA's name for the device.
      
      The namespace of NVKM is being changed to nvkm_ instead of nouveau_,
      which will be used for the DRM part of the driver.  This is being
      done in order to make it very clear as to what part of the driver a
      given symbol belongs to, and as a minor step towards splitting the
      DRM driver out to be able to stand on its own (for virt).
      
      Because there's already a large amount of churn here anyway, this is
      as good a time as any to also switch to NVIDIA's device and chipset
      naming to ease collaboration with them.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      eccf7e8a
    • Ben Skeggs's avatar
      drm/nouveau/mmu: rename from vmmgr (no binary change) · 5ce3bf3c
      Ben Skeggs authored
      Switch to NVIDIA's name for the device.
      
      The namespace of NVKM is being changed to nvkm_ instead of nouveau_,
      which will be used for the DRM part of the driver.  This is being
      done in order to make it very clear as to what part of the driver a
      given symbol belongs to, and as a minor step towards splitting the
      DRM driver out to be able to stand on its own (for virt).
      
      Because there's already a large amount of churn here anyway, this is
      as good a time as any to also switch to NVIDIA's device and chipset
      naming to ease collaboration with them.
      
      A comparison of objdump disassemblies proves no code changes.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      5ce3bf3c
    • Ben Skeggs's avatar
      drm/nouveau/pmu: rename from pwr (no binary change) · ebb58dc2
      Ben Skeggs authored
      Switch to NVIDIA's name for the device.
      
      The namespace of NVKM is being changed to nvkm_ instead of nouveau_,
      which will be used for the DRM part of the driver.  This is being
      done in order to make it very clear as to what part of the driver a
      given symbol belongs to, and as a minor step towards splitting the
      DRM driver out to be able to stand on its own (for virt).
      
      Because there's already a large amount of churn here anyway, this is
      as good a time as any to also switch to NVIDIA's device and chipset
      naming to ease collaboration with them.
      
      A comparison of objdump disassemblies proves no code changes.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      ebb58dc2
    • Ben Skeggs's avatar
      drm/nouveau/clk: rename from clock (no binary change) · f3867f43
      Ben Skeggs authored
      Rename to match the Linux subsystem responsible for the same kind of
      things.  Will be investigating how feasible it will be to expose the
      GPU clock trees with it at some point.
      
      The namespace of NVKM is being changed to nvkm_ instead of nouveau_,
      which will be used for the DRM part of the driver.  This is being
      done in order to make it very clear as to what part of the driver a
      given symbol belongs to, and as a minor step towards splitting the
      DRM driver out to be able to stand on its own (for virt).
      
      Because there's already a large amount of churn here anyway, this is
      as good a time as any to also switch to NVIDIA's device and chipset
      naming to ease collaboration with them.
      
      A comparison of objdump disassemblies proves no code changes.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      f3867f43
    • Ben Skeggs's avatar
      drm/nouveau: remove symlinks, move core/ to nvkm/ (no code changes) · c39f472e
      Ben Skeggs authored
      The symlinks were annoying some people, and they're not used anywhere
      else in the kernel tree.  The include directory structure has been
      changed so that symlinks aren't needed anymore.
      
      NVKM has been moved from core/ to nvkm/ to make it more obvious as to
      what the directory is for, and as some minor prep for when NVKM gets
      split out into its own module (virt) at a later date.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      c39f472e
    • Alexandre Courbot's avatar
      drm/nouveau: merge nouveau_platform.ko into nouveau.ko · 055a65d5
      Alexandre Courbot authored
      Having the two modules separated causes various unneeded complications,
      including having to export symbols accessed between the modules. Make
      things simpler by compiling platform device support into nouveau.ko.
      Platform device support remains optional and is only compiled on Tegra.
      Signed-off-by: default avatarAlexandre Courbot <acourbot@nvidia.com>
      Reviewed-by: default avatarVince Hsu <vinceh@nvidia.com>
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      055a65d5
    • Maarten Lankhorst's avatar
      drm/nouveau: dont switch vt on suspend · 4dc63933
      Maarten Lankhorst authored
      Restore the nv50 cursor bo on resume, and load the lut in
      nv50_display_display_init so it gets set on resume too.
      
      Tested on a fermi and a curie.
      Signed-off-by: default avatarMaarten Lankhorst <maarten.lankhorst@ubuntu.com>
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      4dc63933
    • Rickard Strandqvist's avatar
      drm/nouveau/dispnv04: Remove some unused functions · 4d8bb03b
      Rickard Strandqvist authored
      Removes some functions that are not used anywhere:
      nv04_display_late_takedown() nv04_display_early_init()
      
      This was partially found by using a static code analysis program
      called cppcheck.
      Signed-off-by: default avatarRickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      4d8bb03b
    • Rickard Strandqvist's avatar
      drm/nouveau/gem: Remove unused function · 1119eef0
      Rickard Strandqvist authored
      Remove the function domain_to_ttm() that is not used anywhere.
      
      This was partially found by using a static code analysis program
      called cppcheck.
      Signed-off-by: default avatarRickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      1119eef0
    • Rickard Strandqvist's avatar
      drm/nouveau/bo: Remove unused function · 26b40d81
      Rickard Strandqvist authored
      Remove the function nouveau_bo_rd16() that is not used anywhere.
      
      This was partially found by using a static code analysis program
      called cppcheck.
      Signed-off-by: default avatarRickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      26b40d81
    • Vince Hsu's avatar
      drm/nouveau/clk: allow users to enable auto mode when loading driver · 9f79b5ce
      Vince Hsu authored
      This patch adds one option for the boot config strings "NvClkMode*", so
      that we can enable the "auto" mode when loading module.
      Signed-off-by: default avatarVince Hsu <vinceh@nvidia.com>
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      9f79b5ce
    • Vince Hsu's avatar
      drm/nouveau/pwr: add support for GK20A · 9f7fd620
      Vince Hsu authored
      This patch adds PWR support for GK20A. But instead of adding the PWR
      features like firmware loading and communication with PMU firmware, we
      add the DVFS (Dynamic Voltage and Frequency Scaling), which is one of
      the PMU firmware's jobs on dGPUs, in this patch. This refers to the
      idle signals provided by the NVIDIA hardware and tries to adjust the
      performance level based on the calculated target. The reclocking policy
      can be fine-tuned later when we have more real use cases.
      Signed-off-by: default avatarVince Hsu <vinceh@nvidia.com>
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      9f7fd620
    • Vince Hsu's avatar
      drm/nouveau/pwr: make nouveau_pwr_pgob() non-static · 47e7df39
      Vince Hsu authored
      The platform device does not use the common nouveau_pwr_init() to initialize
      the PWR, but it does need the .pgob() be assigned to avoid NULL pointer
      dereference in graph/nve4.c.
      Signed-off-by: default avatarVince Hsu <vinceh@nvidia.com>
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      47e7df39
    • Vince Hsu's avatar
      drm/nouveau/clk: allow non-blocking for nouveau_clock_astate() · f8a85461
      Vince Hsu authored
      There might be some callers of nouveau_clock_astate(), and they are from
      inetrrupt context. So we must ensure that this function can be atomic in
      that condition. This patch adds one parameter which is subsequently passed
      to nouveau_pstate_calc(). Therefore we can choose whether we want to wait
      for the pstate work's completion or not.
      Signed-off-by: default avatarVince Hsu <vinceh@nvidia.com>
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      f8a85461
    • Vince Hsu's avatar
      drm/nouveau/mc: add missing braces · 9509ff75
      Vince Hsu authored
      Several braces were misplaced unintentionally. That caused the msi handling
      became part of the default case of the first switch statement. So add the
      missing ones.
      Signed-off-by: default avatarVince Hsu <vinceh@nvidia.com>
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      9509ff75
    • Ben Skeggs's avatar
      drm/nv50-/kms: reject attempts at flipping to incompatible framebuffer · 9ba83106
      Ben Skeggs authored
      Looks like a userspace bug can trigger this somehow during a mode
      switch, causing: EVO complaint -> semaphores get out of sync ->
      entire display stalled.
      
      We likely want to be even stricter than this (or at least deal
      better if EVO rejects our request), but I'll save that for the
      drm_plane/atomic conversion and just fix the bug that I already
      know can be triggered.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      9ba83106
    • Ben Skeggs's avatar
      drm/nouveau/kms: default to panel scaling, except for fixed panels prior to nv50 · 0ea5fe8a
      Ben Skeggs authored
      On NV50 and up, we'll allow fixed panels to use EDID-provided modes
      without the GPU scaler, and force scaling (even for NONE) otherwise.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      0ea5fe8a
    • Ben Skeggs's avatar
      drm/nouveau/kms: untangle connector property logic a little · 7d95216e
      Ben Skeggs authored
      Should be the same defaults as before, just easier to follow.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      7d95216e
    • Ben Skeggs's avatar
    • Ben Skeggs's avatar
      drm/nv50-/kms: allow disabling of gpu scaling on fixed panels · 576f7911
      Ben Skeggs authored
      The hilarious part is that, under X, this won't work anyway because the
      server decides to construct its own modes for some reason.
      
      Tested with modetest, which isn't quite as insane.  I'd hope that
      wayland is more sensible.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      576f7911
    • Ben Skeggs's avatar
    • Alexandre Courbot's avatar
      drm/nouveau: sgdma: add comment around suspiscious error handler · 495b2176
      Alexandre Courbot authored
      Common programming sense dictates that resources allocated by a function
      are freed by this function should it fails, but this is not the case for
      the allocated structure of nouveau_sgdma_create_ttm(). It seems that
      n00b contributors attempt to fix this one like bugs flying towards a bug
      zapper, so add a comment to hopefully prevent this from happening
      anymore.
      Signed-off-by: default avatarAlexandre Courbot <acourbot@nvidia.com>
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      495b2176
    • Alexandre Courbot's avatar
      drm/nouveau: sgdma: remove unused nouveau_sgdma_be::dev · 2474ae29
      Alexandre Courbot authored
      nouveau_sgdma_be::dev is only set once during init and never used
      anywhere, so remove it.
      Signed-off-by: default avatarAlexandre Courbot <acourbot@nvidia.com>
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      2474ae29