Alexandre Courbot
9772605ce8
drm/nouveau/clk/gk20a: properly protect macro argument
...
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-07-14 11:53:25 +10:00
Alexandre Courbot
791eeea2dc
drm/nouveau/volt/gm20b: add support for vmin parameter
...
Chips may be characterized for a minimum voltage. Support this extra
parameter and select the appropriate minimum voltage for the detected
GPU speedo.
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-07-14 11:53:25 +10:00
Alexandre Courbot
ebe5e526c1
drm/nouveau/volt/gk20a: rename constructor
...
Strip the _ prefix off the gk20a volt constructor.
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-07-14 11:53:25 +10:00
Alexandre Courbot
ff318a51bf
drm/nouveau/volt/gk20a: constify and name v_scale
...
Give a name to this constant so we at least get an idea of what it is
for.
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-07-14 11:53:25 +10:00
Alexandre Courbot
328bee464b
drm/nouveau/volt/gk20a: make unused public functions static
...
Nobody else is using these, so make them private.
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-07-14 11:53:25 +10:00
Ben Skeggs
5dfc5dbf65
drm/nouveau/secboot: use nvkm_mc_enable/disable()
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-07-14 11:53:25 +10:00
Ben Skeggs
2b80bb74fb
drm/nouveau/secboot: use nvkm_mc_intr_mask/unmask()
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-07-14 11:53:25 +10:00
Ben Skeggs
8a90b6fe8c
drm/nouveau/mc/gk104-: add pmu reset mask
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-07-14 11:53:25 +10:00
Ben Skeggs
9b02baf19f
drm/nouveau/mc/gf100-: support for masking interrupts
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-07-14 11:53:25 +10:00
Ben Skeggs
5805bd1e0b
drm/nouveau/mc/gt215: support for masking interrupts
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-07-14 11:53:25 +10:00
Ben Skeggs
66adbfb00d
drm/nouveau/mc: support for temporarily masking interrupts from a specific device
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-07-14 11:53:25 +10:00
Ben Skeggs
6e09a57899
drm/nouveau/mc: s/intr_mask/intr_stat/
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-07-14 11:53:25 +10:00
Ben Skeggs
3c2a536b0c
drm/nouveau/mc: expose device enable/disable separately, as well as reset
...
There are cases where subdevs need to perform additonal actions around
the master reset, so we want to expost the operations separately.
This commit also adds a flag to the NV_PMC_ENABLE bitfield definitions
which allow skipping the automatic reset() called from core/subdev.c.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-07-14 11:53:25 +10:00
Ben Skeggs
d398119034
drm/nouveau/mc: take nvkm_device as argument to public functions
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-07-14 11:53:25 +10:00
Ben Skeggs
d6adbe949d
drm/nouveau/mc: allow construction of subclassed device
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-07-14 11:53:25 +10:00
Ben Skeggs
3560e1703f
drm/nouveau/top: add function to lookup interrupt mask for a given device
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-07-14 11:53:25 +10:00
Ben Skeggs
952eb819e3
drm/nouveau/top: take nvkm_device as argument to public functions
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-07-14 11:53:25 +10:00
Ben Skeggs
6aa85f1129
drm/nouveau/iccsense: fix memory leak
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-06-15 16:18:28 +10:00
Ben Skeggs
9057c8d750
drm/nouveau/ltc/gm107-: fix typo in the address of NV_PLTCG_LTC0_LTS0_INTR
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Cc: stable@vger.kernel.org
2016-06-02 13:53:38 +10:00
Ben Skeggs
bc9139d23f
drm/nouveau/bios/disp: fix handling of "match any protocol" entries
...
As it turns out, a value of 0xff means "any protocol" and not "VGA".
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Cc: stable@vger.kernel.org
2016-06-02 13:53:30 +10:00
Ben Skeggs
4d3df19a8e
drm/nouveau/bios/pll: check BIT table version before trying to parse it
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
2781c928b1
drm/nouveau/bios/pll: prevent oops when limits table can't be parsed
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Karol Herbst
d07a97e939
drm/nouveau/volt/gk104: round up in gk104_volt_set
...
We always want a equal or higher voltage than the requested ones, otherwise
nouveau undervolts.
Signed-off-by: Karol Herbst <nouveau@karolherbst.de >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
e976278ad2
drm/nouveau/fb/gm200: setup mmu debug buffer registers at init()
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
834b21f5e9
drm/nouveau/fb/gk20a,gm20b: setup mmu debug buffer registers at init()
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
99c5917253
drm/nouveau/fb/gf100-: allocate mmu debug buffers
...
Later chipsets require setting this up both in FB and GR, so let's just
move the allocation to FB.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
917d95a86e
drm/nouveau/fb: allow chipset-specific actions for oneinit()
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
56d06fa29e
drm/nouveau/core: remove pmc_enable argument from subdev ctor
...
These are now specified directly in the MC subdev.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
d85e2a8dd8
drm/nouveau/mc/nv04: define reset masks + intr cleanup
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
667e99ab23
drm/nouveau/mc/nv11: define reset masks + intr cleanup
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
79360b7d5f
drm/nouveau/mc/nv17: define reset masks + intr cleanup
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
9199fbdbf8
drm/nouveau/mc/nv50: define reset masks + intr cleanup
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
7354902001
drm/nouveau/mc/g84: define reset masks + intr cleanup
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
e56f90fe17
drm/nouveau/mc/g98: define reset masks + intr cleanup
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
88c0de2cdb
drm/nouveau/mc/gt215: define reset masks + intr cleanup
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
a6bb38e902
drm/nouveau/mc/gf100: define reset masks + intr cleanup
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
33537d6fdc
drm/nouveau/mc/gk104: define reset masks + intr cleanup
...
Engine fields have been removed, as they're specified by PTOP.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
921be10d85
drm/nouveau/mc: implement support for PTOP interrupt routing
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
583f8e4ea2
drm/nouveau/mc: implement support for PTOP reset info
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
70b01f07db
drm/nouveau/mc: allow for local definition of reset bits
...
With the addition of PTOP-specified reset bits, it makes more sense to
move the definitions here rather than in individual subdev
implementations.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
6defde5ab3
drm/nouveau/mc: add helper function to handle device reset
...
This will be later extended to handle PTOP-specified reset masks as well
as the hardcoded ones.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
87f313e6e6
drm/nouveau/mc: rename struct nvkm_mc_intr to nvkm_mc_map
...
This will also be used to define NV_PMC_ENABLE <-> subdev mappings in an
upcoming commit.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
fb3e9c61ca
drm/nouveau/top/gk104: initial implementation
...
Ported from the code currently in engine/fifo/gk104.c.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
5f76f294d1
drm/nouveau/top: initial implementation
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
eaebfcc34e
drm/nouveau/core: add top plumbing
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Karol Herbst
2e9a43f901
drm/nouveau/iccsense: configure sensors like nvidia does
...
v2: rename ina209/ina219 read function
Signed-off-by: Karol Herbst <nouveau@karolherbst.de >
Reviewed-by: Martin Peres <martin.peres@free.fr >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Karol Herbst
5f1f07de41
drm/nouveau/iccsense: split sensor into own struct
...
v2: add list_del call, reword error message
Signed-off-by: Karol Herbst <nouveau@karolherbst.de >
Reviewed-by: Martin Peres <martin.peres@free.fr >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Karol Herbst
92224e751f
drm/nouveau/iccsense: convert to linked list
...
v2: add list_del calls
Signed-off-by: Karol Herbst <nouveau@karolherbst.de >
Reviewed-by: Martin Peres <martin.peres@free.fr >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Karol Herbst
d03e0f2748
drm/nouveau/iccsense: remove read function
...
Signed-off-by: Karol Herbst <nouveau@karolherbst.de >
Reviewed-by: Martin Peres <martin.peres@free.fr >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Karol Herbst
7d28dbae22
drm/nouveau/pmu: be more strict about locking
...
When we start communicating with the pmu a bit more, the current code is
a real issue. I encountered a dead lock here, while testing my dynamic
reclocking code
Signed-off-by: Karol Herbst <nouveau@karolherbst.de >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00