]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/i915/dsi: log send packet sequence errors
authorJani Nikula <jani.nikula@intel.com>
Wed, 29 Oct 2025 08:46:02 +0000 (10:46 +0200)
committerJani Nikula <jani.nikula@intel.com>
Fri, 31 Oct 2025 10:46:34 +0000 (12:46 +0200)
We might be getting send packet sequence errors and never know. Log them
as errors. Also upgrade the not supported read commands to errors.

v2: Also error log -EOPNOTSUPP (Ville)

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patch.msgid.link/20251029084603.2254982-1-jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/intel_dsi_vbt.c

index 23402408e17269cb43925cbef412314ffd6d6fcb..63837406d99b73f373593eb1cb66e77c557558c2 100644 (file)
@@ -106,6 +106,7 @@ static const u8 *mipi_exec_send_packet(struct intel_dsi *intel_dsi,
        u8 type, flags, seq_port;
        u16 len;
        enum port port;
+       ssize_t ret;
 
        drm_dbg_kms(display->drm, "\n");
 
@@ -138,36 +139,39 @@ static const u8 *mipi_exec_send_packet(struct intel_dsi *intel_dsi,
 
        switch (type) {
        case MIPI_DSI_GENERIC_SHORT_WRITE_0_PARAM:
-               mipi_dsi_generic_write(dsi_device, NULL, 0);
+               ret = mipi_dsi_generic_write(dsi_device, NULL, 0);
                break;
        case MIPI_DSI_GENERIC_SHORT_WRITE_1_PARAM:
-               mipi_dsi_generic_write(dsi_device, data, 1);
+               ret = mipi_dsi_generic_write(dsi_device, data, 1);
                break;
        case MIPI_DSI_GENERIC_SHORT_WRITE_2_PARAM:
-               mipi_dsi_generic_write(dsi_device, data, 2);
+               ret = mipi_dsi_generic_write(dsi_device, data, 2);
                break;
        case MIPI_DSI_GENERIC_READ_REQUEST_0_PARAM:
        case MIPI_DSI_GENERIC_READ_REQUEST_1_PARAM:
        case MIPI_DSI_GENERIC_READ_REQUEST_2_PARAM:
-               drm_dbg_kms(display->drm, "Generic Read not yet implemented or used\n");
+               ret = -EOPNOTSUPP;
                break;
        case MIPI_DSI_GENERIC_LONG_WRITE:
-               mipi_dsi_generic_write(dsi_device, data, len);
+               ret = mipi_dsi_generic_write(dsi_device, data, len);
                break;
        case MIPI_DSI_DCS_SHORT_WRITE:
-               mipi_dsi_dcs_write_buffer(dsi_device, data, 1);
+               ret = mipi_dsi_dcs_write_buffer(dsi_device, data, 1);
                break;
        case MIPI_DSI_DCS_SHORT_WRITE_PARAM:
-               mipi_dsi_dcs_write_buffer(dsi_device, data, 2);
+               ret = mipi_dsi_dcs_write_buffer(dsi_device, data, 2);
                break;
        case MIPI_DSI_DCS_READ:
-               drm_dbg_kms(display->drm, "DCS Read not yet implemented or used\n");
+               ret = -EOPNOTSUPP;
                break;
        case MIPI_DSI_DCS_LONG_WRITE:
-               mipi_dsi_dcs_write_buffer(dsi_device, data, len);
+               ret = mipi_dsi_dcs_write_buffer(dsi_device, data, len);
                break;
        }
 
+       if (ret < 0)
+               drm_err(display->drm, "DSI send packet failed with %pe\n", ERR_PTR(ret));
+
        if (DISPLAY_VER(display) < 11)
                vlv_dsi_wait_for_fifo_empty(intel_dsi, port);