On Wed, Sep 10, 2025 at 4:39 PM Mario Limonciello <mario.limoncie...@amd.com> wrote: > > [Why] > When kernel documentation is generated the enum values themselves don't > end up in the documentation. This makes browsing them in HTML a lot > less useful. > > [How] > Copy DC_DEBUG_MASK and DC_FEATURE_MASK enum values into matching kdoc > comments. > > Signed-off-by: Mario Limonciello <mario.limoncie...@amd.com>
Reviewed-by: Alex Deucher <alexander.deuc...@amd.com> > --- > Documentation/gpu/amdgpu/driver-core.rst | 2 +- > drivers/gpu/drm/amd/include/amd_shared.h | 98 ++++++++++++++++-------- > 2 files changed, 67 insertions(+), 33 deletions(-) > > diff --git a/Documentation/gpu/amdgpu/driver-core.rst > b/Documentation/gpu/amdgpu/driver-core.rst > index bd4be32f2725..3ce276272171 100644 > --- a/Documentation/gpu/amdgpu/driver-core.rst > +++ b/Documentation/gpu/amdgpu/driver-core.rst > @@ -210,4 +210,4 @@ IP Blocks > :doc: IP Blocks > > .. kernel-doc:: drivers/gpu/drm/amd/include/amd_shared.h > - :identifiers: amd_ip_block_type amd_ip_funcs DC_DEBUG_MASK > + :identifiers: amd_ip_block_type amd_ip_funcs DC_FEATURE_MASK DC_DEBUG_MASK > diff --git a/drivers/gpu/drm/amd/include/amd_shared.h > b/drivers/gpu/drm/amd/include/amd_shared.h > index bfb446736ca8..75efda2969cf 100644 > --- a/drivers/gpu/drm/amd/include/amd_shared.h > +++ b/drivers/gpu/drm/amd/include/amd_shared.h > @@ -239,18 +239,51 @@ enum amd_harvest_ip_mask { > AMD_HARVEST_IP_DMU_MASK = 0x4, > }; > > +/** > + * enum DC_FEATURE_MASK - Bits that control DC feature defaults > + */ > enum DC_FEATURE_MASK { > //Default value can be found at "uint amdgpu_dc_feature_mask" > - DC_FBC_MASK = (1 << 0), //0x1, disabled by default > - DC_MULTI_MON_PP_MCLK_SWITCH_MASK = (1 << 1), //0x2, enabled by default > - DC_DISABLE_FRACTIONAL_PWM_MASK = (1 << 2), //0x4, disabled by default > - DC_PSR_MASK = (1 << 3), //0x8, disabled by default for dcn < 3.1 > - DC_EDP_NO_POWER_SEQUENCING = (1 << 4), //0x10, disabled by default > - DC_DISABLE_LTTPR_DP1_4A = (1 << 5), //0x20, disabled by default > - DC_DISABLE_LTTPR_DP2_0 = (1 << 6), //0x40, disabled by default > - DC_PSR_ALLOW_SMU_OPT = (1 << 7), //0x80, disabled by default > - DC_PSR_ALLOW_MULTI_DISP_OPT = (1 << 8), //0x100, disabled by default > - DC_REPLAY_MASK = (1 << 9), //0x200, disabled by default for dcn < > 3.1.4 > + /** > + * @DC_FBC_MASK: (0x1) disabled by default > + */ > + DC_FBC_MASK = (1 << 0), > + /** > + * @DC_MULTI_MON_PP_MCLK_SWITCH_MASK: (0x2) enabled by default > + */ > + DC_MULTI_MON_PP_MCLK_SWITCH_MASK = (1 << 1), > + /** > + * @DC_DISABLE_FRACTIONAL_PWM_MASK: (0x4) disabled by default > + */ > + DC_DISABLE_FRACTIONAL_PWM_MASK = (1 << 2), > + /** > + * @DC_PSR_MASK: (0x8) disabled by default for DCN < 3.1 > + */ > + DC_PSR_MASK = (1 << 3), > + /** > + * @DC_EDP_NO_POWER_SEQUENCING: (0x10) disabled by default > + */ > + DC_EDP_NO_POWER_SEQUENCING = (1 << 4), > + /** > + * @DC_DISABLE_LTTPR_DP1_4A: (0x20) disabled by default > + */ > + DC_DISABLE_LTTPR_DP1_4A = (1 << 5), > + /** > + * @DC_DISABLE_LTTPR_DP2_0: (0x40) disabled by default > + */ > + DC_DISABLE_LTTPR_DP2_0 = (1 << 6), > + /** > + * @DC_PSR_ALLOW_SMU_OPT: (0x80) disabled by default > + */ > + DC_PSR_ALLOW_SMU_OPT = (1 << 7), > + /** > + * @DC_PSR_ALLOW_MULTI_DISP_OPT: (0x100) disabled by default > + */ > + DC_PSR_ALLOW_MULTI_DISP_OPT = (1 << 8), > + /** > + * @DC_REPLAY_MASK: (0x200) disabled by default for DCN < 3.1.4 > + */ > + DC_REPLAY_MASK = (1 << 9), > }; > > /** > @@ -258,64 +291,64 @@ enum DC_FEATURE_MASK { > */ > enum DC_DEBUG_MASK { > /** > - * @DC_DISABLE_PIPE_SPLIT: If set, disable pipe-splitting > + * @DC_DISABLE_PIPE_SPLIT: (0x1) If set, disable pipe-splitting > */ > DC_DISABLE_PIPE_SPLIT = 0x1, > > /** > - * @DC_DISABLE_STUTTER: If set, disable memory stutter mode > + * @DC_DISABLE_STUTTER: (0x2) If set, disable memory stutter mode > */ > DC_DISABLE_STUTTER = 0x2, > > /** > - * @DC_DISABLE_DSC: If set, disable display stream compression > + * @DC_DISABLE_DSC: (0x4) If set, disable display stream compression > */ > DC_DISABLE_DSC = 0x4, > > /** > - * @DC_DISABLE_CLOCK_GATING: If set, disable clock gating > optimizations > + * @DC_DISABLE_CLOCK_GATING: (0x8) If set, disable clock gating > optimizations > */ > DC_DISABLE_CLOCK_GATING = 0x8, > > /** > - * @DC_DISABLE_PSR: If set, disable Panel self refresh v1 and PSR-SU > + * @DC_DISABLE_PSR: (0x10) If set, disable Panel self refresh v1 and > PSR-SU > */ > DC_DISABLE_PSR = 0x10, > > /** > - * @DC_FORCE_SUBVP_MCLK_SWITCH: If set, force mclk switch in subvp, > even > + * @DC_FORCE_SUBVP_MCLK_SWITCH: (0x20) If set, force mclk switch in > subvp, even > * if mclk switch in vblank is possible > */ > DC_FORCE_SUBVP_MCLK_SWITCH = 0x20, > > /** > - * @DC_DISABLE_MPO: If set, disable multi-plane offloading > + * @DC_DISABLE_MPO: (0x40) If set, disable multi-plane offloading > */ > DC_DISABLE_MPO = 0x40, > > /** > - * @DC_ENABLE_DPIA_TRACE: If set, enable trace logging for DPIA > + * @DC_ENABLE_DPIA_TRACE: (0x80) If set, enable trace logging for DPIA > */ > DC_ENABLE_DPIA_TRACE = 0x80, > > /** > - * @DC_ENABLE_DML2: If set, force usage of DML2, even if the DCN > version > + * @DC_ENABLE_DML2: (0x100) If set, force usage of DML2, even if the > DCN version > * does not default to it. > */ > DC_ENABLE_DML2 = 0x100, > > /** > - * @DC_DISABLE_PSR_SU: If set, disable PSR SU > + * @DC_DISABLE_PSR_SU: (0x200) If set, disable PSR SU > */ > DC_DISABLE_PSR_SU = 0x200, > > /** > - * @DC_DISABLE_REPLAY: If set, disable Panel Replay > + * @DC_DISABLE_REPLAY: (0x400) If set, disable Panel Replay > */ > DC_DISABLE_REPLAY = 0x400, > > /** > - * @DC_DISABLE_IPS: If set, disable all Idle Power States, all the > time. > + * @DC_DISABLE_IPS: (0x800) If set, disable all Idle Power States, > all the time. > * If more than one IPS debug bit is set, the lowest bit takes > * precedence. For example, if DC_FORCE_IPS_ENABLE and > * DC_DISABLE_IPS_DYNAMIC are set, then DC_DISABLE_IPS_DYNAMIC takes > @@ -324,56 +357,57 @@ enum DC_DEBUG_MASK { > DC_DISABLE_IPS = 0x800, > > /** > - * @DC_DISABLE_IPS_DYNAMIC: If set, disable all IPS, all the time, > + * @DC_DISABLE_IPS_DYNAMIC: (0x1000) If set, disable all IPS, all the > time, > * *except* when driver goes into suspend. > */ > DC_DISABLE_IPS_DYNAMIC = 0x1000, > > /** > - * @DC_DISABLE_IPS2_DYNAMIC: If set, disable IPS2 (IPS1 allowed) if > + * @DC_DISABLE_IPS2_DYNAMIC: (0x2000) If set, disable IPS2 (IPS1 > allowed) if > * there is an enabled display. Otherwise, enable all IPS. > */ > DC_DISABLE_IPS2_DYNAMIC = 0x2000, > > /** > - * @DC_FORCE_IPS_ENABLE: If set, force enable all IPS, all the time. > + * @DC_FORCE_IPS_ENABLE: (0x4000) If set, force enable all IPS, all > the time. > */ > DC_FORCE_IPS_ENABLE = 0x4000, > /** > - * @DC_DISABLE_ACPI_EDID: If set, don't attempt to fetch EDID for > + * @DC_DISABLE_ACPI_EDID: (0x8000) If set, don't attempt to fetch > EDID for > * eDP display from ACPI _DDC method. > */ > DC_DISABLE_ACPI_EDID = 0x8000, > > /** > - * @DC_DISABLE_HDMI_CEC: If set, disable HDMI-CEC feature in amdgpu > driver. > + * @DC_DISABLE_HDMI_CEC: (0x10000) If set, disable HDMI-CEC feature > in amdgpu driver. > */ > DC_DISABLE_HDMI_CEC = 0x10000, > > /** > - * @DC_DISABLE_SUBVP_FAMS: If set, disable DCN Sub-Viewport & > Firmware Assisted > + * @DC_DISABLE_SUBVP_FAMS: (0x20000) If set, disable DCN Sub-Viewport > & Firmware Assisted > * Memory Clock Switching (FAMS) feature in amdgpu driver. > */ > DC_DISABLE_SUBVP_FAMS = 0x20000, > /** > - * @DC_DISABLE_CUSTOM_BRIGHTNESS_CURVE: If set, disable support for > custom brightness curves > + * @DC_DISABLE_CUSTOM_BRIGHTNESS_CURVE: (0x40000) If set, disable > support for custom > + * brightness curves > */ > DC_DISABLE_CUSTOM_BRIGHTNESS_CURVE = 0x40000, > > /** > - * @DC_HDCP_LC_FORCE_FW_ENABLE: If set, use HDCP Locality Check FW > + * @DC_HDCP_LC_FORCE_FW_ENABLE: (0x80000) If set, use HDCP Locality > Check FW > * path regardless of reported HW capabilities. > */ > DC_HDCP_LC_FORCE_FW_ENABLE = 0x80000, > > /** > - * @DC_HDCP_LC_ENABLE_SW_FALLBACK: If set, upon HDCP Locality Check FW > + * @DC_HDCP_LC_ENABLE_SW_FALLBACK: (0x100000) If set, upon HDCP > Locality Check FW > * path failure, retry using legacy SW path. > */ > DC_HDCP_LC_ENABLE_SW_FALLBACK = 0x100000, > > /** > - * @DC_SKIP_DETECTION_LT: If set, skip detection link training > + * @DC_SKIP_DETECTION_LT: (0x200000) If set, skip detection link > training > */ > DC_SKIP_DETECTION_LT = 0x200000, > }; > -- > 2.50.1 >