mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
Let's gradually start calling i915 and xe parent, or core, drivers from
display via function pointers passed at display probe.
Going forward, the struct intel_display_parent_interface is expected to
include const pointers to sub-structs by functionality, for example:
struct intel_display_rpm {
struct ref_tracker *(*get)(struct drm_device *drm);
/* ... */
};
struct intel_display_parent_interface {
/* ... */
const struct intel_display_rpm *rpm;
};
This is a baby step towards not building display as part of both i915
and xe drivers, but rather making it an independent driver interfacing
with the two.
v3: useless include additions dropped
v2: unrelated include removal dropped
Cc: Jouni Högander <jouni.hogander@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
Link: https://patch.msgid.link/20251030202836.1815680-2-jouni.hogander@intel.com
34 lines
937 B
C
34 lines
937 B
C
/* SPDX-License-Identifier: MIT */
|
|
/*
|
|
* Copyright © 2019 Intel Corporation
|
|
*/
|
|
|
|
#ifndef __I915_DRIVER_H__
|
|
#define __I915_DRIVER_H__
|
|
|
|
#include <linux/pm.h>
|
|
|
|
struct pci_dev;
|
|
struct pci_device_id;
|
|
struct drm_i915_private;
|
|
struct drm_printer;
|
|
struct intel_display_parent_interface;
|
|
|
|
#define DRIVER_NAME "i915"
|
|
#define DRIVER_DESC "Intel Graphics"
|
|
|
|
extern const struct dev_pm_ops i915_pm_ops;
|
|
|
|
int i915_driver_probe(struct pci_dev *pdev, const struct pci_device_id *ent);
|
|
void i915_driver_remove(struct drm_i915_private *i915);
|
|
void i915_driver_shutdown(struct drm_i915_private *i915);
|
|
|
|
int i915_driver_resume_switcheroo(struct drm_i915_private *i915);
|
|
int i915_driver_suspend_switcheroo(struct drm_i915_private *i915, pm_message_t state);
|
|
const struct intel_display_parent_interface *i915_driver_parent_interface(void);
|
|
|
|
void
|
|
i915_print_iommu_status(struct drm_i915_private *i915, struct drm_printer *p);
|
|
|
|
#endif /* __I915_DRIVER_H__ */
|