Skip to content

Commit 734f63b

Browse files
jannaumarcan
authored andcommitted
drm: apple: Update supported firmware versions to 12.3 and 13.5
Removes support for all firmware versions which report as compatible to 13.3 except 13.5. This will be removed after m1n1 reports firmware 13.5 as "apple,firmware-compat" for a while. The files with "v13_3" will be renamed at a later point to avoid conflicts with development trees. Signed-off-by: Janne Grunau <j@jannau.net>
1 parent 3cb8477 commit 734f63b

3 files changed

Lines changed: 19 additions & 9 deletions

File tree

drivers/gpu/drm/apple/dcp-internal.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ struct apple_dcp;
2121
enum dcp_firmware_version {
2222
DCP_FIRMWARE_UNKNOWN,
2323
DCP_FIRMWARE_V_12_3,
24-
DCP_FIRMWARE_V_13_3,
24+
DCP_FIRMWARE_V_13_5,
2525
};
2626

2727
enum {

drivers/gpu/drm/apple/dcp.c

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -446,8 +446,18 @@ static enum dcp_firmware_version dcp_check_firmware_version(struct device *dev)
446446

447447
if (strncmp(compat_str, "12.3.0", sizeof(compat_str)) == 0)
448448
return DCP_FIRMWARE_V_12_3;
449-
if (strncmp(compat_str, "13.3.0", sizeof(compat_str)) == 0)
450-
return DCP_FIRMWARE_V_13_3;
449+
/*
450+
* m1n1 reports firmware version 13.5 as compatible with 13.3. This is
451+
* only true for the iomfb endpoint. The interface for the dptx-port
452+
* endpoint changed between 13.3 and 13.5. The driver will only support
453+
* firmware 13.5. Check the actual firmware version for compat version
454+
* 13.3 until m1n1 reports 13.5 as "firmware-compat".
455+
*/
456+
else if ((strncmp(compat_str, "13.3.0", sizeof(compat_str)) == 0) &&
457+
(strncmp(fw_str, "13.5.0", sizeof(compat_str)) == 0))
458+
return DCP_FIRMWARE_V_13_5;
459+
else if (strncmp(compat_str, "13.5.0", sizeof(compat_str)) == 0)
460+
return DCP_FIRMWARE_V_13_5;
451461

452462
dev_err(dev, "DCP firmware-compat %s (FW: %s) is not supported\n",
453463
compat_str, fw_str);

drivers/gpu/drm/apple/iomfb.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ void dcp_sleep(struct apple_dcp *dcp)
224224
case DCP_FIRMWARE_V_12_3:
225225
iomfb_sleep_v12_3(dcp);
226226
break;
227-
case DCP_FIRMWARE_V_13_3:
227+
case DCP_FIRMWARE_V_13_5:
228228
iomfb_sleep_v13_3(dcp);
229229
break;
230230
default:
@@ -241,7 +241,7 @@ void dcp_poweron(struct platform_device *pdev)
241241
case DCP_FIRMWARE_V_12_3:
242242
iomfb_poweron_v12_3(dcp);
243243
break;
244-
case DCP_FIRMWARE_V_13_3:
244+
case DCP_FIRMWARE_V_13_5:
245245
iomfb_poweron_v13_3(dcp);
246246
break;
247247
default:
@@ -259,7 +259,7 @@ void dcp_poweroff(struct platform_device *pdev)
259259
case DCP_FIRMWARE_V_12_3:
260260
iomfb_poweroff_v12_3(dcp);
261261
break;
262-
case DCP_FIRMWARE_V_13_3:
262+
case DCP_FIRMWARE_V_13_5:
263263
iomfb_poweroff_v13_3(dcp);
264264
break;
265265
default:
@@ -504,7 +504,7 @@ void dcp_flush(struct drm_crtc *crtc, struct drm_atomic_state *state)
504504
case DCP_FIRMWARE_V_12_3:
505505
iomfb_flush_v12_3(dcp, crtc, state);
506506
break;
507-
case DCP_FIRMWARE_V_13_3:
507+
case DCP_FIRMWARE_V_13_5:
508508
iomfb_flush_v13_3(dcp, crtc, state);
509509
break;
510510
default:
@@ -520,7 +520,7 @@ void iomfb_start(struct apple_dcp *dcp)
520520
case DCP_FIRMWARE_V_12_3:
521521
iomfb_start_v12_3(dcp);
522522
break;
523-
case DCP_FIRMWARE_V_13_3:
523+
case DCP_FIRMWARE_V_13_5:
524524
iomfb_start_v13_3(dcp);
525525
break;
526526
default:
@@ -573,7 +573,7 @@ void iomfb_shutdown(struct apple_dcp *dcp)
573573
case DCP_FIRMWARE_V_12_3:
574574
iomfb_shutdown_v12_3(dcp);
575575
break;
576-
case DCP_FIRMWARE_V_13_3:
576+
case DCP_FIRMWARE_V_13_5:
577577
iomfb_shutdown_v13_3(dcp);
578578
break;
579579
default:

0 commit comments

Comments
 (0)