]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
drm/i915/cdclk: Incorporate Xe3_LPD changes for CD2X divider
authorGustavo Sousa <gustavo.sousa@intel.com>
Tue, 6 Jan 2026 21:40:21 +0000 (18:40 -0300)
committerGustavo Sousa <gustavo.sousa@intel.com>
Fri, 9 Jan 2026 14:32:06 +0000 (11:32 -0300)
commit0f8d0d764cc936cb834f39f0279c7776e0c1209d
treeb1ce4fe5a6f87f1399e614e6c01097bcf91004f5
parent936cae9254e55a39aeaa0c156a764d22f319338b
drm/i915/cdclk: Incorporate Xe3_LPD changes for CD2X divider

On Xe3_LPD, there is no instruction to program the CD2X divider anymore
and the hardware is expected to always use the default value of 0b00,
meaning "divide by 1".

With that, the CDCLK_CTL register was changed so that:

  (1) The field "CD2X Divider Select" became a debug-only field.
      Because we are programming CDCLK_CTL with a direct write instead
      of read-modify-write operation, we still need to program "CD2X
      Divider Select" in order to keep the field from deviating from its
      default value.  Let's, however, throw a warning if we encounter a
      CDCLK value that would result in an unexpected value for that
      field.

  (2) The field "CD2X Pipe Select" has been removed. In fact, some
      debugging in a PTL machine showed that such field comes back as
      zero after writing a non-zero value to it.  As such, do not
      program it starting with Xe3_LPD.

v2:
  - Add missing "val |= " when calling bxt_cdclk_cd2x_pipe().
    (Dnyaneshwar)

Bspec: 68864, 69090
Reviewed-by: Dnyaneshwar Bhadane <dnyaneshwar.bhadane@intel.com>
Link: https://patch.msgid.link/20260106-xe3_lpd-no-cd2x-divider-v2-1-06e5cbc9dabb@intel.com
Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
drivers/gpu/drm/i915/display/intel_cdclk.c