]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
Revert "drm/i915/display: move dmc_firmware_path to display params"
authorJani Nikula <jani.nikula@intel.com>
Tue, 2 Apr 2024 21:22:25 +0000 (00:22 +0300)
committerJani Nikula <jani.nikula@intel.com>
Tue, 2 Apr 2024 21:32:17 +0000 (00:32 +0300)
This reverts commit 0d82a0d6f5561af8dea7011d1b7cae510021723e.

The commit failed to take into account that the parameter duplication
and debugfs for char * parameters were subtly different between i915
core and display, and caused the DMC and PM to be disabled. Moreover,
the patch was pushed with failing CI results. Revert, and get back to
the drawing board.

Acked-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Acked-by: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/intel_display_params.c
drivers/gpu/drm/i915/display/intel_display_params.h
drivers/gpu/drm/i915/display/intel_dmc.c
drivers/gpu/drm/i915/i915_params.c
drivers/gpu/drm/i915/i915_params.h
drivers/gpu/drm/xe/xe_device_types.h

index c8e3d6892e231fc575603f92c467e2eece5c1277..11e03cfb774d50ac25d34c25998d3e32eab70440 100644 (file)
@@ -27,9 +27,6 @@ static struct intel_display_params intel_display_modparams __read_mostly = {
  * debugfs mode to 0.
  */
 
-intel_display_param_named_unsafe(dmc_firmware_path, charp, 0400,
-       "DMC firmware path to use instead of the default one");
-
 intel_display_param_named_unsafe(vbt_firmware, charp, 0400,
        "Load VBT from specified file under /lib/firmware");
 
index f95a6f79904f0918fe30304538e2d8c9995adbaa..6206cc51df04930629755bc25134b4e47647e051 100644 (file)
@@ -24,7 +24,6 @@ struct drm_i915_private;
  *       debugfs file
  */
 #define INTEL_DISPLAY_PARAMS_FOR_EACH(param) \
-       param(char *, dmc_firmware_path, NULL, 0400) \
        param(char *, vbt_firmware, NULL, 0400) \
        param(int, lvds_channel_mode, 0, 0400) \
        param(int, panel_use_ssc, -1, 0600) \
index b4e730882ce2509846188e5c396a4eaf435e2bde..3fa851b5c7a6b52a0dca0eb24c0ef3675c5d8a8f 100644 (file)
@@ -927,7 +927,7 @@ static void dmc_load_work_fn(struct work_struct *work)
 
        err = request_firmware(&fw, dmc->fw_path, i915->drm.dev);
 
-       if (err == -ENOENT && !i915->display.params.dmc_firmware_path) {
+       if (err == -ENOENT && !i915->params.dmc_firmware_path) {
                fallback_path = dmc_fallback_path(i915);
                if (fallback_path) {
                        drm_dbg_kms(&i915->drm, "%s not found, falling back to %s\n",
@@ -1034,14 +1034,14 @@ void intel_dmc_init(struct drm_i915_private *i915)
                dmc->max_fw_size = BXT_DMC_MAX_FW_SIZE;
        }
 
-       if (i915->display.params.dmc_firmware_path) {
-               if (strlen(i915->display.params.dmc_firmware_path) == 0) {
+       if (i915->params.dmc_firmware_path) {
+               if (strlen(i915->params.dmc_firmware_path) == 0) {
                        drm_info(&i915->drm,
                                 "Disabling DMC firmware and runtime PM\n");
                        goto out;
                }
 
-               dmc->fw_path = i915->display.params.dmc_firmware_path;
+               dmc->fw_path = i915->params.dmc_firmware_path;
        }
 
        if (!dmc->fw_path) {
index 8c00169e3ab7bd9017fb99ad609c2d1fcd98a5dd..de43048543e8b514dedae10fc9e4f80155553bc6 100644 (file)
@@ -108,6 +108,9 @@ i915_param_named_unsafe(guc_firmware_path, charp, 0400,
 i915_param_named_unsafe(huc_firmware_path, charp, 0400,
        "HuC firmware path to use instead of the default one");
 
+i915_param_named_unsafe(dmc_firmware_path, charp, 0400,
+       "DMC firmware path to use instead of the default one");
+
 i915_param_named_unsafe(gsc_firmware_path, charp, 0400,
        "GSC firmware path to use instead of the default one");
 
index 2eb3f2115ff288ccb308c631b3274a202dcacdd9..1315d7fac850f7c075427c662ff05bb65f1bbdfe 100644 (file)
@@ -51,6 +51,7 @@ struct drm_printer;
        param(int, guc_log_level, -1, 0400) \
        param(char *, guc_firmware_path, NULL, 0400) \
        param(char *, huc_firmware_path, NULL, 0400) \
+       param(char *, dmc_firmware_path, NULL, 0400) \
        param(char *, gsc_firmware_path, NULL, 0400) \
        param(bool, memtest, false, 0400) \
        param(int, mmio_debug, -IS_ENABLED(CONFIG_DRM_I915_DEBUG_MMIO), 0600) \
index eeab2002d6db1d6eb335c56aeda2217eb4134f04..9785eef2e5a4e6566c452e1fa8c45c447fe00b76 100644 (file)
@@ -524,6 +524,9 @@ struct xe_device {
                unsigned int fsb_freq, mem_freq, is_ddr3;
                u8 vblank_enabled;
        };
+       struct {
+               const char *dmc_firmware_path;
+       } params;
 
        void *pxp;
 #endif