From: Jani Nikula <jani.nikula@linux.intel.com>
To: Ville Syrjala <ville.syrjala@linux.intel.com>,
intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 04/10] drm/i915/crt: Use REG_BIT() & co.
Date: Fri, 08 Nov 2024 15:08:28 +0200 [thread overview]
Message-ID: <87msi9euur.fsf@intel.com> (raw)
In-Reply-To: <20241107161123.16269-5-ville.syrjala@linux.intel.com>
On Thu, 07 Nov 2024, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Follow the modern style and use REG_BIT() & co. for the analog
> port register definitions.
>
> Also throw out the ADPA_DPMS_... stuff as that's just an alias
> for the sync off bits.
I think you decided to split that to a separate patch but forgot to
update the commit message here.
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_crt.c | 4 +-
> drivers/gpu/drm/i915/i915_reg.h | 69 ++++++++++++------------
> 2 files changed, 35 insertions(+), 38 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_crt.c b/drivers/gpu/drm/i915/display/intel_crt.c
> index 134a4e6a4ac0..73d5332cf103 100644
> --- a/drivers/gpu/drm/i915/display/intel_crt.c
> +++ b/drivers/gpu/drm/i915/display/intel_crt.c
> @@ -91,9 +91,9 @@ bool intel_crt_port_enabled(struct intel_display *display,
>
> /* asserts want to know the pipe even if the port is disabled */
> if (HAS_PCH_CPT(dev_priv))
> - *pipe = (val & ADPA_PIPE_SEL_MASK_CPT) >> ADPA_PIPE_SEL_SHIFT_CPT;
> + *pipe = REG_FIELD_GET(ADPA_PIPE_SEL_MASK_CPT, val);
> else
> - *pipe = (val & ADPA_PIPE_SEL_MASK) >> ADPA_PIPE_SEL_SHIFT;
> + *pipe = REG_FIELD_GET(ADPA_PIPE_SEL_MASK, val);
>
> return val & ADPA_DAC_ENABLE;
> }
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index f0757c4491f1..f233fc32e45c 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -1151,43 +1151,40 @@
> #define ADPA _MMIO(0x61100)
> #define PCH_ADPA _MMIO(0xe1100)
> #define VLV_ADPA _MMIO(VLV_DISPLAY_BASE + 0x61100)
> -#define ADPA_DAC_ENABLE (1 << 31)
> -#define ADPA_DAC_DISABLE 0
> -#define ADPA_PIPE_SEL_SHIFT 30
> -#define ADPA_PIPE_SEL_MASK (1 << 30)
> -#define ADPA_PIPE_SEL(pipe) ((pipe) << 30)
> -#define ADPA_PIPE_SEL_SHIFT_CPT 29
> -#define ADPA_PIPE_SEL_MASK_CPT (3 << 29)
> -#define ADPA_PIPE_SEL_CPT(pipe) ((pipe) << 29)
> +#define ADPA_DAC_ENABLE REG_BIT(31)
> +#define ADPA_PIPE_SEL_MASK REG_BIT(30)
> +#define ADPA_PIPE_SEL(pipe) REG_FIELD_PREP(ADPA_PIPE_SEL_MASK, (pipe))
> +#define ADPA_PIPE_SEL_MASK_CPT REG_GENMASK(30, 29)
> +#define ADPA_PIPE_SEL_CPT(pipe) REG_FIELD_PREP(ADPA_PIPE_SEL_MASK_CPT, (pipe))
> #define ADPA_CRT_HOTPLUG_MASK 0x03ff0000 /* bit 25-16 */
> -#define ADPA_CRT_HOTPLUG_MONITOR_NONE (0 << 24)
> -#define ADPA_CRT_HOTPLUG_MONITOR_MASK (3 << 24)
> -#define ADPA_CRT_HOTPLUG_MONITOR_COLOR (3 << 24)
> -#define ADPA_CRT_HOTPLUG_MONITOR_MONO (2 << 24)
> -#define ADPA_CRT_HOTPLUG_ENABLE (1 << 23)
> -#define ADPA_CRT_HOTPLUG_PERIOD_64 (0 << 22)
> -#define ADPA_CRT_HOTPLUG_PERIOD_128 (1 << 22)
> -#define ADPA_CRT_HOTPLUG_WARMUP_5MS (0 << 21)
> -#define ADPA_CRT_HOTPLUG_WARMUP_10MS (1 << 21)
> -#define ADPA_CRT_HOTPLUG_SAMPLE_2S (0 << 20)
> -#define ADPA_CRT_HOTPLUG_SAMPLE_4S (1 << 20)
> -#define ADPA_CRT_HOTPLUG_VOLTAGE_40 (0 << 18)
> -#define ADPA_CRT_HOTPLUG_VOLTAGE_50 (1 << 18)
> -#define ADPA_CRT_HOTPLUG_VOLTAGE_60 (2 << 18)
> -#define ADPA_CRT_HOTPLUG_VOLTAGE_70 (3 << 18)
> -#define ADPA_CRT_HOTPLUG_VOLREF_325MV (0 << 17)
> -#define ADPA_CRT_HOTPLUG_VOLREF_475MV (1 << 17)
> -#define ADPA_CRT_HOTPLUG_FORCE_TRIGGER (1 << 16)
> -#define ADPA_USE_VGA_HVPOLARITY (1 << 15)
> -#define ADPA_SETS_HVPOLARITY 0
> -#define ADPA_VSYNC_CNTL_DISABLE (1 << 10)
> -#define ADPA_VSYNC_CNTL_ENABLE 0
> -#define ADPA_HSYNC_CNTL_DISABLE (1 << 11)
> -#define ADPA_HSYNC_CNTL_ENABLE 0
> -#define ADPA_VSYNC_ACTIVE_HIGH (1 << 4)
> -#define ADPA_VSYNC_ACTIVE_LOW 0
> -#define ADPA_HSYNC_ACTIVE_HIGH (1 << 3)
> -#define ADPA_HSYNC_ACTIVE_LOW 0
> +#define ADPA_CRT_HOTPLUG_MONITOR_MASK REG_GENMASK(25, 24)
> +#define ADPA_CRT_HOTPLUG_MONITOR_NONE REG_FIELD_PREP(ADPA_CRT_HOTPLUG_MONITOR_MASK, 0)
> +#define ADPA_CRT_HOTPLUG_MONITOR_COLOR REG_FIELD_PREP(ADPA_CRT_HOTPLUG_MONITOR_MASK, 3)
> +#define ADPA_CRT_HOTPLUG_MONITOR_MONO REG_FIELD_PREP(ADPA_CRT_HOTPLUG_MONITOR_MASK, 2)
> +#define ADPA_CRT_HOTPLUG_ENABLE REG_BIT(23)
> +#define ADPA_CRT_HOTPLUG_PERIOD_MASK REG_BIT(22)
> +#define ADPA_CRT_HOTPLUG_PERIOD_64 REG_FIELD_PREP(ADPA_CRT_HOTPLUG_PERIOD_MASK, 0)
> +#define ADPA_CRT_HOTPLUG_PERIOD_128 REG_FIELD_PREP(ADPA_CRT_HOTPLUG_PERIOD_MASK, 1)
> +#define ADPA_CRT_HOTPLUG_WARMUP_MASK REG_BIT(21)
> +#define ADPA_CRT_HOTPLUG_WARMUP_5MS REG_FIELD_PREP(ADPA_CRT_HOTPLUG_WARMUP_MASK, 0)
> +#define ADPA_CRT_HOTPLUG_WARMUP_10MS REG_FIELD_PREP(ADPA_CRT_HOTPLUG_WARMUP_MASK, 1)
> +#define ADPA_CRT_HOTPLUG_SAMPLE_MASK REG_BIT(20)
> +#define ADPA_CRT_HOTPLUG_SAMPLE_2S REG_FIELD_PREP(ADPA_CRT_HOTPLUG_SAMPLE_MASK, 0)
> +#define ADPA_CRT_HOTPLUG_SAMPLE_4S REG_FIELD_PREP(ADPA_CRT_HOTPLUG_SAMPLE_MASK, 1)
> +#define ADPA_CRT_HOTPLUG_VOLTAGE_MASK REG_GENMASK(19, 18)
> +#define ADPA_CRT_HOTPLUG_VOLTAGE_40 REG_FIELD_PREP(ADPA_CRT_HOTPLUG_VOLTAGE_MASK, 0)
> +#define ADPA_CRT_HOTPLUG_VOLTAGE_50 REG_FIELD_PREP(ADPA_CRT_HOTPLUG_VOLTAGE_MASK, 1)
> +#define ADPA_CRT_HOTPLUG_VOLTAGE_60 REG_FIELD_PREP(ADPA_CRT_HOTPLUG_VOLTAGE_MASK, 2)
> +#define ADPA_CRT_HOTPLUG_VOLTAGE_70 REG_FIELD_PREP(ADPA_CRT_HOTPLUG_VOLTAGE_MASK, 3)
> +#define ADPA_CRT_HOTPLUG_VOLREF_MASK REG_BIT(17)
> +#define ADPA_CRT_HOTPLUG_VOLREF_325MV REG_FIELD_PREP(ADPA_CRT_HOTPLUG_VOLREF_MASK, 0)
> +#define ADPA_CRT_HOTPLUG_VOLREF_475MV REG_FIELD_PREP(ADPA_CRT_HOTPLUG_VOLREF_MASK, 1)
> +#define ADPA_CRT_HOTPLUG_FORCE_TRIGGER REG_BIT(16)
> +#define ADPA_USE_VGA_HVPOLARITY REG_BIT(15)
> +#define ADPA_HSYNC_CNTL_DISABLE REG_BIT(11)
> +#define ADPA_VSYNC_CNTL_DISABLE REG_BIT(10)
> +#define ADPA_VSYNC_ACTIVE_HIGH REG_BIT(4)
> +#define ADPA_HSYNC_ACTIVE_HIGH REG_BIT(3)
>
> /* Hotplug control (945+ only) */
> #define PORT_HOTPLUG_EN(dev_priv) _MMIO(DISPLAY_MMIO_BASE(dev_priv) + 0x61110)
--
Jani Nikula, Intel
next prev parent reply other threads:[~2024-11-08 13:08 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-07 16:11 [PATCH 00/10] drm/i915: Potential boot oops fix and some cleanups Ville Syrjala
2024-11-07 16:11 ` [PATCH 01/10] drm/i915: Grab intel_display from the encoder to avoid potential oopsies Ville Syrjala
2024-11-08 13:00 ` Jani Nikula
2024-11-11 22:03 ` Ville Syrjälä
2024-11-07 16:11 ` [PATCH 02/10] drm/i915/crt: Split long line Ville Syrjala
2024-11-08 13:01 ` Jani Nikula
2024-11-07 16:11 ` [PATCH 03/10] drm/i915/crt: Drop the unused ADPA_DPMS bit definitions Ville Syrjala
2024-11-08 13:02 ` Jani Nikula
2024-11-07 16:11 ` [PATCH 04/10] drm/i915/crt: Use REG_BIT() & co Ville Syrjala
2024-11-08 13:08 ` Jani Nikula [this message]
2024-11-07 16:11 ` [PATCH 05/10] drm/i915/crt: Clean up ADPA_HOTPLUG_BITS definitions Ville Syrjala
2024-11-08 13:12 ` Jani Nikula
2024-11-07 16:11 ` [PATCH 06/10] drm/i915/crt: Extract intel_crt_regs.h Ville Syrjala
2024-11-08 13:13 ` Jani Nikula
2024-11-07 16:11 ` [PATCH 07/10] drm/i915/crt: s/pipe_config/crtc_state/ Ville Syrjala
2024-11-08 13:14 ` Jani Nikula
2024-11-07 16:11 ` [PATCH 08/10] drm/i915/crt: Drop pointless drm_device variables Ville Syrjala
2024-11-08 13:15 ` Jani Nikula
2024-11-07 16:11 ` [PATCH 09/10] drm/i915/crt: Rename some variables Ville Syrjala
2024-11-08 13:16 ` Jani Nikula
2024-11-07 16:11 ` [PATCH 10/10] drm/i915/crt: Nuke unused crt->connector Ville Syrjala
2024-11-08 13:16 ` Jani Nikula
2024-11-08 4:56 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Potential boot oops fix and some cleanups (rev2) Patchwork
2024-11-08 4:56 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-11-08 5:10 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-11-08 17:08 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Potential boot oops fix and some cleanups (rev3) Patchwork
2024-11-08 17:08 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-11-08 17:24 ` ✓ Fi.CI.BAT: success " Patchwork
2024-11-08 18:22 ` ✓ Fi.CI.IGT: " 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=87msi9euur.fsf@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=ville.syrjala@linux.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.