[Intel-gfx] [PATCH v5 12/13] drm/i915/icl: Define TRANS_DSI_FUNC_CONF register

Madhav Chauhan madhav.chauhan at intel.com
Wed Sep 12 09:35:18 UTC 2018


On 9/12/2018 1:00 AM, Jani Nikula wrote:
> On Tue, 10 Jul 2018, Madhav Chauhan <madhav.chauhan at intel.com> wrote:
>> This patch defines transcoder function configuration
>> registers and its bitfields for both DSI ports.
>> Used while programming/enabling DSI transcoder.
>>
>> Signed-off-by: Madhav Chauhan <madhav.chauhan at intel.com>
>> ---
>>   drivers/gpu/drm/i915/i915_reg.h | 47 +++++++++++++++++++++++++++++++++++++++++
>>   1 file changed, 47 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
>> index 62bc76e..71ce6ba 100644
>> --- a/drivers/gpu/drm/i915/i915_reg.h
>> +++ b/drivers/gpu/drm/i915/i915_reg.h
>> @@ -10134,6 +10134,53 @@ enum skl_power_gate {
>>   #define  TA_SURE_TIME(x)		(x << 16)
>>   #define  TA_SURE_TIME_MASK		(0x1f << 16)
>>   
>> +/* DSI transcoder configuration */
>> +#define _DSI_TRANS_FUNC_CONF_0		0x6b030
>> +#define _DSI_TRANS_FUNC_CONF_1		0x6b830
>> +#define DSI_TRANS_FUNC_CONF(tc)		_MMIO_DSI(tc,	\
>> +						  _DSI_TRANS_FUNC_CONF_0,\
>> +						  _DSI_TRANS_FUNC_CONF_1)
>> +#define  OP_MODE(x)			(x << 28)
>> +#define  OP_MODE_MASK			(0x3 << 28)
>> +#define  CMD_MODE_NO_GATE		0x0
>> +#define  CMD_MODE_TE_GATE		0x1
>> +#define  VIDEO_MODE_SYNC_EVENT		0x2
>> +#define  VIDEO_MODE_SYNC_PULSE		0x3
> The convention is to define macros for field values that you can OR
> directly in place instead of requiring a shift. Please stick to the
> conventions. Use _SHIFT and _MASK.
>
> We can debate the relative merits of both approaches at some point, but
> this is not the time.

Just to understand this point correctly,

#define  OP_MODE(x)			((x) << 28) is OK
but
#define  OP_MODE_MASK			(0x3 << 28) is NOT OK
and should be:
#define  OP_MODE_MASK                    0x3
#define  OP_MODE_SHIFT			 28

Regards,
Madhav

>
> BR,
> Jani.
>
>> +#define  LINK_READY			(1 << 20)
>> +#define  PIX_FMT(x)			(x << 16)
>> +#define  PIX_FMT_MASK			(0x3 << 16)
>> +#define  PIX_FMT_RGB565		0x0
>> +#define  PIX_FMT_RGB666_PACKED		0x1
>> +#define  PIX_FMT_RGB666_LOOSE		0x2
>> +#define  PIX_FMT_RGB888		0x3
>> +#define  PIX_FMT_RGB101010		0x4
>> +#define  PIX_FMT_RGB121212		0x5
>> +#define  PIX_FMT_COMPRESSED		0x6
>> +#define  BGR_TRANSMISSION		(1 << 15)
>> +#define  PIX_VIRT_CHAN(x)		(x << 12)
>> +#define  PIX_VIRT_CHAN_MASK		(0x3 << 12)
>> +#define  PIX_BUF_THRESHOLD(x)		((x & 0x3) << 10)
>> +#define  PIX_BUF_THRESHOLD_MASK	(0x3 << 10)
>> +#define  PIX_BUF_THRESHOLD_1_4		0x0
>> +#define  PIX_BUF_THRESHOLD_1_2		0x1
>> +#define  PIX_BUF_THRESHOLD_3_4		0x2
>> +#define  PIX_BUF_THRESHOLD_FULL	0x3
>> +#define  CONTINUOUS_CLK(x)		(x << 8)
>> +#define  CONTINUOUS_CLK_MASK		(0x3 << 8)
>> +#define  CLK_ENTER_LP_AFTER_DATA	0x0
>> +#define  CLK_HS_OR_LP			0x2
>> +#define  CLK_HS_CONTINUOUS		0x3
>> +#define  LINK_CALIBRATION(x)		(x << 4)
>> +#define  LINK_CALIBRATION_MASK		(0x3 << 4)
>> +#define  CALIBRATION_DISABLED		0x0
>> +#define  CALIBRATION_ENABLED_INITIAL_ONLY	0x2
>> +#define  CALIBRATION_ENABLED_INITIAL_PERIODIC	0x3
>> +#define  S3D_ORIENTATION(x)		(x << 1)
>> +#define  S3D_ORIENTATION_MASK		(0x1 << 1)
>> +#define  S3D_ORIENTATION_PORTRAIT	0x0
>> +#define  S3D_ORIENTATION_LANDSCAPE	0x1
>> +#define  EOTP_DISABLED			(1 << 0)
>> +
>>   /* 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