linux/include/drm
John Harrison 2955ae8186 drm/i915: ARL requires a newer GSC firmware
ARL and MTL share a single GSC firmware blob. However, ARL requires a
newer version of it.

So add differentiate of the PCI ids for ARL from MTL and create ARL as
a sub-platform of MTL. That way, all the existing workarounds and such
still treat ARL as MTL exactly as before. However, now the GSC code
can check for ARL and do an extra version check on the firmware before
committing to it.

Also, the version extraction code has various ways of failing but the
return code was being ignore and so the firmware load would attempt to
continue anyway. Fix that by propagating the return code to the next
level out.

Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
Fixes: 213c43676b ("drm/i915/mtl: Remove the 'force_probe' requirement for Meteor Lake")
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Acked-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240802031051.3816392-1-John.C.Harrison@Intel.com
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
(cherry picked from commit 67733d7a71)
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
2024-08-27 13:23:58 +03:00
..
bridge drm/bridge: analogix_dp: remove unused analogix_dp_remove 2024-06-27 11:52:04 +02:00
display drm-misc-next for $kernel-version: 2024-07-05 12:37:22 +02:00
i2c drm/i2c: silence ch7006.h and sil164.h kernel-doc warnings 2024-03-11 14:29:19 +02:00
intel drm/i915: ARL requires a newer GSC firmware 2024-08-27 13:23:58 +03:00
ttm drm/ttm: increase ttm pre-fault value to PMD size 2024-06-20 15:47:34 +02:00
amd_asic_type.h drm/amdgpu: make amd_asic_type.h self-contained 2024-03-07 17:17:25 +02:00
drm_accel.h drm/debugfs: rework debugfs directory creation v5 2023-09-01 08:51:18 +02:00
drm_aperture.h drm/aperture: Remove primary argument 2023-04-16 14:17:41 +02:00
drm_atomic_helper.h drm-misc-next for $kernel-version: 2023-12-19 17:07:32 +10:00
drm_atomic_state_helper.h drm/atomic-helper: Add an analog TV atomic_check implementation 2022-11-24 12:42:40 +01:00
drm_atomic_uapi.h
drm_atomic.h drm/atomic: Make the drm_atomic_state documentation less ambiguous 2023-12-18 11:45:34 +01:00
drm_audio_component.h drm/audio: make drm_audio_component.h self-contained 2022-11-29 14:14:51 +02:00
drm_auth.h drm: Remove source code for non-KMS drivers 2023-12-06 10:08:37 +01:00
drm_blend.h Revert "drm: Introduce pixel_source DRM plane property" 2023-12-04 21:33:10 +02:00
drm_bridge_connector.h drm/bridge_connector: drop drm_bridge_connector_en/disable_hpd() 2023-01-05 15:08:10 +01:00
drm_bridge.h drm/bridge-connector: implement glue code for HDMI connector 2024-06-12 10:56:57 +03:00
drm_buddy.h drm/buddy: Add start address support to trim function 2024-08-07 18:19:00 -04:00
drm_cache.h
drm_client.h drm/fbdev-generic: Fix locking with drm_client_buffer_vmap_local() 2024-03-11 13:33:50 +01:00
drm_color_mgmt.h drm: using mul_u32_u32() requires linux/math64.h 2023-12-19 15:29:17 +02:00
drm_connector.h drm: Add DRM_MODE_TV_MODE_MONOCHROME 2024-06-18 11:13:30 +02:00
drm_crtc_helper.h drm/crtc-helper: Remove most include statements from drm_crtc_helper.h 2023-01-18 09:25:32 +01:00
drm_crtc.h drm: Remove references to removed transitional helpers 2023-07-29 21:25:16 +02:00
drm_damage_helper.h
drm_debugfs_crc.h drm/crc: make drm_debugfs_crc.h self-contained and fix kernel-doc 2024-03-07 17:17:25 +02:00
drm_debugfs.h drm/gpuvm: rename struct drm_gpuva_manager to struct drm_gpuvm 2023-09-26 01:51:28 +02:00
drm_device.h drm: Remove source code for non-KMS drivers 2023-12-06 10:08:37 +01:00
drm_drv.h drm: deprecate driver date 2024-05-08 15:31:58 +03:00
drm_edid.h drm/edid: remove drm_do_get_edid() 2024-05-14 10:30:15 +03:00
drm_eld.h drm/eld: add helpers to modify the SADs of an ELD 2023-11-09 16:48:27 +02:00
drm_encoder_slave.h drm/encoder: improve drm_encoder_slave.h kernel-doc 2024-03-11 11:47:06 +02:00
drm_encoder.h drm/encoder: register per-encoder debugfs dir 2023-12-04 16:07:29 +02:00
drm_exec.h Merge drm/drm-next into drm-misc-next 2024-01-29 14:20:23 +01:00
drm_fb_dma_helper.h drm/fb_dma: s/drm_panic_gem_get_scanout_buffer/drm_fb_dma_get_scanout_buffer 2024-04-15 13:50:40 -03:00
drm_fb_helper.h drm/fb-helper: Remove unused inline function drm_fb_helper_defio_init() 2023-07-25 20:38:37 +02:00
drm_fbdev_dma.h drm/fbdev-dma: Implement fbdev emulation for GEM DMA helpers 2023-03-14 17:07:47 +01:00
drm_fbdev_shmem.h drm/fbdev: Add fbdev-shmem 2024-05-02 11:33:15 +02:00
drm_fbdev_ttm.h drm/fbdev-generic: Convert to fbdev-ttm 2024-05-02 11:33:32 +02:00
drm_file.h drm: Remove source code for non-KMS drivers 2023-12-06 10:08:37 +01:00
drm_fixed.h drm: Add helpers for q4 fixed point values 2024-07-03 18:05:12 +03:00
drm_flip_work.h drm: Fix flip-task docs 2023-11-14 10:23:12 +01:00
drm_format_helper.h drm: fix drm_format_helper.h kernel-doc warnings 2024-03-07 17:17:25 +02:00
drm_fourcc.h drm: Remove plane hsub/vsub alignment requirement for core helpers 2023-10-12 09:51:19 +02:00
drm_framebuffer.h drm: Remove legacy cursor hotspot code 2023-11-24 11:58:02 +01:00
drm_gem_atomic_helper.h drm/atomic-helper: Add format-conversion state to shadow-plane state 2023-11-14 10:01:14 +01:00
drm_gem_dma_helper.h drm: Clear fd/handle callbacks in struct drm_driver 2023-06-26 11:08:41 +02:00
drm_gem_framebuffer_helper.h
drm_gem_shmem_helper.h drm/gem: Acquire reservation lock in drm_gem_{pin/unpin}() 2024-03-11 13:33:50 +01:00
drm_gem_ttm_helper.h drm/ttm: merge ttm_bo_api.h and ttm_bo_driver.h v2 2022-12-06 12:54:14 +01:00
drm_gem_vram_helper.h Merge drm/drm-next into drm-misc-next 2024-04-02 09:51:30 +02:00
drm_gem.h drm/fbdev-generic: Fix locking with drm_client_buffer_vmap_local() 2024-03-11 13:33:50 +01:00
drm_gpuvm.h Merge drm/drm-next into drm-misc-next 2024-01-29 14:20:23 +01:00
drm_ioctl.h drm: Remove locking for legacy ioctls and DRM_UNLOCKED 2023-12-06 10:08:32 +01:00
drm_kunit_helpers.h drm/kunit: fix drm_kunit_helpers.h kernel-doc 2024-03-07 17:17:25 +02:00
drm_lease.h drm/lease: make drm_lease.h self-contained 2024-03-07 17:17:25 +02:00
drm_managed.h drm/managed: Add drmm_release_action 2024-01-17 10:38:39 +01:00
drm_mipi_dbi.h drm/mipi-dbi: Add support for DRM_FORMAT_RGB888 2024-06-07 16:09:05 +02:00
drm_mipi_dsi.h drm/mipi-dsi: add mipi_dsi_usleep_range helper 2024-06-26 18:38:29 +02:00
drm_mm.h drm/mm: Remove unused drm_mm_replace_node 2024-06-06 10:24:13 -04:00
drm_mode_config.h drm/fbdev: Clean up fbdev documentation 2024-05-02 11:33:34 +02:00
drm_mode_object.h drm/drm_mode_object: increase max objects to accommodate new color props 2023-12-13 15:09:53 -05:00
drm_modes.h drm: Move drm_set_preferred_mode() helper from drm_edid to drm_modes 2024-01-05 21:14:46 +01:00
drm_modeset_helper_vtables.h drm/panic: Add a drm panic handler 2024-04-15 16:12:49 +02:00
drm_modeset_helper.h
drm_modeset_lock.h
drm_module.h
drm_of.h drm/of: make drm_of.h self-contained 2024-03-07 17:17:25 +02:00
drm_panel.h drm/panel: Fix kernel-doc typo for follower_lock 2023-08-03 10:21:27 +02:00
drm_panic.h drm/panic: Add a set_pixel() callback to drm_scanout_buffer 2024-06-10 13:49:16 +02:00
drm_pciids.h drm: Remove some obsolete drm pciids(tdfx, mga, i810, savage, r128, sis, via) 2023-01-13 09:44:56 +01:00
drm_plane_helper.h drm/plane-helper: Move drm_plane_helper_atomic_check() into udl 2023-12-06 10:35:49 +01:00
drm_plane.h drm: Export drm_plane_has_format() 2024-06-24 17:08:53 +03:00
drm_prime.h Revert "drm/prime: Unexport helpers for fd/handle conversion" 2023-11-30 14:46:04 -05:00
drm_print.h drm/print: Improve drm_dbg_printer 2024-06-06 14:46:15 -04:00
drm_privacy_screen_consumer.h
drm_privacy_screen_driver.h
drm_privacy_screen_machine.h
drm_probe_helper.h drm/ast: Automatically clean up poll helper 2024-04-02 10:40:52 +02:00
drm_property.h drm/drm_property: make replace_property_blob_from_id a DRM helper 2023-12-13 15:09:53 -05:00
drm_rect.h drm/rect: fix kernel-doc typos 2024-02-05 11:02:07 +01:00
drm_self_refresh_helper.h
drm_simple_kms_helper.h drm/simple-kms: Remove drm_gem_simple_display_pipe_prepare_fb() 2022-12-05 13:35:37 +01:00
drm_suballoc.h drm/suballoc: fix drm_suballoc.h kernel-doc 2024-03-07 17:17:25 +02:00
drm_syncobj.h drm/syncobj: add IOCTL to register an eventfd 2023-07-20 12:01:03 +02:00
drm_sysfs.h drm/sysfs: rename drm_sysfs_connector_status_event() 2023-06-23 15:54:00 +02:00
drm_util.h
drm_utils.h
drm_vblank_work.h drm: Add drm_vblank_work_flush_all(). 2024-06-24 18:03:18 +02:00
drm_vblank.h drm/vblank: Introduce drm_crtc_vblank_crtc() 2024-04-18 13:27:56 +03:00
drm_vma_manager.h drm/drm_vma_manager: Add drm_vma_node_allow_once() 2023-01-19 14:16:55 +01:00
drm_writeback.h
gpu_scheduler.h drm/sched: Reverse run-queue priority enumeration 2023-11-24 23:03:53 -05:00
gud.h
spsc_queue.h
task_barrier.h drm: Spelling s/randevouz/rendez-vous/ 2023-07-29 21:11:54 +02:00