[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