On Wed, Sep 30, 2020 at 03:57:58PM +0300, Jani Nikula wrote: > On Wed, 30 Sep 2020, Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> 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 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel