aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau
Commit message (Collapse)AuthorAge
...
* | drm/nouveau/clk: Use list_for_each_entry_from_reverseArushi Singhal2018-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's better to use "list_for_each_entry_from_reverse" for iterating list than "for loop" as it makes the code more clear to read. This patch replace "for loop" with "list_for_each_entry_from_reverse" and "start" variable with "cstate" which helps in refactoring the code and also "cstate" variable is more commonly used in the other functions. changes in v2: "start" variable is removed, before "cstate" variable was removed but "cstate" is more common so preferred "cstate" over "start". Signed-off-by: Arushi Singhal <arushisinghal19971997@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau: fix temp/pwm visibility, skip hwmon when no sensors existIlia Mirkin2018-05-18
| | | | | | | | | | | | | | | | | | A NV34 GPU was seeing temp and pwm entries in hwmon, which would error out when read. These should not have been visible, but also the whole hwmon object should just not have been registered in the first place. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau: fix nouveau_dsm_get_client_id()'s return typeLuc Van Oostenryck2018-05-18
| | | | | | | | | | | | | | | | | | | | | | The method struct vga_switcheroo_handler::get_client_id() is defined as returning an 'enum vga_switcheroo_client_id' but the implementation in this driver, nouveau_dsm_get_client_id(), returns an 'int'. Fix this by returning 'enum vga_switcheroo_client_id' in this driver too. Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau: fix mode_valid's return typeLuc Van Oostenryck2018-05-18
| | | | | | | | | | | | | | | | | | | | | | The method struct drm_connector_helper_funcs::mode_valid is defined as returning an 'enum drm_mode_status' but the driver implementation for this method uses an 'int' for it. Fix this by using 'enum drm_mode_status' in the driver too. Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/gr/gv100: initial supportBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/ce/gv100: initial supportBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/fifo/gv100: initial supportBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/kms/gv100: initial supportBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/disp/gv100: initial supportBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/dma/gv100: initial supportBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/therm/gv100: initial supportBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/pmu/gv100: initial supportBen Skeggs2018-05-18
| | | | | | | | | | | | Appears to be compatible with GP102. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/fault/gv100: initial supportBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/bar/gv100: initial supportBen Skeggs2018-05-18
| | | | | | | | | | | | Appears to be compatible with GM107. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/mmu/gv100: initial supportBen Skeggs2018-05-18
| | | | | | | | | | | | | | | | VEID support hacked in here, as it's the most convenient place for now. Will be refined once it's better understood. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/ltc/gv100: initial supportBen Skeggs2018-05-18
| | | | | | | | | | | | Appears to be compatible with GP102. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/fb/gv100: initial supportBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/imem/gv100: initial supportBen Skeggs2018-05-18
| | | | | | | | | | | | Can't imagine this will be any different. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/tmr/gv100: initial supportBen Skeggs2018-05-18
| | | | | | | | | | | | Appears to be compatible with GK20A. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/bus/gv100: initial supportBen Skeggs2018-05-18
| | | | | | | | | | | | Appears to be compatible with GF100. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/mc/gv100: initial supportBen Skeggs2018-05-18
| | | | | | | | | | | | Appears to be compatible with GP100. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/fuse/gv100: initial supportBen Skeggs2018-05-18
| | | | | | | | | | | | Appears to be compatible with GM107. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/i2c/gv100: initial supportBen Skeggs2018-05-18
| | | | | | | | | | | | Appears to be compatible with GM200. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/gpio/gv100: initial supportBen Skeggs2018-05-18
| | | | | | | | | | | | Appears to be compatible with GK104. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/ibus/gv100: initial supportBen Skeggs2018-05-18
| | | | | | | | | | | | Appears to be compatible with GM200. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/top/gv100: initial supportBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/devinit/gv100: initial supportBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/bios/pll: limits table 5.0Ben Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/bios/gv100: initial supportBen Skeggs2018-05-18
| | | | | | | | | | | | No real surprises here so far. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/pci/gv100: initial supportBen Skeggs2018-05-18
| | | | | | | | | | | | Appears to be compatible with GP100. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/core: recognise gv100Ben Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/core: increase maximum number of copy engines to 9Ben Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/kms/nv50-: initial overlay supportBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/kms/gk104-: add support for [XA]2R10G10B10 formatsBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/kms/gk104-: support additional cursor sizesBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/kms/nv50-: separate blocklinear vs linear pitchBen Skeggs2018-05-18
| | | | | | | | | | | | Will be required to support Volta. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/kms/nv50-: handle degamma LUT from window channelsBen Skeggs2018-05-18
| | | | | | | | | | | | | | Required to eventually support DRM colour management APIs, and to support Volta. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/kms/nv50-: plane updates don't always require image_set()Ben Skeggs2018-05-18
| | | | | | | | | | | | | | | | | | When only the position of a window changes, there's no need to submit an image update as well. Will be required to support the overlays, and Volta windows. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/kms/nv50-: store window visibility in stateBen Skeggs2018-05-18
| | | | | | | | | | | | | | | | Window visibility is going to become a little more complicated with the upcoming LUT changes, so store the calculated value to avoid needing to recalculate the armed state again. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/kms/nv50-: simplify swap interval handlingBen Skeggs2018-05-18
| | | | | | | | | | | | | | This is just cleaning up some left-overs from when we needed a custom legacy page flip implementation. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/kms/nv50-: decouple window state changes, and update method ↵Ben Skeggs2018-05-18
| | | | | | | | | | | | | | | | submisssion This will be required to support Volta. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/kms/nv50-: simplify tracking of channel interlocksBen Skeggs2018-05-18
| | | | | | | | | | | | | | | | | | | | Instead of windows returning their core channel interlock mask if they know core has been modified, it's recorded unconditionally and used if required when update methods are emitted. This will be required to support Volta. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/kms/nv50-: determine MST support from DP Info TableBen Skeggs2018-05-18
| | | | | | | | | | | | | | GV100 doesn't support MST, use the information provided in VBIOS tables to detect its presence instead. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/kms/nv50-: extend window image data for stereo/planar formatsBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/kms/nv50-: move drm format->hw conversion into common codeBen Skeggs2018-05-18
| | | | | | | | | | | | This will be required to support additional HW features. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/kms/nv50-: unify set/clr masksBen Skeggs2018-05-18
| | | | | | | | | | | | This is a simplification that'll be used to improve interlock handling. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/kms/nv50-: allow specification of valid heads for a windowBen Skeggs2018-05-18
| | | | | | | | | | | | This will be required to support Volta, where window ID != head. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/kms/nv50-: split base implementation by hardware classBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/kms/nv50-: split core implementation by hardware classBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/kms/nv50-: split each resource type into their own source filesBen Skeggs2018-05-18
| | | | | | | | | | | | There should be no code changes here, just shuffling stuff around. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>