intel/display: update to 6.6.47

Issue #5264
This commit is contained in:
Alexander Boettcher 2024-08-06 13:15:32 +02:00 committed by Christian Helmuth
parent e363af476b
commit d1f1a16e89
12 changed files with 1527 additions and 399 deletions

View File

@ -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 {\</connectors\>} 20 [output_spawn_id]
run_genode_until {green} 30 [output_spawn_id]
} else {
run_genode_until forever
}

View File

@ -15,9 +15,12 @@
#include "i915_drv.h"
#include <acpi/video.h>
#include <asm/smp.h>
#include <linux/acpi.h>
#include <linux/clocksource.h>
#include <linux/cpuhotplug.h>
#include <linux/firmware.h>
#include <linux/kernel_stat.h>
#include <linux/kernfs.h>
#include <linux/kobject.h>
@ -27,9 +30,31 @@
#include <linux/rcupdate.h>
#include <linux/sched/loadavg.h>
#include <linux/sched/signal.h>
#include <linux/skbuff.h>
#include <linux/syscore_ops.h>
#include <linux/sysctl.h>
#include <linux/timekeeper_internal.h>
#include <net/net_namespace.h>
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 <linux/firmware.h>
void release_firmware(const struct firmware * fw)
{
lx_emul_trace(__func__);
}
#include <linux/firmware.h>
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 <linux/firmware.h>
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 <net/net_namespace.h>
struct net init_net;
#include <net/net_namespace.h>
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 <linux/acpi.h>
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 <asm/smp.h>
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 <asm/smp.h>
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 <linux/skbuff.h>
void __fix_address kfree_skb_reason(struct sk_buff * skb,enum skb_drop_reason reason)
{
lx_emul_trace(__func__);
}
#include <linux/sysctl.h>
struct ctl_table_header * register_sysctl(const char * path,struct ctl_table * table)
{
lx_emul_trace(__func__);
return NULL;
}
#include <acpi/acpi_bus.h>
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 <linux/sysctl.h>
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 <linux/sysfs.h>
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 <linux/random.h>
u16 get_random_u16(void)
{
lx_emul_trace_and_stop(__func__);
}
#include <acpi/acpi_bus.h>
int acpi_bus_attach_private_data(acpi_handle handle,void * data)
{
lx_emul_trace_and_stop(__func__);
}
#include <acpi/acpi_bus.h>
void acpi_bus_detach_private_data(acpi_handle handle)
{
lx_emul_trace_and_stop(__func__);
}
#include <acpi/acpi_bus.h>
int acpi_bus_get_private_data(acpi_handle handle,void ** data)
{
lx_emul_trace_and_stop(__func__);
}
#include <acpi/acpi_bus.h>
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 <drm/drm_drv.h>
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 <linux/iommu.h>
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 <linux/iommu.h>
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 <linux/shrinker.h>
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 <linux/context_tracking_irq.h>
noinstr void ct_irq_enter(void)
{
lx_emul_trace(__func__);
}
#include <linux/context_tracking_irq.h>
noinstr void ct_irq_exit(void)
{
lx_emul_trace(__func__);
}
#include <acpi/video.h>
bool acpi_video_backlight_use_native(void)
void acpi_video_register_backlight(void)
{
lx_emul_trace(__func__);
return 1;
}
#include <net/net_namespace.h>
void net_ns_init(void)
{
lx_emul_trace(__func__);
}
#include <asm/iomap.h>
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 <linux/cdev.h>
void cdev_init(struct cdev * cdev,const struct file_operations * fops)
{
lx_emul_trace(__func__);
}
#include <linux/skbuff.h>
void skb_init()
{
lx_emul_trace(__func__);
}
#include <linux/fs.h>
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 <linux/property.h>
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 <linux/pinctrl/devinfo.h>
int pinctrl_bind_pins(struct device * dev)
{
lx_emul_trace(__func__);
@ -788,8 +666,6 @@ int pinctrl_bind_pins(struct device * dev)
}
#include <linux/pinctrl/devinfo.h>
int pinctrl_init_done(struct device * dev)
{
lx_emul_trace(__func__);
@ -797,8 +673,6 @@ int pinctrl_init_done(struct device * dev)
}
#include <linux/pinctrl/consumer.h>
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 <linux/pinctrl/consumer.h>
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;
}

