[RFC v4 03/17] drm/display/dp_mst: Rename drm_dp_mst_vcpi_allocation

2022-08-17 Thread Lyude Paul
ming it to drm_dp_mst_atomic_payload. Also, rename various variables throughout the code that use atomic payloads. Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Ville Syrjälä Cc: Fangzhi Zuo Cc: Jani Nikula Cc: Imre Deak Cc: Daniel Vetter Cc: Sean Paul Acked-by: Jani Nikula --- drivers/gpu/d

[RFC v4 04/17] drm/display/dp_mst: Call them time slots, not VCPI slots

2022-08-17 Thread Lyude Paul
the most part, which is fine since we'll be removing it soon anyhow. There should be no functional changes in this series. v2: * Add note that Wayne Lin from AMD suggested regarding slots being between the source DP Tx and the immediate downstream DP Rx Signed-off-by: Lyude Paul Cc: Wayn

[RFC v4 05/17] drm/display/dp_mst: Fix confusing docs for drm_dp_atomic_release_time_slots()

2022-08-17 Thread Lyude Paul
d allocations. So, let's get rid of that comment. Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Ville Syrjälä Cc: Fangzhi Zuo Cc: Jani Nikula Cc: Imre Deak Cc: Daniel Vetter Cc: Sean Paul Acked-by: Jani Nikula --- drivers/gpu/drm/display/drm_dp_mst_topology.c | 3 +-- 1 file changed,

[RFC v4 07/17] drm/display/dp_mst: Add helper for finding payloads in atomic MST state

2022-08-17 Thread Lyude Paul
We already open-code this quite often, and will be iterating through payloads even more once we've moved all of the payload tracking into the atomic state. So, let's add a helper for doing this. Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Ville Syrjälä Cc: Fangzhi Zuo Cc: Jani

[RFC v4 06/17] drm/display/dp_mst: Add some missing kdocs for atomic MST structs

2022-08-17 Thread Lyude Paul
Since we're about to start adding some stuff here, we may as well fill in any missing documentation that we forgot to write. Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Ville Syrjälä Cc: Fangzhi Zuo Cc: Jani Nikula Cc: Imre Deak Cc: Daniel Vetter Cc: Sean Paul Acked-by: Jani N

[RFC v4 08/17] drm/display/dp_mst: Add nonblocking helpers for DP MST

2022-08-17 Thread Lyude Paul
s we release or allocate timeslots on. As well, add some helpers for: * Setting up the drm_crtc_commit structs in the ->commit_setup hook * Waiting for any CRTC dependencies from the previous topology state v2: * Use drm_dp_mst_atomic_setup_commit() directly - Jani Signed-off-by: Lyude Paul

[RFC v4 11/17] drm/nouveau/kms: Cache DP encoders in nouveau_connector

2022-08-17 Thread Lyude Paul
o avoid looking it up each time. This isn't safe for NV50 since PIORs then come into play, however there's no code pre-NV50 that would need to look this up anyhow - so it's not really an issue. Signed-off-by: Lyude Paul Acked-by: Jani Nikula --- drivers/gpu/drm/nouveau/nouveau_c

[RFC v4 09/17] drm/display/dp_mst: Don't open code modeset checks for releasing time slots

2022-08-17 Thread Lyude Paul
vers using the helpers. Also, it needs to be fixed anyway so we don't break things when going atomic-only with MST. So, let's just move this code into drm_dp_atomic_release_time_slots() and stop open coding it. Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Ville Syrjälä Cc: Fangzhi Zuo

[RFC v4 12/17] drm/nouveau/kms: Pull mst state in for all modesets

2022-08-17 Thread Lyude Paul
Since we're going to be relying on atomic locking for payloads now (and the MST mgr needs to track CRTCs), pull in the topology state for all modesets in nv50_msto_atomic_check(). Signed-off-by: Lyude Paul Acked-by: Jani Nikula --- drivers/gpu/drm/nouveau/dispnv50/disp.c | 2 +- 1 file ch

[RFC v4 10/17] drm/display/dp_mst: Fix modeset tracking in drm_dp_atomic_release_vcpi_slots()

2022-08-17 Thread Lyude Paul
ive change being rejected by the atomic check. Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Ville Syrjälä Cc: Fangzhi Zuo Cc: Jani Nikula Cc: Imre Deak Cc: Daniel Vetter Cc: Sean Paul Acked-by: Jani Nikula --- drivers/gpu/drm/display/drm_dp_mst_topology.c | 11 --- 1 file changed,

[RFC v4 13/17] drm/display/dp_mst: Add helpers for serializing SST <-> MST transitions

2022-08-17 Thread Lyude Paul
e simple helpers for doing that and hook them up in various drivers. v2: * Use intel_dp_mst_source_support() to check for MST support in i915, fixes CI failures Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Ville Syrjälä Cc: Fangzhi Zuo Cc: Jani Nikula Cc: Imre Deak Cc: Daniel Vetter Cc:

[RFC v4 14/17] drm/display/dp_mst: Drop all ports from topology on CSNs before queueing link address work

2022-08-17 Thread Lyude Paul
e only queue link address probing work at the end of handling all CSNs - allowing us to make sure we drop as many topology references as we can beforehand. Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Ville Syrjälä Cc: Fangzhi Zuo Cc: Jani Nikula Cc: Imre Deak Cc: Daniel Vetter Cc: Sean Pa

[RFC v4 16/17] drm/radeon: Drop legacy MST support

2022-08-17 Thread Lyude Paul
n just drop this code and forget about it. I've already run this idea by Harry Wentland and Alex Deucher a few times as well. Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Ville Syrjälä Cc: Fangzhi Zuo Cc: Jani Nikula Cc: Imre Deak Cc: Daniel Vetter Cc: Sean Paul Acked-by: Alex Deucher Acked

[RFC v4 17/17] drm/display/dp_mst: Move all payload info into the atomic state

2022-08-17 Thread Lyude Paul
got myself confused by DC and we don't actually need this. Changes since v2: * Get rid of fix for not sending payload deallocations if ddps=0 and just go back to wayne's fix Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Ville Syrjälä Cc: Fangzhi Zuo Cc: Jani Nikula Cc: Imre Dea

Requests For Proposals for hosting XDC 2023 are now open

