[PATCH v2] drm/i915/edp/jsl: Update vswing table for HBR and HBR2

Matt Roper matthew.d.roper at intel.com
Wed Sep 30 18:20:49 UTC 2020


On Wed, Sep 30, 2020 at 03:57:58PM +0300, Jani Nikula wrote:
> On Wed, 30 Sep 2020, Ville Syrjälä <ville.syrjala at linux.intel.com> wrote:
> > Now we have an actual difference between EHL and JSL so we
> > should split. Granted it's a bit annoying to have to do it
> > just for some vswing tables. Ideally that stuff would be
> > specified in a sane way by the VBT. But since VBT is generally
> > useless we need to deal with this on a platform level.
> 
> Just to recap, we have three basic approaches for differentiating
> platforms based on PCI ID:
> 
> - Separate platforms, each with their own device info and enum
>   intel_platform, using IS_<PLATFORM>() for checks.
> 
> - Same platform, with subplatforms, using IS_SUBPLATFORM() for
>   checks. Generally only used for the ULT/ULX checks, but there's also
>   the CNL/ICL port F case which is perhaps comparable.
> 
> - Same platform, each with their own device info, and a feature flag.
> 
> (In this case, checking the PCH is a proxy; there is no actual
> difference in the PCHs to account for the different values to be
> used. Mixing PCHs with the platforms would lead to problems.)
> 
> We've been told JSL and EHL are the same, which would argue for keeping
> them INTEL_ELKHARTLAKE. We've done this with other platforms that are
> identical. However, now it looks like they're not the same... why not if
> they're supposed to be identical? What else is there?

My understanding is that they are identical, but the design guidelines
for the *motherboards* that they will plug into are different, which
necessitates different electrical tuning values to guarantee clean
display signals.  Ville's right that it would be nice if this kind of
stuff was just available from something like the VBT instead of being
hardcoded into the driver, but sadly that's just not the case today.

So yes, none of this is related to the South Display which is the only
place we usually care about the PCH in the graphics driver.  But PCH is
correlated with board type, which is why I suggested matching on the PCH
in the first place.

If we really want to split these two platforms then I'd suggest we add a
new macro like

        #define IS_EHL_JSL(i915) ( \
                IS_PLATFORM(dev_priv, INTEL_ELKHARTLAKE) || \
                IS_PLATFORM(dev_priv, INTEL_JASPERLAKE))

and use that everywhere else in the driver.  For the vswing code itself
we'd just do a direct IS_PLATFORM() check with just one platform or the
other provided; no need to add IS_ELKHARTLAKE/IS_JASPERLAKE macros in
that case since it would be a bug to differentiate between the two
anywhere else in the driver.


Matt

> 
> BR,
> Jani.
> 
> 
> -- 
> Jani Nikula, Intel Open Source Graphics Center

-- 
Matt Roper
Graphics Software Engineer
VTT-OSGC Platform Enablement
Intel Corporation
(916) 356-2795


More information about the dri-devel mailing list