[Intel-gfx] [BXT MIPI PATCH v3 06/14] drm/i915/bxt: DSI enable for BXT

Shankar, Uma uma.shankar at intel.com
Mon Sep 21 02:33:33 PDT 2015



On 9/18/2015 6:47 PM, Jani Nikula wrote:
> On Tue, 01 Sep 2015, Uma Shankar <uma.shankar at intel.com> wrote:
>> From: Shashank Sharma <shashank.sharma at intel.com>
>>
>> This patch contains following changes:
>> 1. MIPI device ready changes to support dsi_pre_enable. Changes
>>     are specific to BXT device ready sequence. Added check for
>>     ULPS mode(No effects on VLV).
>> 2. Changes in dsi_enable to pick BXT port control register.
>> 3. Changes in dsi_pre_enable to restrict DPIO programming for VLV
>>
>> v2: Fixed Jani's review comments. Removed the changes in VLV/CHV
>>      code. Fixed the macros to get proper port offsets.
>>
>> v3: Rebased on latest drm-nightly branch. Fixed Jani's review comments.
>>
>> Signed-off-by: Shashank Sharma <shashank.sharma at intel.com>
>> Signed-off-by: Uma Shankar <uma.shankar at intel.com>
> Reviewed-by: Jani Nikula <jani.nikula at intel.com>
>
> When you look at the commits before sending, you should pay more
> attention to what the diffs end up looking like. In this case, the
> review becomes unnecessarily hard just because you've moved code
> (intel_dsi_port_enable) around for no apparent reason, and the diff
> seems like intel_dsi_port_enable is rewritten into
> bxt_dsi_device_ready. It should be a hint to *not* combine code movement
> into the same patch.
>
> I understand the concern. Will be careful of this in future to avoid such issues.
>> ---
>>   drivers/gpu/drm/i915/i915_reg.h  |    7 ++
>>   drivers/gpu/drm/i915/intel_dsi.c |  165 ++++++++++++++++++++++++++------------
>>   2 files changed, 119 insertions(+), 53 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
>> index 997a999..57c5dbf 100644
>> --- a/drivers/gpu/drm/i915/i915_reg.h
>> +++ b/drivers/gpu/drm/i915/i915_reg.h
>> @@ -7403,6 +7403,13 @@ enum skl_disp_power_wells {
>>   #define _MIPIA_PORT_CTRL			(VLV_DISPLAY_BASE + 0x61190)
>>   #define _MIPIC_PORT_CTRL			(VLV_DISPLAY_BASE + 0x61700)
>>   #define MIPI_PORT_CTRL(port)	_MIPI_PORT(port, _MIPIA_PORT_CTRL, _MIPIC_PORT_CTRL)
>> +
>> + /* BXT port control */
>> +#define _BXT_MIPIA_PORT_CTRL				0x6B0C0
>> +#define _BXT_MIPIC_PORT_CTRL				0x6B8C0
>> +#define BXT_MIPI_PORT_CTRL(tc)	_MIPI_PORT(tc, _BXT_MIPIA_PORT_CTRL, \
>> +						_BXT_MIPIC_PORT_CTRL)
>> +
>>   #define  DPI_ENABLE					(1 << 31) /* A + C */
>>   #define  MIPIA_MIPI4DPHY_DELAY_COUNT_SHIFT		27
>>   #define  MIPIA_MIPI4DPHY_DELAY_COUNT_MASK		(0xf << 27)
>> diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c
>> index 6d0c992..5a42f87 100644
>> --- a/drivers/gpu/drm/i915/intel_dsi.c
>> +++ b/drivers/gpu/drm/i915/intel_dsi.c
>> @@ -286,58 +286,46 @@ static bool intel_dsi_compute_config(struct intel_encoder *encoder,
>>   	return true;
>>   }
>>   
>> -static void intel_dsi_port_enable(struct intel_encoder *encoder)
>> +static void bxt_dsi_device_ready(struct intel_encoder *encoder)
>>   {
>> -	struct drm_device *dev = encoder->base.dev;
>> -	struct drm_i915_private *dev_priv = dev->dev_private;
>> -	struct intel_crtc *intel_crtc = to_intel_crtc(encoder->base.crtc);
>> +	struct drm_i915_private *dev_priv = encoder->base.dev->dev_private;
>>   	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
>>   	enum port port;
>> -	u32 temp;
>> +	u32 val;
>>   
>> -	if (intel_dsi->dual_link == DSI_DUAL_LINK_FRONT_BACK) {
>> -		temp = I915_READ(VLV_CHICKEN_3);
>> -		temp &= ~PIXEL_OVERLAP_CNT_MASK |
>> -					intel_dsi->pixel_overlap <<
>> -					PIXEL_OVERLAP_CNT_SHIFT;
>> -		I915_WRITE(VLV_CHICKEN_3, temp);
>> -	}
>> +	DRM_DEBUG_KMS("\n");
>>   
>> +	/* Exit Low power state in 4 steps*/
>>



More information about the Intel-gfx mailing list