2022-08-18 Thread Lyude Paul
ier is better since there generally will be a bit of Q&A with organizers. And if you just have some questions about what organizing XDC entails, please feel free to chat with previous organizers, or someone from the board. Best regards, Lyude Paul On behalf of X.org -- Cheers, L

Re: [RFC v4 00/17] drm/display/dp_mst: Drop Radeon MST support, make MST atomic-only

2022-08-23 Thread Lyude Paul
Would anyone have any issues if I merged this today? The whole series is acked, but I'm not sure if we would like to wait for R-b's? On Wed, 2022-08-17 at 15:38 -0400, Lyude Paul wrote: > For quite a while we've been carrying around a lot of legacy modesetting > code in the

Re: [RFC v4 00/17] drm/display/dp_mst: Drop Radeon MST support, make MST atomic-only

2022-08-23 Thread Lyude Paul
Actually, talked with airlied and they suggested at this point I should just go ahead and push. So, pushed! Have fun getting nice DSC support everyone :) On Tue, 2022-08-23 at 13:26 -0400, Lyude Paul wrote: > Would anyone have any issues if I merged this today? The whole series is > acke

[RFC v4 15/17] drm/display/dp_mst: Maintain time slot allocations when deleting payloads

2022-08-24 Thread Lyude Paul
->delete, which we set whenever we're planning on deleting a payload during the current atomic commit. Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Ville Syrjälä Cc: Fangzhi Zuo Cc: Jani Nikula Cc: Imre Deak Cc: Daniel Vetter Cc: Sean Paul Acked-by: Jani Nikula --- drivers/gpu/dr

Re: [PATCH v4 05/31] drm/nouveau: Don't register backlight when another backlight should be used (v2)

2022-08-25 Thread Lyude Paul
or digits + 1 for '\0' > @@ -405,6 +406,11 @@ nouveau_backlight_init(struct drm_connector *connector) > goto fail_alloc; > } > > + if (!nouveau_acpi_video_backlight_use_native()) { > + NV_INFO(drm, "Skipping nv_backlight registration\n"); >

Re: [PATCH v4 12/31] drm/nouveau: Register ACPI video backlight when nv_backlight registration fails (v2)

2022-08-25 Thread Lyude Paul
Reviewed-by: Lyude Paul On Wed, 2022-08-24 at 14:15 +0200, Hans de Goede wrote: > Typically the acpi_video driver will initialize before nouveau, which > used to cause /sys/class/backlight/acpi_video0 to get registered and then > nouveau would register its own nv_backlight device lat

Re: [PATCH v4 31/31] drm/todo: Add entry about dealing with brightness control on devices with > 1 panel

2022-08-25 Thread Lyude Paul
Reviewed-by: Lyude Paul On Wed, 2022-08-24 at 14:15 +0200, Hans de Goede wrote: > Add an entry summarizing the discussion about dealing with brightness > control on devices with more then 1 internal panel. > > The original discussion can be found here: > https://lore.kerne

Re: [PATCH] drm/radeon: reintroduce radeon_dp_work_func content

2023-05-18 Thread Lyude Paul
Whoops, sorry about that! Reviewed-by: Lyude Paul On Thu, 2023-05-18 at 12:48 -0400, Alex Deucher wrote: > Put back the radeon_dp_work_func logic. It seems that > handling DP RX interrupts is necessary to make some > panels work. This was removed with the MST support, > but it re

Re: [PATCH] drm/dp_mst: Clear MSG_RDY flag before sending new message

2023-06-06 Thread Lyude Paul
> break; > } > + > + drm_dp_mst_hpd_irq_send_new_request(&mstm->mgr); > } > > if (!ret) > diff --git a/include/drm/display/drm_dp_mst_helper.h > b/include/drm/display/drm_dp_mst_helper.h > index 32c764fb9cb5..40e855c8407c 100644 > --- a/include/drm/display/drm_dp_mst_helper.h > +++ b/include/drm/display/drm_dp_mst_helper.h > @@ -815,8 +815,11 @@ void drm_dp_mst_topology_mgr_destroy(struct > drm_dp_mst_topology_mgr *mgr); > bool drm_dp_read_mst_cap(struct drm_dp_aux *aux, const u8 > dpcd[DP_RECEIVER_CAP_SIZE]); > int drm_dp_mst_topology_mgr_set_mst(struct drm_dp_mst_topology_mgr *mgr, > bool mst_state); > > -int drm_dp_mst_hpd_irq(struct drm_dp_mst_topology_mgr *mgr, u8 *esi, bool > *handled); > - > +int drm_dp_mst_hpd_irq_handle_event(struct drm_dp_mst_topology_mgr *mgr, > + const u8 *esi, > + u8 *ack, > + bool *handled); > +void drm_dp_mst_hpd_irq_send_new_request(struct drm_dp_mst_topology_mgr > *mgr); > > int > drm_dp_mst_detect_port(struct drm_connector *connector, -- Cheers, Lyude Paul (she/her) Software Engineer at Red Hat

Re: [PATCH v5] drm/dp_mst: Clear MSG_RDY flag before sending new message

2023-06-12 Thread Lyude Paul
ew_request(&mstm->mgr); > } > > if (!ret) > diff --git a/include/drm/display/drm_dp_mst_helper.h > b/include/drm/display/drm_dp_mst_helper.h > index 32c764fb9cb5..40e855c8407c 100644 > --- a/include/drm/display/drm_dp_mst_helper.h > +++ b/include/drm/display/drm_dp_mst_helper.h > @@ -815,8 +815,11 @@ void drm_dp_mst_topology_mgr_destroy(struct > drm_dp_mst_topology_mgr *mgr); > bool drm_dp_read_mst_cap(struct drm_dp_aux *aux, const u8 > dpcd[DP_RECEIVER_CAP_SIZE]); > int drm_dp_mst_topology_mgr_set_mst(struct drm_dp_mst_topology_mgr *mgr, > bool mst_state); > > -int drm_dp_mst_hpd_irq(struct drm_dp_mst_topology_mgr *mgr, u8 *esi, bool > *handled); > - > +int drm_dp_mst_hpd_irq_handle_event(struct drm_dp_mst_topology_mgr *mgr, > + const u8 *esi, > + u8 *ack, > + bool *handled); > +void drm_dp_mst_hpd_irq_send_new_request(struct drm_dp_mst_topology_mgr > *mgr); > > int > drm_dp_mst_detect_port(struct drm_connector *connector, -- Cheers, Lyude Paul (she/her) Software Engineer at Red Hat

Re: [PATCH v5] drm/dp_mst: Clear MSG_RDY flag before sending new message

2023-06-13 Thread Lyude Paul
Alright, managed to figure out my MST woes! Just tested with nouveau and I see no regressions :) Reviewed-by: Lyude Paul On Fri, 2023-06-09 at 18:49 +0800, Wayne Lin wrote: > [Why] > The sequence for collecting down_reply from source perspective should > be: > > Request_n->r

