drm/i915: clean up virtual PCH special case handling
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@intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Tested-by: Colin Xu <Colin.Xu@intel.com> Reviewed-by: Colin Xu <Colin.Xu@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20180608123330.31003-4-jani.nikula@intel.com
This commit is contained in:
parent
b8bf31d82d
commit
85b17e6e4d
@ -284,13 +284,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;
|
||||
|
Loading…
Reference in New Issue
Block a user