Message ID | 1451998226-21433-5-git-send-email-shubhangi.shrivastava@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, 2016-01-05 at 18:20 +0530, Shubhangi Shrivastava wrote: > Sink count can change between short pulse hpd hence this patch > adds a member variable to intel_dp so we can track any changes > between short pulse interrupts. > > Tested-by: Nathan D Ciobanu <nathan.d.ciobanu@intel.com> > Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com> > Signed-off-by: Shubhangi Shrivastava <shubhangi.shrivastava@intel.com> > --- > drivers/gpu/drm/i915/intel_dp.c | 7 +++---- > drivers/gpu/drm/i915/intel_drv.h | 1 + > 2 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > index 842790e..c2e8516 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -4385,14 +4385,13 @@ intel_dp_detect_dpcd(struct intel_dp *intel_dp) > /* If we're HPD-aware, SINK_COUNT changes dynamically */ > if (intel_dp->dpcd[DP_DPCD_REV] >= 0x11 && > intel_dp->downstream_ports[0] & DP_DS_PORT_HPD) { > - uint8_t reg; > > if (intel_dp_dpcd_read_wake(&intel_dp->aux, DP_SINK_COUNT, > - ®, 1) < 0) > + &intel_dp->sink_count, 1) < 0) > return connector_status_unknown; > > - return DP_GET_SINK_COUNT(reg) ? connector_status_connected > - : > connector_status_disconnected; > + return DP_GET_SINK_COUNT(intel_dp->sink_count) ? > + connector_status_connected : connector_status_disconnected; I think it would be better to have the value of intel_dp->sink_count ready for consumption, i.e., store the result of DP_GET_SINK_COUNT(). Ander > } > > /* If no HPD, poke DDC gently */ > diff --git a/drivers/gpu/drm/i915/intel_drv.h > b/drivers/gpu/drm/i915/intel_drv.h > index 0438b57..88b05ba 100644 > --- a/drivers/gpu/drm/i915/intel_drv.h > +++ b/drivers/gpu/drm/i915/intel_drv.h > @@ -757,6 +757,7 @@ struct intel_dp { > uint32_t DP; > int link_rate; > uint8_t lane_count; > + uint8_t sink_count; > bool has_audio; > enum hdmi_force_audio force_audio; > bool limited_color_range;
On Thursday 14 January 2016 06:30 PM, Ander Conselvan De Oliveira wrote: > On Tue, 2016-01-05 at 18:20 +0530, Shubhangi Shrivastava wrote: >> Sink count can change between short pulse hpd hence this patch >> adds a member variable to intel_dp so we can track any changes >> between short pulse interrupts. >> >> Tested-by: Nathan D Ciobanu <nathan.d.ciobanu@intel.com> >> Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com> >> Signed-off-by: Shubhangi Shrivastava <shubhangi.shrivastava@intel.com> >> --- >> drivers/gpu/drm/i915/intel_dp.c | 7 +++---- >> drivers/gpu/drm/i915/intel_drv.h | 1 + >> 2 files changed, 4 insertions(+), 4 deletions(-) >> >> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c >> index 842790e..c2e8516 100644 >> --- a/drivers/gpu/drm/i915/intel_dp.c >> +++ b/drivers/gpu/drm/i915/intel_dp.c >> @@ -4385,14 +4385,13 @@ intel_dp_detect_dpcd(struct intel_dp *intel_dp) >> /* If we're HPD-aware, SINK_COUNT changes dynamically */ >> if (intel_dp->dpcd[DP_DPCD_REV] >= 0x11 && >> intel_dp->downstream_ports[0] & DP_DS_PORT_HPD) { >> - uint8_t reg; >> >> if (intel_dp_dpcd_read_wake(&intel_dp->aux, DP_SINK_COUNT, >> - ®, 1) < 0) >> + &intel_dp->sink_count, 1) < 0) >> return connector_status_unknown; >> >> - return DP_GET_SINK_COUNT(reg) ? connector_status_connected >> - : >> connector_status_disconnected; >> + return DP_GET_SINK_COUNT(intel_dp->sink_count) ? >> + connector_status_connected : connector_status_disconnected; > I think it would be better to have the value of intel_dp->sink_count ready for > consumption, i.e., store the result of DP_GET_SINK_COUNT(). > > Ander Sure.. Done.. >> } >> >> /* If no HPD, poke DDC gently */ >> diff --git a/drivers/gpu/drm/i915/intel_drv.h >> b/drivers/gpu/drm/i915/intel_drv.h >> index 0438b57..88b05ba 100644 >> --- a/drivers/gpu/drm/i915/intel_drv.h >> +++ b/drivers/gpu/drm/i915/intel_drv.h >> @@ -757,6 +757,7 @@ struct intel_dp { >> uint32_t DP; >> int link_rate; >> uint8_t lane_count; >> + uint8_t sink_count; >> bool has_audio; >> enum hdmi_force_audio force_audio; >> bool limited_color_range;
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index 842790e..c2e8516 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c @@ -4385,14 +4385,13 @@ intel_dp_detect_dpcd(struct intel_dp *intel_dp) /* If we're HPD-aware, SINK_COUNT changes dynamically */ if (intel_dp->dpcd[DP_DPCD_REV] >= 0x11 && intel_dp->downstream_ports[0] & DP_DS_PORT_HPD) { - uint8_t reg; if (intel_dp_dpcd_read_wake(&intel_dp->aux, DP_SINK_COUNT, - ®, 1) < 0) + &intel_dp->sink_count, 1) < 0) return connector_status_unknown; - return DP_GET_SINK_COUNT(reg) ? connector_status_connected - : connector_status_disconnected; + return DP_GET_SINK_COUNT(intel_dp->sink_count) ? + connector_status_connected : connector_status_disconnected; } /* If no HPD, poke DDC gently */ diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h index 0438b57..88b05ba 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h @@ -757,6 +757,7 @@ struct intel_dp { uint32_t DP; int link_rate; uint8_t lane_count; + uint8_t sink_count; bool has_audio; enum hdmi_force_audio force_audio; bool limited_color_range;