Re: [PATCH v6 0/8] PCI/VGA: introduce is_boot_device function callback to vga_client_register

2023-06-21 Thread Lyude Paul
For the nouveau bits: Reviewed-by: Lyude Paul On Tue, 2023-06-13 at 03:25 +0800, Sui Jingfeng wrote: > From: Sui Jingfeng > > The vga_is_firmware_default() function is arch-dependent, it's probably > wrong if we simply remove the arch guard. As the VRAM BAR which co

[PATCH 0/2] MST deadlocking fixes

2022-11-04 Thread Lyude Paul
Some deadlock related fixes for amdgpu and DRM, spurred by: https://gitlab.freedesktop.org/drm/amd/-/issues/2171 Unfortunately these don't fully fix the problem yet, but I'm getting there! Lyude Paul (2): drm/amdgpu/mst: Stop ignoring error codes and deadlocking drm/display/d

[PATCH 1/2] drm/amdgpu/mst: Stop ignoring error codes and deadlocking

2022-11-04 Thread Lyude Paul
(), amdgpu had no way of telling when a deadlock happened from these helpers. This could definitely result in some kernel splats. Signed-off-by: Lyude Paul Fixes: 8c20a1ed9b4f ("drm/amd/display: MST DSC compute fair share") Cc: Harry Wentland Cc: # v5.6+ --- .../gpu/drm/amd/display/amdgpu_dm/a

[PATCH 2/2] drm/display/dp_mst: Fix drm_dp_mst_add_affected_dsc_crtcs() return code

2022-11-04 Thread Lyude Paul
al to cause a deadlock. Signed-off-by: Lyude Paul Fixes: 8ec046716ca8 ("drm/dp_mst: Add helper to trigger modeset on affected DSC MST CRTCs") Cc: # v5.6+ --- drivers/gpu/drm/display/drm_dp_mst_topology.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/

Re: [PATCH 1/2] drm/amdgpu/mst: Stop ignoring error codes and deadlocking

2022-11-14 Thread Lyude Paul
On Wed, 2022-11-09 at 09:48 +, Lin, Wayne wrote: > [Public] > > Thanks, Lyude! > Comments inline. > > > -Original Message- > > From: Lyude Paul > > Sent: Saturday, November 5, 2022 7:59 AM > > To: amd-gfx@lists.freedesktop.org > > Cc: Wen

Re: [PATCH 1/2] drm/amdgpu/mst: Stop ignoring error codes and deadlocking

2022-11-14 Thread Lyude Paul
without doing compression, and on ret == -ENOSPC it should just continue the function from there -- Cheers, Lyude Paul (she/her) Software Engineer at Red Hat

[PATCH v2 0/4] drm/amdgpu: Regression fixes from MST atomic-only conversion

2022-11-14 Thread Lyude Paul
t on this issue: https://gitlab.freedesktop.org/drm/amd/-/issues/2171 Note I've omitted one KASAN fix, but that's because it was just getting in the way of turning on KASAN and was definitely unrelated to this bug. Will submit that one on it's own shortly. Lyude Paul (4): drm/amdgpu/

[PATCH v2 1/4] drm/amdgpu/mst: Stop ignoring error codes and deadlocking

