[Intel-gfx] [PATCH] drm/i915/bxt: Use intel_encoder->hpd_pin to check live status

Jindal, Sonika sonika.jindal at intel.com
Mon Sep 14 01:38:41 PDT 2015



On 9/14/2015 2:04 PM, Daniel Vetter wrote:
> On Fri, Sep 11, 2015 at 04:58:32PM +0530, Sonika Jindal wrote:
>> Using intel_encoder's hpd_pin to check the live status
>> because of BXT A0/A1 WA for HPD pins and hpd_pin contains the
>> updated pin for the corresponding port.
>>
>> Signed-off-by: Sonika Jindal <sonika.jindal at intel.com>
>> ---
>>   drivers/gpu/drm/i915/intel_dp.c |    9 ++++++---
>>   1 file changed, 6 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
>> index 796f930..bf17030 100644
>> --- a/drivers/gpu/drm/i915/intel_dp.c
>> +++ b/drivers/gpu/drm/i915/intel_dp.c
>> @@ -4663,11 +4663,14 @@ static bool vlv_digital_port_connected(struct drm_i915_private *dev_priv,
>>   }
>>
>>   static bool bxt_digital_port_connected(struct drm_i915_private *dev_priv,
>> -				       struct intel_digital_port *port)
>> +				       struct intel_digital_port *intel_dig_port)
>>   {
>> +	struct intel_encoder *intel_encoder = &intel_dig_port->base;
>> +	enum port port;
>>   	u32 bit;
>>
>> -	switch (port->port) {
>> +	intel_hpd_pin_to_port(intel_encoder->hpd_pin, &port);
>
> This looks very wrong - the function you're calling here maps from hpd_pin
> to the port, but what you actually want is to map from port to pin. That
> mapping is in intel_encoder->hpd_pin.
> -Daniel
No, I want to find out the correct port whose hpd bit we need to check.
That port we are finding based upon the hpd_pin we have set for that 
encoder. This was the whole point of using hpd_pin for the BXT A0/A1 WA.
That instead of checking different HPD bit based upon the port, just 
change the hpd_pin itself in intel_encoder.

Regards,
Sonika
>
>> +	switch (port) {
>>   	case PORT_A:
>>   		bit = BXT_DE_PORT_HP_DDIA;
>>   		break;
>> @@ -4678,7 +4681,7 @@ static bool bxt_digital_port_connected(struct drm_i915_private *dev_priv,
>>   		bit = BXT_DE_PORT_HP_DDIC;
>>   		break;
>>   	default:
>> -		MISSING_CASE(port->port);
>> +		MISSING_CASE(port);
>>   		return false;
>>   	}
>>
>> --
>> 1.7.10.4
>>
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>


More information about the Intel-gfx mailing list