2020-12-21 13:09:57 +02:00
|
|
|
/* SPDX-License-Identifier: MIT */
|
|
|
|
/*
|
|
|
|
* Copyright © 2020 Intel Corporation
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _I9XX_PLANE_H_
|
|
|
|
#define _I9XX_PLANE_H_
|
|
|
|
|
|
|
|
#include <linux/types.h>
|
|
|
|
|
|
|
|
enum pipe;
|
2024-10-09 21:22:03 +03:00
|
|
|
struct drm_framebuffer;
|
2021-02-05 16:48:41 +02:00
|
|
|
struct intel_crtc;
|
2025-02-06 20:55:28 +02:00
|
|
|
struct intel_display;
|
2021-02-05 16:48:41 +02:00
|
|
|
struct intel_initial_plane_config;
|
2020-12-21 13:09:57 +02:00
|
|
|
struct intel_plane;
|
|
|
|
struct intel_plane_state;
|
|
|
|
|
2023-09-12 14:06:31 +03:00
|
|
|
#ifdef I915
|
2021-01-11 18:37:02 +02:00
|
|
|
unsigned int i965_plane_max_stride(struct intel_plane *plane,
|
2020-12-21 13:09:57 +02:00
|
|
|
u32 pixel_format, u64 modifier,
|
|
|
|
unsigned int rotation);
|
2024-10-09 21:22:03 +03:00
|
|
|
unsigned int vlv_plane_min_alignment(struct intel_plane *plane,
|
|
|
|
const struct drm_framebuffer *fb,
|
|
|
|
int colot_plane);
|
2020-12-21 13:09:57 +02:00
|
|
|
int i9xx_check_plane_surface(struct intel_plane_state *plane_state);
|
|
|
|
|
|
|
|
struct intel_plane *
|
2025-02-06 20:55:28 +02:00
|
|
|
intel_primary_plane_create(struct intel_display *display, enum pipe pipe);
|
2020-12-21 13:09:57 +02:00
|
|
|
|
2021-02-05 16:48:41 +02:00
|
|
|
void i9xx_get_initial_plane_config(struct intel_crtc *crtc,
|
|
|
|
struct intel_initial_plane_config *plane_config);
|
2024-02-03 00:43:39 +02:00
|
|
|
bool i9xx_fixup_initial_plane_config(struct intel_crtc *crtc,
|
|
|
|
const struct intel_initial_plane_config *plane_config);
|
2023-09-12 14:06:31 +03:00
|
|
|
#else
|
|
|
|
static inline unsigned int i965_plane_max_stride(struct intel_plane *plane,
|
|
|
|
u32 pixel_format, u64 modifier,
|
|
|
|
unsigned int rotation)
|
|
|
|
{
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
static inline int i9xx_check_plane_surface(struct intel_plane_state *plane_state)
|
|
|
|
{
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
static inline struct intel_plane *
|
2025-02-06 20:55:28 +02:00
|
|
|
intel_primary_plane_create(struct intel_display *display, int pipe)
|
2023-09-12 14:06:31 +03:00
|
|
|
{
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
static inline void i9xx_get_initial_plane_config(struct intel_crtc *crtc,
|
|
|
|
struct intel_initial_plane_config *plane_config)
|
|
|
|
{
|
|
|
|
}
|
2024-02-03 00:43:39 +02:00
|
|
|
static inline bool i9xx_fixup_initial_plane_config(struct intel_crtc *crtc,
|
|
|
|
const struct intel_initial_plane_config *plane_config)
|
|
|
|
{
|
|
|
|
return false;
|
|
|
|
}
|
2023-09-12 14:06:31 +03:00
|
|
|
#endif
|
|
|
|
|
2020-12-21 13:09:57 +02:00
|
|
|
#endif
|