Files
linux/drivers/gpu/drm/i915/display/intel_dbuf_bw.h
Ville Syrjälä ac930bab1c drm/i915/bw: Untangle dbuf bw from the sagv/mem bw stuff
Currently intel_bw.c contains basically three completely independent
parts:
- SAGV/memory bandwidth handling
- DBuf bandwidth handling
- "Maximum pipe read bandwidth" calculation, which is some kind
  of internal per-pipe bandwidth limit.

Carve out the DBuf bandwdith handling into a separate file since
there is no actual dependency between it and the rest of intel_bw.c.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20251013201236.30084-2-ville.syrjala@linux.intel.com
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
2025-10-17 00:05:04 +03:00

38 lines
1.1 KiB
C

/* SPDX-License-Identifier: MIT */
/*
* Copyright © 2025 Intel Corporation
*/
#ifndef __INTEL_DBUF_BW_H__
#define __INTEL_DBUF_BW_H__
#include <drm/drm_atomic.h>
struct intel_atomic_state;
struct intel_dbuf_bw_state;
struct intel_crtc;
struct intel_display;
struct intel_global_state;
struct intel_dbuf_bw_state *
to_intel_dbuf_bw_state(struct intel_global_state *obj_state);
struct intel_dbuf_bw_state *
intel_atomic_get_old_dbuf_bw_state(struct intel_atomic_state *state);
struct intel_dbuf_bw_state *
intel_atomic_get_new_dbuf_bw_state(struct intel_atomic_state *state);
struct intel_dbuf_bw_state *
intel_atomic_get_dbuf_bw_state(struct intel_atomic_state *state);
int intel_dbuf_bw_init(struct intel_display *display);
int intel_dbuf_bw_calc_min_cdclk(struct intel_atomic_state *state,
bool *need_cdclk_calc);
int intel_dbuf_bw_min_cdclk(struct intel_display *display,
const struct intel_dbuf_bw_state *dbuf_bw_state);
void intel_dbuf_bw_update_hw_state(struct intel_display *display);
void intel_dbuf_bw_crtc_disable_noatomic(struct intel_crtc *crtc);
#endif /* __INTEL_DBUF_BW_H__ */