#
2274ce7e |
|
19-Sep-2023 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/disp: add output backlight control methods - preparation for GSP-RM Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Acked-by: Danilo Krummrich <me@dakr.org> Signed-off-by: Lyude Paul <lyude@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230919220442.202488-24-lyude@redhat.com
|
#
6c6abab2 |
|
19-Sep-2023 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/disp: add output hdmi config method - was previously part of acquire() - preparation for GSP-RM Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Acked-by: Danilo Krummrich <me@dakr.org> Signed-off-by: Lyude Paul <lyude@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230919220442.202488-20-lyude@redhat.com
|
#
f530bc60 |
|
01-Jun-2022 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/disp: move HDMI config into acquire + infoframe methods v2: - fix typo in sorhdmi/g84 struct initialiser (kbuild test robot) v3: - less convoluted flow control in nvkm_uoutp_mthd_acquire_tmds() (lyude) v4: - we don't support hdmi on original nv50, don't try Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
|
#
889fcbe9 |
|
01-Jun-2022 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/disp: add common channel class handling Replaces a bunch of unnecessarily duplicated boilerplate in per-chipset code with a simpler, common, implementation. Channel "awaken" notify code is completely gone for now. KMS has never made use of it so far, and event notify handling is about to be changed in general anyway. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
|
#
7bcf89ee |
|
01-Jun-2022 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/disp: split sor hda funcs out to their own struct Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
|
#
9a4514fb |
|
01-Jun-2022 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/disp: split sor dp funcs out to their own struct Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
|
#
79c453af |
|
01-Jun-2022 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/disp: replace hda func pointer check with flag Simpler, and less error-prone than a separate set of function pointers. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
|
#
1c6aab75 |
|
01-Jun-2022 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/disp: merge nv50_disp_new_() and nvkm_disp_new() Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
|
#
acbe9ecf |
|
01-Jun-2022 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/disp: merge head/outp/ior code into chipset files No changes to code at all here, just shuffling it around and removing a bunch of (now unnecessary) forward-declarations from headers. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
|
#
168c0299 |
|
01-Jun-2022 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/disp: add common class handling between <nv50 and >=nv50 About to expose head/output path/connector objects everywhere, so we will need support for child classes prior to nv50 now. Somewhat cleaner than the code >=nv50 used previously. v2: - use ?: (lyude) Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
|
#
92fba5d3 |
|
01-Jun-2022 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/disp: collapse nv50_disp into nvkm_disp Dump of one struct's members into another, with a couple of list renames because of collisions. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
|
#
0407b33f |
|
01-Jun-2022 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/disp: collapse nv50_disp_func into nvkm_disp_func Aside from a chicken-and-egg problem with a duplicate 'root' member, this is a straight dump of function pointers from one struct into another. The left-over wrapping mess in >=nv50 structs will be fixed later. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
|
#
a7f000ec |
|
03-Feb-2021 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/disp: switch to instanced constructor Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
|
#
bb3b0a42 |
|
08-May-2018 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/disp/nv50-: initialise from the engine, rather than the user object Engines are initialised on an as-needed basis, so this results in the same behaviour, whilst allowing us to simplify things a bit. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
9fe4e177 |
|
08-May-2018 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/disp/nv50-: fetch mask of available sors during oneinit Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
bf5d1a6b |
|
08-May-2018 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/disp/nv50-: fetch mask of available dacs during oneinit Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
f7b2ece3 |
|
08-May-2018 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/disp/nv50-: fetch mask of available heads during oneinit Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
6c22ea37 |
|
19-May-2017 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/disp: introduce acquire/release display path methods These exist to give NVKM information on the set of display paths that the DD needs to be active at any given time. Previously, the supervisor attempted to determine this solely from OR state, but there's a few configurations where this information on its own isn't enough to determine the specific display paths in question: - ANX9805, where the PIOR protocol for both DP and TMDS is TMDS. - On a device using DCB Switched Outputs. - On GM20x and newer, with a crossbar between the SOR and macro links. After this commit, the DD tells NVKM *exactly* which display path it's attempting a modeset on. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
3c66c87d |
|
19-May-2017 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/disp: remove hw-specific customisation of output paths All of the necessary hw-specific logic is now handled at the output resource level, so all of this can go away. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
409b9e54 |
|
19-May-2017 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/disp/gt215-: port HDA ELD controls to nvkm_ior Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
797b2fb8 |
|
19-May-2017 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/disp/g84-: port OR HDMI control to nvkm_ior Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
0df18246 |
|
19-May-2017 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/disp/nv50-: port OR manual sink detection to nvkm_ior Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
9c5753bc |
|
19-May-2017 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/disp/nv50-: port OR power state control to nvkm_ior Also removes the user-facing methods to these controls, as they're not currently utilised by the DD anyway. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
b3c9c022 |
|
19-May-2017 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/disp: fork off some new hw-specific implementations Upcoming commits make supervisor handling share code between the NV50 and GF119 implementations. Because of this, and a few other cleanups, we need to allow some additional customisation. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
78f1ad6f |
|
19-May-2017 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/disp: introduce input/output resource abstraction In order to properly support the SOR -> SOR + pad macro separation that occurred with GM20x GPUs, we need to separate OR handling out of the output path code. This will be used as the base to support ORs (DAC, SOR, PIOR). Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
57b2d73b |
|
19-May-2017 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/disp: common implementation of scanoutpos method in nvkm_head Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
14187b00 |
|
19-May-2017 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/disp: move vblank_{get,put} methods into nvkm_head Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
a1c93078 |
|
19-May-2017 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/disp: introduce object to track per-head functions/state Primarily intended as a way to pass per-head state around during supervisor handling, and share logic between NV50/GF119. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
af85389c |
|
19-May-2017 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/disp: shuffle functions around Upcoming changes to split OR from output path drastically change the placement of various operations. In order to make the real changes clearer, do the moving around part ahead of time. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
fd47877f |
|
08-Jul-2016 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/disp/gp104: initial support Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
db1eb528 |
|
10-Feb-2016 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau: s/gm204/gm200/ in a number of places Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|