[Intel-gfx] [PATCH v5 06/13] drm/i915/icl: Define data/clock lanes dphy timing registers

Madhav Chauhan madhav.chauhan at intel.com
Wed Sep 12 09:11:16 UTC 2018


On 9/12/2018 12:44 AM, Jani Nikula wrote:
> On Tue, 10 Jul 2018, Madhav Chauhan <madhav.chauhan at intel.com> wrote:
>> This patch defines DSI_CLK_TIMING_PARAM, DPHY_CLK_TIMING_PARAM,
>> DSI_DATA_TIMING_PARAM, DPHY_DATA_TIMING_PARAM register used in
>> dphy programming.
>>
>> Signed-off-by: Madhav Chauhan <madhav.chauhan at intel.com>
>> ---
>>   drivers/gpu/drm/i915/i915_reg.h | 40 ++++++++++++++++++++++++++++++++++++++++
>>   1 file changed, 40 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
>> index 6129372..0dbdd57 100644
>> --- a/drivers/gpu/drm/i915/i915_reg.h
>> +++ b/drivers/gpu/drm/i915/i915_reg.h
>> @@ -10075,6 +10075,46 @@ enum skl_power_gate {
>>   						   _ICL_DSI_T_INIT_MASTER_0,\
>>   						   _ICL_DSI_T_INIT_MASTER_1)
>>   
>> +#define _DPHY_CLK_TIMING_PARAM_0	0x162180
>> +#define _DPHY_CLK_TIMING_PARAM_1	0x6c180
>> +#define DPHY_CLK_TIMING_PARAM(port)	_MMIO_PORT(port,	\
>> +						   _DPHY_CLK_TIMING_PARAM_0,\
>> +						   _DPHY_CLK_TIMING_PARAM_1)
>> +#define _DSI_CLK_TIMING_PARAM_0		0x6b080
>> +#define _DSI_CLK_TIMING_PARAM_1		0x6b880
>> +#define DSI_CLK_TIMING_PARAM(port)	_MMIO_PORT(port,	\
>> +						   _DSI_CLK_TIMING_PARAM_0,\
>> +						   _DSI_CLK_TIMING_PARAM_1)
>> +#define  CLK_PREP_OVERRIDE		(1 << 31)
>> +#define  CLK_PREP_TIME(x)		(x << 28)
>> +#define  CLK_ZERO_OVERRIDE		(1 << 27)
>> +#define  CLK_ZERO_TIME(x)		(x << 20)
>> +#define  CLK_PRE_OVERRIDE		(1 << 19)
>> +#define  CLK_PRE_TIME(x)		(x << 16)
>> +#define  CLK_POST_OVERRIDE		(1 << 15)
>> +#define  CLK_POST_TIME(x)		(x << 8)
>> +#define  CLK_TRAIL_OVERRIDE		(1 << 7)
>> +#define  CLK_TRAIL_TIME(x)		(x << 0)
> I would prefer we stuck to the convention of defining _SHIFT and _MASK
> macros for the bitfields. Even if the above style has started to creep
> in without proper discussion. (I approve of the function-like macros for
> things that aren't straight shifts; stuff with split bitfields or
> calculations.)
>
> No matter what, you need to wrap the macro arguments in parens!
>
> Also, please don't do your own abbreviations or renames of the field
> names when the bspec name is short/good enough.

Ok. I will add the mask and wrap the arguments in parens.
Also will recheck the names as per BSPEC.

Regards,
Madhav

>
>> +
>> +#define _DPHY_DATA_TIMING_PARAM_0	0x162184
>> +#define _DPHY_DATA_TIMING_PARAM_1	0x6c184
>> +#define DPHY_DATA_TIMING_PARAM(port)	_MMIO_PORT(port,	\
>> +						   _DPHY_DATA_TIMING_PARAM_0,\
>> +						   _DPHY_DATA_TIMING_PARAM_1)
>> +#define _DSI_DATA_TIMING_PARAM_0	0x6B084
>> +#define _DSI_DATA_TIMING_PARAM_1	0x6B884
>> +#define DSI_DATA_TIMING_PARAM(port)	_MMIO_PORT(port,	\
>> +						   _DSI_DATA_TIMING_PARAM_0,\
>> +						   _DSI_DATA_TIMING_PARAM_1)
>> +#define  HS_PREP_OVERRIDE		(1 << 31)
>> +#define  HS_PREP_TIME(x)		(x << 24)
>> +#define  HS_ZERO_OVERRIDE		(1 << 23)
>> +#define  HS_ZERO_TIME(x)		(x << 16)
>> +#define  HS_TRAIL_OVERRIDE		(1 << 15)
>> +#define  HS_TRAIL_TIME(x)		(x << 8)
>> +#define  HS_EXIT_OVERRIDE		(1 << 7)
>> +#define  HS_EXIT_TIME(x)		(x << 0)
> Same as above.
>
> The register offsets and shifts etc. look ok.
>
> BR,
> Jani.
>
>> +
>>   /* bits 31:0 */
>>   #define _MIPIA_DBI_BW_CTRL		(dev_priv->mipi_mmio_base + 0xb084)
>>   #define _MIPIC_DBI_BW_CTRL		(dev_priv->mipi_mmio_base + 0xb884)



More information about the Intel-gfx mailing list