[Intel-gfx] [PATCH] drm/i915/dmc: Load DMC on DG2
Rodrigo Vivi
rodrigo.vivi at intel.com
Wed Apr 13 20:56:47 UTC 2022
On Tue, Apr 12, 2022 at 05:57:07PM -0700, Anusha Srivatsa wrote:
> Add Support for DC states on Dg2.
>
> Signed-off-by: Anusha Srivatsa <anusha.srivatsa at intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_display_power.c | 2 +-
> drivers/gpu/drm/i915/display/intel_dmc.c | 10 +++++++++-
> 2 files changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c b/drivers/gpu/drm/i915/display/intel_display_power.c
> index 6a5695008f7c..5a0cab82a156 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_power.c
> @@ -4770,7 +4770,7 @@ static u32 get_allowed_dc_mask(const struct drm_i915_private *dev_priv,
> if (!HAS_DISPLAY(dev_priv))
> return 0;
>
> - if (IS_DG1(dev_priv))
> + if (IS_DG1(dev_priv) || IS_DG2(dev_priv))
> max_dc = 3;
Oh, this max_dc and the enable_dc param is so ugly...
it should deserve at least a enum, but with the dc9 being totally independent
on the decision I couldn't see a clean and quick way... so let's continue
with this for now
> else if (DISPLAY_VER(dev_priv) >= 12)
> max_dc = 4;
> diff --git a/drivers/gpu/drm/i915/display/intel_dmc.c b/drivers/gpu/drm/i915/display/intel_dmc.c
> index 257cf662f9f4..2f01aca4d981 100644
> --- a/drivers/gpu/drm/i915/display/intel_dmc.c
> +++ b/drivers/gpu/drm/i915/display/intel_dmc.c
> @@ -52,6 +52,10 @@
>
> #define DISPLAY_VER12_DMC_MAX_FW_SIZE ICL_DMC_MAX_FW_SIZE
>
> +#define DG2_DMC_PATH DMC_PATH(dg2, 2, 06)
> +#define DG2_DMC_VERSION_REQUIRED DMC_VERSION(2, 06)
> +MODULE_FIRMWARE(DG2_DMC_PATH);
> +
> #define ADLP_DMC_PATH DMC_PATH(adlp, 2, 16)
> #define ADLP_DMC_VERSION_REQUIRED DMC_VERSION(2, 16)
> MODULE_FIRMWARE(ADLP_DMC_PATH);
> @@ -688,7 +692,11 @@ void intel_dmc_ucode_init(struct drm_i915_private *dev_priv)
> */
> intel_dmc_runtime_pm_get(dev_priv);
>
> - if (IS_ALDERLAKE_P(dev_priv)) {
> + if (IS_DG2(dev_priv)) {
> + dmc->fw_path = DG2_DMC_PATH;
> + dmc->required_version = DG2_DMC_VERSION_REQUIRED;
> + dmc->max_fw_size = DISPLAY_VER13_DMC_MAX_FW_SIZE;
> + } else if (IS_ALDERLAKE_P(dev_priv)) {
> dmc->fw_path = ADLP_DMC_PATH;
> dmc->required_version = ADLP_DMC_VERSION_REQUIRED;
> dmc->max_fw_size = DISPLAY_VER13_DMC_MAX_FW_SIZE;
probably worth to rename the dev_priv to i915 on these functions you are touching in here...
anyway:
Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
> --
> 2.25.1
>
More information about the Intel-gfx
mailing list