View File

@ -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 <lx_emul.h>
#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(&gt->uc);
intel_wopcm_init(&gt->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(&gt->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:

View File

@ -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 <lx_emul.h>
@ -135,14 +135,6 @@ int acpi_dev_gpio_irq_wake_get_by(struct acpi_device * adev,const char * name,in
}
#include <acpi/acpi_bus.h>
bool acpi_dev_present(const char * hid,const char * uid,s64 hrv)
{
lx_emul_trace_and_stop(__func__);
}
#include <acpi/acpi_bus.h>
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 <acpi/video.h>
#include <acpi/acpi_bus.h>
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 <linux/cpumask.h>
unsigned int cpumask_any_and_distribute(const struct cpumask * src1p,const struct cpumask * src2p)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/sched/topology.h>
bool cpus_share_cache(int this_cpu,int that_cpu)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/property.h>
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 <linux/dma-buf.h>
struct dma_buf_attachment * dma_buf_attach(struct dma_buf * dmabuf,struct device * dev)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/dma-buf.h>
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 <linux/dma-buf.h>
struct dma_buf * dma_buf_export(const struct dma_buf_export_info * exp_info)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/dma-buf.h>
int dma_buf_fd(struct dma_buf * dmabuf,int flags)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/dma-buf.h>
struct dma_buf * dma_buf_get(int fd)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/dma-buf.h>
struct sg_table * dma_buf_map_attachment(struct dma_buf_attachment * attach,enum dma_data_direction direction)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/dma-buf.h>
void dma_buf_put(struct dma_buf * dmabuf)
@ -366,15 +334,7 @@ void dma_buf_put(struct dma_buf * dmabuf)
#include <linux/dma-buf.h>
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 <linux/dma-mapping.h>
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 <linux/printk.h>
asmlinkage __visible void dump_stack_lvl(const char * log_lvl)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/reboot.h>
void emergency_restart(void)
@ -473,6 +441,14 @@ void finish_rcuwait(struct rcuwait * w)
}
#include <linux/mm.h>
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 <linux/swiotlb.h>
struct io_tlb_mem io_tlb_default_mem;
#include <linux/fs.h>
void iput(struct inode * inode)
@ -1557,6 +1626,11 @@ void kmsg_dump(enum kmsg_dump_reason reason)
}
#include <linux/delay.h>
unsigned long loops_per_jiffy;
#include <linux/io.h>
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 <linux/mm.h>
bool page_mapped(struct page * page)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/pagemap.h>
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 <asm-generic/pci_iomap.h>
void __iomem * pci_iomap_range(struct pci_dev * dev,int bar,unsigned long offset,unsigned long maxlen)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/pci.h>
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 <linux/reboot.h>
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 <linux/smp.h>
unsigned int setup_max_cpus;
#include <linux/shmem_fs.h>
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 <linux/task_work.h>
struct callback_head * task_work_cancel(struct task_struct * task,task_work_func_t func)
{
lx_emul_trace_and_stop(__func__);
}
#include <drm/ttm/ttm_bo_driver.h>
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 <linux/vmalloc.h>
void * vmap(struct page ** pages,unsigned int count,unsigned long flags,pgprot_t prot)

View File

@ -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 <lx_emul.h>
#include <lx_emul/io_mem.h>
#include <lx_emul/page_virt.h>
#include <lx_emul/shmem_file.h>
#include <acpi/video.h>
#include <linux/dma-fence.h>
#include <linux/fs.h>
@ -22,8 +23,12 @@
#include <linux/slab.h>
#include <linux/proc_fs.h>
#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 <drm/drm_managed.h>
@ -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(&gt->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);
}

View File

@ -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 <linux/sched/debug.h>
struct dma_fence_work;
struct dma_fence_work_ops;
struct intel_dsb;
void * intel_io_mem_map(unsigned long offset, unsigned long size);

View File

@ -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;
}

View File

@ -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 <linux/shmem_fs.h>
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;
}

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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