2022-11-14 Thread Lyude Paul
(), amdgpu had no way of telling when a deadlock happened from these helpers. This could definitely result in some kernel splats. V2: * Address Wayne's comments (fix another bunch of spots where we weren't passing down return codes) Signed-off-by: Lyude Paul Fixes: 8c20a1ed9b4f ("drm/a

[PATCH v2 3/4] drm/amdgpu/dm/mst: Use the correct topology mgr pointer in amdgpu_dm_connector

2022-11-14 Thread Lyude Paul
paths to look at the right pointer and skip things that aren't actual MST connectors from a topology. Signed-off-by: Lyude Paul Gitlab issue: https://gitlab.freedesktop.org/drm/amd/-/issues/2171 Fixes: 8c20a1ed9b4f ("drm/amd/display: MST DSC compute fair share") Cc: # v5.6+ --- .

[PATCH v2 4/4] drm/amdgpu/dm/dp_mst: Don't grab mst_mgr->lock when computing DSC state

2022-11-14 Thread Lyude Paul
ock. The one exception is the mutex_lock() in dm_dp_mst_is_port_support_mode(), however we grab no locks beneath &mgr->lock there so that should be fine to leave be. Signed-off-by: Lyude Paul Gitlab issue: https://gitlab.freedesktop.org/drm/amd/-/issues/2171 Fixes: 8c20a1ed9b4f ("drm/am

[PATCH v2 2/4] drm/display/dp_mst: Fix drm_dp_mst_add_affected_dsc_crtcs() return code

2022-11-14 Thread Lyude Paul
al to cause a deadlock. Signed-off-by: Lyude Paul Reviewed-by: Wayne Lin Fixes: 8ec046716ca8 ("drm/dp_mst: Add helper to trigger modeset on affected DSC MST CRTCs") Cc: # v5.6+ --- drivers/gpu/drm/display/drm_dp_mst_topology.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-

[PATCH] drm/amd/dc/dce120: Fix audio register mapping, stop triggering KASAN

2022-11-14 Thread Lyude Paul
AN warning finally. Signed-off-by: Lyude Paul Cc: sta...@vger.kernel.org --- Sending this one separately from the rest of my fixes since: * It's definitely completely unrelated to the Gitlab 2171 issue * I'm not sure if this is the correct fix since it's in DC drivers/gpu/

Re: [PATCH v2 1/4] drm/amdgpu/mst: Stop ignoring error codes and deadlocking

2022-11-16 Thread Lyude Paul
lad we were able to fix this on time. Harry, Alex - feel free to merge this on whatever branch you want (I'm fine with the mst-helper bits going through amd's branch, especially since AMD is the only driver using the dsc stuff right now) > > Regards, > Wayne > > -Orig

Re: [PATCH v2 1/4] drm/amdgpu/mst: Stop ignoring error codes and deadlocking

2022-11-18 Thread Lyude Paul
4:39 +, Lin, Wayne wrote: > [Public] > > All the patch set looks good to me. Feel free to add: > Reviewed-by: Wayne Lin > > Again, thank you Lyude for helping on this!!! > > Regards, > Wayne > > -Original Message- > > From: Lyude Paul > > S

[PATCH v3] drm/amdgpu/mst: Stop ignoring error codes and deadlocking

2022-11-18 Thread Lyude Paul
_for_state() Signed-off-by: Lyude Paul Fixes: 8c20a1ed9b4f ("drm/amd/display: MST DSC compute fair share") Reviewed-by: Wayne Lin Cc: Harry Wentland Cc: # v5.6+ --- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 18 +- .../display/amdgpu_dm/amdgpu_dm_mst_types.c | 235 ++-

Re: [PATCH v2 1/4] drm/amdgpu/mst: Stop ignoring error codes and deadlocking

2022-11-18 Thread Lyude Paul
of course, will do in just a moment On Fri, 2022-11-18 at 14:46 -0500, Alex Deucher wrote: > I've already picked this up. Can you send a follow up patch with just > the coverity fix? > > Alex > > On Fri, Nov 18, 2022 at 2:17 PM Lyude Paul wrote: > > > >

Re: [PATCH v2 1/4] drm/amdgpu/mst: Stop ignoring error codes and deadlocking

2022-11-18 Thread Lyude Paul
JFYI - I'm not sure of the correct commit ID to add for the Fixes: tag since it's in your branch, so I'll omit that and let you add it into the patch On Fri, 2022-11-18 at 14:47 -0500, Lyude Paul wrote: > of course, will do in just a moment > > On Fri, 2022-11-18 at 1

[PATCH] drm/amdgpu/dm/mst: Fix uninitialized var in pre_compute_mst_dsc_configs_for_state()

2022-11-18 Thread Lyude Paul
Coverity noticed this one, so let's fix it. Signed-off-by: Lyude Paul --- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c b/drivers/gpu/drm/amd/di

Re: [v3] drm/amdgpu/mst: Stop ignoring error codes and deadlocking

2022-11-18 Thread Lyude Paul
On Fri, 2022-11-18 at 13:54 -0600, Limonciello, Mario wrote: > On 11/18/2022 13:25, Lyude Paul wrote: > > It appears that amdgpu makes the mistake of completely ignoring the return > > values from the DP MST helpers, and instead just returns a simple > > true/false. In this c

Re: [PATCH] Revert "drm/display/dp_mst: Move all payload info into the atomic state"

2023-01-12 Thread Lyude Paul
Acked-by: Lyude Paul On Thu, 2023-01-12 at 16:50 +0800, Wayne Lin wrote: > This reverts commit 4d07b0bc403403438d9cf88450506240c5faf92f. > > [Why] > Changes cause regression on amdgpu mst. > E.g. > In fill_dc_mst_payload_table_from_drm(), amdgpu expects to add/remove payloa

Re: [PATCH] Revert "drm/display/dp_mst: Move all payload info into the atomic state"

2023-01-13 Thread Lyude Paul
oad table. But previous change tries to go through all the > > > payloads in mst_state and update amdpug hw maintained table in once > > > everytime > > > driver only tries to add/remove a specific payload stream only. The newly > > > design idea conflicts wi

Re: [PATCH 0/7] Fix MST on amdgpu

2023-01-20 Thread Lyude Paul
For the whole series: Reviewed-by: Lyude Paul So glad to have this fixed finally ♥ On Thu, 2023-01-19 at 18:51 -0500, Harry Wentland wrote: > MST has been broken on amdgpu after a refactor in drm_dp_mst > code that was aligning drm_dp_mst more closely with the atomic > model. >

Re: [PATCH v2 3/3] drm: Call vga_switcheroo_process_delayed_switch() in drm_lastclose

2023-01-30 Thread Lyude Paul
Acked-by: Lyude Paul On Thu, 2023-01-12 at 21:11 +0100, Thomas Zimmermann wrote: > Several lastclose helpers call vga_switcheroo_process_delayed_switch(). > It's better to call the helper from drm_lastclose() after the kernel > client's screen has been restored. This way, all

Do we really need to increase/decrease MST VC payloads?

2022-05-02 Thread Lyude Paul
ct as possible (maybe with #if 0 or whatever), and ideally just add some code somewhere to avoid increasing/decreasing payloads without a full modeset. FWIW, the WIP of my atomic MST work is here: https://gitlab.freedesktop.org/lyudess/linux/-/commits/wip/mst-atomic-only-v1 I already have i

Re: Do we really need to increase/decrease MST VC payloads?

2022-05-04 Thread Lyude Paul
ce to split this into separate changes to make reviewing my big MST patch series easier. More comments down below: On Mon, 2022-05-02 at 18:40 -0400, Lyude Paul wrote: > Hi! So I kinda hate to ask this, but finding this in amdgpu completely took > me > by surprise and unfortunately is (whi

Re: Do we really need to increase/decrease MST VC payloads?

2022-05-10 Thread Lyude Paul
> FWIW, the WIP of my atomic MST work is here: > > > > > > > > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitl > > > > ab.freedesktop.org%2Flyudess%2Flinux%2F-%2Fcommits%2Fwip%2Fmst- > > > atomic- > > > > only- > > > v1&data=05%7C01%7Cjerry.zuo%40amd.com%7Cf669121b53414c0dbc9 > > > 40 > > > > > > > 8da2e137e85%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C6378 > > > 729585141 > > > > > > > 60092%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2lu > > > MzIiLCJB > > > > > > > TiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=IBn%2BF5 > > > 0r9WIeUfG > > > > 9MUGStbACr5Kolu3PB5K0dyiiYwg%3D&reserved=0 > > > > > > > > I already have i915 and nouveau working with these changes JFYI. > > > > > > -- > > > Cheers, > > >  Lyude Paul (she/her) > > >  Software Engineer at Red Hat > > -- > Regards, > Wayne Lin > -- Cheers, Lyude Paul (she/her) Software Engineer at Red Hat

[PATCH] drm/amdgpu: Add 'modeset' module parameter

2022-05-11 Thread Lyude Paul
owever, so let's add it! Keep in mind that this currently just lets one enable or disable amdgpu, I haven't bothered adding a headless mode like nouveau has - however I'm sure someone else can add this if needed. Signed-off-by: Lyude Paul --- drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c |

Re: [PATCH 0/3] Fix issues when unplung monitor under mst scenario

2022-05-17 Thread Lyude Paul
dgpu_dm/amdgpu_dm_hdcp.c    | 16 ++ >  .../amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 18 +-- >  .../display/amdgpu_dm/amdgpu_dm_mst_types.c   | 39 +-- >  drivers/gpu/drm/amd/display/dc/core/dc.c  | 13 - >  drivers/gpu/drm/amd/display/dc/dc_stream.h    |  1 - >  7 fi

Re: [PATCH 05/14] drm/nouveau: Don't register backlight when another backlight should be used

2022-05-18 Thread Lyude Paul
Reviewed-by: Lyude Paul Also, ack on this being pushed to drm-misc, along with any other patches I r-b On Tue, 2022-05-17 at 17:23 +0200, Hans de Goede wrote: > Before this commit when we want userspace to use the acpi_video backlight > device we register both the GPU's native backl

Re: [PATCH 12/14] drm/nouveau: Register ACPI video backlight when nv_backlight registration fails

2022-05-18 Thread Lyude Paul
ave an internal panel, but no nv_backlight, > +    * try registering an ACPI video backlight device instead. > +    */ > +   if (ret == 0) > +   acpi_video_register_backlight(); Assuming we don't need to return the value of acpi_video_register_backlight() here: Reviewed-by: Lyude Paul > + > return ret; >  } >   -- Cheers, Lyude Paul (she/her) Software Engineer at Red Hat

Re: [PATCH 0/3] Fix issues when unplung monitor under mst scenario

2022-05-31 Thread Lyude Paul
For the whole series: Acked-by: Lyude Paul This looks a lot better for sure :) On Tue, 2022-05-10 at 17:56 +0800, Wayne Lin wrote: > This patch set is trying to resolve issues observed when unplug monitors > under mst scenario. Revert few commits which cause side effects and seems >

[PATCH 3/3] drm/amdgpu/dm: Drop != NULL check in dm_mst_get_pbn_divider()

2022-06-02 Thread Lyude Paul
f link is NULL, you'll return a PBN divisor of 0. And thus, you've simply traded in your potential segfault for a potential divide by 0 error. This was something I actually managed to hit while working on the legacy MST removal work. Signed-off-by: Lyude Paul --- drivers/gpu/drm/am

[PATCH 1/3] drm/amdgpu/dm/mst: Stop grabbing mst_mgr->lock in compute_mst_dsc_configs_for_state()

2022-06-02 Thread Lyude Paul
ically something that DRM drivers should be doing themselves anyway. Signed-off-by: Lyude Paul --- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c b/drivers/gpu/drm/amd/d

[PATCH 2/3] drm/amdgpu/dm/mst: Stop grabbing mst_mgr->lock in pre_compute_mst_dsc_configs_for_state()

2022-06-02 Thread Lyude Paul
This lock is only needed if you're iterating through the in-memory topology (e.g. drm_dp_mst_branch->ports, drm_dp_mst_port->mstb, etc.). This doesn't actually seem to be what's going on here though, so we can just drop this lock. Signed-off-by: Lyude Paul --- driver

[PATCH 0/3] Drive-by MST fixes for amdgpu

2022-06-02 Thread Lyude Paul
Now that I'm finishing up my work to remove the legacy MST code from the tree, I've come across a couple of various issues that I wrote up patches for along the way. These are some of those patches for amdgpu. Lyude Paul (3): drm/amdgpu/dm/mst: Stop grabbing mst_mg

XDC 2022: Registration & Call for Presentations still open!

2022-06-02 Thread Lyude Paul
d me an email to x...@codeweavers.com, adding on CC the X.org board (board at foundation.x.org).   And don't forget, you can follow us on Twitter for all the latest updates and to stay connected:   https://twitter.com/XOrgDevConf Best regards, Lyude Paul, on behalf of X.org

[RFC 00/18] drm/display/dp_mst: Drop Radeon MST support, make MST atomic-only

2022-06-07 Thread Lyude Paul
Syrjälä Cc: Fangzhi Zuo Cc: Jani Nikula Cc: Imre Deak Cc: Daniel Vetter Cc: Sean Paul Lyude Paul (18): drm/amdgpu/dc/mst: Rename dp_mst_stream_allocation(_table) drm/amdgpu/dm/mst: Rename get_payload_table() drm/display/dp_mst: Rename drm_dp_mst_vcpi_allocation drm/display/dp_mst: Ca

[RFC 03/18] drm/display/dp_mst: Rename drm_dp_mst_vcpi_allocation

2022-06-07 Thread Lyude Paul
ming it to drm_dp_mst_atomic_payload. Also, rename various variables throughout the code that use atomic payloads. Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Ville Syrjälä Cc: Fangzhi Zuo Cc: Jani Nikula Cc: Imre Deak Cc: Daniel Vetter Cc: Sean Paul --- drivers/gpu/drm/display/drm_dp_mst_topol

[RFC 02/18] drm/amdgpu/dm/mst: Rename get_payload_table()

2022-06-07 Thread Lyude Paul
hrew me into a loop a few times. So, let's rename this to make it's purpose more obvious regardless of where in the code you are. Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Fangzhi Zuo --- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 7 --- 1 file changed, 4 insert

[RFC 01/18] drm/amdgpu/dc/mst: Rename dp_mst_stream_allocation(_table)

2022-06-07 Thread Lyude Paul
Just to make this more clear to outside contributors that these are DC-specific structs, as this also threw me into a loop a number of times before I figured out the purpose of this. Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Fangzhi Zuo --- .../gpu/drm/amd/display/amdgpu_dm

[RFC 05/18] drm/display/dp_mst: Fix confusing docs for drm_dp_atomic_release_time_slots()

2022-06-07 Thread Lyude Paul
d allocations. So, let's get rid of that comment. Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Ville Syrjälä Cc: Fangzhi Zuo Cc: Jani Nikula Cc: Imre Deak Cc: Daniel Vetter Cc: Sean Paul --- drivers/gpu/drm/display/drm_dp_mst_topology.c | 3 +-- 1 file changed, 1 insertion(+), 2 deleti

[RFC 06/18] drm/display/dp_mst: Add some missing kdocs for atomic MST structs

2022-06-07 Thread Lyude Paul
Since we're about to start adding some stuff here, we may as well fill in any missing documentation that we forgot to write. Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Ville Syrjälä Cc: Fangzhi Zuo Cc: Jani Nikula Cc: Imre Deak Cc: Daniel Vetter Cc: Sean Paul --- include/drm/di

[RFC 07/18] drm/display/dp_mst: Add helper for finding payloads in atomic MST state

2022-06-07 Thread Lyude Paul
We already open-code this quite often, and will be iterating through payloads even more once we've moved all of the payload tracking into the atomic state. So, let's add a helper for doing this. Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Ville Syrjälä Cc: Fangzhi Zuo Cc: Jani

[RFC 04/18] drm/display/dp_mst: Call them time slots, not VCPI slots

2022-06-07 Thread Lyude Paul
the most part, which is fine since we'll be removing it soon anyhow. There should be no functional changes in this series. Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Ville Syrjälä Cc: Fangzhi Zuo Cc: Jani Nikula Cc: Imre Deak Cc: Daniel Vetter Cc: Sean Paul --- .../gpu/drm/amd/displa

[RESEND RFC 00/18] drm/display/dp_mst: Drop Radeon MST support, make MST atomic-only

2022-06-07 Thread Lyude Paul
. So, with this we should be using the atomic state as much as possible with MST modesetting, hooray! Cc: Wayne Lin Cc: Ville Syrjälä Cc: Fangzhi Zuo Cc: Jani Nikula Cc: Imre Deak Cc: Daniel Vetter Cc: Sean Paul Lyude Paul (18): drm/amdgpu/dc/mst: Rename dp_mst_stream_allocation(_ta

[RESEND RFC 03/18] drm/display/dp_mst: Rename drm_dp_mst_vcpi_allocation

2022-06-07 Thread Lyude Paul
ming it to drm_dp_mst_atomic_payload. Also, rename various variables throughout the code that use atomic payloads. Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Ville Syrjälä Cc: Fangzhi Zuo Cc: Jani Nikula Cc: Imre Deak Cc: Daniel Vetter Cc: Sean Paul --- drivers/gpu/drm/display/drm_dp_mst_topol

[RESEND RFC 01/18] drm/amdgpu/dc/mst: Rename dp_mst_stream_allocation(_table)

2022-06-07 Thread Lyude Paul
Just to make this more clear to outside contributors that these are DC-specific structs, as this also threw me into a loop a number of times before I figured out the purpose of this. Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Fangzhi Zuo --- .../gpu/drm/amd/display/amdgpu_dm

[RESEND RFC 05/18] drm/display/dp_mst: Fix confusing docs for drm_dp_atomic_release_time_slots()

2022-06-07 Thread Lyude Paul
d allocations. So, let's get rid of that comment. Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Ville Syrjälä Cc: Fangzhi Zuo Cc: Jani Nikula Cc: Imre Deak Cc: Daniel Vetter Cc: Sean Paul --- drivers/gpu/drm/display/drm_dp_mst_topology.c | 3 +-- 1 file changed, 1 insertion(+), 2 deleti

[RESEND RFC 06/18] drm/display/dp_mst: Add some missing kdocs for atomic MST structs

2022-06-07 Thread Lyude Paul
Since we're about to start adding some stuff here, we may as well fill in any missing documentation that we forgot to write. Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Ville Syrjälä Cc: Fangzhi Zuo Cc: Jani Nikula Cc: Imre Deak Cc: Daniel Vetter Cc: Sean Paul --- include/drm/di

[RESEND RFC 07/18] drm/display/dp_mst: Add helper for finding payloads in atomic MST state

2022-06-07 Thread Lyude Paul
We already open-code this quite often, and will be iterating through payloads even more once we've moved all of the payload tracking into the atomic state. So, let's add a helper for doing this. Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Ville Syrjälä Cc: Fangzhi Zuo Cc: Jani

[RESEND RFC 04/18] drm/display/dp_mst: Call them time slots, not VCPI slots

2022-06-07 Thread Lyude Paul
the most part, which is fine since we'll be removing it soon anyhow. There should be no functional changes in this series. Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Ville Syrjälä Cc: Fangzhi Zuo Cc: Jani Nikula Cc: Imre Deak Cc: Daniel Vetter Cc: Sean Paul --- .../gpu/drm/amd/displa

[RESEND RFC 11/18] drm/nouveau/kms: Cache DP encoders in nouveau_connector

2022-06-07 Thread Lyude Paul
o avoid looking it up each time. This isn't safe for NV50 since PIORs then come into play, however there's no code pre-NV50 that would need to look this up anyhow - so it's not really an issue. Signed-off-by: Lyude Paul --- drivers/gpu/drm/nouveau/nouveau_connector

[RESEND RFC 10/18] drm/display/dp_mst: Fix modeset tracking in drm_dp_atomic_release_vcpi_slots()

2022-06-07 Thread Lyude Paul
ive change being rejected by the atomic check. Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Ville Syrjälä Cc: Fangzhi Zuo Cc: Jani Nikula Cc: Imre Deak Cc: Daniel Vetter Cc: Sean Paul --- drivers/gpu/drm/display/drm_dp_mst_topology.c | 11 --- 1 file changed, 8 insertions(+), 3 deleti

[RESEND RFC 12/18] drm/nouveau/kms: Pull mst state in for all modesets

2022-06-07 Thread Lyude Paul
Since we're going to be relying on atomic locking for payloads now (and the MST mgr needs to track CRTCs), pull in the topology state for all modesets in nv50_msto_atomic_check(). Signed-off-by: Lyude Paul --- drivers/gpu/drm/nouveau/dispnv50/disp.c | 2 +- 1 file changed, 1 insertion(

[RESEND RFC 08/18] drm/display/dp_mst: Add nonblocking helpers for DP MST

2022-06-07 Thread Lyude Paul
s we release or allocate timeslots on. As well, add some helpers for: * Setting up the drm_crtc_commit structs in the ->commit_setup hook * Waiting for any CRTC dependencies from the previous topology state Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Ville Syrjälä Cc: Fangzhi Zuo Cc: Jani Nik

[RESEND RFC 09/18] drm/display/dp_mst: Don't open code modeset checks for releasing time slots

2022-06-07 Thread Lyude Paul
vers using the helpers. Also, it needs to be fixed anyway so we don't break things when going atomic-only with MST. So, let's just move this code into drm_dp_atomic_release_time_slots() and stop open coding it. Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Ville Syrjälä Cc: Fangzhi Zuo

[RESEND RFC 14/18] drm/display/dp_mst: Drop all ports from topology on CSNs before queueing link address work

2022-06-07 Thread Lyude Paul
e only queue link address probing work at the end of handling all CSNs - allowing us to make sure we drop as many topology references as we can beforehand. Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Ville Syrjälä Cc: Fangzhi Zuo Cc: Jani Nikula Cc: Imre Deak Cc: Daniel Vetter Cc: Sean Paul ---

[RESEND RFC 15/18] drm/display/dp_mst: Skip releasing payloads if last connected port isn't connected

2022-06-07 Thread Lyude Paul
omatically if that port is also marked as disconnected. However, if there's another parent in the chain after that which is connected - payloads must be released there with an ALLOCATE_PAYLOAD message. So, let's do that! Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Ville Syrjälä Cc:

[RESEND RFC 16/18] drm/display/dp_mst: Maintain time slot allocations when deleting payloads

2022-06-07 Thread Lyude Paul
->delete, which we set whenever we're planning on deleting a payload during the current atomic commit. Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Ville Syrjälä Cc: Fangzhi Zuo Cc: Jani Nikula Cc: Imre Deak Cc: Daniel Vetter Cc: Sean Paul --- drivers/gpu/drm/dis

[RESEND RFC 17/18] drm/radeon: Drop legacy MST support

2022-06-07 Thread Lyude Paul
n just drop this code and forget about it. I've already run this idea by Harry Wentland and Alex Deucher a few times as well. Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Ville Syrjälä Cc: Fangzhi Zuo Cc: Jani Nikula Cc: Imre Deak Cc: Daniel Vetter Cc: Sean Paul --- drivers/gpu/drm/ra

[RESEND RFC 13/18] drm/display/dp_mst: Add helpers for serializing SST <-> MST transitions

2022-06-07 Thread Lyude Paul
e simple helpers for doing that and hook them up in various drivers. Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Ville Syrjälä Cc: Fangzhi Zuo Cc: Jani Nikula Cc: Imre Deak Cc: Daniel Vetter Cc: Sean Paul --- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 7 +++ drivers/gpu/drm/display/d

[RESEND RFC 02/18] drm/amdgpu/dm/mst: Rename get_payload_table()

2022-06-07 Thread Lyude Paul
hrew me into a loop a few times. So, let's rename this to make it's purpose more obvious regardless of where in the code you are. Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Fangzhi Zuo --- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 7 --- 1 file changed, 4 insert

[RESEND RFC 18/18] drm/display/dp_mst: Move all payload info into the atomic state

2022-06-07 Thread Lyude Paul
't interfere with the ability to queue up multiple payload changes before waiting for the ACT. Signed-off-by: Lyude Paul Cc: Wayne Lin Cc: Ville Syrjälä Cc: Fangzhi Zuo Cc: Jani Nikula Cc: Imre Deak Cc: Daniel Vetter Cc: Sean Paul --- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

Re: [Patch v2 2/3] drm/mst: Refactor the flow for payload allocation/removement

2023-08-07 Thread Lyude Paul
> msto->head->base.index, 0, 0, 0, 0); > } else { > diff --git a/include/drm/display/drm_dp_mst_helper.h > b/include/drm/display/drm_dp_mst_helper.h > index ed5c9660563c..4429d3b1745b 100644 > --- a/include/drm/display/drm_dp_mst_helper.h > +++ b/include/drm/display/drm_dp_mst_helper.h > @@ -46,6 +46,13 @@ struct drm_dp_mst_topology_ref_history { > }; > #endif /* IS_ENABLED(CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS) */ > > +enum drm_dp_mst_payload_allocation { > + DRM_DP_MST_PAYLOAD_ALLOCATION_NONE, > + DRM_DP_MST_PAYLOAD_ALLOCATION_LOCAL, > + DRM_DP_MST_PAYLOAD_ALLOCATION_DFP, > + DRM_DP_MST_PAYLOAD_ALLOCATION_REMOTE, > +}; > + > struct drm_dp_mst_branch; > > /** > @@ -537,7 +544,7 @@ struct drm_dp_mst_atomic_payload { >* drm_dp_mst_atomic_wait_for_dependencies() has been called, which > will ensure the >* previous MST states payload start slots have been copied over to > the new state. Note >* that a new start slot won't be assigned/removed from this payload > until > - * drm_dp_add_payload_part1()/drm_dp_remove_payload() have been > called. > + * drm_dp_add_payload_part1()/drm_dp_remove_payload_part2() have been > called. >* * Acquire the MST modesetting lock, and then wait for any pending > MST-related commits to >* get committed to hardware by calling drm_crtc_commit_wait() on > each of the >* &drm_crtc_commit structs in &drm_dp_mst_topology_state.commit_deps. > @@ -564,6 +571,9 @@ struct drm_dp_mst_atomic_payload { > /** @dsc_enabled: Whether or not this payload has DSC enabled */ > bool dsc_enabled : 1; > > + /** @payload_allocation_status: The allocation status of this payload */ > + enum drm_dp_mst_payload_allocation payload_allocation_status; > + > /** @next: The list node for this payload */ > struct list_head next; > }; > @@ -842,10 +852,13 @@ int drm_dp_add_payload_part1(struct > drm_dp_mst_topology_mgr *mgr, > int drm_dp_add_payload_part2(struct drm_dp_mst_topology_mgr *mgr, >struct drm_atomic_state *state, >struct drm_dp_mst_atomic_payload *payload); > -void drm_dp_remove_payload(struct drm_dp_mst_topology_mgr *mgr, > -struct drm_dp_mst_topology_state *mst_state, > -const struct drm_dp_mst_atomic_payload *old_payload, > -struct drm_dp_mst_atomic_payload *new_payload); > +void drm_dp_remove_payload_part1(struct drm_dp_mst_topology_mgr *mgr, > + struct drm_dp_mst_topology_state *mst_state, > + struct drm_dp_mst_atomic_payload *payload); > +void drm_dp_remove_payload_part2(struct drm_dp_mst_topology_mgr *mgr, > + struct drm_dp_mst_topology_state *mst_state, > + const struct drm_dp_mst_atomic_payload > *old_payload, > + struct drm_dp_mst_atomic_payload *new_payload); > > int drm_dp_check_act_status(struct drm_dp_mst_topology_mgr *mgr); > -- Cheers, Lyude Paul (she/her) Software Engineer at Red Hat

Re: [PATCH 3/3] drm/mst: adjust the function drm_dp_remove_payload_part2()

2023-08-17 Thread Lyude Paul
(pos, &mst_state->payloads, next) { > > > > - if (pos != new_payload && pos->vc_start_slot > new_payload- > > > > vc_start_slot) > > > > - pos->vc_start_slot -= old_payload->time_slots; > > > > + if (pos != payload && pos->vc_start_slot > payload- > > > > vc_start_slot) > > > > + pos->vc_start_slot -= time_slots_to_remove; > > > > } > > > > - new_payload->vc_start_slot = -1; > > > > + payload->vc_start_slot = -1; > > > > > > > > mgr->payload_count--; > > > > - mgr->next_start_slot -= old_payload->time_slots; > > > > + mgr->next_start_slot -= time_slots_to_remove; > > > > > > > > - if (new_payload->delete) > > > > - drm_dp_mst_put_port_malloc(new_payload->port); > > > > + if (payload->delete) > > > > + drm_dp_mst_put_port_malloc(payload->port); > > > > > > > > - new_payload->payload_allocation_status = > > > DRM_DP_MST_PAYLOAD_ALLOCATION_NONE; > > > > + payload->payload_allocation_status = > > > > +DRM_DP_MST_PAYLOAD_ALLOCATION_NONE; > > > > } > > > > -- > > Regards, > > Wayne > -- Cheers, Lyude Paul (she/her) Software Engineer at Red Hat

Re: [Patch v2 2/3] drm/mst: Refactor the flow for payload allocation/removement

2023-08-17 Thread Lyude Paul
v, "Step 2 of creating MST payload for %p > failed: %d\n", > payload->port, ret); > - } > + else > + payload->payload_allocation_status = > DRM_DP_MST_PAYLOAD_ALLOCATION_REMOTE; > > return ret; &g

