From: Jani Nikula <jani.nikula@intel.com>
To: imre.deak@intel.com
Cc: intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org
Subject: Re: [PATCH 06/11] drm/i915/reg: convert DP_TP_CTL/DP_TP_STATUS to REG_BIT() and friends
Date: Tue, 19 Nov 2024 15:09:49 +0200 [thread overview]
Message-ID: <87iksj2wv6.fsf@intel.com> (raw)
In-Reply-To: <Zzx6zqUeUzUQlAgc@ideak-desk.fi.intel.com>
On Tue, 19 Nov 2024, Imre Deak <imre.deak@intel.com> wrote:
> On Mon, Nov 18, 2024 at 04:49:01PM +0200, Jani Nikula wrote:
>> Use the modern style for defining register contents. Expand the status
>> register contents a bit.
>>
>> TODO: The payload mapping fields have more bits on more recent
>> platforms.
>>
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>> ---
>> drivers/gpu/drm/i915/i915_reg.h | 57 +++++++++++++++++----------------
>> 1 file changed, 30 insertions(+), 27 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
>> index 7a35be56b7ef..9c198405349d 100644
>> --- a/drivers/gpu/drm/i915/i915_reg.h
>> +++ b/drivers/gpu/drm/i915/i915_reg.h
>> @@ -3823,25 +3823,26 @@ enum skl_power_gate {
>> #define _TGL_DP_TP_CTL_A 0x60540
>> #define DP_TP_CTL(port) _MMIO_PORT(port, _DP_TP_CTL_A, _DP_TP_CTL_B)
>> #define TGL_DP_TP_CTL(dev_priv, tran) _MMIO_TRANS2(dev_priv, (tran), _TGL_DP_TP_CTL_A)
>> -#define DP_TP_CTL_ENABLE (1 << 31)
>> -#define DP_TP_CTL_FEC_ENABLE (1 << 30)
>> -#define DP_TP_CTL_MODE_SST (0 << 27)
>> -#define DP_TP_CTL_MODE_MST (1 << 27)
>> -#define DP_TP_CTL_FORCE_ACT (1 << 25)
>> -#define DP_TP_CTL_TRAIN_PAT4_SEL_MASK (3 << 19)
>> -#define DP_TP_CTL_TRAIN_PAT4_SEL_TP4A (0 << 19)
>> -#define DP_TP_CTL_TRAIN_PAT4_SEL_TP4B (1 << 19)
>> -#define DP_TP_CTL_TRAIN_PAT4_SEL_TP4C (2 << 19)
>> -#define DP_TP_CTL_ENHANCED_FRAME_ENABLE (1 << 18)
>> -#define DP_TP_CTL_FDI_AUTOTRAIN (1 << 15)
>> -#define DP_TP_CTL_LINK_TRAIN_MASK (7 << 8)
>> -#define DP_TP_CTL_LINK_TRAIN_PAT1 (0 << 8)
>> -#define DP_TP_CTL_LINK_TRAIN_PAT2 (1 << 8)
>> -#define DP_TP_CTL_LINK_TRAIN_PAT3 (4 << 8)
>> -#define DP_TP_CTL_LINK_TRAIN_PAT4 (5 << 8)
>> -#define DP_TP_CTL_LINK_TRAIN_IDLE (2 << 8)
>> -#define DP_TP_CTL_LINK_TRAIN_NORMAL (3 << 8)
>> -#define DP_TP_CTL_SCRAMBLE_DISABLE (1 << 7)
>> +#define DP_TP_CTL_ENABLE REG_BIT(31)
>> +#define DP_TP_CTL_FEC_ENABLE REG_BIT(30)
>> +#define DP_TP_CTL_MODE_MASK REG_BIT(27)
>> +#define DP_TP_CTL_MODE_SST REG_FIELD_PREP(DP_TP_CTL_MODE_MASK, 0)
>> +#define DP_TP_CTL_MODE_MST REG_FIELD_PREP(DP_TP_CTL_MODE_MASK, 1)
>> +#define DP_TP_CTL_FORCE_ACT REG_BIT(25)
>> +#define DP_TP_CTL_TRAIN_PAT4_SEL_MASK REG_GENMASK(20, 19)
>> +#define DP_TP_CTL_TRAIN_PAT4_SEL_TP4A REG_FIELD_PREP(DP_TP_CTL_TRAIN_PAT4_SEL_MASK, 0)
>> +#define DP_TP_CTL_TRAIN_PAT4_SEL_TP4B REG_FIELD_PREP(DP_TP_CTL_TRAIN_PAT4_SEL_MASK, 1)
>> +#define DP_TP_CTL_TRAIN_PAT4_SEL_TP4C REG_FIELD_PREP(DP_TP_CTL_TRAIN_PAT4_SEL_MASK, 2)
>> +#define DP_TP_CTL_ENHANCED_FRAME_ENABLE REG_BIT(18)
>> +#define DP_TP_CTL_FDI_AUTOTRAIN REG_BIT(15)
>> +#define DP_TP_CTL_LINK_TRAIN_MASK REG_GENMASK(10, 8)
>> +#define DP_TP_CTL_LINK_TRAIN_PAT1 REG_FIELD_PREP(DP_TP_CTL_LINK_TRAIN_MASK, 0)
>> +#define DP_TP_CTL_LINK_TRAIN_PAT2 REG_FIELD_PREP(DP_TP_CTL_LINK_TRAIN_MASK, 1)
>> +#define DP_TP_CTL_LINK_TRAIN_PAT3 REG_FIELD_PREP(DP_TP_CTL_LINK_TRAIN_MASK, 4)
>> +#define DP_TP_CTL_LINK_TRAIN_PAT4 REG_FIELD_PREP(DP_TP_CTL_LINK_TRAIN_MASK, 5)
>> +#define DP_TP_CTL_LINK_TRAIN_IDLE REG_FIELD_PREP(DP_TP_CTL_LINK_TRAIN_MASK, 2)
>> +#define DP_TP_CTL_LINK_TRAIN_NORMAL REG_FIELD_PREP(DP_TP_CTL_LINK_TRAIN_MASK, 3)
>> +#define DP_TP_CTL_SCRAMBLE_DISABLE REG_BIT(7)
>>
>> /* DisplayPort Transport Status */
>> #define _DP_TP_STATUS_A 0x64044
>> @@ -3849,14 +3850,16 @@ enum skl_power_gate {
>> #define _TGL_DP_TP_STATUS_A 0x60544
>> #define DP_TP_STATUS(port) _MMIO_PORT(port, _DP_TP_STATUS_A, _DP_TP_STATUS_B)
>> #define TGL_DP_TP_STATUS(dev_priv, tran) _MMIO_TRANS2(dev_priv, (tran), _TGL_DP_TP_STATUS_A)
>> -#define DP_TP_STATUS_FEC_ENABLE_LIVE (1 << 28)
>> -#define DP_TP_STATUS_IDLE_DONE (1 << 25)
>> -#define DP_TP_STATUS_ACT_SENT (1 << 24)
>> -#define DP_TP_STATUS_MODE_STATUS_MST (1 << 23)
>> -#define DP_TP_STATUS_AUTOTRAIN_DONE (1 << 12)
>> -#define DP_TP_STATUS_PAYLOAD_MAPPING_VC2 (3 << 8)
>> -#define DP_TP_STATUS_PAYLOAD_MAPPING_VC1 (3 << 4)
>> -#define DP_TP_STATUS_PAYLOAD_MAPPING_VC0 (3 << 0)
>> +#define DP_TP_STATUS_FEC_ENABLE_LIVE REG_BIT(28)
>> +#define DP_TP_STATUS_IDLE_DONE REG_BIT(25)
>> +#define DP_TP_STATUS_ACT_SENT REG_BIT(24)
>> +#define DP_TP_STATUS_MODE_STATUS_MST REG_BIT(23)
>> +#define DP_TP_STATUS_AUTOTRAIN_DONE REG_BIT(12)
>> +#define DP_TP_STATUS_STREAMS_ENABLED_MASK REG_GENMASK(21, 19)
>
> I assume the above is the 'Streams Enabled' field and that is bits 18:16
> on the platforms I checked. Bits 21:19 is 'DP Init Status'.
You're right. Good catch, thanks!
>
>> +#define DP_TP_STATUS_PAYLOAD_MAPPING_VC3_MASK REG_GENMASK(13, 12)
>> +#define DP_TP_STATUS_PAYLOAD_MAPPING_VC2_MASK REG_GENMASK(9, 8)
>> +#define DP_TP_STATUS_PAYLOAD_MAPPING_VC1_MASK REG_GENMASK(5, 4)
>> +#define DP_TP_STATUS_PAYLOAD_MAPPING_VC0_MASK REG_GENMASK(1, 0)
>>
>> /* DDI Buffer Control */
>> #define _DDI_BUF_CTL_A 0x64000
>> --
>> 2.39.5
>>
--
Jani Nikula, Intel
next prev parent reply other threads:[~2024-11-19 13:09 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-18 14:48 [PATCH 00/11] drm/i915: MST and DDI cleanups and refactoring Jani Nikula
2024-11-18 14:48 ` [PATCH 01/11] drm/i915/mst: pass intel_dp around in mst stream helpers Jani Nikula
2024-11-18 14:48 ` [PATCH 02/11] drm/i915/mst: unify MST connector function naming to mst_connector_* Jani Nikula
2024-11-18 14:48 ` [PATCH 03/11] drm/i915/mst: simplify mst_connector_get_hw_state() Jani Nikula
2024-11-18 14:48 ` [PATCH 04/11] drm/i915/mst: unify MST topology callback naming to mst_topology_* Jani Nikula
2024-11-18 14:49 ` [PATCH 05/11] drm/i915/ddi: use intel_ddi_* naming convention for encoder enable/disable Jani Nikula
2024-11-18 14:49 ` [PATCH 06/11] drm/i915/reg: convert DP_TP_CTL/DP_TP_STATUS to REG_BIT() and friends Jani Nikula
2024-11-19 11:47 ` Imre Deak
2024-11-19 13:09 ` Jani Nikula [this message]
2024-11-19 15:29 ` Jani Nikula
2024-11-19 15:27 ` [PATCH v2] " Jani Nikula
2024-11-18 14:49 ` [PATCH 07/11] drm/i915/dp: refactor clear/wait for act sent Jani Nikula
2024-11-18 14:49 ` [PATCH 08/11] drm/i915/ddi: rename temp to ddi_func_ctl in intel_ddi_read_func_ctl() Jani Nikula
2024-11-18 14:49 ` [PATCH 09/11] drm/i915/ddi: split up intel_ddi_read_func_ctl() by output type Jani Nikula
2024-11-18 14:49 ` [PATCH 10/11] drm/i915/ddi: refactor intel_ddi_connector_get_hw_state() Jani Nikula
2024-11-18 14:49 ` [PATCH 11/11] drm/i915/ddi: simplify intel_ddi_get_encoder_pipes() slightly Jani Nikula
2024-11-19 11:40 ` Imre Deak
2024-11-19 13:11 ` Jani Nikula
2024-11-20 11:35 ` Jani Nikula
2024-11-18 15:08 ` ✓ CI.Patch_applied: success for drm/i915: MST and DDI cleanups and refactoring Patchwork
2024-11-18 15:09 ` ✓ CI.checkpatch: " Patchwork
2024-11-18 15:10 ` ✓ CI.KUnit: " Patchwork
2024-11-18 15:28 ` ✓ CI.Build: " Patchwork
2024-11-18 15:30 ` ✓ CI.Hooks: " Patchwork
2024-11-18 15:32 ` ✗ CI.checksparse: warning " Patchwork
2024-11-18 15:52 ` ✓ CI.BAT: success " Patchwork
2024-11-18 16:40 ` ✗ Fi.CI.SPARSE: warning " Patchwork
2024-11-18 17:05 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-11-18 20:17 ` ✗ CI.FULL: " Patchwork
2024-11-19 12:35 ` ✗ Fi.CI.SPARSE: warning for drm/i915: MST and DDI cleanups and refactoring (rev2) Patchwork
2024-11-19 13:00 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-11-19 15:37 ` ✓ CI.Patch_applied: success " Patchwork
2024-11-19 15:38 ` ✗ CI.checkpatch: warning " Patchwork
2024-11-19 15:39 ` ✓ CI.KUnit: success " Patchwork
2024-11-19 15:55 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: MST and DDI cleanups and refactoring (rev3) Patchwork
2024-11-19 15:55 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-11-19 15:57 ` ✓ CI.Build: success for drm/i915: MST and DDI cleanups and refactoring (rev2) Patchwork
2024-11-19 15:59 ` ✓ CI.Hooks: " Patchwork
2024-11-19 16:01 ` ✗ CI.checksparse: warning " Patchwork
2024-11-19 16:16 ` ✓ Fi.CI.BAT: success for drm/i915: MST and DDI cleanups and refactoring (rev3) Patchwork
2024-11-19 16:20 ` ✗ CI.BAT: failure for drm/i915: MST and DDI cleanups and refactoring (rev2) Patchwork
2024-11-20 1:55 ` ✗ CI.FULL: " Patchwork
2024-11-20 12:10 ` [PATCH 00/11] drm/i915: MST and DDI cleanups and refactoring Imre Deak
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=87iksj2wv6.fsf@intel.com \
--to=jani.nikula@intel.com \
--cc=imre.deak@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
/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.