mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-23 16:09:57 +07:00
fd1a9bba73
Now that we have the more formal global state thing let's use if for memory bandwidth tracking. No real difference to the current private object usage since we already tried to avoid taking the single serializing lock needlessly. But since we're going to roll the global state out to more things probably a good idea to unify the approaches a bit. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20200120174728.21095-16-ville.syrjala@linux.intel.com Reviewed-by: Imre Deak <imre.deak@intel.com>
34 lines
825 B
C
34 lines
825 B
C
/* SPDX-License-Identifier: MIT */
|
|
/*
|
|
* Copyright © 2019 Intel Corporation
|
|
*/
|
|
|
|
#ifndef __INTEL_BW_H__
|
|
#define __INTEL_BW_H__
|
|
|
|
#include <drm/drm_atomic.h>
|
|
|
|
#include "intel_display.h"
|
|
#include "intel_global_state.h"
|
|
|
|
struct drm_i915_private;
|
|
struct intel_atomic_state;
|
|
struct intel_crtc_state;
|
|
|
|
struct intel_bw_state {
|
|
struct intel_global_state base;
|
|
|
|
unsigned int data_rate[I915_MAX_PIPES];
|
|
u8 num_active_planes[I915_MAX_PIPES];
|
|
};
|
|
|
|
#define to_intel_bw_state(x) container_of((x), struct intel_bw_state, base)
|
|
|
|
void intel_bw_init_hw(struct drm_i915_private *dev_priv);
|
|
int intel_bw_init(struct drm_i915_private *dev_priv);
|
|
int intel_bw_atomic_check(struct intel_atomic_state *state);
|
|
void intel_bw_crtc_update(struct intel_bw_state *bw_state,
|
|
const struct intel_crtc_state *crtc_state);
|
|
|
|
#endif /* __INTEL_BW_H__ */
|