Re: [Patch v2 2/3] drm/mst: Refactor the flow for payload allocation/removement

2023-08-23 Thread Lyude Paul
Sure - you're also welcome to push the first two patches after fixing the indentation if you'd like On Wed, 2023-08-23 at 03:19 +, Lin, Wayne wrote: > [Public] > > Thanks, Lyude! > Should I push another version to fix the indention? > > > -Original Me

Re: [PATCH v4] drm/amd/display: Add MST atomic routines

2019-10-18 Thread Lyude Paul
the DSC MST series > > v4: > - set vcpi_slots and pbn properties to dm_connector_state > - copy porperties from connector state on to crtc state > > Cc: Jerry Zuo > Cc: Harry Wentland > Cc: Nicholas Kazlauskas > Cc: Lyude Paul > Signed-off-by: Mikita Lipski > ---

[PATCH v5 02/14] drm/dp_mst: Remove PDT teardown in drm_dp_destroy_port() and refactor

2019-10-21 Thread Lyude Paul
eviewed-by: Sean Paul Signed-off-by: Lyude Paul --- drivers/gpu/drm/drm_dp_mst_topology.c | 40 +++ 1 file changed, 16 insertions(+), 24 deletions(-) diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c index 66ff226d8c86..204d0c832c65 100

[PATCH v5 04/14] drm/dp_mst: Handle UP requests asynchronously

