Commit fa3d853
committed
drm: apple: Trigger set_digital_out_mode when minRR is changed
DCP requires a "mode change" to be triggered when changing the minRR
property of the IOMFBParameter_adaptive_sync parameter set. Additionally,
the setting of the parameter set must be fenced by a wait cookie, or DCP
will crash.
We cannot trigger a "full" modeset with iomfb_modeset as that function
has failure conditions. iomfb_flush must never fail. iomfb_modeset also
has a very large timeout.
Luckily for us, toggling VRR on and off does not actually trigger a full
modeset on the connected sink when calling set_digital_out_mode. It is
therefore safe to set the parameter and trigger set_digital_out_mode
directly from iomfb_flush. If this for some reason times out, just
fire a vblank and return gracefully.
Signed-off-by: James Calligeros <[email protected]>1 parent 049e881 commit fa3d853
2 files changed
Lines changed: 42 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
186 | 186 | | |
187 | 187 | | |
188 | 188 | | |
| 189 | + | |
| 190 | + | |
189 | 191 | | |
190 | 192 | | |
191 | 193 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1251 | 1251 | | |
1252 | 1252 | | |
1253 | 1253 | | |
| 1254 | + | |
| 1255 | + | |
| 1256 | + | |
| 1257 | + | |
| 1258 | + | |
1254 | 1259 | | |
1255 | 1260 | | |
1256 | 1261 | | |
| |||
1263 | 1268 | | |
1264 | 1269 | | |
1265 | 1270 | | |
1266 | | - | |
1267 | | - | |
1268 | | - | |
1269 | | - | |
1270 | | - | |
| 1271 | + | |
| 1272 | + | |
1271 | 1273 | | |
1272 | 1274 | | |
1273 | 1275 | | |
| |||
1434 | 1436 | | |
1435 | 1437 | | |
1436 | 1438 | | |
| 1439 | + | |
| 1440 | + | |
| 1441 | + | |
| 1442 | + | |
| 1443 | + | |
| 1444 | + | |
| 1445 | + | |
| 1446 | + | |
| 1447 | + | |
| 1448 | + | |
| 1449 | + | |
| 1450 | + | |
| 1451 | + | |
| 1452 | + | |
| 1453 | + | |
| 1454 | + | |
| 1455 | + | |
| 1456 | + | |
| 1457 | + | |
| 1458 | + | |
| 1459 | + | |
| 1460 | + | |
| 1461 | + | |
| 1462 | + | |
| 1463 | + | |
| 1464 | + | |
| 1465 | + | |
| 1466 | + | |
| 1467 | + | |
| 1468 | + | |
| 1469 | + | |
| 1470 | + | |
| 1471 | + | |
1437 | 1472 | | |
1438 | 1473 | | |
1439 | 1474 | | |
| |||
0 commit comments