[Intel-gfx] [PATCH 2/4] drm/i915: clean up virtual PCH special case handling

Colin Xu Colin.Xu at intel.com
Sat Jun 2 00:50:13 UTC 2018


On 05/31/2018 07:56 PM, Jani Nikula wrote:
> Use intel_pch_type() also for mapping the no PCH case (PCH id 0) to
> PCH_NONE to simplify code.
>
> Also make sure that intel_pch_type() knows all the PCH ids returned by
> intel_virt_detect_pch(). Loudly fail if this isn't the case; this
> shouldn't happen anyway.
>
> Cc: Colin Xu <Colin.Xu at intel.com>
> Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
> ---
>   drivers/gpu/drm/i915/i915_drv.c | 13 ++++++-------
>   1 file changed, 6 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> index c42e389a27f3..1842a067a604 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -282,13 +282,12 @@ static void intel_detect_pch(struct drm_i915_private *dev_priv)
>   		} else if (intel_is_virt_pch(id, pch->subsystem_vendor,
>   					 pch->subsystem_device)) {
>   			id = intel_virt_detect_pch(dev_priv);
> -			if (id) {
> -				pch_type = intel_pch_type(dev_priv, id);
> -				if (WARN_ON(pch_type == PCH_NONE))
> -					pch_type = PCH_NOP;
> -			} else {
> -				pch_type = PCH_NONE;
> -			}
> +			pch_type = intel_pch_type(dev_priv, id);
> +
> +			/* Sanity check virtual PCH id */
> +			if (WARN_ON(id && pch_type == PCH_NONE))
> +				id = 0;
> +
>   			dev_priv->pch_type = pch_type;
>   			dev_priv->pch_id = id;
>   			break;

Tested on BXT gvt-g and got expected behaviour.

Tested-by: Colin Xu <Colin.Xu at intel.com>
Reviewed-by: Colin Xu <Colin.Xu at intel.com>

-- 
Best Regards,
Colin Xu



More information about the Intel-gfx mailing list