2019-10-21 Thread Lyude Paul
send sideband messages from most contexts without having to deal with getting blocked if we hold connection_mutex. This also fixes MST branch device hotplugging on i915, finally! Cc: Juston Li Cc: Imre Deak Cc: Ville Syrjälä Cc: Harry Wentland Cc: Daniel Vetter Signed-off-by: Lyude Paul Reviewe

[PATCH v5 03/14] drm/dp_mst: Refactor pdt setup/teardown, add more locking

2019-10-21 Thread Lyude Paul
rdown_pdt() into a single function: drm_dp_port_set_pdt(). This function also handles actually ensuring that we grab the correct locks when we need to modify port->mstb. Cc: Juston Li Cc: Imre Deak Cc: Ville Syrjälä Cc: Harry Wentland Cc: Daniel Vetter Signed-off-by: Lyude Paul Reviewed-by: Sea

[PATCH v5 01/14] drm/dp_mst: Destroy MSTBs asynchronously

2019-10-21 Thread Lyude Paul
elayed_destroy_work() - danvet * Better explain why we need to do this - danvet * Use cancel_work_sync() instead of flush_work() - flush_work() doesn't account for work requeing Cc: Juston Li Cc: Imre Deak Cc: Ville Syrjälä Cc: Harry Wentland Cc: Daniel Vetter Signed-off-by: Lyude Paul

