From d1f1a16e898103daa4695f1f90f20943b67cd3a7 Mon Sep 17 00:00:00 2001 From: Alexander Boettcher Date: Tue, 6 Aug 2024 13:15:32 +0200 Subject: [PATCH] intel/display: update to 6.6.47 Issue #5264 --- repos/pc/run/intel_fb.run | 4 +- .../src/driver/framebuffer/intel/pc/dummies.c | 351 ++++++---------- .../pc/src/driver/framebuffer/intel/pc/gem.c | 70 ++-- .../framebuffer/intel/pc/generated_dummies.c | 350 ++++++++++------ .../src/driver/framebuffer/intel/pc/lx_emul.c | 183 ++++++++- .../src/driver/framebuffer/intel/pc/lx_emul.h | 6 +- .../src/driver/framebuffer/intel/pc/lx_user.c | 7 +- .../driver/framebuffer/intel/pc/shmem_intel.h | 160 ++++++++ .../framebuffer/intel/pc/spec/x86_32/dep.list | 374 +++++++++++++++++ .../intel/pc/spec/x86_32/source.list | 20 + .../framebuffer/intel/pc/spec/x86_64/dep.list | 381 ++++++++++++++++++ .../intel/pc/spec/x86_64/source.list | 20 + 12 files changed, 1527 insertions(+), 399 deletions(-) create mode 100644 repos/pc/src/driver/framebuffer/intel/pc/shmem_intel.h diff --git a/repos/pc/run/intel_fb.run b/repos/pc/run/intel_fb.run index d9dd527ebd..40322afadd 100644 --- a/repos/pc/run/intel_fb.run +++ b/repos/pc/run/intel_fb.run @@ -292,7 +292,9 @@ install_config $config build_boot_image [build_artifacts] if { [get_cmd_switch --autopilot] } { - run_genode_until {\[init -\> init_dynamic -\> intel_fb\] HDMI-A-2: enable.*} 30 + run_genode_until {\[init -\> init_dynamic -\> intel_fb\] HDMI-A-3: enable.*} 30 + run_genode_until {\} 20 [output_spawn_id] + run_genode_until {green} 30 [output_spawn_id] } else { run_genode_until forever } diff --git a/repos/pc/src/driver/framebuffer/intel/pc/dummies.c b/repos/pc/src/driver/framebuffer/intel/pc/dummies.c index f3d37261c7..5e3ead6fcc 100644 --- a/repos/pc/src/driver/framebuffer/intel/pc/dummies.c +++ b/repos/pc/src/driver/framebuffer/intel/pc/dummies.c @@ -15,9 +15,12 @@ #include "i915_drv.h" -#include +#include + +#include #include #include +#include #include #include #include @@ -27,9 +30,31 @@ #include #include #include +#include #include +#include #include +#include + + +struct net init_net = { }; +struct smp_ops smp_ops = { }; + +const struct attribute_group dev_attr_physical_location_group = {}; + +EXPORT_SYMBOL_GPL(smp_ops); + +DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, cpu_sibling_map); + +#ifndef __x86_64__ +void * high_memory = NULL; + +void iomap_free(resource_size_t base, unsigned long size) +{ + lx_emul_trace_and_stop(__func__); +} +#endif void register_syscore_ops(struct syscore_ops * ops) { @@ -57,16 +82,12 @@ int drm_aperture_remove_conflicting_pci_framebuffers(struct pci_dev * pdev, } -#include - void release_firmware(const struct firmware * fw) { lx_emul_trace(__func__); } -#include - int request_firmware(const struct firmware ** firmware_p,const char * name,struct device * device) { lx_emul_trace(__func__); @@ -74,8 +95,6 @@ int request_firmware(const struct firmware ** firmware_p,const char * name,struc } -#include - int request_firmware_direct(const struct firmware ** firmware_p,const char * name,struct device * device) { lx_emul_trace(__func__); @@ -95,13 +114,6 @@ int ___ratelimit(struct ratelimit_state * rs, const char * func) } -#include - -struct net init_net; - - -#include - int register_pernet_subsys(struct pernet_operations * ops) { lx_emul_trace(__func__); @@ -116,7 +128,6 @@ int set_pages_uc(struct page * page,int numpages) } - bool irq_work_queue(struct irq_work * work) { lx_emul_trace(__func__); @@ -124,22 +135,6 @@ bool irq_work_queue(struct irq_work * work) } -void acpi_video_unregister(void) -{ - lx_emul_trace_and_stop(__func__); -} - - -#include - -acpi_status acpi_remove_address_space_handler(acpi_handle device, - acpi_adr_space_type space_id, - acpi_adr_space_handler handler) -{ - lx_emul_trace_and_stop(__func__); -} - - int acpi_video_register(void) { lx_emul_trace(__func__); @@ -147,6 +142,12 @@ int acpi_video_register(void) } +void acpi_video_unregister(void) +{ + lx_emul_trace_and_stop(__func__); +} + + acpi_status acpi_get_name(acpi_handle object, u32 name_type, struct acpi_buffer *ret_path_ptr) { @@ -179,12 +180,6 @@ void cpu_latency_qos_remove_request(struct pm_qos_request *req) } -enum acpi_backlight_type acpi_video_get_backlight_type(void) -{ - lx_emul_trace_and_stop(__func__); -} - - int pnp_range_reserved(resource_size_t start, resource_size_t end) { lx_emul_trace_and_stop(__func__); @@ -262,6 +257,37 @@ int intel_gt_init_mmio(struct intel_gt * gt) } +void intel_gt_invalidate_tlb_full(struct intel_gt * gt,u32 seqno) +{ + lx_emul_trace(__func__); +} + + +void intel_gt_driver_register(struct intel_gt * gt) +{ + lx_emul_trace(__func__); +} + + +void intel_gt_info_print(const struct intel_gt_info * info,struct drm_printer * p) +{ + lx_emul_trace(__func__); +} + + +int intel_gt_tiles_init(struct drm_i915_private * i915) +{ + lx_emul_trace(__func__); + return 0; +} + + +void intel_gt_flush_ggtt_writes(struct intel_gt * gt) +{ + lx_emul_trace(__func__); +} + + int __intel_gt_reset(struct intel_gt * gt, intel_engine_mask_t engine_mask) { lx_emul_trace(__func__); @@ -269,6 +295,21 @@ int __intel_gt_reset(struct intel_gt * gt, intel_engine_mask_t engine_mask) } +extern u32 intel_gt_mcr_read_any(struct intel_gt * gt,i915_mcr_reg_t reg); +u32 intel_gt_mcr_read_any(struct intel_gt * gt,i915_mcr_reg_t reg) +{ + lx_emul_trace(__func__); + return 0; +} + + +extern void intel_gt_mcr_multicast_write(struct intel_gt * gt,i915_mcr_reg_t reg,u32 value); +void intel_gt_mcr_multicast_write(struct intel_gt * gt,i915_mcr_reg_t reg,u32 value) +{ + lx_emul_trace(__func__); +} + + void i915_perf_init(struct drm_i915_private * i915) { lx_emul_trace(__func__); @@ -335,12 +376,6 @@ void i915_perf_register(struct drm_i915_private * i915) } -void intel_gt_driver_register(struct intel_gt * gt) -{ - lx_emul_trace(__func__); -} - - void i915_perf_sysctl_register(void) { lx_emul_trace(__func__); @@ -361,24 +396,12 @@ int intel_vgt_balloon(struct i915_ggtt * ggtt) } -void intel_gt_info_print(const struct intel_gt_info * info,struct drm_printer * p) -{ - lx_emul_trace(__func__); -} - - void i915_gem_object_release_mmap_offset(struct drm_i915_gem_object * obj) { lx_emul_trace(__func__); } -#include - -struct smp_ops smp_ops = { }; -EXPORT_SYMBOL_GPL(smp_ops); - - int wbinvd_on_all_cpus(void) { lx_emul_trace(__func__); @@ -422,27 +445,6 @@ void pci_disable_msi(struct pci_dev *dev) } -#include - -DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, cpu_sibling_map); - - -const struct attribute_group dev_attr_physical_location_group = {}; - - -typedef u32 acpi_status; -struct acpi_resource; - -extern acpi_status acpi_buffer_to_resource(u8 * aml_buffer,u16 aml_buffer_length,struct acpi_resource ** resource_ptr); -acpi_status acpi_buffer_to_resource(u8 * aml_buffer,u16 aml_buffer_length,struct acpi_resource ** resource_ptr) -{ - lx_emul_trace_and_stop(__func__); -} - - -struct acpi_device; - -extern int acpi_bus_get_status(struct acpi_device * device); int acpi_bus_get_status(struct acpi_device * device) { lx_emul_trace_and_stop(__func__); @@ -455,7 +457,6 @@ void acpi_device_notify(struct device * dev) } -extern bool dev_add_physical_location(struct device * dev); bool dev_add_physical_location(struct device * dev) { lx_emul_trace(__func__); @@ -463,25 +464,12 @@ bool dev_add_physical_location(struct device * dev) } -#include - void __fix_address kfree_skb_reason(struct sk_buff * skb,enum skb_drop_reason reason) { lx_emul_trace(__func__); } -#include - -struct ctl_table_header * register_sysctl(const char * path,struct ctl_table * table) -{ - lx_emul_trace(__func__); - return NULL; -} - - -#include - int register_acpi_bus_type(struct acpi_bus_type * type) { lx_emul_trace(__func__); @@ -489,80 +477,34 @@ int register_acpi_bus_type(struct acpi_bus_type * type) } -#include - -void __init __register_sysctl_init(const char * path,struct ctl_table * table,const char * table_name) +void __init __register_sysctl_init(const char * path, struct ctl_table * table, + const char * table_name, size_t table_size) { lx_emul_trace(__func__); } -#include - -int sysfs_add_file_to_group(struct kobject * kobj,const struct attribute * attr,const char * group) +int sysfs_add_file_to_group( struct kobject * kobj, + const struct attribute * attr, + const char * group) { lx_emul_trace(__func__); return 0; } -#include - u16 get_random_u16(void) { lx_emul_trace_and_stop(__func__); } -#include - -int acpi_bus_attach_private_data(acpi_handle handle,void * data) -{ - lx_emul_trace_and_stop(__func__); -} - - -#include - -void acpi_bus_detach_private_data(acpi_handle handle) -{ - lx_emul_trace_and_stop(__func__); -} - - -#include - -int acpi_bus_get_private_data(acpi_handle handle,void ** data) -{ - lx_emul_trace_and_stop(__func__); -} - - -#include - void acpi_dev_clear_dependencies(struct acpi_device * supplier) { lx_emul_trace_and_stop(__func__); } -extern acpi_status acpi_install_address_space_handler(acpi_handle device,acpi_adr_space_type space_id,acpi_adr_space_handler handler,acpi_adr_space_setup setup,void * context); -acpi_status acpi_install_address_space_handler(acpi_handle device,acpi_adr_space_type space_id,acpi_adr_space_handler handler,acpi_adr_space_setup setup,void * context) -{ - lx_emul_trace_and_stop(__func__); -} - - -#include - -bool drm_firmware_drivers_only(void) -{ - lx_emul_trace(__func__); - return 0; -} - - -extern int __init i915_context_module_init(void); int __init i915_context_module_init(void) { lx_emul_trace(__func__); @@ -570,7 +512,6 @@ int __init i915_context_module_init(void) } -extern int __init i915_gem_context_module_init(void); int __init i915_gem_context_module_init(void) { lx_emul_trace(__func__); @@ -578,7 +519,6 @@ int __init i915_gem_context_module_init(void) } -extern int __init i915_request_module_init(void); int __init i915_request_module_init(void) { lx_emul_trace(__func__); @@ -586,7 +526,6 @@ int __init i915_request_module_init(void) } -extern int __init i915_scheduler_module_init(void); int __init i915_scheduler_module_init(void) { lx_emul_trace(__func__); @@ -594,8 +533,6 @@ int __init i915_scheduler_module_init(void) } -#include - int iommu_device_use_default_domain(struct device * dev) { lx_emul_trace(__func__); @@ -603,15 +540,12 @@ int iommu_device_use_default_domain(struct device * dev) } -#include - void iommu_device_unuse_default_domain(struct device * dev) { lx_emul_trace(__func__); } -extern struct ttm_device_funcs * i915_ttm_driver(void); struct ttm_device_funcs * i915_ttm_driver(void) { lx_emul_trace(__func__); @@ -619,8 +553,6 @@ struct ttm_device_funcs * i915_ttm_driver(void) } -#include - int register_shrinker(struct shrinker * shrinker,const char * fmt,...) { lx_emul_trace(__func__); @@ -628,78 +560,48 @@ int register_shrinker(struct shrinker * shrinker,const char * fmt,...) } -extern void intel_guc_init_early(struct intel_guc * guc); void intel_guc_init_early(struct intel_guc * guc) { lx_emul_trace(__func__); } -extern void intel_huc_init_early(struct intel_huc * huc); void intel_huc_init_early(struct intel_huc * huc) { lx_emul_trace(__func__); } -extern int intel_gt_tiles_init(struct drm_i915_private * i915); -int intel_gt_tiles_init(struct drm_i915_private * i915) -{ - lx_emul_trace(__func__); - return 0; -} - - void rt_mutex_setprio(struct task_struct *p, struct task_struct *pi_task) { lx_emul_trace(__func__); } -#include - noinstr void ct_irq_enter(void) { lx_emul_trace(__func__); } -#include - noinstr void ct_irq_exit(void) { lx_emul_trace(__func__); } -#include - -bool acpi_video_backlight_use_native(void) +void acpi_video_register_backlight(void) { lx_emul_trace(__func__); - return 1; } -#include - void net_ns_init(void) { lx_emul_trace(__func__); } -#include - -void iomap_free(resource_size_t base, unsigned long size) -{ - lx_emul_trace_and_stop(__func__); -} - - -void * high_memory; - - void intel_dsb_prepare(struct intel_crtc_state *crtc_state) { lx_emul_trace(__func__); @@ -725,13 +627,6 @@ void intel_dsb_reg_write(const struct intel_crtc_state *crtc_state, } -void intel_dsb_indexed_reg_write(const struct intel_crtc_state *crtc_state, - i915_reg_t reg, u32 val) -{ - lx_emul_trace(__func__); -} - - void acpi_device_notify_remove(struct device * dev) { lx_emul_trace(__func__); @@ -744,25 +639,12 @@ void software_node_notify_remove(struct device * dev) } -#include - -void cdev_init(struct cdev * cdev,const struct file_operations * fops) -{ - lx_emul_trace(__func__); -} - - - -#include - void skb_init() { lx_emul_trace(__func__); } -#include - int __register_chrdev(unsigned int major,unsigned int baseminor,unsigned int count,const char * name,const struct file_operations * fops) { lx_emul_trace(__func__); @@ -770,8 +652,6 @@ int __register_chrdev(unsigned int major,unsigned int baseminor,unsigned int cou } -#include - int software_node_notify(struct device * dev,unsigned long action) { lx_emul_trace(__func__); @@ -779,8 +659,6 @@ int software_node_notify(struct device * dev,unsigned long action) } -#include - int pinctrl_bind_pins(struct device * dev) { lx_emul_trace(__func__); @@ -788,8 +666,6 @@ int pinctrl_bind_pins(struct device * dev) } -#include - int pinctrl_init_done(struct device * dev) { lx_emul_trace(__func__); @@ -797,8 +673,6 @@ int pinctrl_init_done(struct device * dev) } -#include - struct pinctrl * devm_pinctrl_get(struct device * dev) { lx_emul_trace(__func__); @@ -806,40 +680,43 @@ struct pinctrl * devm_pinctrl_get(struct device * dev) } -#include - void devm_pinctrl_put(struct pinctrl * p) { lx_emul_trace(__func__); } -void check_move_unevictable_pages(struct pagevec * pvec) -{ - lx_emul_trace(__func__); -} - - -void intel_gt_flush_ggtt_writes(struct intel_gt * gt) -{ - lx_emul_trace(__func__); -} - - -void intel_gt_invalidate_tlb(struct intel_gt * gt,u32 seqno) -{ - lx_emul_trace(__func__); -} - - -void mark_page_accessed(struct page * page) -{ - lx_emul_trace(__func__); -} - - -extern void i915_vm_free_pt_stash(struct i915_address_space * vm,struct i915_vm_pt_stash * stash); void i915_vm_free_pt_stash(struct i915_address_space * vm,struct i915_vm_pt_stash * stash) { lx_emul_trace(__func__); } + + +void intel_gsc_uc_init_early(struct intel_gsc_uc * gsc) +{ + lx_emul_trace(__func__); +} + + +bool intel_hdcp_gsc_cs_required(struct drm_i915_private * i915) +{ + if (DISPLAY_VER(i915) >= 14) + printk("%s UNSUPPORTED - more linux code to incorporate ?!\n", __func__); + + return DISPLAY_VER(i915) >= 14; +} + + +int intel_pxp_init(struct drm_i915_private *i915) +{ + lx_emul_trace(__func__); + return -ENODEV; +} + + +int intel_pxp_key_check(struct intel_pxp *pxp, struct drm_i915_gem_object *obj, + bool assign) +{ + lx_emul_trace(__func__); + return -ENODEV; +} diff --git a/repos/pc/src/driver/framebuffer/intel/pc/gem.c b/repos/pc/src/driver/framebuffer/intel/pc/gem.c index 0e18a622ba..9128d2ec16 100644 --- a/repos/pc/src/driver/framebuffer/intel/pc/gem.c +++ b/repos/pc/src/driver/framebuffer/intel/pc/gem.c @@ -5,9 +5,9 @@ */ /* - * Copyright © 2008-2023 Intel Corporation + * Copyright © 2008-2024 Intel Corporation * - * Copyright (C) 2022-2023 Genode Labs GmbH + * Copyright (C) 2022-2024 Genode Labs GmbH * * This file is distributed under the terms of the GNU General Public License * version 2. @@ -16,9 +16,9 @@ #include #include "i915_drv.h" -#include "intel_pm.h" #include "../drivers/gpu/drm/i915/gt/intel_gt.h" #include "../drivers/gpu/drm/i915/i915_file_private.h" +#include "intel_clock_gating.h" int i915_gem_object_unbind(struct drm_i915_gem_object *obj, @@ -242,6 +242,19 @@ int i915_gem_init(struct drm_i915_private *dev_priv) unsigned int i; int ret; + /* + * In the proccess of replacing cache_level with pat_index a tricky + * dependency is created on the definition of the enum i915_cache_level. + * in case this enum is changed, PTE encode would be broken. + * Add a WARNING here. And remove when we completely quit using this + * enum + */ + BUILD_BUG_ON(I915_CACHE_NONE != 0 || + I915_CACHE_LLC != 1 || + I915_CACHE_L3_LLC != 2 || + I915_CACHE_WT != 3 || + I915_MAX_CACHE_LEVEL != 4); + /* We need to fallback to 4K pages if host doesn't support huge gtt. */ /* if (intel_vgpu_active(dev_priv) && !intel_vgpu_has_huge_gtt(dev_priv)) @@ -252,10 +265,13 @@ int i915_gem_init(struct drm_i915_private *dev_priv) if (ret) return ret; -/* - intel_uc_fetch_firmwares(&to_gt(dev_priv)->uc); - intel_wopcm_init(&dev_priv->wopcm); -*/ + for_each_gt(gt, dev_priv, i) { + intel_uc_fetch_firmwares(>->uc); + intel_wopcm_init(>->wopcm); + if (GRAPHICS_VER(dev_priv) >= 8) + setup_private_pat(gt); + } + ret = i915_init_ggtt(dev_priv); if (ret) { GEM_BUG_ON(ret == -EIO); @@ -263,7 +279,7 @@ int i915_gem_init(struct drm_i915_private *dev_priv) } /* - * Despite its name intel_init_clock_gating applies both display + * Despite its name intel_clock_gating_init applies both display * clock gating workarounds; GT mmio workarounds and the occasional * GT power context workaround. Worse, sometimes it includes a context * register workaround which we need to apply before we record the @@ -271,8 +287,7 @@ int i915_gem_init(struct drm_i915_private *dev_priv) * * FIXME: break up the workarounds and apply them at the right time! */ - - intel_init_clock_gating(dev_priv); + intel_clock_gating_init(dev_priv); /* for_each_gt(gt, dev_priv, i) { @@ -282,6 +297,16 @@ int i915_gem_init(struct drm_i915_private *dev_priv) } */ + /* + * Register engines early to ensure the engine list is in its final + * rb-tree form, lowering the amount of code that has to deal with + * the intermediate llist state. + */ +/* + intel_engines_driver_register(dev_priv); +*/ + + return 0; /* @@ -291,16 +316,18 @@ int i915_gem_init(struct drm_i915_private *dev_priv) * driver doesn't explode during runtime. */ err_unlock: +/* i915_gem_drain_workqueue(dev_priv); +*/ if (ret != -EIO) { + /* for_each_gt(gt, dev_priv, i) { intel_gt_driver_remove(gt); intel_gt_driver_release(gt); - /* intel_uc_cleanup_firmwares(>->uc); - */ } + */ } if (ret == -EIO) { @@ -322,7 +349,7 @@ err_unlock: /* Minimal basic recovery for KMS */ ret = i915_ggtt_enable_hw(dev_priv); i915_ggtt_resume(to_gt(dev_priv)->ggtt); - intel_init_clock_gating(dev_priv); + intel_clock_gating_init(dev_priv); } i915_gem_drain_freed_objects(dev_priv); @@ -330,11 +357,13 @@ err_unlock: return ret; } + void i915_gem_driver_register(struct drm_i915_private * i915) { lx_emul_trace(__func__); } + static void i915_gem_init__mm(struct drm_i915_private *i915) { spin_lock_init(&i915->mm.obj_lock); @@ -354,8 +383,6 @@ void i915_gem_init_early(struct drm_i915_private *dev_priv) i915_gem_init__contexts(dev_priv); */ - lx_emul_trace(__func__); - spin_lock_init(&dev_priv->display.fb_tracking.lock); /* @@ -369,27 +396,24 @@ void i915_gem_init_early(struct drm_i915_private *dev_priv) totalram_pages_add(emul_avail_ram() / 4096); } - int i915_gem_open(struct drm_i915_private *i915, struct drm_file *file) { struct drm_i915_file_private *file_priv; struct i915_drm_client *client; int ret = -ENOMEM; - DRM_DEBUG("\n"); + drm_dbg(&i915->drm, "\n"); file_priv = kzalloc(sizeof(*file_priv), GFP_KERNEL); if (!file_priv) goto err_alloc; - client = i915_drm_client_add(&i915->clients); - if (IS_ERR(client)) { - ret = PTR_ERR(client); + client = i915_drm_client_alloc(); + if (!client) goto err_client; - } file->driver_priv = file_priv; - file_priv->dev_priv = i915; + file_priv->i915 = i915; file_priv->file = file; file_priv->client = client; @@ -404,10 +428,8 @@ int i915_gem_open(struct drm_i915_private *i915, struct drm_file *file) return 0; - /* err_context: i915_drm_client_put(client); - */ err_client: kfree(file_priv); err_alloc: diff --git a/repos/pc/src/driver/framebuffer/intel/pc/generated_dummies.c b/repos/pc/src/driver/framebuffer/intel/pc/generated_dummies.c index 238df76a93..28625f33d3 100644 --- a/repos/pc/src/driver/framebuffer/intel/pc/generated_dummies.c +++ b/repos/pc/src/driver/framebuffer/intel/pc/generated_dummies.c @@ -1,7 +1,7 @@ /* * \brief Dummy definitions of Linux Kernel functions * \author Automatically generated file - do no edit - * \date 2024-07-16 + * \date 2024-08-20 */ #include @@ -135,14 +135,6 @@ int acpi_dev_gpio_irq_wake_get_by(struct acpi_device * adev,const char * name,in } -#include - -bool acpi_dev_present(const char * hid,const char * uid,s64 hrv) -{ - lx_emul_trace_and_stop(__func__); -} - - #include bool acpi_dev_ready_for_enumeration(const struct acpi_device * device) @@ -175,8 +167,8 @@ struct acpi_device * acpi_find_child_device(struct acpi_device * parent,u64 addr } -extern acpi_status acpi_get_handle(acpi_handle parent,acpi_string pathname,acpi_handle * ret_handle); -acpi_status acpi_get_handle(acpi_handle parent,acpi_string pathname,acpi_handle * ret_handle) +extern acpi_status acpi_get_handle(acpi_handle parent,const char * pathname,acpi_handle * ret_handle); +acpi_status acpi_get_handle(acpi_handle parent,const char * pathname,acpi_handle * ret_handle) { lx_emul_trace_and_stop(__func__); } @@ -198,9 +190,9 @@ void acpi_set_modalias(struct acpi_device * adev,const char * default_id,char * } -#include +#include -void acpi_video_register_backlight(void) +int acpi_unbind_one(struct device * dev) { lx_emul_trace_and_stop(__func__); } @@ -213,8 +205,8 @@ acpi_status acpi_walk_namespace(acpi_object_type type,acpi_handle start_object,u } -extern void arch_trigger_cpumask_backtrace(const cpumask_t * mask,bool exclude_self); -void arch_trigger_cpumask_backtrace(const cpumask_t * mask,bool exclude_self) +extern void arch_trigger_cpumask_backtrace(const cpumask_t * mask,int exclude_cpu); +void arch_trigger_cpumask_backtrace(const cpumask_t * mask,int exclude_cpu) { lx_emul_trace_and_stop(__func__); } @@ -268,6 +260,22 @@ const struct cpumask * cpu_clustergroup_mask(int cpu) } +#include + +unsigned int cpumask_any_and_distribute(const struct cpumask * src1p,const struct cpumask * src2p) +{ + lx_emul_trace_and_stop(__func__); +} + + +#include + +bool cpus_share_cache(int this_cpu,int that_cpu) +{ + lx_emul_trace_and_stop(__func__); +} + + #include int device_add_software_node(struct device * dev,const struct software_node * node) @@ -308,14 +316,6 @@ struct gpio_desc * __must_check devm_gpiod_get_index(struct device * dev,const c } -#include - -struct dma_buf_attachment * dma_buf_attach(struct dma_buf * dmabuf,struct device * dev) -{ - lx_emul_trace_and_stop(__func__); -} - - #include void dma_buf_detach(struct dma_buf * dmabuf,struct dma_buf_attachment * attach) @@ -324,38 +324,6 @@ void dma_buf_detach(struct dma_buf * dmabuf,struct dma_buf_attachment * attach) } -#include - -struct dma_buf * dma_buf_export(const struct dma_buf_export_info * exp_info) -{ - lx_emul_trace_and_stop(__func__); -} - - -#include - -int dma_buf_fd(struct dma_buf * dmabuf,int flags) -{ - lx_emul_trace_and_stop(__func__); -} - - -#include - -struct dma_buf * dma_buf_get(int fd) -{ - lx_emul_trace_and_stop(__func__); -} - - -#include - -struct sg_table * dma_buf_map_attachment(struct dma_buf_attachment * attach,enum dma_data_direction direction) -{ - lx_emul_trace_and_stop(__func__); -} - - #include void dma_buf_put(struct dma_buf * dmabuf) @@ -366,15 +334,7 @@ void dma_buf_put(struct dma_buf * dmabuf) #include -void dma_buf_unmap_attachment(struct dma_buf_attachment * attach,struct sg_table * sg_table,enum dma_data_direction direction) -{ - lx_emul_trace_and_stop(__func__); -} - - -#include - -int dma_map_sgtable(struct device * dev,struct sg_table * sgt,enum dma_data_direction dir,unsigned long attrs) +void dma_buf_unmap_attachment_unlocked(struct dma_buf_attachment * attach,struct sg_table * sg_table,enum dma_data_direction direction) { lx_emul_trace_and_stop(__func__); } @@ -449,6 +409,14 @@ asmlinkage __visible void dump_stack(void) } +#include + +asmlinkage __visible void dump_stack_lvl(const char * log_lvl) +{ + lx_emul_trace_and_stop(__func__); +} + + #include void emergency_restart(void) @@ -473,6 +441,14 @@ void finish_rcuwait(struct rcuwait * w) } +#include + +bool folio_mark_dirty(struct folio * folio) +{ + lx_emul_trace_and_stop(__func__); +} + + extern void gen5_gt_enable_irq(struct intel_gt * gt,u32 mask); void gen5_gt_enable_irq(struct intel_gt * gt,u32 mask) { @@ -701,13 +677,6 @@ void i915_gem_drain_freed_objects(struct drm_i915_private * i915) } -extern void i915_gem_drain_workqueue(struct drm_i915_private * i915); -void i915_gem_drain_workqueue(struct drm_i915_private * i915) -{ - lx_emul_trace_and_stop(__func__); -} - - extern void i915_gem_driver_release(struct drm_i915_private * dev_priv); void i915_gem_driver_release(struct drm_i915_private * dev_priv) { @@ -1002,8 +971,15 @@ void i915_perf_fini(struct drm_i915_private * i915) } -extern int i915_perf_ioctl_version(void); -int i915_perf_ioctl_version(void) +extern int i915_perf_ioctl_version(struct drm_i915_private * i915); +int i915_perf_ioctl_version(struct drm_i915_private * i915) +{ + lx_emul_trace_and_stop(__func__); +} + + +extern u32 i915_perf_oa_timestamp_frequency(struct drm_i915_private * i915); +u32 i915_perf_oa_timestamp_frequency(struct drm_i915_private * i915) { lx_emul_trace_and_stop(__func__); } @@ -1114,6 +1090,13 @@ void i915_scheduler_module_exit(void) } +extern bool i915_ttm_resource_mappable(struct ttm_resource * res); +bool i915_ttm_resource_mappable(struct ttm_resource * res) +{ + lx_emul_trace_and_stop(__func__); +} + + extern int i915_vm_alloc_pt_stash(struct i915_address_space * vm,struct i915_vm_pt_stash * stash,u64 size); int i915_vm_alloc_pt_stash(struct i915_address_space * vm,struct i915_vm_pt_stash * stash,u64 size) { @@ -1141,8 +1124,22 @@ struct pseudo_fs_context * init_pseudo(struct fs_context * fc,unsigned long magi bool initcall_debug; -extern u64 intel_context_get_total_runtime_ns(const struct intel_context * ce); -u64 intel_context_get_total_runtime_ns(const struct intel_context * ce) +extern u64 intel_context_get_total_runtime_ns(struct intel_context * ce); +u64 intel_context_get_total_runtime_ns(struct intel_context * ce) +{ + lx_emul_trace_and_stop(__func__); +} + + +extern void intel_dsb_finish(struct intel_dsb * dsb); +void intel_dsb_finish(struct intel_dsb * dsb) +{ + lx_emul_trace_and_stop(__func__); +} + + +extern void intel_dsb_wait(struct intel_dsb * dsb); +void intel_dsb_wait(struct intel_dsb * dsb) { lx_emul_trace_and_stop(__func__); } @@ -1174,6 +1171,20 @@ unsigned int intel_engines_has_context_isolation(struct drm_i915_private * i915) struct resource intel_graphics_stolen_res; +extern void intel_gsc_uc_fini(struct intel_gsc_uc * gsc); +void intel_gsc_uc_fini(struct intel_gsc_uc * gsc) +{ + lx_emul_trace_and_stop(__func__); +} + + +extern int intel_gsc_uc_init(struct intel_gsc_uc * gsc); +int intel_gsc_uc_init(struct intel_gsc_uc * gsc) +{ + lx_emul_trace_and_stop(__func__); +} + + extern void intel_gt_check_and_clear_faults(struct intel_gt * gt); void intel_gt_check_and_clear_faults(struct intel_gt * gt) { @@ -1188,20 +1199,6 @@ void intel_gt_driver_late_release_all(struct drm_i915_private * i915) } -extern void intel_gt_driver_release(struct intel_gt * gt); -void intel_gt_driver_release(struct intel_gt * gt) -{ - lx_emul_trace_and_stop(__func__); -} - - -extern void intel_gt_driver_remove(struct intel_gt * gt); -void intel_gt_driver_remove(struct intel_gt * gt) -{ - lx_emul_trace_and_stop(__func__); -} - - extern void intel_gt_driver_unregister(struct intel_gt * gt); void intel_gt_driver_unregister(struct intel_gt * gt) { @@ -1209,15 +1206,22 @@ void intel_gt_driver_unregister(struct intel_gt * gt) } -extern u32 intel_gt_mcr_read_any(struct intel_gt * gt,i915_reg_t reg); -u32 intel_gt_mcr_read_any(struct intel_gt * gt,i915_reg_t reg) +extern void intel_gt_mcr_lock(struct intel_gt * gt,unsigned long * flags); +void intel_gt_mcr_lock(struct intel_gt * gt,unsigned long * flags) { lx_emul_trace_and_stop(__func__); } -extern void intel_gt_release_all(struct drm_i915_private * i915); -void intel_gt_release_all(struct drm_i915_private * i915) +extern void intel_gt_mcr_multicast_write_fw(struct intel_gt * gt,i915_mcr_reg_t reg,u32 value); +void intel_gt_mcr_multicast_write_fw(struct intel_gt * gt,i915_mcr_reg_t reg,u32 value) +{ + lx_emul_trace_and_stop(__func__); +} + + +extern void intel_gt_mcr_unlock(struct intel_gt * gt,unsigned long flags); +void intel_gt_mcr_unlock(struct intel_gt * gt,unsigned long flags) { lx_emul_trace_and_stop(__func__); } @@ -1300,8 +1304,8 @@ void intel_guc_submission_disable(struct intel_guc * guc) } -extern void intel_guc_submission_enable(struct intel_guc * guc); -void intel_guc_submission_enable(struct intel_guc * guc) +extern int intel_guc_submission_enable(struct intel_guc * guc); +int intel_guc_submission_enable(struct intel_guc * guc) { lx_emul_trace_and_stop(__func__); } @@ -1335,8 +1339,22 @@ bool intel_has_reset_engine(const struct intel_gt * gt) } -extern int intel_huc_auth(struct intel_huc * huc); -int intel_huc_auth(struct intel_huc * huc) +extern void intel_hdcp_gsc_fini(struct drm_i915_private * i915); +void intel_hdcp_gsc_fini(struct drm_i915_private * i915) +{ + lx_emul_trace_and_stop(__func__); +} + + +extern int intel_hdcp_gsc_init(struct drm_i915_private * i915); +int intel_hdcp_gsc_init(struct drm_i915_private * i915) +{ + lx_emul_trace_and_stop(__func__); +} + + +extern int intel_huc_auth(struct intel_huc * huc,enum intel_huc_authentication_type type); +int intel_huc_auth(struct intel_huc * huc,enum intel_huc_authentication_type type) { lx_emul_trace_and_stop(__func__); } @@ -1370,6 +1388,13 @@ int intel_huc_init(struct intel_huc * huc) } +extern int intel_huc_sanitize(struct intel_huc * huc); +int intel_huc_sanitize(struct intel_huc * huc) +{ + lx_emul_trace_and_stop(__func__); +} + + extern void intel_huc_update_auth_status(struct intel_huc * huc); void intel_huc_update_auth_status(struct intel_huc * huc) { @@ -1377,6 +1402,41 @@ void intel_huc_update_auth_status(struct intel_huc * huc) } +extern struct drm_atomic_state * intel_load_detect_get_pipe(struct drm_connector * connector,struct drm_modeset_acquire_ctx * ctx); +struct drm_atomic_state * intel_load_detect_get_pipe(struct drm_connector * connector,struct drm_modeset_acquire_ctx * ctx) +{ + lx_emul_trace_and_stop(__func__); +} + + +extern void intel_load_detect_release_pipe(struct drm_connector * connector,struct drm_atomic_state * state,struct drm_modeset_acquire_ctx * ctx); +void intel_load_detect_release_pipe(struct drm_connector * connector,struct drm_atomic_state * state,struct drm_modeset_acquire_ctx * ctx) +{ + lx_emul_trace_and_stop(__func__); +} + + +extern void intel_pxp_fini(struct drm_i915_private * i915); +void intel_pxp_fini(struct drm_i915_private * i915) +{ + lx_emul_trace_and_stop(__func__); +} + + +extern int intel_pxp_get_readiness_status(struct intel_pxp * pxp); +int intel_pxp_get_readiness_status(struct intel_pxp * pxp) +{ + lx_emul_trace_and_stop(__func__); +} + + +extern bool intel_pxp_is_enabled(const struct intel_pxp * pxp); +bool intel_pxp_is_enabled(const struct intel_pxp * pxp) +{ + lx_emul_trace_and_stop(__func__); +} + + extern int intel_reset_guc(struct intel_gt * gt); int intel_reset_guc(struct intel_gt * gt) { @@ -1412,6 +1472,13 @@ void intel_rps_raise_unslice(struct intel_rps * rps) } +extern int intel_sprite_set_colorkey_ioctl(struct drm_device * dev,void * data,struct drm_file * file_priv); +int intel_sprite_set_colorkey_ioctl(struct drm_device * dev,void * data,struct drm_file * file_priv) +{ + lx_emul_trace_and_stop(__func__); +} + + extern unsigned int intel_sseu_get_hsw_subslices(const struct sseu_dev_info * sseu,u8 slice); unsigned int intel_sseu_get_hsw_subslices(const struct sseu_dev_info * sseu,u8 slice) { @@ -1440,6 +1507,13 @@ int intel_uc_fw_fetch(struct intel_uc_fw * uc_fw) } +extern void intel_uc_fw_resume_mapping(struct intel_uc_fw * uc_fw); +void intel_uc_fw_resume_mapping(struct intel_uc_fw * uc_fw) +{ + lx_emul_trace_and_stop(__func__); +} + + extern bool intel_vgpu_has_full_ppgtt(struct drm_i915_private * dev_priv); bool intel_vgpu_has_full_ppgtt(struct drm_i915_private * dev_priv) { @@ -1493,11 +1567,6 @@ long __sched io_schedule_timeout(long timeout) } -#include - -struct io_tlb_mem io_tlb_default_mem; - - #include void iput(struct inode * inode) @@ -1557,6 +1626,11 @@ void kmsg_dump(enum kmsg_dump_reason reason) } +#include + +unsigned long loops_per_jiffy; + + #include void memunmap(void * addr) @@ -1639,17 +1713,9 @@ void on_each_cpu_cond_mask(smp_cond_func_t cond_func,smp_call_func_t func,void * int oops_in_progress; /* If set, an oops, panic(), BUG() or die() is in progress */ -#include - -bool page_mapped(struct page * page) -{ - lx_emul_trace_and_stop(__func__); -} - - #include -noinline struct page * pagecache_get_page(struct address_space * mapping,pgoff_t index,int fgp_flags,gfp_t gfp) +noinline struct page * pagecache_get_page(struct address_space * mapping,pgoff_t index,fgf_t fgp_flags,gfp_t gfp) { lx_emul_trace_and_stop(__func__); } @@ -1684,6 +1750,14 @@ void pci_disable_device(struct pci_dev * dev) } +#include + +void __iomem * pci_iomap_range(struct pci_dev * dev,int bar,unsigned long offset,unsigned long maxlen) +{ + lx_emul_trace_and_stop(__func__); +} + + #include int pci_read_config_byte(const struct pci_dev * dev,int where,u8 * val) @@ -1756,8 +1830,8 @@ void pinctrl_unregister_mappings(const struct pinctrl_map * map) } -extern void ppgtt_bind_vma(struct i915_address_space * vm,struct i915_vm_pt_stash * stash,struct i915_vma_resource * vma_res,enum i915_cache_level cache_level,u32 flags); -void ppgtt_bind_vma(struct i915_address_space * vm,struct i915_vm_pt_stash * stash,struct i915_vma_resource * vma_res,enum i915_cache_level cache_level,u32 flags) +extern void ppgtt_bind_vma(struct i915_address_space * vm,struct i915_vm_pt_stash * stash,struct i915_vma_resource * vma_res,unsigned int pat_index,u32 flags); +void ppgtt_bind_vma(struct i915_address_space * vm,struct i915_vm_pt_stash * stash,struct i915_vma_resource * vma_res,unsigned int pat_index,u32 flags) { lx_emul_trace_and_stop(__func__); } @@ -1794,6 +1868,20 @@ void put_pid(struct pid * pid) } +extern void raw_spin_rq_lock_nested(struct rq * rq,int subclass); +void raw_spin_rq_lock_nested(struct rq * rq,int subclass) +{ + lx_emul_trace_and_stop(__func__); +} + + +extern void raw_spin_rq_unlock(struct rq * rq); +void raw_spin_rq_unlock(struct rq * rq) +{ + lx_emul_trace_and_stop(__func__); +} + + #include enum reboot_mode reboot_mode; @@ -1830,6 +1918,25 @@ int set_pages_wb(struct page * page,int numpages) } +extern void set_rq_offline(struct rq * rq); +void set_rq_offline(struct rq * rq) +{ + lx_emul_trace_and_stop(__func__); +} + + +extern void set_rq_online(struct rq * rq); +void set_rq_online(struct rq * rq) +{ + lx_emul_trace_and_stop(__func__); +} + + +#include + +unsigned int setup_max_cpus; + + #include struct file * shmem_file_setup_with_mnt(struct vfsmount * mnt,const char * name,loff_t size,unsigned long flags) @@ -1935,15 +2042,7 @@ int task_work_add(struct task_struct * task,struct callback_head * work,enum tas #include -struct callback_head * task_work_cancel(struct task_struct * task,task_work_func_t func) -{ - lx_emul_trace_and_stop(__func__); -} - - -#include - -void ttm_mem_io_free(struct ttm_device * bdev,struct ttm_resource * mem) +struct callback_head * task_work_cancel_func(struct task_struct * task,task_work_func_t func) { lx_emul_trace_and_stop(__func__); } @@ -1980,6 +2079,13 @@ void unregister_irq_proc(unsigned int irq,struct irq_desc * desc) } +extern void update_group_capacity(struct sched_domain * sd,int cpu); +void update_group_capacity(struct sched_domain * sd,int cpu) +{ + lx_emul_trace_and_stop(__func__); +} + + #include void * vmap(struct page ** pages,unsigned int count,unsigned long flags,pgprot_t prot) diff --git a/repos/pc/src/driver/framebuffer/intel/pc/lx_emul.c b/repos/pc/src/driver/framebuffer/intel/pc/lx_emul.c index 282f5eacc7..5262c6b112 100644 --- a/repos/pc/src/driver/framebuffer/intel/pc/lx_emul.c +++ b/repos/pc/src/driver/framebuffer/intel/pc/lx_emul.c @@ -5,7 +5,7 @@ */ /* - * Copyright (C) 2021-2022 Genode Labs GmbH + * Copyright (C) 2021-2024 Genode Labs GmbH * * This file is distributed under the terms of the GNU General Public License * version 2. @@ -14,7 +14,8 @@ #include #include #include -#include + +#include #include #include @@ -22,8 +23,12 @@ #include #include +#include "shmem_intel.h" + #include "i915_drv.h" #include "intel_pci_config.h" +#include "i915/gem/i915_gem_lmem.h" +#include "i915/gt/intel_gt.h" #include @@ -78,7 +83,6 @@ pgprot_t pgprot_writecombine(pgprot_t prot) } -extern int intel_root_gt_init_early(struct drm_i915_private * i915); int intel_root_gt_init_early(struct drm_i915_private * i915) { struct intel_gt *gt = to_gt(i915); @@ -131,7 +135,6 @@ int intel_root_gt_init_early(struct drm_i915_private * i915) } -extern int intel_gt_probe_all(struct drm_i915_private * i915); int intel_gt_probe_all(struct drm_i915_private * i915) { struct pci_dev *pdev = to_pci_dev(i915->drm.dev); @@ -140,7 +143,7 @@ int intel_gt_probe_all(struct drm_i915_private * i915) unsigned int mmio_bar; int ret; - mmio_bar = GRAPHICS_VER(i915) == 2 ? GEN2_GTTMMADR_BAR : GTTMMADR_BAR; + mmio_bar = intel_mmio_bar(GRAPHICS_VER(i915)); phys_addr = pci_resource_start(pdev, mmio_bar); /* @@ -150,8 +153,9 @@ int intel_gt_probe_all(struct drm_i915_private * i915) */ gt->i915 = i915; gt->name = "Primary GT"; - gt->info.engine_mask = RUNTIME_INFO(i915)->platform_engine_mask; + gt->info.engine_mask = INTEL_INFO(i915)->platform_engine_mask; + /* intel_gt_tile_setup() emulation - start */ intel_uncore_init_early(gt->uncore, gt); ret = intel_uncore_setup_mmio(gt->uncore, phys_addr); @@ -159,6 +163,7 @@ int intel_gt_probe_all(struct drm_i915_private * i915) return ret; gt->phys_addr = phys_addr; + /* intel_gt_tile_setup() emulation - end */ i915->gt[0] = gt; @@ -166,7 +171,6 @@ int intel_gt_probe_all(struct drm_i915_private * i915) } -extern int intel_gt_assign_ggtt(struct intel_gt * gt); int intel_gt_assign_ggtt(struct intel_gt * gt) { gt->ggtt = drmm_kzalloc(>->i915->drm, sizeof(*gt->ggtt), GFP_KERNEL); @@ -175,6 +179,23 @@ int intel_gt_assign_ggtt(struct intel_gt * gt) } +enum i915_map_type intel_gt_coherent_map_type(struct intel_gt *gt, + struct drm_i915_gem_object *obj, + bool always_coherent) +{ + /* + * Wa_22016122933: always return I915_MAP_WC for Media + * version 13.0 when the object is on the Media GT + */ + if (i915_gem_object_is_lmem(obj) || intel_gt_needs_wa_22016122933(gt)) + return I915_MAP_WC; + if (HAS_LLC(gt->i915) || always_coherent) + return I915_MAP_WB; + else + return I915_MAP_WC; +} + + void __iomem * ioremap_wc(resource_size_t phys_addr, unsigned long size) { lx_emul_trace(__func__); @@ -211,7 +232,6 @@ void intel_vgpu_detect(struct drm_i915_private * dev_priv) * probe/boot up are not trigged (INTEL_PPGTT_ALIASING, Lenovo T420) */ - //struct intel_device_info *info = mkwrite_device_info(dev_priv); struct intel_runtime_info *rinfo = RUNTIME_INFO(dev_priv); rinfo->ppgtt_type = INTEL_PPGTT_NONE; @@ -248,3 +268,150 @@ unsigned long _copy_to_user(void __user * to, const void * from, unsigned long n memcpy(to, from, n); return 0; } + + +enum acpi_backlight_type __acpi_video_get_backlight_type(bool native, + bool * auto_detect) +{ + enum acpi_backlight_type const type = acpi_backlight_native; + + printk("\n%s -> %s\n", __func__, + type == acpi_backlight_native ? "native" : + type == acpi_backlight_vendor ? "vendor" : "unknown"); + + return type; +} + + + +/* + * Very very basic folio free-up emulation + */ + + +void folio_mark_accessed(struct folio *folio) +{ + lx_emul_trace(__func__); +} + + +void check_move_unevictable_folios(struct folio_batch *fbatch) +{ + lx_emul_trace(__func__); +} + + +void free_huge_folio(struct folio *folio) +{ + lx_emul_trace_and_stop(__func__); +} + + +void folio_undo_large_rmappable(struct folio *folio) +{ + lx_emul_trace_and_stop(__func__); +} + + +void free_unref_page(struct page *page, unsigned int order) +{ + lx_emul_trace_and_stop(__func__); +} + + +/* + * see linux/src/linux/mm/page_alloc.c - mostly original code, beside __folio_put + */ +void destroy_large_folio(struct folio *folio) +{ + if (folio_test_hugetlb(folio)) { + free_huge_folio(folio); + return; + } + + if (folio_test_large_rmappable(folio)) + folio_undo_large_rmappable(folio); + + mem_cgroup_uncharge(folio); + + __folio_put(folio); +} + + +/* + * see linux/src/linux/mm/swap.c - this is a very shorten version of it + */ +static void __page_cache_release(struct folio *folio) +{ + if (folio_test_lru(folio)) { + lx_emul_trace_and_stop(__func__); + } + /* See comment on folio_test_mlocked in release_pages() */ + if (unlikely(folio_test_mlocked(folio))) { + lx_emul_trace_and_stop(__func__); + } +} + + +/* + * see linux/src/linux/mm/swap.c - original code + */ +static void __folio_put_large(struct folio *folio) +{ + /* + * __page_cache_release() is supposed to be called for thp, not for + * hugetlb. This is because hugetlb page does never have PageLRU set + * (it's never listed to any LRU lists) and no memcg routines should + * be called for hugetlb (it has a separate hugetlb_cgroup.) + */ + if (!folio_test_hugetlb(folio)) + __page_cache_release(folio); + destroy_large_folio(folio); +} + + +/* + * see linux/src/linux/mm/swap.c - this is a very shorten version of it + */ +void release_pages(release_pages_arg arg, int nr) +{ + int i; + struct encoded_page **encoded = arg.encoded_pages; + + for (i = 0; i < nr; i++) { + struct folio *folio; + + /* Turn any of the argument types into a folio */ + folio = page_folio(encoded_page_ptr(encoded[i])); + + if (is_huge_zero_page(&folio->page)) + continue; + + if (folio_is_zone_device(folio)) + lx_emul_trace_and_stop(__func__); + + if (!folio_put_testzero(folio)) + continue; + + if (folio_test_large(folio)) { + lx_emul_trace(__func__); + __folio_put_large(folio); + continue; + } + + if (folio_test_lru(folio)) + lx_emul_trace_and_stop(__func__); + + if (unlikely(folio_test_mlocked(folio))) + lx_emul_trace_and_stop(__func__); + } +} + + +void __folio_batch_release(struct folio_batch *fbatch) +{ + lx_emul_trace(__func__); + + release_pages(fbatch->folios, folio_batch_count(fbatch)); + folio_batch_reinit(fbatch); +} diff --git a/repos/pc/src/driver/framebuffer/intel/pc/lx_emul.h b/repos/pc/src/driver/framebuffer/intel/pc/lx_emul.h index f6cfe7956e..66c2896c38 100644 --- a/repos/pc/src/driver/framebuffer/intel/pc/lx_emul.h +++ b/repos/pc/src/driver/framebuffer/intel/pc/lx_emul.h @@ -5,7 +5,7 @@ */ /* - * Copyright (C) 2021 Genode Labs GmbH + * Copyright (C) 2021-2024 Genode Labs GmbH * * This file is distributed under the terms of the GNU General Public License * version 2. @@ -19,12 +19,10 @@ extern "C" { #endif - /* fix for wait_for_completion_timeout where the __sched include is missing */ #include -struct dma_fence_work; -struct dma_fence_work_ops; +struct intel_dsb; void * intel_io_mem_map(unsigned long offset, unsigned long size); diff --git a/repos/pc/src/driver/framebuffer/intel/pc/lx_user.c b/repos/pc/src/driver/framebuffer/intel/pc/lx_user.c index 78b4a810e8..169ee65dbe 100644 --- a/repos/pc/src/driver/framebuffer/intel/pc/lx_user.c +++ b/repos/pc/src/driver/framebuffer/intel/pc/lx_user.c @@ -475,7 +475,8 @@ static int configure_connectors(void * data) void lx_user_init(void) { - int pid = kernel_thread(configure_connectors, NULL, CLONE_FS | CLONE_FILES); + int pid = kernel_thread(configure_connectors, NULL, "lx_user", + CLONE_FS | CLONE_FILES); lx_user_task = find_task_by_pid_ns(pid, NULL);; } @@ -580,7 +581,7 @@ static int fb_client_hotplug(struct drm_client_dev *client) 0 /* auto height */); if (result) { printk("%s: error on modeset probe %d\n", __func__, result); - return result; + return 0; } /* @@ -612,7 +613,7 @@ static int fb_client_hotplug(struct drm_client_dev *client) if (fb) drm_framebuffer_put(fb); - return result; + return 0; } diff --git a/repos/pc/src/driver/framebuffer/intel/pc/shmem_intel.h b/repos/pc/src/driver/framebuffer/intel/pc/shmem_intel.h new file mode 100644 index 0000000000..01349b57dc --- /dev/null +++ b/repos/pc/src/driver/framebuffer/intel/pc/shmem_intel.h @@ -0,0 +1,160 @@ +/* + * \brief Shared-memory file utility for intel/display + * \author Christian Helmuth + * \author Josef Söntgen + * \author Alexander Boettcher + * \date 2023-12-04 + * + * This utility implements limited shared-memory file semantics as required by + * Linux graphic driver intel_fb + */ + +/* + * Copyright (C) 2023-2024 Genode Labs GmbH + * + * This file is distributed under the terms of the GNU General Public License + * version 2. + */ + +#include + + +struct shmem_file_buffer +{ + struct folio *folio; +}; + + +struct file *shmem_file_setup(char const *name, loff_t size, + unsigned long flags) +{ + struct file *f; + struct inode *inode; + struct address_space *mapping; + struct shmem_file_buffer *private_data; + loff_t const nrpages = DIV_ROUND_UP(size, PAGE_SIZE); + + if (!size) + return (struct file*)ERR_PTR(-EINVAL); + + f = kzalloc(sizeof (struct file), 0); + if (!f) { + return (struct file*)ERR_PTR(-ENOMEM); + } + + inode = kzalloc(sizeof (struct inode), 0); + if (!inode) { + goto err_inode; + } + + mapping = kzalloc(sizeof (struct address_space), 0); + if (!mapping) { + goto err_mapping; + } + + private_data = kzalloc(sizeof (struct shmem_file_buffer), 0); + if (!private_data) { + goto err_private_data; + } + + mapping->private_data = private_data; + mapping->nrpages = nrpages; + + inode->i_mapping = mapping; + + atomic_long_set(&f->f_count, 1); + f->f_inode = inode; + f->f_mapping = mapping; + f->f_flags = flags; + f->f_mode = OPEN_FMODE(flags); + f->f_mode |= FMODE_OPENED; + + return f; + +err_private_data: + kfree(mapping); +err_mapping: + kfree(inode); +err_inode: + kfree(f); + return (struct file*)ERR_PTR(-ENOMEM); +} + + +static void _free_file(struct file *file) +{ + struct inode *inode; + struct address_space *mapping; + struct shmem_file_buffer *private_data; + + mapping = file->f_mapping; + inode = file->f_inode; + + if (mapping) { + private_data = mapping->private_data; + + if (private_data->folio) { + /* freed by indirect call of __folio_batch_release in lx_emul.c */ + private_data->folio = NULL; + } + + kfree(private_data); + kfree(mapping); + } + + kfree(inode); + kfree(file->f_path.dentry); + kfree(file); +} + + +void fput(struct file *file) +{ + if (!file) + return; + + if (atomic_long_sub_and_test(1, &file->f_count)) { + _free_file(file); + } +} + + +/* + * Identical to original from mm/page_alloc.c + */ +struct folio *__folio_alloc(gfp_t gfp, unsigned int order, int preferred_nid, + nodemask_t *nodemask) +{ + struct page *page = __alloc_pages(gfp | __GFP_COMP, order, + preferred_nid, nodemask); + struct folio *folio = (struct folio *)page; + + if (folio && order > 1) + folio_prep_large_rmappable(folio); + return folio; +} + + +struct folio *shmem_read_folio_gfp(struct address_space *mapping, + pgoff_t index, gfp_t gfp) +{ + struct shmem_file_buffer *private_data; + + if (index > mapping->nrpages) + return NULL; + + private_data = mapping->private_data; + + if (index != 0) { + printk("%s unsupported case - fail\n", __func__); + return NULL; + } + + if (!private_data->folio) { + unsigned order = order_base_2(mapping->nrpages); + /* essence of shmem_alloc_folio function */ + private_data->folio = vma_alloc_folio(gfp, order, NULL, 0, true); + } + + return private_data->folio; +} diff --git a/repos/pc/src/driver/framebuffer/intel/pc/spec/x86_32/dep.list b/repos/pc/src/driver/framebuffer/intel/pc/spec/x86_32/dep.list index 065741ab04..23205b9637 100644 --- a/repos/pc/src/driver/framebuffer/intel/pc/spec/x86_32/dep.list +++ b/repos/pc/src/driver/framebuffer/intel/pc/spec/x86_32/dep.list @@ -9,6 +9,380 @@ arch/x86/include/asm/pgtable_32_areas.h arch/x86/include/asm/pgtable_32_types.h arch/x86/include/asm/user_32.h arch/x86/include/uapi/asm/posix_types_32.h +drivers/gpu/drm/i915/display/g4x_dp.h +drivers/gpu/drm/i915/display/g4x_hdmi.h +drivers/gpu/drm/i915/display/hsw_ips.h +drivers/gpu/drm/i915/display/i9xx_plane.h +drivers/gpu/drm/i915/display/i9xx_wm.h +drivers/gpu/drm/i915/display/icl_dsi.h +drivers/gpu/drm/i915/display/icl_dsi_regs.h +drivers/gpu/drm/i915/display/intel_acpi.h +drivers/gpu/drm/i915/display/intel_atomic.h +drivers/gpu/drm/i915/display/intel_atomic_plane.h +drivers/gpu/drm/i915/display/intel_audio.h +drivers/gpu/drm/i915/display/intel_audio_regs.h +drivers/gpu/drm/i915/display/intel_backlight.h +drivers/gpu/drm/i915/display/intel_backlight_regs.h +drivers/gpu/drm/i915/display/intel_bios.h +drivers/gpu/drm/i915/display/intel_bw.h +drivers/gpu/drm/i915/display/intel_cdclk.h +drivers/gpu/drm/i915/display/intel_color.h +drivers/gpu/drm/i915/display/intel_combo_phy.h +drivers/gpu/drm/i915/display/intel_combo_phy_regs.h +drivers/gpu/drm/i915/display/intel_connector.h +drivers/gpu/drm/i915/display/intel_crtc.h +drivers/gpu/drm/i915/display/intel_crtc_state_dump.h +drivers/gpu/drm/i915/display/intel_crt.h +drivers/gpu/drm/i915/display/intel_cursor.h +drivers/gpu/drm/i915/display/intel_cx0_phy.h +drivers/gpu/drm/i915/display/intel_cx0_phy_regs.h +drivers/gpu/drm/i915/display/intel_ddi_buf_trans.h +drivers/gpu/drm/i915/display/intel_ddi.h +drivers/gpu/drm/i915/display/intel_de.h +drivers/gpu/drm/i915/display/intel_display_core.h +drivers/gpu/drm/i915/display/intel_display_debugfs.h +drivers/gpu/drm/i915/display/intel_display_device.h +drivers/gpu/drm/i915/display/intel_display_driver.h +drivers/gpu/drm/i915/display/intel_display.h +drivers/gpu/drm/i915/display/intel_display_irq.h +drivers/gpu/drm/i915/display/intel_display_limits.h +drivers/gpu/drm/i915/display/intel_display_power.h +drivers/gpu/drm/i915/display/intel_display_power_map.h +drivers/gpu/drm/i915/display/intel_display_power_well.h +drivers/gpu/drm/i915/display/intel_display_reg_defs.h +drivers/gpu/drm/i915/display/intel_display_reset.h +drivers/gpu/drm/i915/display/intel_display_rps.h +drivers/gpu/drm/i915/display/intel_display_trace.h +drivers/gpu/drm/i915/display/intel_display_types.h +drivers/gpu/drm/i915/display/intel_dkl_phy.h +drivers/gpu/drm/i915/display/intel_dkl_phy_regs.h +drivers/gpu/drm/i915/display/intel_dmc.h +drivers/gpu/drm/i915/display/intel_dmc_regs.h +drivers/gpu/drm/i915/display/intel_dp_aux_backlight.h +drivers/gpu/drm/i915/display/intel_dp_aux.h +drivers/gpu/drm/i915/display/intel_dp_aux_regs.h +drivers/gpu/drm/i915/display/intel_dp.h +drivers/gpu/drm/i915/display/intel_dp_hdcp.h +drivers/gpu/drm/i915/display/intel_dpio_phy.h +drivers/gpu/drm/i915/display/intel_dp_link_training.h +drivers/gpu/drm/i915/display/intel_dpll.h +drivers/gpu/drm/i915/display/intel_dpll_mgr.h +drivers/gpu/drm/i915/display/intel_dp_mst.h +drivers/gpu/drm/i915/display/intel_dpt.h +drivers/gpu/drm/i915/display/intel_drrs.h +drivers/gpu/drm/i915/display/intel_dsb.h +drivers/gpu/drm/i915/display/intel_dsb_regs.h +drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.h +drivers/gpu/drm/i915/display/intel_dsi.h +drivers/gpu/drm/i915/display/intel_dsi_vbt.h +drivers/gpu/drm/i915/display/intel_dvo_dev.h +drivers/gpu/drm/i915/display/intel_dvo.h +drivers/gpu/drm/i915/display/intel_dvo_regs.h +drivers/gpu/drm/i915/display/intel_fbc.h +drivers/gpu/drm/i915/display/intel_fbdev.h +drivers/gpu/drm/i915/display/intel_fb.h +drivers/gpu/drm/i915/display/intel_fb_pin.h +drivers/gpu/drm/i915/display/intel_fdi.h +drivers/gpu/drm/i915/display/intel_fdi_regs.h +drivers/gpu/drm/i915/display/intel_fifo_underrun.h +drivers/gpu/drm/i915/display/intel_frontbuffer.h +drivers/gpu/drm/i915/display/intel_global_state.h +drivers/gpu/drm/i915/display/intel_gmbus.h +drivers/gpu/drm/i915/display/intel_gmbus_regs.h +drivers/gpu/drm/i915/display/intel_hdcp_gsc.h +drivers/gpu/drm/i915/display/intel_hdcp.h +drivers/gpu/drm/i915/display/intel_hdcp_regs.h +drivers/gpu/drm/i915/display/intel_hdmi.h +drivers/gpu/drm/i915/display/intel_hotplug.h +drivers/gpu/drm/i915/display/intel_hotplug_irq.h +drivers/gpu/drm/i915/display/intel_hti.h +drivers/gpu/drm/i915/display/intel_hti_regs.h +drivers/gpu/drm/i915/display/intel_load_detect.h +drivers/gpu/drm/i915/display/intel_lpe_audio.h +drivers/gpu/drm/i915/display/intel_lspcon.h +drivers/gpu/drm/i915/display/intel_lvds.h +drivers/gpu/drm/i915/display/intel_lvds_regs.h +drivers/gpu/drm/i915/display/intel_mg_phy_regs.h +drivers/gpu/drm/i915/display/intel_modeset_lock.h +drivers/gpu/drm/i915/display/intel_modeset_setup.h +drivers/gpu/drm/i915/display/intel_modeset_verify.h +drivers/gpu/drm/i915/display/intel_opregion.h +drivers/gpu/drm/i915/display/intel_overlay.h +drivers/gpu/drm/i915/display/intel_panel.h +drivers/gpu/drm/i915/display/intel_pch_display.h +drivers/gpu/drm/i915/display/intel_pch_refclk.h +drivers/gpu/drm/i915/display/intel_pipe_crc.h +drivers/gpu/drm/i915/display/intel_plane_initial.h +drivers/gpu/drm/i915/display/intel_pmdemand.h +drivers/gpu/drm/i915/display/intel_pps.h +drivers/gpu/drm/i915/display/intel_pps_regs.h +drivers/gpu/drm/i915/display/intel_psr.h +drivers/gpu/drm/i915/display/intel_psr_regs.h +drivers/gpu/drm/i915/display/intel_qp_tables.h +drivers/gpu/drm/i915/display/intel_quirks.h +drivers/gpu/drm/i915/display/intel_sdvo.h +drivers/gpu/drm/i915/display/intel_sdvo_regs.h +drivers/gpu/drm/i915/display/intel_snps_phy.h +drivers/gpu/drm/i915/display/intel_snps_phy_regs.h +drivers/gpu/drm/i915/display/intel_sprite.h +drivers/gpu/drm/i915/display/intel_sprite_uapi.h +drivers/gpu/drm/i915/display/intel_tc.h +drivers/gpu/drm/i915/display/intel_tv.h +drivers/gpu/drm/i915/display/intel_tv_regs.h +drivers/gpu/drm/i915/display/intel_vblank.h +drivers/gpu/drm/i915/display/intel_vbt_defs.h +drivers/gpu/drm/i915/display/intel_vdsc.h +drivers/gpu/drm/i915/display/intel_vdsc_regs.h +drivers/gpu/drm/i915/display/intel_vga.h +drivers/gpu/drm/i915/display/intel_vrr.h +drivers/gpu/drm/i915/display/intel_wm.h +drivers/gpu/drm/i915/display/intel_wm_types.h +drivers/gpu/drm/i915/display/skl_scaler.h +drivers/gpu/drm/i915/display/skl_universal_plane.h +drivers/gpu/drm/i915/display/skl_watermark.h +drivers/gpu/drm/i915/display/skl_watermark_regs.h +drivers/gpu/drm/i915/display/vlv_dsi.h +drivers/gpu/drm/i915/display/vlv_dsi_pll.h +drivers/gpu/drm/i915/display/vlv_dsi_pll_regs.h +drivers/gpu/drm/i915/display/vlv_dsi_regs.h +drivers/gpu/drm/i915/gem/i915_gem_clflush.h +drivers/gpu/drm/i915/gem/i915_gem_context.h +drivers/gpu/drm/i915/gem/i915_gem_context_types.h +drivers/gpu/drm/i915/gem/i915_gem_create.h +drivers/gpu/drm/i915/gem/i915_gem_dmabuf.h +drivers/gpu/drm/i915/gem/i915_gem_domain.h +drivers/gpu/drm/i915/gem/i915_gemfs.h +drivers/gpu/drm/i915/gem/i915_gem_internal.h +drivers/gpu/drm/i915/gem/i915_gem_ioctls.h +drivers/gpu/drm/i915/gem/i915_gem_lmem.h +drivers/gpu/drm/i915/gem/i915_gem_mman.h +drivers/gpu/drm/i915/gem/i915_gem_object.h +drivers/gpu/drm/i915/gem/i915_gem_object_types.h +drivers/gpu/drm/i915/gem/i915_gem_pm.h +drivers/gpu/drm/i915/gem/i915_gem_region.h +drivers/gpu/drm/i915/gem/i915_gem_shrinker.h +drivers/gpu/drm/i915/gem/i915_gem_stolen.h +drivers/gpu/drm/i915/gem/i915_gem_tiling.h +drivers/gpu/drm/i915/gem/i915_gem_ttm.h +drivers/gpu/drm/i915/gem/i915_gem_ttm_move.h +drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.h +drivers/gpu/drm/i915/gem/i915_gem_userptr.h +drivers/gpu/drm/i915/gt/gen2_engine_cs.h +drivers/gpu/drm/i915/gt/gen6_engine_cs.h +drivers/gpu/drm/i915/gt/gen6_ppgtt.h +drivers/gpu/drm/i915/gt/gen7_renderclear.h +drivers/gpu/drm/i915/gt/gen8_engine_cs.h +drivers/gpu/drm/i915/gt/gen8_ppgtt.h +drivers/gpu/drm/i915/gt/intel_breadcrumbs.h +drivers/gpu/drm/i915/gt/intel_breadcrumbs_types.h +drivers/gpu/drm/i915/gt/intel_context.h +drivers/gpu/drm/i915/gt/intel_context_param.h +drivers/gpu/drm/i915/gt/intel_context_types.h +drivers/gpu/drm/i915/gt/intel_engine.h +drivers/gpu/drm/i915/gt/intel_engine_heartbeat.h +drivers/gpu/drm/i915/gt/intel_engine_pm.h +drivers/gpu/drm/i915/gt/intel_engine_regs.h +drivers/gpu/drm/i915/gt/intel_engine_stats.h +drivers/gpu/drm/i915/gt/intel_engine_types.h +drivers/gpu/drm/i915/gt/intel_engine_user.h +drivers/gpu/drm/i915/gt/intel_execlists_submission.h +drivers/gpu/drm/i915/gt/intel_ggtt_fencing.h +drivers/gpu/drm/i915/gt/intel_ggtt_gmch.h +drivers/gpu/drm/i915/gt/intel_gpu_commands.h +drivers/gpu/drm/i915/gt/intel_gsc.h +drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.h +drivers/gpu/drm/i915/gt/intel_gt_buffer_pool_types.h +drivers/gpu/drm/i915/gt/intel_gt_ccs_mode.h +drivers/gpu/drm/i915/gt/intel_gt_clock_utils.h +drivers/gpu/drm/i915/gt/intel_gt_debugfs.h +drivers/gpu/drm/i915/gt/intel_gt_defines.h +drivers/gpu/drm/i915/gt/intel_gt_engines_debugfs.h +drivers/gpu/drm/i915/gt/intel_gt.h +drivers/gpu/drm/i915/gt/intel_gt_irq.h +drivers/gpu/drm/i915/gt/intel_gt_mcr.h +drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.h +drivers/gpu/drm/i915/gt/intel_gt_pm.h +drivers/gpu/drm/i915/gt/intel_gt_pm_irq.h +drivers/gpu/drm/i915/gt/intel_gt_print.h +drivers/gpu/drm/i915/gt/intel_gt_regs.h +drivers/gpu/drm/i915/gt/intel_gt_requests.h +drivers/gpu/drm/i915/gt/intel_gt_sysfs.h +drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.h +drivers/gpu/drm/i915/gt/intel_gtt.h +drivers/gpu/drm/i915/gt/intel_gt_types.h +drivers/gpu/drm/i915/gt/intel_hwconfig.h +drivers/gpu/drm/i915/gt/intel_llc.h +drivers/gpu/drm/i915/gt/intel_llc_types.h +drivers/gpu/drm/i915/gt/intel_lrc.h +drivers/gpu/drm/i915/gt/intel_lrc_reg.h +drivers/gpu/drm/i915/gt/intel_migrate.h +drivers/gpu/drm/i915/gt/intel_migrate_types.h +drivers/gpu/drm/i915/gt/intel_mocs.h +drivers/gpu/drm/i915/gt/intel_rc6.h +drivers/gpu/drm/i915/gt/intel_rc6_types.h +drivers/gpu/drm/i915/gt/intel_region_lmem.h +drivers/gpu/drm/i915/gt/intel_renderstate.h +drivers/gpu/drm/i915/gt/intel_reset.h +drivers/gpu/drm/i915/gt/intel_reset_types.h +drivers/gpu/drm/i915/gt/intel_ring.h +drivers/gpu/drm/i915/gt/intel_ring_types.h +drivers/gpu/drm/i915/gt/intel_rps.h +drivers/gpu/drm/i915/gt/intel_rps_types.h +drivers/gpu/drm/i915/gt/intel_sa_media.h +drivers/gpu/drm/i915/gt/intel_sseu_debugfs.h +drivers/gpu/drm/i915/gt/intel_sseu.h +drivers/gpu/drm/i915/gt/intel_timeline.h +drivers/gpu/drm/i915/gt/intel_timeline_types.h +drivers/gpu/drm/i915/gt/intel_tlb.h +drivers/gpu/drm/i915/gt/intel_wopcm.h +drivers/gpu/drm/i915/gt/intel_workarounds.h +drivers/gpu/drm/i915/gt/intel_workarounds_types.h +drivers/gpu/drm/i915/gt/mock_engine.h +drivers/gpu/drm/i915/gt/shmem_utils.h +drivers/gpu/drm/i915/gt/sysfs_engines.h +drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h +drivers/gpu/drm/i915/gt/uc/abi/guc_actions_slpc_abi.h +drivers/gpu/drm/i915/gt/uc/abi/guc_communication_ctb_abi.h +drivers/gpu/drm/i915/gt/uc/abi/guc_communication_mmio_abi.h +drivers/gpu/drm/i915/gt/uc/abi/guc_errors_abi.h +drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h +drivers/gpu/drm/i915/gt/uc/abi/guc_messages_abi.h +drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h +drivers/gpu/drm/i915/gt/uc/intel_gsc_binary_headers.h +drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.h +drivers/gpu/drm/i915/gt/uc/intel_gsc_proxy.h +drivers/gpu/drm/i915/gt/uc/intel_gsc_uc_debugfs.h +drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.h +drivers/gpu/drm/i915/gt/uc/intel_gsc_uc_heci_cmd_submit.h +drivers/gpu/drm/i915/gt/uc/intel_guc_ads.h +drivers/gpu/drm/i915/gt/uc/intel_guc_capture.h +drivers/gpu/drm/i915/gt/uc/intel_guc_ct.h +drivers/gpu/drm/i915/gt/uc/intel_guc_debugfs.h +drivers/gpu/drm/i915/gt/uc/intel_guc_fw.h +drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h +drivers/gpu/drm/i915/gt/uc/intel_guc.h +drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.h +drivers/gpu/drm/i915/gt/uc/intel_guc_log.h +drivers/gpu/drm/i915/gt/uc/intel_guc_print.h +drivers/gpu/drm/i915/gt/uc/intel_guc_rc.h +drivers/gpu/drm/i915/gt/uc/intel_guc_reg.h +drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.h +drivers/gpu/drm/i915/gt/uc/intel_guc_slpc_types.h +drivers/gpu/drm/i915/gt/uc/intel_guc_submission.h +drivers/gpu/drm/i915/gt/uc/intel_huc_debugfs.h +drivers/gpu/drm/i915/gt/uc/intel_huc_fw.h +drivers/gpu/drm/i915/gt/uc/intel_huc.h +drivers/gpu/drm/i915/gt/uc/intel_huc_print.h +drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.h +drivers/gpu/drm/i915/gt/uc/intel_uc_fw_abi.h +drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h +drivers/gpu/drm/i915/gt/uc/intel_uc.h +drivers/gpu/drm/i915/gvt/cmd_parser.h +drivers/gpu/drm/i915/gvt/debug.h +drivers/gpu/drm/i915/gvt/display.h +drivers/gpu/drm/i915/gvt/dmabuf.h +drivers/gpu/drm/i915/gvt/edid.h +drivers/gpu/drm/i915/gvt/execlist.h +drivers/gpu/drm/i915/gvt/fb_decoder.h +drivers/gpu/drm/i915/gvt/gtt.h +drivers/gpu/drm/i915/gvt/gvt.h +drivers/gpu/drm/i915/gvt/interrupt.h +drivers/gpu/drm/i915/gvt/mmio_context.h +drivers/gpu/drm/i915/gvt/mmio.h +drivers/gpu/drm/i915/gvt/page_track.h +drivers/gpu/drm/i915/gvt/reg.h +drivers/gpu/drm/i915/gvt/sched_policy.h +drivers/gpu/drm/i915/gvt/scheduler.h +drivers/gpu/drm/i915/gvt/trace.h +drivers/gpu/drm/i915/i915_active.h +drivers/gpu/drm/i915/i915_active_types.h +drivers/gpu/drm/i915/i915_cmd_parser.h +drivers/gpu/drm/i915/i915_config.h +drivers/gpu/drm/i915/i915_debugfs.h +drivers/gpu/drm/i915/i915_debugfs_params.h +drivers/gpu/drm/i915/i915_deps.h +drivers/gpu/drm/i915/i915_driver.h +drivers/gpu/drm/i915/i915_drm_client.h +drivers/gpu/drm/i915/i915_drv.h +drivers/gpu/drm/i915/i915_file_private.h +drivers/gpu/drm/i915/i915_fixed.h +drivers/gpu/drm/i915/i915_gem_evict.h +drivers/gpu/drm/i915/i915_gem_gtt.h +drivers/gpu/drm/i915/i915_gem.h +drivers/gpu/drm/i915/i915_gem_ww.h +drivers/gpu/drm/i915/i915_getparam.h +drivers/gpu/drm/i915/i915_gpu_error.h +drivers/gpu/drm/i915/i915_hwmon.h +drivers/gpu/drm/i915/i915_ioc32.h +drivers/gpu/drm/i915/i915_ioctl.h +drivers/gpu/drm/i915/i915_iosf_mbi.h +drivers/gpu/drm/i915/i915_irq.h +drivers/gpu/drm/i915/i915_memcpy.h +drivers/gpu/drm/i915/i915_mitigations.h +drivers/gpu/drm/i915/i915_mm.h +drivers/gpu/drm/i915/i915_params.h +drivers/gpu/drm/i915/i915_pci.h +drivers/gpu/drm/i915/i915_perf.h +drivers/gpu/drm/i915/i915_perf_oa_regs.h +drivers/gpu/drm/i915/i915_perf_types.h +drivers/gpu/drm/i915/i915_pmu.h +drivers/gpu/drm/i915/i915_priolist_types.h +drivers/gpu/drm/i915/i915_pvinfo.h +drivers/gpu/drm/i915/i915_query.h +drivers/gpu/drm/i915/i915_reg_defs.h +drivers/gpu/drm/i915/i915_reg.h +drivers/gpu/drm/i915/i915_request.h +drivers/gpu/drm/i915/i915_scatterlist.h +drivers/gpu/drm/i915/i915_scheduler.h +drivers/gpu/drm/i915/i915_scheduler_types.h +drivers/gpu/drm/i915/i915_suspend.h +drivers/gpu/drm/i915/i915_sw_fence.h +drivers/gpu/drm/i915/i915_sw_fence_work.h +drivers/gpu/drm/i915/i915_switcheroo.h +drivers/gpu/drm/i915/i915_syncmap.h +drivers/gpu/drm/i915/i915_sysfs.h +drivers/gpu/drm/i915/i915_tasklet.h +drivers/gpu/drm/i915/i915_trace.h +drivers/gpu/drm/i915/i915_ttm_buddy_manager.h +drivers/gpu/drm/i915/i915_user_extensions.h +drivers/gpu/drm/i915/i915_utils.h +drivers/gpu/drm/i915/i915_vgpu.h +drivers/gpu/drm/i915/i915_vma.h +drivers/gpu/drm/i915/i915_vma_resource.h +drivers/gpu/drm/i915/i915_vma_types.h +drivers/gpu/drm/i915/intel_clock_gating.h +drivers/gpu/drm/i915/intel_device_info.h +drivers/gpu/drm/i915/intel_gvt.h +drivers/gpu/drm/i915/intel_mchbar_regs.h +drivers/gpu/drm/i915/intel_memory_region.h +drivers/gpu/drm/i915/intel_pci_config.h +drivers/gpu/drm/i915/intel_pcode.h +drivers/gpu/drm/i915/intel_region_ttm.h +drivers/gpu/drm/i915/intel_runtime_pm.h +drivers/gpu/drm/i915/intel_sbi.h +drivers/gpu/drm/i915/intel_step.h +drivers/gpu/drm/i915/intel_uncore.h +drivers/gpu/drm/i915/intel_wakeref.h +drivers/gpu/drm/i915/pxp/intel_pxp_cmd.h +drivers/gpu/drm/i915/pxp/intel_pxp_cmd_interface_42.h +drivers/gpu/drm/i915/pxp/intel_pxp_cmd_interface_43.h +drivers/gpu/drm/i915/pxp/intel_pxp_cmd_interface_cmn.h +drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.h +drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.h +drivers/gpu/drm/i915/pxp/intel_pxp.h +drivers/gpu/drm/i915/pxp/intel_pxp_huc.h +drivers/gpu/drm/i915/pxp/intel_pxp_irq.h +drivers/gpu/drm/i915/pxp/intel_pxp_pm.h +drivers/gpu/drm/i915/pxp/intel_pxp_regs.h +drivers/gpu/drm/i915/pxp/intel_pxp_session.h +drivers/gpu/drm/i915/pxp/intel_pxp_tee.h +drivers/gpu/drm/i915/pxp/intel_pxp_types.h +drivers/gpu/drm/i915/soc/intel_dram.h +drivers/gpu/drm/i915/soc/intel_gmch.h +drivers/gpu/drm/i915/soc/intel_pch.h +drivers/gpu/drm/i915/vlv_sideband.h +drivers/gpu/drm/i915/vlv_sideband_reg.h +drivers/gpu/drm/i915/vlv_suspend.h include/asm-generic/asm-prototypes.h include/asm-generic/bitops/fls64.h include/asm-generic/pgtable-nopmd.h diff --git a/repos/pc/src/driver/framebuffer/intel/pc/spec/x86_32/source.list b/repos/pc/src/driver/framebuffer/intel/pc/spec/x86_32/source.list index c2fdd40c1b..2adf8fbe6d 100644 --- a/repos/pc/src/driver/framebuffer/intel/pc/spec/x86_32/source.list +++ b/repos/pc/src/driver/framebuffer/intel/pc/spec/x86_32/source.list @@ -77,6 +77,7 @@ drivers/gpu/drm/i915/display/g4x_dp.c drivers/gpu/drm/i915/display/g4x_hdmi.c drivers/gpu/drm/i915/display/hsw_ips.c drivers/gpu/drm/i915/display/i9xx_plane.c +drivers/gpu/drm/i915/display/i9xx_wm.c drivers/gpu/drm/i915/display/icl_dsi.c drivers/gpu/drm/i915/display/intel_acpi.c drivers/gpu/drm/i915/display/intel_atomic.c @@ -93,12 +94,17 @@ drivers/gpu/drm/i915/display/intel_crt.c drivers/gpu/drm/i915/display/intel_crtc.c drivers/gpu/drm/i915/display/intel_crtc_state_dump.c drivers/gpu/drm/i915/display/intel_cursor.c +drivers/gpu/drm/i915/display/intel_cx0_phy.c drivers/gpu/drm/i915/display/intel_ddi.c drivers/gpu/drm/i915/display/intel_ddi_buf_trans.c drivers/gpu/drm/i915/display/intel_display.c +drivers/gpu/drm/i915/display/intel_display_device.c +drivers/gpu/drm/i915/display/intel_display_driver.c +drivers/gpu/drm/i915/display/intel_display_irq.c drivers/gpu/drm/i915/display/intel_display_power.c drivers/gpu/drm/i915/display/intel_display_power_map.c drivers/gpu/drm/i915/display/intel_display_power_well.c +drivers/gpu/drm/i915/display/intel_display_rps.c drivers/gpu/drm/i915/display/intel_display_trace.c drivers/gpu/drm/i915/display/intel_dkl_phy.c drivers/gpu/drm/i915/display/intel_dmc.c @@ -128,9 +134,12 @@ drivers/gpu/drm/i915/display/intel_gmbus.c drivers/gpu/drm/i915/display/intel_hdcp.c drivers/gpu/drm/i915/display/intel_hdmi.c drivers/gpu/drm/i915/display/intel_hotplug.c +drivers/gpu/drm/i915/display/intel_hotplug_irq.c +drivers/gpu/drm/i915/display/intel_hti.c drivers/gpu/drm/i915/display/intel_lpe_audio.c drivers/gpu/drm/i915/display/intel_lspcon.c drivers/gpu/drm/i915/display/intel_lvds.c +drivers/gpu/drm/i915/display/intel_modeset_lock.c drivers/gpu/drm/i915/display/intel_modeset_setup.c drivers/gpu/drm/i915/display/intel_modeset_verify.c drivers/gpu/drm/i915/display/intel_opregion.c @@ -139,6 +148,7 @@ drivers/gpu/drm/i915/display/intel_panel.c drivers/gpu/drm/i915/display/intel_pch_display.c drivers/gpu/drm/i915/display/intel_pch_refclk.c drivers/gpu/drm/i915/display/intel_plane_initial.c +drivers/gpu/drm/i915/display/intel_pmdemand.c drivers/gpu/drm/i915/display/intel_pps.c drivers/gpu/drm/i915/display/intel_psr.c drivers/gpu/drm/i915/display/intel_qp_tables.c @@ -148,9 +158,11 @@ drivers/gpu/drm/i915/display/intel_snps_phy.c drivers/gpu/drm/i915/display/intel_sprite.c drivers/gpu/drm/i915/display/intel_tc.c drivers/gpu/drm/i915/display/intel_tv.c +drivers/gpu/drm/i915/display/intel_vblank.c drivers/gpu/drm/i915/display/intel_vdsc.c drivers/gpu/drm/i915/display/intel_vga.c drivers/gpu/drm/i915/display/intel_vrr.c +drivers/gpu/drm/i915/display/intel_wm.c drivers/gpu/drm/i915/display/skl_scaler.c drivers/gpu/drm/i915/display/skl_universal_plane.c drivers/gpu/drm/i915/display/skl_watermark.c @@ -173,6 +185,7 @@ drivers/gpu/drm/i915/gt/intel_ggtt.c drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c drivers/gpu/drm/i915/gt/intel_ggtt_gmch.c drivers/gpu/drm/i915/gt/intel_gtt.c +drivers/gpu/drm/i915/gt/intel_wopcm.c drivers/gpu/drm/i915/gt/uc/intel_uc.c drivers/gpu/drm/i915/i915_active.c drivers/gpu/drm/i915/i915_config.c @@ -196,6 +209,7 @@ drivers/gpu/drm/i915/i915_user_extensions.c drivers/gpu/drm/i915/i915_utils.c drivers/gpu/drm/i915/i915_vma.c drivers/gpu/drm/i915/i915_vma_resource.c +drivers/gpu/drm/i915/intel_clock_gating.c drivers/gpu/drm/i915/intel_device_info.c drivers/gpu/drm/i915/intel_memory_region.c drivers/gpu/drm/i915/intel_pcode.c @@ -205,6 +219,9 @@ drivers/gpu/drm/i915/intel_sbi.c drivers/gpu/drm/i915/intel_step.c drivers/gpu/drm/i915/intel_uncore.c drivers/gpu/drm/i915/intel_wakeref.c +drivers/gpu/drm/i915/soc/intel_dram.c +drivers/gpu/drm/i915/soc/intel_gmch.c +drivers/gpu/drm/i915/soc/intel_pch.c drivers/gpu/drm/i915/vlv_sideband.c drivers/gpu/drm/i915/vlv_suspend.c drivers/gpu/drm/ttm/ttm_bo.c @@ -219,9 +236,11 @@ drivers/i2c/i2c-core-acpi.c drivers/i2c/i2c-core-base.c drivers/pci/pci-driver.c drivers/video/backlight/backlight.c +drivers/video/cmdline.c drivers/video/fbdev/core/fb_notify.c drivers/video/fbdev/core/fbcmap.c drivers/video/hdmi.c +drivers/video/nomodeset.c kernel/async.c kernel/irq/chip.c kernel/irq/devres.c @@ -275,6 +294,7 @@ lib/kobject_uevent.c lib/kstrtox.c lib/list_sort.c lib/llist.c +lib/maple_tree.c lib/math/div64.c lib/math/reciprocal_div.c lib/radix-tree.c diff --git a/repos/pc/src/driver/framebuffer/intel/pc/spec/x86_64/dep.list b/repos/pc/src/driver/framebuffer/intel/pc/spec/x86_64/dep.list index 8990e869bb..965e3d113c 100644 --- a/repos/pc/src/driver/framebuffer/intel/pc/spec/x86_64/dep.list +++ b/repos/pc/src/driver/framebuffer/intel/pc/spec/x86_64/dep.list @@ -10,5 +10,386 @@ arch/x86/include/asm/string_64.h arch/x86/include/asm/user_64.h arch/x86/include/uapi/asm/posix_types_64.h arch/x86/include/uapi/asm/vsyscall.h +drivers/gpu/drm/i915/display/g4x_dp.h +drivers/gpu/drm/i915/display/g4x_hdmi.h +drivers/gpu/drm/i915/display/hsw_ips.h +drivers/gpu/drm/i915/display/i9xx_plane.h +drivers/gpu/drm/i915/display/i9xx_wm.h +drivers/gpu/drm/i915/display/icl_dsi.h +drivers/gpu/drm/i915/display/icl_dsi_regs.h +drivers/gpu/drm/i915/display/intel_acpi.h +drivers/gpu/drm/i915/display/intel_atomic.h +drivers/gpu/drm/i915/display/intel_atomic_plane.h +drivers/gpu/drm/i915/display/intel_audio.h +drivers/gpu/drm/i915/display/intel_audio_regs.h +drivers/gpu/drm/i915/display/intel_backlight.h +drivers/gpu/drm/i915/display/intel_backlight_regs.h +drivers/gpu/drm/i915/display/intel_bios.h +drivers/gpu/drm/i915/display/intel_bw.h +drivers/gpu/drm/i915/display/intel_cdclk.h +drivers/gpu/drm/i915/display/intel_color.h +drivers/gpu/drm/i915/display/intel_combo_phy.h +drivers/gpu/drm/i915/display/intel_combo_phy_regs.h +drivers/gpu/drm/i915/display/intel_connector.h +drivers/gpu/drm/i915/display/intel_crtc.h +drivers/gpu/drm/i915/display/intel_crtc_state_dump.h +drivers/gpu/drm/i915/display/intel_crt.h +drivers/gpu/drm/i915/display/intel_cursor.h +drivers/gpu/drm/i915/display/intel_cx0_phy.h +drivers/gpu/drm/i915/display/intel_cx0_phy_regs.h +drivers/gpu/drm/i915/display/intel_ddi_buf_trans.h +drivers/gpu/drm/i915/display/intel_ddi.h +drivers/gpu/drm/i915/display/intel_de.h +drivers/gpu/drm/i915/display/intel_display_core.h +drivers/gpu/drm/i915/display/intel_display_debugfs.h +drivers/gpu/drm/i915/display/intel_display_device.h +drivers/gpu/drm/i915/display/intel_display_driver.h +drivers/gpu/drm/i915/display/intel_display.h +drivers/gpu/drm/i915/display/intel_display_irq.h +drivers/gpu/drm/i915/display/intel_display_limits.h +drivers/gpu/drm/i915/display/intel_display_power.h +drivers/gpu/drm/i915/display/intel_display_power_map.h +drivers/gpu/drm/i915/display/intel_display_power_well.h +drivers/gpu/drm/i915/display/intel_display_reg_defs.h +drivers/gpu/drm/i915/display/intel_display_reset.h +drivers/gpu/drm/i915/display/intel_display_rps.h +drivers/gpu/drm/i915/display/intel_display_trace.h +drivers/gpu/drm/i915/display/intel_display_types.h +drivers/gpu/drm/i915/display/intel_dkl_phy.h +drivers/gpu/drm/i915/display/intel_dkl_phy_regs.h +drivers/gpu/drm/i915/display/intel_dmc.h +drivers/gpu/drm/i915/display/intel_dmc_regs.h +drivers/gpu/drm/i915/display/intel_dp_aux_backlight.h +drivers/gpu/drm/i915/display/intel_dp_aux.h +drivers/gpu/drm/i915/display/intel_dp_aux_regs.h +drivers/gpu/drm/i915/display/intel_dp.h +drivers/gpu/drm/i915/display/intel_dp_hdcp.h +drivers/gpu/drm/i915/display/intel_dpio_phy.h +drivers/gpu/drm/i915/display/intel_dp_link_training.h +drivers/gpu/drm/i915/display/intel_dpll.h +drivers/gpu/drm/i915/display/intel_dpll_mgr.h +drivers/gpu/drm/i915/display/intel_dp_mst.h +drivers/gpu/drm/i915/display/intel_dpt.h +drivers/gpu/drm/i915/display/intel_drrs.h +drivers/gpu/drm/i915/display/intel_dsb.h +drivers/gpu/drm/i915/display/intel_dsb_regs.h +drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.h +drivers/gpu/drm/i915/display/intel_dsi.h +drivers/gpu/drm/i915/display/intel_dsi_vbt.h +drivers/gpu/drm/i915/display/intel_dvo_dev.h +drivers/gpu/drm/i915/display/intel_dvo.h +drivers/gpu/drm/i915/display/intel_dvo_regs.h +drivers/gpu/drm/i915/display/intel_fbc.h +drivers/gpu/drm/i915/display/intel_fbdev.h +drivers/gpu/drm/i915/display/intel_fb.h +drivers/gpu/drm/i915/display/intel_fb_pin.h +drivers/gpu/drm/i915/display/intel_fdi.h +drivers/gpu/drm/i915/display/intel_fdi_regs.h +drivers/gpu/drm/i915/display/intel_fifo_underrun.h +drivers/gpu/drm/i915/display/intel_frontbuffer.h +drivers/gpu/drm/i915/display/intel_global_state.h +drivers/gpu/drm/i915/display/intel_gmbus.h +drivers/gpu/drm/i915/display/intel_gmbus_regs.h +drivers/gpu/drm/i915/display/intel_hdcp_gsc.h +drivers/gpu/drm/i915/display/intel_hdcp.h +drivers/gpu/drm/i915/display/intel_hdcp_regs.h +drivers/gpu/drm/i915/display/intel_hdmi.h +drivers/gpu/drm/i915/display/intel_hotplug.h +drivers/gpu/drm/i915/display/intel_hotplug_irq.h +drivers/gpu/drm/i915/display/intel_hti.h +drivers/gpu/drm/i915/display/intel_hti_regs.h +drivers/gpu/drm/i915/display/intel_load_detect.h +drivers/gpu/drm/i915/display/intel_lpe_audio.h +drivers/gpu/drm/i915/display/intel_lspcon.h +drivers/gpu/drm/i915/display/intel_lvds.h +drivers/gpu/drm/i915/display/intel_lvds_regs.h +drivers/gpu/drm/i915/display/intel_mg_phy_regs.h +drivers/gpu/drm/i915/display/intel_modeset_lock.h +drivers/gpu/drm/i915/display/intel_modeset_setup.h +drivers/gpu/drm/i915/display/intel_modeset_verify.h +drivers/gpu/drm/i915/display/intel_opregion.h +drivers/gpu/drm/i915/display/intel_overlay.h +drivers/gpu/drm/i915/display/intel_panel.h +drivers/gpu/drm/i915/display/intel_pch_display.h +drivers/gpu/drm/i915/display/intel_pch_refclk.h +drivers/gpu/drm/i915/display/intel_pipe_crc.h +drivers/gpu/drm/i915/display/intel_plane_initial.h +drivers/gpu/drm/i915/display/intel_pmdemand.h +drivers/gpu/drm/i915/display/intel_pps.h +drivers/gpu/drm/i915/display/intel_pps_regs.h +drivers/gpu/drm/i915/display/intel_psr.h +drivers/gpu/drm/i915/display/intel_psr_regs.h +drivers/gpu/drm/i915/display/intel_qp_tables.h +drivers/gpu/drm/i915/display/intel_quirks.h +drivers/gpu/drm/i915/display/intel_sdvo.h +drivers/gpu/drm/i915/display/intel_sdvo_regs.h +drivers/gpu/drm/i915/display/intel_snps_phy.h +drivers/gpu/drm/i915/display/intel_snps_phy_regs.h +drivers/gpu/drm/i915/display/intel_sprite.h +drivers/gpu/drm/i915/display/intel_sprite_uapi.h +drivers/gpu/drm/i915/display/intel_tc.h +drivers/gpu/drm/i915/display/intel_tv.h +drivers/gpu/drm/i915/display/intel_tv_regs.h +drivers/gpu/drm/i915/display/intel_vblank.h +drivers/gpu/drm/i915/display/intel_vbt_defs.h +drivers/gpu/drm/i915/display/intel_vdsc.h +drivers/gpu/drm/i915/display/intel_vdsc_regs.h +drivers/gpu/drm/i915/display/intel_vga.h +drivers/gpu/drm/i915/display/intel_vrr.h +drivers/gpu/drm/i915/display/intel_wm.h +drivers/gpu/drm/i915/display/intel_wm_types.h +drivers/gpu/drm/i915/display/skl_scaler.h +drivers/gpu/drm/i915/display/skl_universal_plane.h +drivers/gpu/drm/i915/display/skl_watermark.h +drivers/gpu/drm/i915/display/skl_watermark_regs.h +drivers/gpu/drm/i915/display/vlv_dsi.h +drivers/gpu/drm/i915/display/vlv_dsi_pll.h +drivers/gpu/drm/i915/display/vlv_dsi_pll_regs.h +drivers/gpu/drm/i915/display/vlv_dsi_regs.h +drivers/gpu/drm/i915/gem/i915_gem_clflush.h +drivers/gpu/drm/i915/gem/i915_gem_context.h +drivers/gpu/drm/i915/gem/i915_gem_context_types.h +drivers/gpu/drm/i915/gem/i915_gem_create.h +drivers/gpu/drm/i915/gem/i915_gem_dmabuf.h +drivers/gpu/drm/i915/gem/i915_gem_domain.h +drivers/gpu/drm/i915/gem/i915_gemfs.h +drivers/gpu/drm/i915/gem/i915_gem_internal.h +drivers/gpu/drm/i915/gem/i915_gem_ioctls.h +drivers/gpu/drm/i915/gem/i915_gem_lmem.h +drivers/gpu/drm/i915/gem/i915_gem_mman.h +drivers/gpu/drm/i915/gem/i915_gem_object.h +drivers/gpu/drm/i915/gem/i915_gem_object_types.h +drivers/gpu/drm/i915/gem/i915_gem_pm.h +drivers/gpu/drm/i915/gem/i915_gem_region.h +drivers/gpu/drm/i915/gem/i915_gem_shrinker.h +drivers/gpu/drm/i915/gem/i915_gem_stolen.h +drivers/gpu/drm/i915/gem/i915_gem_tiling.h +drivers/gpu/drm/i915/gem/i915_gem_ttm.h +drivers/gpu/drm/i915/gem/i915_gem_ttm_move.h +drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.h +drivers/gpu/drm/i915/gem/i915_gem_userptr.h +drivers/gpu/drm/i915/gt/gen2_engine_cs.h +drivers/gpu/drm/i915/gt/gen6_engine_cs.h +drivers/gpu/drm/i915/gt/gen6_ppgtt.h +drivers/gpu/drm/i915/gt/gen7_renderclear.h +drivers/gpu/drm/i915/gt/gen8_engine_cs.h +drivers/gpu/drm/i915/gt/gen8_ppgtt.h +drivers/gpu/drm/i915/gt/intel_breadcrumbs.h +drivers/gpu/drm/i915/gt/intel_breadcrumbs_types.h +drivers/gpu/drm/i915/gt/intel_context.h +drivers/gpu/drm/i915/gt/intel_context_param.h +drivers/gpu/drm/i915/gt/intel_context_types.h +drivers/gpu/drm/i915/gt/intel_engine.h +drivers/gpu/drm/i915/gt/intel_engine_heartbeat.h +drivers/gpu/drm/i915/gt/intel_engine_pm.h +drivers/gpu/drm/i915/gt/intel_engine_regs.h +drivers/gpu/drm/i915/gt/intel_engine_stats.h +drivers/gpu/drm/i915/gt/intel_engine_types.h +drivers/gpu/drm/i915/gt/intel_engine_user.h +drivers/gpu/drm/i915/gt/intel_execlists_submission.h +drivers/gpu/drm/i915/gt/intel_ggtt_fencing.h +drivers/gpu/drm/i915/gt/intel_ggtt_gmch.h +drivers/gpu/drm/i915/gt/intel_gpu_commands.h +drivers/gpu/drm/i915/gt/intel_gsc.h +drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.h +drivers/gpu/drm/i915/gt/intel_gt_buffer_pool_types.h +drivers/gpu/drm/i915/gt/intel_gt_ccs_mode.h +drivers/gpu/drm/i915/gt/intel_gt_clock_utils.h +drivers/gpu/drm/i915/gt/intel_gt_debugfs.h +drivers/gpu/drm/i915/gt/intel_gt_defines.h +drivers/gpu/drm/i915/gt/intel_gt_engines_debugfs.h +drivers/gpu/drm/i915/gt/intel_gt.h +drivers/gpu/drm/i915/gt/intel_gt_irq.h +drivers/gpu/drm/i915/gt/intel_gt_mcr.h +drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.h +drivers/gpu/drm/i915/gt/intel_gt_pm.h +drivers/gpu/drm/i915/gt/intel_gt_pm_irq.h +drivers/gpu/drm/i915/gt/intel_gt_print.h +drivers/gpu/drm/i915/gt/intel_gt_regs.h +drivers/gpu/drm/i915/gt/intel_gt_requests.h +drivers/gpu/drm/i915/gt/intel_gt_sysfs.h +drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.h +drivers/gpu/drm/i915/gt/intel_gtt.h +drivers/gpu/drm/i915/gt/intel_gt_types.h +drivers/gpu/drm/i915/gt/intel_hwconfig.h +drivers/gpu/drm/i915/gt/intel_llc.h +drivers/gpu/drm/i915/gt/intel_llc_types.h +drivers/gpu/drm/i915/gt/intel_lrc.h +drivers/gpu/drm/i915/gt/intel_lrc_reg.h +drivers/gpu/drm/i915/gt/intel_migrate.h +drivers/gpu/drm/i915/gt/intel_migrate_types.h +drivers/gpu/drm/i915/gt/intel_mocs.h +drivers/gpu/drm/i915/gt/intel_rc6.h +drivers/gpu/drm/i915/gt/intel_rc6_types.h +drivers/gpu/drm/i915/gt/intel_region_lmem.h +drivers/gpu/drm/i915/gt/intel_renderstate.h +drivers/gpu/drm/i915/gt/intel_reset.h +drivers/gpu/drm/i915/gt/intel_reset_types.h +drivers/gpu/drm/i915/gt/intel_ring.h +drivers/gpu/drm/i915/gt/intel_ring_types.h +drivers/gpu/drm/i915/gt/intel_rps.h +drivers/gpu/drm/i915/gt/intel_rps_types.h +drivers/gpu/drm/i915/gt/intel_sa_media.h +drivers/gpu/drm/i915/gt/intel_sseu_debugfs.h +drivers/gpu/drm/i915/gt/intel_sseu.h +drivers/gpu/drm/i915/gt/intel_timeline.h +drivers/gpu/drm/i915/gt/intel_timeline_types.h +drivers/gpu/drm/i915/gt/intel_tlb.h +drivers/gpu/drm/i915/gt/intel_wopcm.h +drivers/gpu/drm/i915/gt/intel_workarounds.h +drivers/gpu/drm/i915/gt/intel_workarounds_types.h +drivers/gpu/drm/i915/gt/mock_engine.h +drivers/gpu/drm/i915/gt/shmem_utils.h +drivers/gpu/drm/i915/gt/sysfs_engines.h +drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h +drivers/gpu/drm/i915/gt/uc/abi/guc_actions_slpc_abi.h +drivers/gpu/drm/i915/gt/uc/abi/guc_communication_ctb_abi.h +drivers/gpu/drm/i915/gt/uc/abi/guc_communication_mmio_abi.h +drivers/gpu/drm/i915/gt/uc/abi/guc_errors_abi.h +drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h +drivers/gpu/drm/i915/gt/uc/abi/guc_messages_abi.h +drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h +drivers/gpu/drm/i915/gt/uc/intel_gsc_binary_headers.h +drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.h +drivers/gpu/drm/i915/gt/uc/intel_gsc_proxy.h +drivers/gpu/drm/i915/gt/uc/intel_gsc_uc_debugfs.h +drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.h +drivers/gpu/drm/i915/gt/uc/intel_gsc_uc_heci_cmd_submit.h +drivers/gpu/drm/i915/gt/uc/intel_guc_ads.h +drivers/gpu/drm/i915/gt/uc/intel_guc_capture.h +drivers/gpu/drm/i915/gt/uc/intel_guc_ct.h +drivers/gpu/drm/i915/gt/uc/intel_guc_debugfs.h +drivers/gpu/drm/i915/gt/uc/intel_guc_fw.h +drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h +drivers/gpu/drm/i915/gt/uc/intel_guc.h +drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.h +drivers/gpu/drm/i915/gt/uc/intel_guc_log.h +drivers/gpu/drm/i915/gt/uc/intel_guc_print.h +drivers/gpu/drm/i915/gt/uc/intel_guc_rc.h +drivers/gpu/drm/i915/gt/uc/intel_guc_reg.h +drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.h +drivers/gpu/drm/i915/gt/uc/intel_guc_slpc_types.h +drivers/gpu/drm/i915/gt/uc/intel_guc_submission.h +drivers/gpu/drm/i915/gt/uc/intel_huc_debugfs.h +drivers/gpu/drm/i915/gt/uc/intel_huc_fw.h +drivers/gpu/drm/i915/gt/uc/intel_huc.h +drivers/gpu/drm/i915/gt/uc/intel_huc_print.h +drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.h +drivers/gpu/drm/i915/gt/uc/intel_uc_fw_abi.h +drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h +drivers/gpu/drm/i915/gt/uc/intel_uc.h +drivers/gpu/drm/i915/gvt/cmd_parser.h +drivers/gpu/drm/i915/gvt/debug.h +drivers/gpu/drm/i915/gvt/display.h +drivers/gpu/drm/i915/gvt/dmabuf.h +drivers/gpu/drm/i915/gvt/edid.h +drivers/gpu/drm/i915/gvt/execlist.h +drivers/gpu/drm/i915/gvt/fb_decoder.h +drivers/gpu/drm/i915/gvt/gtt.h +drivers/gpu/drm/i915/gvt/gvt.h +drivers/gpu/drm/i915/gvt/interrupt.h +drivers/gpu/drm/i915/gvt/mmio_context.h +drivers/gpu/drm/i915/gvt/mmio.h +drivers/gpu/drm/i915/gvt/page_track.h +drivers/gpu/drm/i915/gvt/reg.h +drivers/gpu/drm/i915/gvt/sched_policy.h +drivers/gpu/drm/i915/gvt/scheduler.h +drivers/gpu/drm/i915/gvt/trace.h +drivers/gpu/drm/i915/i915_active.h +drivers/gpu/drm/i915/i915_active_types.h +drivers/gpu/drm/i915/i915_cmd_parser.h +drivers/gpu/drm/i915/i915_config.h +drivers/gpu/drm/i915/i915_debugfs.h +drivers/gpu/drm/i915/i915_debugfs_params.h +drivers/gpu/drm/i915/i915_deps.h +drivers/gpu/drm/i915/i915_driver.h +drivers/gpu/drm/i915/i915_drm_client.h +drivers/gpu/drm/i915/i915_drv.h +drivers/gpu/drm/i915/i915_file_private.h +drivers/gpu/drm/i915/i915_fixed.h +drivers/gpu/drm/i915/i915_gem_evict.h +drivers/gpu/drm/i915/i915_gem_gtt.h +drivers/gpu/drm/i915/i915_gem.h +drivers/gpu/drm/i915/i915_gem_ww.h +drivers/gpu/drm/i915/i915_getparam.h +drivers/gpu/drm/i915/i915_gpu_error.h +drivers/gpu/drm/i915/i915_hwmon.h +drivers/gpu/drm/i915/i915_ioc32.h +drivers/gpu/drm/i915/i915_ioctl.h +drivers/gpu/drm/i915/i915_iosf_mbi.h +drivers/gpu/drm/i915/i915_irq.h +drivers/gpu/drm/i915/i915_memcpy.h +drivers/gpu/drm/i915/i915_mitigations.h +drivers/gpu/drm/i915/i915_mm.h +drivers/gpu/drm/i915/i915_params.h +drivers/gpu/drm/i915/i915_pci.h +drivers/gpu/drm/i915/i915_perf.h +drivers/gpu/drm/i915/i915_perf_oa_regs.h +drivers/gpu/drm/i915/i915_perf_types.h +drivers/gpu/drm/i915/i915_pmu.h +drivers/gpu/drm/i915/i915_priolist_types.h +drivers/gpu/drm/i915/i915_pvinfo.h +drivers/gpu/drm/i915/i915_query.h +drivers/gpu/drm/i915/i915_reg_defs.h +drivers/gpu/drm/i915/i915_reg.h +drivers/gpu/drm/i915/i915_request.h +drivers/gpu/drm/i915/i915_scatterlist.h +drivers/gpu/drm/i915/i915_scheduler.h +drivers/gpu/drm/i915/i915_scheduler_types.h +drivers/gpu/drm/i915/i915_suspend.h +drivers/gpu/drm/i915/i915_sw_fence.h +drivers/gpu/drm/i915/i915_sw_fence_work.h +drivers/gpu/drm/i915/i915_switcheroo.h +drivers/gpu/drm/i915/i915_syncmap.h +drivers/gpu/drm/i915/i915_sysfs.h +drivers/gpu/drm/i915/i915_tasklet.h +drivers/gpu/drm/i915/i915_trace.h +drivers/gpu/drm/i915/i915_ttm_buddy_manager.h +drivers/gpu/drm/i915/i915_user_extensions.h +drivers/gpu/drm/i915/i915_utils.h +drivers/gpu/drm/i915/i915_vgpu.h +drivers/gpu/drm/i915/i915_vma.h +drivers/gpu/drm/i915/i915_vma_resource.h +drivers/gpu/drm/i915/i915_vma_types.h +drivers/gpu/drm/i915/intel_clock_gating.h +drivers/gpu/drm/i915/intel_device_info.h +drivers/gpu/drm/i915/intel_gvt.h +drivers/gpu/drm/i915/intel_mchbar_regs.h +drivers/gpu/drm/i915/intel_memory_region.h +drivers/gpu/drm/i915/intel_pci_config.h +drivers/gpu/drm/i915/intel_pcode.h +drivers/gpu/drm/i915/intel_region_ttm.h +drivers/gpu/drm/i915/intel_runtime_pm.h +drivers/gpu/drm/i915/intel_sbi.h +drivers/gpu/drm/i915/intel_step.h +drivers/gpu/drm/i915/intel_uncore.h +drivers/gpu/drm/i915/intel_wakeref.h +drivers/gpu/drm/i915/pxp/intel_pxp_cmd.h +drivers/gpu/drm/i915/pxp/intel_pxp_cmd_interface_42.h +drivers/gpu/drm/i915/pxp/intel_pxp_cmd_interface_43.h +drivers/gpu/drm/i915/pxp/intel_pxp_cmd_interface_cmn.h +drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.h +drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.h +drivers/gpu/drm/i915/pxp/intel_pxp.h +drivers/gpu/drm/i915/pxp/intel_pxp_huc.h +drivers/gpu/drm/i915/pxp/intel_pxp_irq.h +drivers/gpu/drm/i915/pxp/intel_pxp_pm.h +drivers/gpu/drm/i915/pxp/intel_pxp_regs.h +drivers/gpu/drm/i915/pxp/intel_pxp_session.h +drivers/gpu/drm/i915/pxp/intel_pxp_tee.h +drivers/gpu/drm/i915/pxp/intel_pxp_types.h +drivers/gpu/drm/i915/soc/intel_dram.h +drivers/gpu/drm/i915/soc/intel_gmch.h +drivers/gpu/drm/i915/soc/intel_pch.h +drivers/gpu/drm/i915/vlv_sideband.h +drivers/gpu/drm/i915/vlv_sideband_reg.h +drivers/gpu/drm/i915/vlv_suspend.h include/asm-generic/div64.h +include/asm-generic/fb.h +include/drm/drm_accel.h +include/drm/drm_gpuva_mgr.h +include/drm/i915_hdcp_interface.h +include/drm/ttm/ttm_bo.h include/linux/cfi_types.h +include/video/cmdline.h +include/video/nomodeset.h diff --git a/repos/pc/src/driver/framebuffer/intel/pc/spec/x86_64/source.list b/repos/pc/src/driver/framebuffer/intel/pc/spec/x86_64/source.list index 634b63ebf8..e80978deed 100644 --- a/repos/pc/src/driver/framebuffer/intel/pc/spec/x86_64/source.list +++ b/repos/pc/src/driver/framebuffer/intel/pc/spec/x86_64/source.list @@ -80,6 +80,7 @@ drivers/gpu/drm/i915/display/g4x_dp.c drivers/gpu/drm/i915/display/g4x_hdmi.c drivers/gpu/drm/i915/display/hsw_ips.c drivers/gpu/drm/i915/display/i9xx_plane.c +drivers/gpu/drm/i915/display/i9xx_wm.c drivers/gpu/drm/i915/display/icl_dsi.c drivers/gpu/drm/i915/display/intel_acpi.c drivers/gpu/drm/i915/display/intel_atomic.c @@ -96,12 +97,17 @@ drivers/gpu/drm/i915/display/intel_crt.c drivers/gpu/drm/i915/display/intel_crtc.c drivers/gpu/drm/i915/display/intel_crtc_state_dump.c drivers/gpu/drm/i915/display/intel_cursor.c +drivers/gpu/drm/i915/display/intel_cx0_phy.c drivers/gpu/drm/i915/display/intel_ddi.c drivers/gpu/drm/i915/display/intel_ddi_buf_trans.c drivers/gpu/drm/i915/display/intel_display.c +drivers/gpu/drm/i915/display/intel_display_device.c +drivers/gpu/drm/i915/display/intel_display_driver.c +drivers/gpu/drm/i915/display/intel_display_irq.c drivers/gpu/drm/i915/display/intel_display_power.c drivers/gpu/drm/i915/display/intel_display_power_map.c drivers/gpu/drm/i915/display/intel_display_power_well.c +drivers/gpu/drm/i915/display/intel_display_rps.c drivers/gpu/drm/i915/display/intel_display_trace.c drivers/gpu/drm/i915/display/intel_dkl_phy.c drivers/gpu/drm/i915/display/intel_dmc.c @@ -131,9 +137,12 @@ drivers/gpu/drm/i915/display/intel_gmbus.c drivers/gpu/drm/i915/display/intel_hdcp.c drivers/gpu/drm/i915/display/intel_hdmi.c drivers/gpu/drm/i915/display/intel_hotplug.c +drivers/gpu/drm/i915/display/intel_hotplug_irq.c +drivers/gpu/drm/i915/display/intel_hti.c drivers/gpu/drm/i915/display/intel_lpe_audio.c drivers/gpu/drm/i915/display/intel_lspcon.c drivers/gpu/drm/i915/display/intel_lvds.c +drivers/gpu/drm/i915/display/intel_modeset_lock.c drivers/gpu/drm/i915/display/intel_modeset_setup.c drivers/gpu/drm/i915/display/intel_modeset_verify.c drivers/gpu/drm/i915/display/intel_opregion.c @@ -142,6 +151,7 @@ drivers/gpu/drm/i915/display/intel_panel.c drivers/gpu/drm/i915/display/intel_pch_display.c drivers/gpu/drm/i915/display/intel_pch_refclk.c drivers/gpu/drm/i915/display/intel_plane_initial.c +drivers/gpu/drm/i915/display/intel_pmdemand.c drivers/gpu/drm/i915/display/intel_pps.c drivers/gpu/drm/i915/display/intel_psr.c drivers/gpu/drm/i915/display/intel_qp_tables.c @@ -151,9 +161,11 @@ drivers/gpu/drm/i915/display/intel_snps_phy.c drivers/gpu/drm/i915/display/intel_sprite.c drivers/gpu/drm/i915/display/intel_tc.c drivers/gpu/drm/i915/display/intel_tv.c +drivers/gpu/drm/i915/display/intel_vblank.c drivers/gpu/drm/i915/display/intel_vdsc.c drivers/gpu/drm/i915/display/intel_vga.c drivers/gpu/drm/i915/display/intel_vrr.c +drivers/gpu/drm/i915/display/intel_wm.c drivers/gpu/drm/i915/display/skl_scaler.c drivers/gpu/drm/i915/display/skl_universal_plane.c drivers/gpu/drm/i915/display/skl_watermark.c @@ -176,6 +188,7 @@ drivers/gpu/drm/i915/gt/intel_ggtt.c drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c drivers/gpu/drm/i915/gt/intel_ggtt_gmch.c drivers/gpu/drm/i915/gt/intel_gtt.c +drivers/gpu/drm/i915/gt/intel_wopcm.c drivers/gpu/drm/i915/gt/uc/intel_uc.c drivers/gpu/drm/i915/i915_active.c drivers/gpu/drm/i915/i915_config.c @@ -199,6 +212,7 @@ drivers/gpu/drm/i915/i915_user_extensions.c drivers/gpu/drm/i915/i915_utils.c drivers/gpu/drm/i915/i915_vma.c drivers/gpu/drm/i915/i915_vma_resource.c +drivers/gpu/drm/i915/intel_clock_gating.c drivers/gpu/drm/i915/intel_device_info.c drivers/gpu/drm/i915/intel_memory_region.c drivers/gpu/drm/i915/intel_pcode.c @@ -208,6 +222,9 @@ drivers/gpu/drm/i915/intel_sbi.c drivers/gpu/drm/i915/intel_step.c drivers/gpu/drm/i915/intel_uncore.c drivers/gpu/drm/i915/intel_wakeref.c +drivers/gpu/drm/i915/soc/intel_dram.c +drivers/gpu/drm/i915/soc/intel_gmch.c +drivers/gpu/drm/i915/soc/intel_pch.c drivers/gpu/drm/i915/vlv_sideband.c drivers/gpu/drm/i915/vlv_suspend.c drivers/gpu/drm/ttm/ttm_bo.c @@ -222,9 +239,11 @@ drivers/i2c/i2c-core-acpi.c drivers/i2c/i2c-core-base.c drivers/pci/pci-driver.c drivers/video/backlight/backlight.c +drivers/video/cmdline.c drivers/video/fbdev/core/fb_notify.c drivers/video/fbdev/core/fbcmap.c drivers/video/hdmi.c +drivers/video/nomodeset.c kernel/async.c kernel/irq/chip.c kernel/irq/devres.c @@ -278,6 +297,7 @@ lib/kobject_uevent.c lib/kstrtox.c lib/list_sort.c lib/llist.c +lib/maple_tree.c lib/math/reciprocal_div.c lib/radix-tree.c lib/rbtree.c