Commit 6f4f8aef authored by Jouni Högander's avatar Jouni Högander
Browse files
parent 7a61a6aa
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2993,7 +2993,7 @@ static void ilk_wm_merge(struct drm_i915_private *dev_priv,

	/* ILK: LP2+ must be disabled when FBC WM is disabled but FBC enabled */
	if (DISPLAY_VER(dev_priv) == 5 && HAS_FBC(dev_priv) &&
	    dev_priv->params.enable_fbc && !merged->fbc_wm_enabled) {
	    dev_priv->display.params.enable_fbc && !merged->fbc_wm_enabled) {
		for (level = 2; level < num_levels; level++) {
			struct intel_wm_level *wm = &merged->wm[level];

+4 −0
Original line number Diff line number Diff line
@@ -27,6 +27,10 @@ static struct intel_display_params intel_display_modparams __read_mostly = {
 * debugfs mode to 0.
 */

intel_display_param_named_unsafe(enable_fbc, int, 0400,
	"Enable frame buffer compression for power savings "
	"(default: -1 (use per-chip default))");

__maybe_unused
static void _param_print_bool(struct drm_printer *p, const char *driver_name,
			      const char *name, bool val)
+2 −1
Original line number Diff line number Diff line
@@ -21,7 +21,8 @@ struct drm_i915_private;
 * mode: debugfs file permissions, one of {0400, 0600, 0}, use 0 to not create
 *       debugfs file
 */
#define INTEL_DISPLAY_PARAMS_FOR_EACH(param) /* empty define to avoid build failure */
#define INTEL_DISPLAY_PARAMS_FOR_EACH(param) \
	param(int, enable_fbc, -1, 0600) \

#define MEMBER(T, member, ...) T member;
struct intel_display_params {
+5 −5
Original line number Diff line number Diff line
@@ -1174,7 +1174,7 @@ static int intel_fbc_check_plane(struct intel_atomic_state *state,
		return 0;
	}

	if (!i915->params.enable_fbc) {
	if (!i915->display.params.enable_fbc) {
		plane_state->no_fbc_reason = "disabled per module param or by default";
		return 0;
	}
@@ -1751,8 +1751,8 @@ void intel_fbc_handle_fifo_underrun_irq(struct drm_i915_private *i915)
 */
static int intel_sanitize_fbc_option(struct drm_i915_private *i915)
{
	if (i915->params.enable_fbc >= 0)
		return !!i915->params.enable_fbc;
	if (i915->display.params.enable_fbc >= 0)
		return !!i915->display.params.enable_fbc;

	if (!HAS_FBC(i915))
		return 0;
@@ -1824,9 +1824,9 @@ void intel_fbc_init(struct drm_i915_private *i915)
	if (need_fbc_vtd_wa(i915))
		DISPLAY_RUNTIME_INFO(i915)->fbc_mask = 0;

	i915->params.enable_fbc = intel_sanitize_fbc_option(i915);
	i915->display.params.enable_fbc = intel_sanitize_fbc_option(i915);
	drm_dbg_kms(&i915->drm, "Sanitized enable_fbc value: %d\n",
		    i915->params.enable_fbc);
		    i915->display.params.enable_fbc);

	for_each_fbc_id(i915, fbc_id)
		i915->display.fbc[fbc_id] = intel_fbc_create(i915, fbc_id);
+0 −4
Original line number Diff line number Diff line
@@ -72,10 +72,6 @@ i915_param_named_unsafe(enable_dc, int, 0400,
	"(-1=auto [default]; 0=disable; 1=up to DC5; 2=up to DC6; "
	"3=up to DC5 with DC3CO; 4=up to DC6 with DC3CO)");

i915_param_named_unsafe(enable_fbc, int, 0400,
	"Enable frame buffer compression for power savings "
	"(default: -1 (use per-chip default))");

i915_param_named_unsafe(lvds_channel_mode, int, 0400,
	 "Specify LVDS channel mode "
	 "(0=probe BIOS [default], 1=single-channel, 2=dual-channel)");
Loading