From: Jani Nikula <jani.nikula@intel.com>
To: Mitul Golani <mitulkumar.ajitkumar.golani@intel.com>,
intel-gfx@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org, ankit.k.nautiyal@intel.com
Subject: Re: [PATCH v10 1/8] drm/i915: Separate VRR related register definitions
Date: Thu, 30 May 2024 16:48:49 +0300 [thread overview]
Message-ID: <87o78nh0la.fsf@intel.com> (raw)
In-Reply-To: <20240530060408.67027-2-mitulkumar.ajitkumar.golani@intel.com>
On Thu, 30 May 2024, Mitul Golani <mitulkumar.ajitkumar.golani@intel.com> wrote:
> Move VRR related register definitions to a separate file called
> intel_vrr_regs.h.
But this is not just movement... there's a bunch of other (mostly
unwanted?) changes there too.
'git show --color-moved' is a powerful tool for reviewing code
movement. If it's not just movement, you have to fallback to manual
review of the whole thing.
> Signed-off-by: Mitul Golani <mitulkumar.ajitkumar.golani@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_vrr.c | 1 +
> drivers/gpu/drm/i915/display/intel_vrr_regs.h | 117 ++++++++++++++++++
> drivers/gpu/drm/i915/i915_reg.h | 100 ---------------
> 3 files changed, 118 insertions(+), 100 deletions(-)
> create mode 100644 drivers/gpu/drm/i915/display/intel_vrr_regs.h
>
> diff --git a/drivers/gpu/drm/i915/display/intel_vrr.c b/drivers/gpu/drm/i915/display/intel_vrr.c
> index 5f3657aa8313..871e6e6a184a 100644
> --- a/drivers/gpu/drm/i915/display/intel_vrr.c
> +++ b/drivers/gpu/drm/i915/display/intel_vrr.c
> @@ -9,6 +9,7 @@
> #include "intel_de.h"
> #include "intel_display_types.h"
> #include "intel_vrr.h"
> +#include "intel_vrr_regs.h"
> #include "intel_dp.h"
>
> bool intel_vrr_is_capable(struct intel_connector *connector)
> diff --git a/drivers/gpu/drm/i915/display/intel_vrr_regs.h b/drivers/gpu/drm/i915/display/intel_vrr_regs.h
> new file mode 100644
> index 000000000000..c6ad0a88cf88
> --- /dev/null
> +++ b/drivers/gpu/drm/i915/display/intel_vrr_regs.h
> @@ -0,0 +1,117 @@
> +/* SPDX-License-Identifier: MIT */
> +/*
> + * Copyright © 2024 Intel Corporation
> + */
> +
> +#ifndef __INTEL_VRR_REG_H__
> +#define __INTEL_VRR_REG_H__
Does not match file name.
BR,
Jani.
> +
> +#include "intel_display_reg_defs.h"
> +
> +/* VRR registers */
> +#define _TRANS_VRR_VSYNC_A 0x60078
> +#define TRANS_VRR_VSYNC(dev_priv, trans) _MMIO_TRANS2(dev_priv, trans, \
> + _TRANS_VRR_VSYNC_A)
> +#define VRR_VSYNC_END_MASK REG_GENMASK(28, 16)
> +#define VRR_VSYNC_END(vsync_end) REG_FIELD_PREP(VRR_VSYNC_END_MASK, (vsync_end))
> +#define VRR_VSYNC_START_MASK REG_GENMASK(12, 0)
> +#define VRR_VSYNC_START(vsync_start) REG_FIELD_PREP(VRR_VSYNC_START_MASK, (vsync_start))
> +
> +#define _TRANS_VRR_CTL_A 0x60420
> +#define _TRANS_VRR_CTL_B 0x61420
> +#define _TRANS_VRR_CTL_C 0x62420
> +#define _TRANS_VRR_CTL_D 0x63420
> +#define TRANS_VRR_CTL(dev_priv, trans) _MMIO_TRANS2(dev_priv, trans, _TRANS_VRR_CTL_A)
> +#define VRR_CTL_VRR_ENABLE REG_BIT(31)
> +#define VRR_CTL_IGN_MAX_SHIFT REG_BIT(30)
> +#define VRR_CTL_FLIP_LINE_EN REG_BIT(29)
> +#define VRR_CTL_PIPELINE_FULL_MASK REG_GENMASK(10, 3)
> +#define VRR_CTL_PIPELINE_FULL(x) REG_FIELD_PREP(VRR_CTL_PIPELINE_FULL_MASK, (x))
> +#define VRR_CTL_PIPELINE_FULL_OVERRIDE REG_BIT(0)
> +#define XELPD_VRR_CTL_VRR_GUARDBAND_MASK REG_GENMASK(15, 0)
> +#define XELPD_VRR_CTL_VRR_GUARDBAND(x) REG_FIELD_PREP(XELPD_VRR_CTL_VRR_GUARDBAND_MASK, \
> + (x))
> +
> +#define _TRANS_VRR_VMAX_A 0x60424
> +#define _TRANS_VRR_VMAX_B 0x61424
> +#define _TRANS_VRR_VMAX_C 0x62424
> +#define _TRANS_VRR_VMAX_D 0x63424
> +#define TRANS_VRR_VMAX(dev_priv, trans) _MMIO_TRANS2(dev_priv, trans, _TRANS_VRR_VMAX_A)
> +#define VRR_VMAX_MASK REG_GENMASK(19, 0)
> +
> +#define _TRANS_VRR_VMAXSHIFT_A 0x60428
> +#define _TRANS_VRR_VMAXSHIFT_B 0x61428
> +#define _TRANS_VRR_VMAXSHIFT_C 0x62428
> +#define _TRANS_VRR_VMAXSHIFT_D 0x63428
> +#define TRANS_VRR_VMAXSHIFT(dev_priv, trans) _MMIO_TRANS2(dev_priv, trans, \
> + _TRANS_VRR_VMAXSHIFT_A)
> +#define VRR_VMAXSHIFT_DEC_MASK REG_GENMASK(29, 16)
> +#define VRR_VMAXSHIFT_DEC REG_BIT(16)
> +#define VRR_VMAXSHIFT_INC_MASK REG_GENMASK(12, 0)
> +
> +#define _TRANS_VRR_STATUS_A 0x6042C
> +#define _TRANS_VRR_STATUS_B 0x6142C
> +#define _TRANS_VRR_STATUS_C 0x6242C
> +#define _TRANS_VRR_STATUS_D 0x6342C
> +#define TRANS_VRR_STATUS(dev_priv, trans) _MMIO_TRANS2(dev_priv, trans, \
> + _TRANS_VRR_STATUS_A)
> +#define VRR_STATUS_VMAX_REACHED REG_BIT(31)
> +#define VRR_STATUS_NOFLIP_TILL_BNDR REG_BIT(30)
> +#define VRR_STATUS_FLIP_BEF_BNDR REG_BIT(29)
> +#define VRR_STATUS_NO_FLIP_FRAME REG_BIT(28)
> +#define VRR_STATUS_VRR_EN_LIVE REG_BIT(27)
> +#define VRR_STATUS_FLIPS_SERVICED REG_BIT(26)
> +#define VRR_STATUS_VBLANK_MASK REG_GENMASK(22, 20)
> +#define STATUS_FSM_IDLE REG_FIELD_PREP(VRR_STATUS_VBLANK_MASK, 0)
> +#define STATUS_FSM_WAIT_TILL_FDB REG_FIELD_PREP(VRR_STATUS_VBLANK_MASK, 1)
> +#define STATUS_FSM_WAIT_TILL_FS REG_FIELD_PREP(VRR_STATUS_VBLANK_MASK, 2)
> +#define STATUS_FSM_WAIT_TILL_FLIP REG_FIELD_PREP(VRR_STATUS_VBLANK_MASK, 3)
> +#define STATUS_FSM_PIPELINE_FILL REG_FIELD_PREP(VRR_STATUS_VBLANK_MASK, 4)
> +#define STATUS_FSM_ACTIVE REG_FIELD_PREP(VRR_STATUS_VBLANK_MASK, 5)
> +#define STATUS_FSM_LEGACY_VBLANK REG_FIELD_PREP(VRR_STATUS_VBLANK_MASK, 6)
> +
> +#define _TRANS_VRR_VMIN_A 0x60434
> +#define _TRANS_VRR_VMIN_B 0x61434
> +#define _TRANS_VRR_VMIN_C 0x62434
> +#define _TRANS_VRR_VMIN_D 0x63434
> +#define TRANS_VRR_VMIN(dev_priv, trans) _MMIO_TRANS2(dev_priv, trans, _TRANS_VRR_VMIN_A)
> +#define VRR_VMIN_MASK REG_GENMASK(15, 0)
> +
> +#define _TRANS_VRR_FLIPLINE_A 0x60438
> +#define _TRANS_VRR_FLIPLINE_B 0x61438
> +#define _TRANS_VRR_FLIPLINE_C 0x62438
> +#define _TRANS_VRR_FLIPLINE_D 0x63438
> +#define TRANS_VRR_FLIPLINE(dev_priv, trans) _MMIO_TRANS2(dev_priv, trans, \
> + _TRANS_VRR_FLIPLINE_A)
> +#define VRR_FLIPLINE_MASK REG_GENMASK(19, 0)
> +
> +#define _TRANS_VRR_STATUS2_A 0x6043C
> +#define _TRANS_VRR_STATUS2_B 0x6143C
> +#define _TRANS_VRR_STATUS2_C 0x6243C
> +#define _TRANS_VRR_STATUS2_D 0x6343C
> +#define TRANS_VRR_STATUS2(dev_priv, trans) _MMIO_TRANS2(dev_priv, trans, \
> + _TRANS_VRR_STATUS2_A)
> +#define VRR_STATUS2_VERT_LN_CNT_MASK REG_GENMASK(19, 0)
> +
> +#define _TRANS_VRR_VTOTAL_PREV_A 0x60480
> +#define _TRANS_VRR_VTOTAL_PREV_B 0x61480
> +#define _TRANS_VRR_VTOTAL_PREV_C 0x62480
> +#define _TRANS_VRR_VTOTAL_PREV_D 0x63480
> +#define TRANS_VRR_VTOTAL_PREV(dev_priv, trans) _MMIO_TRANS2(dev_priv, trans, \
> + _TRANS_VRR_VTOTAL_PREV_A)
> +#define VRR_VTOTAL_FLIP_BEFR_BNDR REG_BIT(31)
> +#define VRR_VTOTAL_FLIP_AFTER_BNDR REG_BIT(30)
> +#define VRR_VTOTAL_FLIP_AFTER_DBLBUF REG_BIT(29)
> +#define VRR_VTOTAL_PREV_FRAME_MASK REG_GENMASK(19, 0)
> +
> +#define _TRANS_PUSH_A 0x60A70
> +#define _TRANS_PUSH_B 0x61A70
> +#define _TRANS_PUSH_C 0x62A70
> +#define _TRANS_PUSH_D 0x63A70
> +#define TRANS_PUSH(dev_priv, trans) _MMIO_TRANS2(dev_priv, trans, \
> + _TRANS_PUSH_A)
> +#define TRANS_PUSH_EN REG_BIT(31)
> +#define TRANS_PUSH_SEND REG_BIT(30)
> +
> +#endif /* __INTEL_VRR_REGS__ */
> +
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index be57812a6b07..a6a8464fcff8 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -1228,106 +1228,6 @@
> #define PIPESRC(pipe) _MMIO_TRANS2(dev_priv, (pipe), _PIPEASRC)
> #define TRANS_MULT(trans) _MMIO_TRANS2(dev_priv, (trans), _TRANS_MULT_A)
>
> -/* VRR registers */
> -#define _TRANS_VRR_CTL_A 0x60420
> -#define _TRANS_VRR_CTL_B 0x61420
> -#define _TRANS_VRR_CTL_C 0x62420
> -#define _TRANS_VRR_CTL_D 0x63420
> -#define TRANS_VRR_CTL(dev_priv, trans) _MMIO_TRANS2(dev_priv, trans, _TRANS_VRR_CTL_A)
> -#define VRR_CTL_VRR_ENABLE REG_BIT(31)
> -#define VRR_CTL_IGN_MAX_SHIFT REG_BIT(30)
> -#define VRR_CTL_FLIP_LINE_EN REG_BIT(29)
> -#define VRR_CTL_PIPELINE_FULL_MASK REG_GENMASK(10, 3)
> -#define VRR_CTL_PIPELINE_FULL(x) REG_FIELD_PREP(VRR_CTL_PIPELINE_FULL_MASK, (x))
> -#define VRR_CTL_PIPELINE_FULL_OVERRIDE REG_BIT(0)
> -#define XELPD_VRR_CTL_VRR_GUARDBAND_MASK REG_GENMASK(15, 0)
> -#define XELPD_VRR_CTL_VRR_GUARDBAND(x) REG_FIELD_PREP(XELPD_VRR_CTL_VRR_GUARDBAND_MASK, (x))
> -
> -#define _TRANS_VRR_VMAX_A 0x60424
> -#define _TRANS_VRR_VMAX_B 0x61424
> -#define _TRANS_VRR_VMAX_C 0x62424
> -#define _TRANS_VRR_VMAX_D 0x63424
> -#define TRANS_VRR_VMAX(dev_priv, trans) _MMIO_TRANS2(dev_priv, trans, _TRANS_VRR_VMAX_A)
> -#define VRR_VMAX_MASK REG_GENMASK(19, 0)
> -
> -#define _TRANS_VRR_VMIN_A 0x60434
> -#define _TRANS_VRR_VMIN_B 0x61434
> -#define _TRANS_VRR_VMIN_C 0x62434
> -#define _TRANS_VRR_VMIN_D 0x63434
> -#define TRANS_VRR_VMIN(dev_priv, trans) _MMIO_TRANS2(dev_priv, trans, _TRANS_VRR_VMIN_A)
> -#define VRR_VMIN_MASK REG_GENMASK(15, 0)
> -
> -#define _TRANS_VRR_VMAXSHIFT_A 0x60428
> -#define _TRANS_VRR_VMAXSHIFT_B 0x61428
> -#define _TRANS_VRR_VMAXSHIFT_C 0x62428
> -#define _TRANS_VRR_VMAXSHIFT_D 0x63428
> -#define TRANS_VRR_VMAXSHIFT(dev_priv, trans) _MMIO_TRANS2(dev_priv, trans, \
> - _TRANS_VRR_VMAXSHIFT_A)
> -#define VRR_VMAXSHIFT_DEC_MASK REG_GENMASK(29, 16)
> -#define VRR_VMAXSHIFT_DEC REG_BIT(16)
> -#define VRR_VMAXSHIFT_INC_MASK REG_GENMASK(12, 0)
> -
> -#define _TRANS_VRR_STATUS_A 0x6042C
> -#define _TRANS_VRR_STATUS_B 0x6142C
> -#define _TRANS_VRR_STATUS_C 0x6242C
> -#define _TRANS_VRR_STATUS_D 0x6342C
> -#define TRANS_VRR_STATUS(dev_priv, trans) _MMIO_TRANS2(dev_priv, trans, _TRANS_VRR_STATUS_A)
> -#define VRR_STATUS_VMAX_REACHED REG_BIT(31)
> -#define VRR_STATUS_NOFLIP_TILL_BNDR REG_BIT(30)
> -#define VRR_STATUS_FLIP_BEF_BNDR REG_BIT(29)
> -#define VRR_STATUS_NO_FLIP_FRAME REG_BIT(28)
> -#define VRR_STATUS_VRR_EN_LIVE REG_BIT(27)
> -#define VRR_STATUS_FLIPS_SERVICED REG_BIT(26)
> -#define VRR_STATUS_VBLANK_MASK REG_GENMASK(22, 20)
> -#define STATUS_FSM_IDLE REG_FIELD_PREP(VRR_STATUS_VBLANK_MASK, 0)
> -#define STATUS_FSM_WAIT_TILL_FDB REG_FIELD_PREP(VRR_STATUS_VBLANK_MASK, 1)
> -#define STATUS_FSM_WAIT_TILL_FS REG_FIELD_PREP(VRR_STATUS_VBLANK_MASK, 2)
> -#define STATUS_FSM_WAIT_TILL_FLIP REG_FIELD_PREP(VRR_STATUS_VBLANK_MASK, 3)
> -#define STATUS_FSM_PIPELINE_FILL REG_FIELD_PREP(VRR_STATUS_VBLANK_MASK, 4)
> -#define STATUS_FSM_ACTIVE REG_FIELD_PREP(VRR_STATUS_VBLANK_MASK, 5)
> -#define STATUS_FSM_LEGACY_VBLANK REG_FIELD_PREP(VRR_STATUS_VBLANK_MASK, 6)
> -
> -#define _TRANS_VRR_VTOTAL_PREV_A 0x60480
> -#define _TRANS_VRR_VTOTAL_PREV_B 0x61480
> -#define _TRANS_VRR_VTOTAL_PREV_C 0x62480
> -#define _TRANS_VRR_VTOTAL_PREV_D 0x63480
> -#define TRANS_VRR_VTOTAL_PREV(dev_priv, trans) _MMIO_TRANS2(dev_priv, trans, \
> - _TRANS_VRR_VTOTAL_PREV_A)
> -#define VRR_VTOTAL_FLIP_BEFR_BNDR REG_BIT(31)
> -#define VRR_VTOTAL_FLIP_AFTER_BNDR REG_BIT(30)
> -#define VRR_VTOTAL_FLIP_AFTER_DBLBUF REG_BIT(29)
> -#define VRR_VTOTAL_PREV_FRAME_MASK REG_GENMASK(19, 0)
> -
> -#define _TRANS_VRR_FLIPLINE_A 0x60438
> -#define _TRANS_VRR_FLIPLINE_B 0x61438
> -#define _TRANS_VRR_FLIPLINE_C 0x62438
> -#define _TRANS_VRR_FLIPLINE_D 0x63438
> -#define TRANS_VRR_FLIPLINE(dev_priv, trans) _MMIO_TRANS2(dev_priv, trans, \
> - _TRANS_VRR_FLIPLINE_A)
> -#define VRR_FLIPLINE_MASK REG_GENMASK(19, 0)
> -
> -#define _TRANS_VRR_STATUS2_A 0x6043C
> -#define _TRANS_VRR_STATUS2_B 0x6143C
> -#define _TRANS_VRR_STATUS2_C 0x6243C
> -#define _TRANS_VRR_STATUS2_D 0x6343C
> -#define TRANS_VRR_STATUS2(dev_priv, trans) _MMIO_TRANS2(dev_priv, trans, _TRANS_VRR_STATUS2_A)
> -#define VRR_STATUS2_VERT_LN_CNT_MASK REG_GENMASK(19, 0)
> -
> -#define _TRANS_PUSH_A 0x60A70
> -#define _TRANS_PUSH_B 0x61A70
> -#define _TRANS_PUSH_C 0x62A70
> -#define _TRANS_PUSH_D 0x63A70
> -#define TRANS_PUSH(dev_priv, trans) _MMIO_TRANS2(dev_priv, trans, _TRANS_PUSH_A)
> -#define TRANS_PUSH_EN REG_BIT(31)
> -#define TRANS_PUSH_SEND REG_BIT(30)
> -
> -#define _TRANS_VRR_VSYNC_A 0x60078
> -#define TRANS_VRR_VSYNC(dev_priv, trans) _MMIO_TRANS2(dev_priv, trans, _TRANS_VRR_VSYNC_A)
> -#define VRR_VSYNC_END_MASK REG_GENMASK(28, 16)
> -#define VRR_VSYNC_END(vsync_end) REG_FIELD_PREP(VRR_VSYNC_END_MASK, (vsync_end))
> -#define VRR_VSYNC_START_MASK REG_GENMASK(12, 0)
> -#define VRR_VSYNC_START(vsync_start) REG_FIELD_PREP(VRR_VSYNC_START_MASK, (vsync_start))
> -
> /* VGA port control */
> #define ADPA _MMIO(0x61100)
> #define PCH_ADPA _MMIO(0xe1100)
--
Jani Nikula, Intel
next prev parent reply other threads:[~2024-05-30 13:49 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-30 6:04 [PATCH v10 0/8] Implement CMRR Support Mitul Golani
2024-05-30 6:04 ` [PATCH v10 1/8] drm/i915: Separate VRR related register definitions Mitul Golani
2024-05-30 13:48 ` Jani Nikula [this message]
2024-05-31 11:49 ` Golani, Mitulkumar Ajitkumar
2024-05-31 12:01 ` Jani Nikula
2024-06-03 6:05 ` Golani, Mitulkumar Ajitkumar
2024-05-30 6:04 ` [PATCH v10 2/8] drm/i915: Define and compute Transcoder CMRR registers Mitul Golani
2024-05-31 6:06 ` Nautiyal, Ankit K
2024-05-30 6:04 ` [PATCH v10 3/8] drm/i915: Update trans_vrr_ctl flag when cmrr is computed Mitul Golani
2024-05-31 5:31 ` Nautiyal, Ankit K
2024-05-30 6:04 ` [PATCH v10 4/8] drm/i915: Compute CMRR and calculate vtotal Mitul Golani
2024-05-31 5:42 ` Nautiyal, Ankit K
2024-05-31 6:31 ` kernel test robot
2024-05-31 12:08 ` kernel test robot
2024-05-30 6:04 ` [PATCH v10 5/8] drm/dp: Add refresh rate divider to struct representing AS SDP Mitul Golani
2024-05-30 6:04 ` [PATCH v10 6/8] drm/i915/display: Add support for pack and unpack Mitul Golani
2024-05-31 5:44 ` Nautiyal, Ankit K
2024-05-30 6:04 ` [PATCH v10 7/8] drm/i915/display: Compute Adaptive sync SDP params Mitul Golani
2024-05-31 5:48 ` Nautiyal, Ankit K
2024-05-30 6:04 ` [PATCH v10 8/8] drm/i915/display: Compute vrr vsync params Mitul Golani
2024-05-31 5:52 ` Nautiyal, Ankit K
2024-05-30 6:49 ` ✗ Fi.CI.CHECKPATCH: warning for Implement CMRR Support (rev10) Patchwork
2024-05-30 6:49 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-05-30 6:58 ` ✗ Fi.CI.BAT: failure " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87o78nh0la.fsf@intel.com \
--to=jani.nikula@intel.com \
--cc=ankit.k.nautiyal@intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=mitulkumar.ajitkumar.golani@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.