Skip to content
14 changes: 14 additions & 0 deletions Documentation/gpu/apple-drm-parameters.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
.. SPDX-License-Identifier: GPL-2.0-only

Apple display module parameters
===============================

Use ``appledrm.show_notch=1`` to include the notch rows in the panel mode.
This common preference also applies to the M3 internal display firmware;
it replaces the platform-specific ``appledrm.t6030_show_notch`` alias.
When the boot framebuffer should cover those rows too, keep the useful
``chosen.asahi,show-notch=1`` m1n1 display preference alongside it.

The old ``appledrm.dcpext_probe`` parameter had no consumer and has been
removed. External display support follows the device tree and the driver's
compatible and firmware admission checks.
1 change: 1 addition & 0 deletions Documentation/gpu/drivers.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ GPU Driver Documentation

amdgpu/index
apple-dcp-backlight
apple-drm-parameters
asahi-reclaim
asahi-m4-bringup
apple-dcp-m4
Expand Down
25 changes: 1 addition & 24 deletions drivers/gpu/drm/apple/dcp.c
Original file line number Diff line number Diff line change
Expand Up @@ -198,15 +198,6 @@ static bool show_notch;
module_param(show_notch, bool, 0644);
MODULE_PARM_DESC(show_notch, "Use the full display height and shows the notch");

static bool dcpext_probe;
module_param(dcpext_probe, bool, 0444);
MODULE_PARM_DESC(dcpext_probe, "Opt into experimental T6030 external DCP probe (may hang)");

static bool t6030_show_notch;
module_param(t6030_show_notch, bool, 0444);
MODULE_PARM_DESC(t6030_show_notch,
"M3 internal display (14.x and 26.6 IOMFB): use the full height and show the notch");

bool hdmi_audio;
module_param(hdmi_audio, bool, 0644);
MODULE_PARM_DESC(hdmi_audio, "Enable unstable HDMI audio support");
Expand Down Expand Up @@ -4510,20 +4501,6 @@ static bool dcp_external_is_idle(struct apple_dcp *dcp)
(status & APPLE_DCP_COPROC_CPU_STATUS_IDLE);
}

/*
* The M3 internal displays (14.x and 26.6 IOMFB) also accept
* appledrm.t6030_show_notch=1, the switch existing J613/T6030 installs pass,
* so the panel comes up at its full height (2560x1664 on the J613) instead
* of the module refusing an unknown parameter.
*/
static bool dcp_show_notch(struct apple_dcp *dcp)
{
if (dcp->fw_compat != DCP_FIRMWARE_V_14_7 &&
dcp->fw_compat != DCP_FIRMWARE_V_26_6)
return show_notch;
return show_notch || t6030_show_notch;
}

/*
* T8122 dcpext (DCP_FIRMWARE_V_14_7_TEMPLATE): if the PMP runs, the display
* gate added its DISPEXT request and pointed the dcpext at it
Expand Down Expand Up @@ -4670,7 +4647,7 @@ static int dcp_comp_bind_pipe(struct device *dev, struct device *main, void *dat
dev_info(dev, "DCP index:%u dptx target phy: %u dptx die: %u\n",
dcp->index, dcp->dptx_phy, dcp->dptx_die);

if (!dcp_show_notch(dcp))
if (!show_notch)
ret = of_property_read_u32(dev->of_node, "apple,notch-height",
&dcp->notch_height);

Expand Down
2 changes: 1 addition & 1 deletion drivers/gpu/drm/apple/iomfb_v26_6.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
* Scanout is one plane, XRGB8888 or ARGB8888, linear, exactly the mode size.
* Each flush is one swap, completed when the firmware reports that swap id,
* and then the page-flip event is sent. The notch rows (apple,notch-height,
* unless appledrm.t6030_show_notch=1) are outside the mode and stay black.
* unless appledrm.show_notch=1) are outside the mode and stay black.
*/

#include <linux/backlight.h>
Expand Down