Ville Syrjälä
aeb47df357
drm/i915: Clean up the bigjoiner state copy logic
...
Currently the bigjoiner state copy logic is kind of
a byzantine mess.
Clean it up to operate in the following manner during a full
modeset:
1) master uapi -> hw state copy
2) master hw -> slave hw state copy
And during a non-modeset update we do:
1) master uapi -> hw state light copy
2) master hw -> slave hw state light copy
I think that is now easier to reason about since we never do
any kind of master uapi -> slave hw state copy short circuit
that could happen previously.
Obviously this does now depend on the master uapi->hw copy
always happening before the master hw -> slave hw copy, but
that is guaranteed by the fact that we always add both crtcs
to the state early, the crtcs are registered in pipe
order (so the compute_config loop happens in pipe order),
and the hardware requires the master pipe has to be lower
than the slave pipe as well. And for good measure we shall
add a check+WARN for this before doing the bigjoiner crtc
assignment.
v2: Fix uapi.ctm vs. hw.ctm copy-paste fail
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20220204072049.1610-1-ville.syrjala@linux.intel.com
Reviewed-by: Manasi Navare <manasi.d.navare@intel.com >
2022-02-11 22:42:23 +02:00
..
2022-01-25 17:54:23 -05:00
2021-11-30 11:10:03 +01:00
2021-11-04 08:21:47 -07:00
2021-12-14 10:24:28 +01:00
2022-02-07 16:35:35 -08:00
2021-11-30 11:10:03 +01:00
2021-12-16 13:02:23 +01:00
2022-02-07 16:35:35 -08:00
2021-12-22 11:39:39 +09:00
2021-12-06 09:30:16 +01:00
2021-10-21 09:32:51 +02:00
2022-02-07 16:35:35 -08:00
2021-11-30 11:10:03 +01:00
2022-02-07 16:35:35 -08:00
2021-08-10 20:14:01 +02:00
2022-02-11 22:42:23 +02:00
2021-11-30 11:10:03 +01:00
2021-11-30 11:10:03 +01:00
2021-11-30 11:10:03 +01:00
2022-02-07 16:35:35 -08:00
2021-11-30 11:10:03 +01:00
2022-02-07 16:35:35 -08:00
2021-11-30 11:10:03 +01:00
2021-09-25 08:20:48 -07:00
2022-02-07 16:35:35 -08:00
2022-02-07 16:35:35 -08:00
2021-11-30 11:10:03 +01:00
2022-01-14 15:17:17 +01:00
2021-12-08 10:04:59 +02:00
2021-12-16 09:39:25 +01:00
2022-02-07 16:35:35 -08:00
2021-11-30 11:10:03 +01:00
2022-02-07 16:35:35 -08:00
2021-10-28 14:59:38 +10:00
2022-02-07 16:35:35 -08:00
2021-12-10 15:08:21 +10:00
2022-02-07 16:35:35 -08:00
2021-05-03 19:48:30 +02:00
2021-11-23 09:38:55 +10:00
2021-10-22 11:09:45 +02:00
2021-11-30 11:10:03 +01:00
2021-05-03 19:48:33 +02:00
2021-12-10 12:38:10 +01:00
2021-11-30 11:10:03 +01:00
2021-11-30 11:10:03 +01:00
2022-01-14 15:17:17 +01:00
2022-02-07 16:35:35 -08:00
2021-11-30 11:10:03 +01:00
2021-11-30 11:10:03 +01:00
2022-02-07 16:35:35 -08:00
2022-02-07 16:35:35 -08:00
2021-11-30 11:10:03 +01:00
2022-02-07 16:35:35 -08:00
2021-12-02 11:12:39 +01:00
2022-02-07 16:35:35 -08:00
2022-01-19 10:08:48 +01:00
2021-12-02 11:12:39 +01:00
2021-08-10 20:14:01 +02:00
2022-01-18 10:05:48 +02:00
2022-02-07 16:35:35 -08:00
2022-01-27 17:55:20 +02:00
2022-02-07 16:35:35 -08:00
2022-01-14 14:55:38 +01:00
2021-05-11 14:13:33 +02:00
2021-08-02 10:19:43 +02:00
2022-01-14 14:31:54 +01:00
2021-11-26 16:45:22 +01:00
2022-01-26 09:40:24 +01:00
2021-11-26 16:45:22 +01:00
2021-04-22 10:46:35 +02:00
2021-09-24 19:25:23 +02:00
2021-08-02 10:19:43 +02:00
2022-02-07 16:35:35 -08:00
2021-10-04 09:34:57 -04:00
2022-02-07 16:35:35 -08:00
2021-11-02 14:27:11 +01:00
2021-05-16 22:01:14 +02:00
2021-02-08 12:20:38 +01:00
2021-10-04 09:34:57 -04:00
2021-08-20 12:35:59 +02:00
2021-02-17 12:52:59 +01:00
2021-08-02 10:19:43 +02:00
2021-06-10 19:14:47 +02:00
2021-07-20 20:14:42 +02:00
2021-03-31 15:42:39 +03:00
2021-04-26 18:19:15 +02:00
2021-08-11 08:47:08 +10:00
2021-04-27 18:43:42 -04:00
2021-04-27 18:43:45 -04:00
2022-02-11 11:35:37 +02:00
2022-01-22 08:33:37 +02:00
2021-10-14 21:39:02 +02:00
2021-08-02 10:19:43 +02:00
2021-10-28 14:59:38 +10:00
2021-05-25 11:42:09 +01:00
2022-02-07 16:35:35 -08:00
2021-08-02 10:19:43 +02:00
2021-12-16 11:06:30 +01:00
2021-12-16 11:23:22 +01:00
2021-10-04 09:34:57 -04:00
2021-10-25 09:33:22 +02:00
2022-02-07 16:35:35 -08:00
2022-02-07 16:35:35 -08:00
2022-02-07 16:35:35 -08:00
2022-02-07 16:35:35 -08:00
2022-02-07 16:35:35 -08:00
2022-02-07 16:35:35 -08:00
2021-11-30 09:41:28 +01:00
2021-08-02 10:19:43 +02:00
2022-02-07 16:35:35 -08:00
2021-08-17 13:56:03 -04:00
2021-08-28 19:00:20 +02:00
2021-10-22 16:20:12 +02:00
2021-08-18 14:33:47 +02:00
2021-10-01 15:55:47 +02:00
2021-08-10 20:14:01 +02:00
2021-11-30 09:41:28 +01:00
2021-05-10 15:46:58 +02:00
2022-02-07 16:35:35 -08:00
2021-09-24 19:25:33 +02:00
2022-01-22 08:33:37 +02:00
2021-08-02 10:19:43 +02:00
2021-08-02 10:19:43 +02:00
2022-01-22 08:33:37 +02:00
2021-11-27 21:05:58 +01:00
2021-10-14 20:47:30 +02:00
2022-01-31 13:19:33 -05:00
2021-07-13 06:38:37 -07:00
2021-05-17 21:19:48 +02:00
2021-10-07 12:24:44 +02:00
2021-08-02 10:19:43 +02:00
2022-02-07 16:35:35 -08:00
2021-08-19 09:02:55 +09:00
2022-01-26 15:25:50 +01:00
2021-10-14 13:12:25 +02:00
2021-11-02 14:27:14 +01:00
2021-10-07 05:42:13 +03:00
2021-08-02 10:19:43 +02:00
2021-08-08 20:14:08 +02:00
2021-12-08 17:19:48 +01:00
2021-11-02 14:27:06 +01:00
2021-08-10 20:14:01 +02:00
2021-05-10 15:46:58 +02:00
2021-08-02 10:19:43 +02:00
2021-12-10 12:36:52 +01:00
2021-12-10 12:36:52 +01:00