All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.