[Intel-gfx] [PATCH V4] drm/i915: VLV2 - Fix hotplug detect bits
Daniel Vetter
daniel at ffwll.ch
Thu Jan 23 11:50:38 CET 2014
On Thu, Jan 23, 2014 at 12:13:41AM -0700, Todd Previte wrote:
> Add new definitions for hotplug live status bits for VLV2 since they're
> in reverse order from the gen4x ones.
>
> Changelog:
> - Restored gen4 bit definitions
> - Added new definitions for VLV2
> - Added platform check for IS_VALLEYVIEW() in dp_detect to use the correct
> bit defintions
> - Replaced a lost trailing brace for the added switch()
>
> Signed-off-by: Todd Previte <tprevite at gmail.com>
I've bikeshedded your patch a bit for more consistency. Wrt the patch
changelog please don't smash it all into one but keep a separate changelog
per revision. Otherwise it's not clear what e.g. changed from v3->v4 and
so no too useful for reviewers when rechecking patches.
-Daniel
> ---
> drivers/gpu/drm/i915/i915_reg.h | 11 ++++++++---
> drivers/gpu/drm/i915/intel_dp.c | 40 ++++++++++++++++++++++++++++------------
> 2 files changed, 36 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index 10ecf90..0e65717 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -2083,9 +2083,14 @@
> * Please check the detailed lore in the commit message for for experimental
> * evidence.
> */
> -#define PORTD_HOTPLUG_LIVE_STATUS (1 << 29)
> -#define PORTC_HOTPLUG_LIVE_STATUS (1 << 28)
> -#define PORTB_HOTPLUG_LIVE_STATUS (1 << 27)
> +/* VLV hot plug bits are different */
> +#define VLV_PORTD_HOTPLUG_LIVE_STATUS (1 << 27)
> +#define VLV_PORTC_HOTPLUG_LIVE_STATUS (1 << 28)
> +#define VLV_PORTB_HOTPLUG_LIVE_STATUS (1 << 29)
> +
> +#define PORTD_HOTPLUG_LIVE_STATUS (1 << 29)
> +#define PORTC_HOTPLUG_LIVE_STATUS (1 << 28)
> +#define PORTB_HOTPLUG_LIVE_STATUS (1 << 27)
> #define PORTD_HOTPLUG_INT_STATUS (3 << 21)
> #define PORTC_HOTPLUG_INT_STATUS (3 << 19)
> #define PORTB_HOTPLUG_INT_STATUS (3 << 17)
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 1386efb..51c6497 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -2946,18 +2946,34 @@ g4x_dp_detect(struct intel_dp *intel_dp)
> return status;
> }
>
> - switch (intel_dig_port->port) {
> - case PORT_B:
> - bit = PORTB_HOTPLUG_LIVE_STATUS;
> - break;
> - case PORT_C:
> - bit = PORTC_HOTPLUG_LIVE_STATUS;
> - break;
> - case PORT_D:
> - bit = PORTD_HOTPLUG_LIVE_STATUS;
> - break;
> - default:
> - return connector_status_unknown;
> + if (IS_VALLEYVIEW(dev)) {
> + switch (intel_dig_port->port) {
> + case PORT_B:
> + bit = VLV_PORTB_HOTPLUG_LIVE_STATUS;
> + break;
> + case PORT_C:
> + bit = VLV_PORTC_HOTPLUG_LIVE_STATUS;
> + break;
> + case PORT_D:
> + bit = VLV_PORTD_HOTPLUG_LIVE_STATUS;
> + break;
> + default:
> + return connector_status_unknown;
> + }
> + } else {
> + switch (intel_dig_port->port) {
> + case PORT_B:
> + bit = PORTB_HOTPLUG_LIVE_STATUS;
> + break;
> + case PORT_C:
> + bit = PORTC_HOTPLUG_LIVE_STATUS;
> + break;
> + case PORT_D:
> + bit = PORTD_HOTPLUG_LIVE_STATUS;
> + break;
> + default:
> + return connector_status_unknown;
> + }
> }
>
> if ((I915_READ(PORT_HOTPLUG_STAT) & bit) == 0)
> --
> 1.8.3.2
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
More information about the Intel-gfx
mailing list