2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-15 17:14:00 +08:00

drm/i915/fbc: Enable fbc on i865

Unlike all the other pre-snb desktop platforms i865 actually
supports FBC. Let's enable it.

Quote from the spec:
"DevSDG provides the same Run-Length Encoded Frame Buffer
 Compression (RLEFBC) function as exists in DevMGM."

As i865 only has the one pipe we want to skip massaging the
plane<->pipe assignment aimed at getting FBC+LVDS working on
the mobile platforms.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200702153723.24327-4-ville.syrjala@linux.intel.com
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
This commit is contained in:
Ville Syrjälä 2020-07-02 18:37:22 +03:00
parent 2a4d632cc0
commit ddf08d320d
2 changed files with 3 additions and 1 deletions

View File

@ -16332,7 +16332,8 @@ intel_primary_plane_create(struct drm_i915_private *dev_priv, enum pipe pipe)
* On gen2/3 only plane A can do FBC, but the panel fitter and LVDS * On gen2/3 only plane A can do FBC, but the panel fitter and LVDS
* port is hooked to pipe B. Hence we want plane A feeding pipe B. * port is hooked to pipe B. Hence we want plane A feeding pipe B.
*/ */
if (HAS_FBC(dev_priv) && INTEL_GEN(dev_priv) < 4) if (HAS_FBC(dev_priv) && INTEL_GEN(dev_priv) < 4 &&
INTEL_NUM_PIPES(dev_priv) == 2)
plane->i9xx_plane = (enum i9xx_plane_id) !pipe; plane->i9xx_plane = (enum i9xx_plane_id) !pipe;
else else
plane->i9xx_plane = (enum i9xx_plane_id) pipe; plane->i9xx_plane = (enum i9xx_plane_id) pipe;

View File

@ -217,6 +217,7 @@ static const struct intel_device_info i85x_info = {
static const struct intel_device_info i865g_info = { static const struct intel_device_info i865g_info = {
I845_FEATURES, I845_FEATURES,
PLATFORM(INTEL_I865G), PLATFORM(INTEL_I865G),
.display.has_fbc = 1,
}; };
#define GEN3_FEATURES \ #define GEN3_FEATURES \