[PATCH v5 00/14] DP MST Refactors + debugging tools + suspend/resume reprobing

2019-10-21 Thread Lyude Paul
hile the device housing said connector is in runtime suspend. As well, the debugging tools that are added in this include: * A limited debugging utility for dumping the list of topology references on an MST port or branch connector whose topology reference count has reached 0 Lyude Paul (14

[PATCH v5 05/14] drm/dp_mst: Add probe_lock

2019-10-21 Thread Lyude Paul
_dp_mst_link_probe_work() and drm_dp_mst_up_req_work(). Additionally, add some more detailed explanations for how this locking is intended to work to drm_dp_mst_port->mstb and drm_dp_mst_branch->ports. Signed-off-by: Lyude Paul Cc: Juston Li Cc: Imre Deak Cc: Ville Syrjälä Cc: Harry We

[PATCH v5 09/14] drm/nouveau: Don't grab runtime PM refs for HPD IRQs

2019-10-21 Thread Lyude Paul
ng with runtime suspend/resume. Now that those requests are handled asynchronously, this change should be completely safe. Cc: Juston Li Cc: Imre Deak Cc: Ville Syrjälä Cc: Harry Wentland Cc: Daniel Vetter Reviewed-by: Sean Paul Signed-off-by: Lyude Paul --- drivers/gpu/drm/nouveau/nouv

<    1   2   3   4   5   6   7   >