/* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (c) 2018, The Linux Foundation * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
*/
#ifndef __QCOM_UBWC_H__ #define __QCOM_UBWC_H__
#include <linux/bits.h> #include <linux/types.h>
struct qcom_ubwc_cfg_data {
u32 ubwc_enc_version; /* Can be read from MDSS_BASE + 0x58 */
u32 ubwc_dec_version;
/** * @ubwc_swizzle: Whether to enable level 1, 2 & 3 bank swizzling. * * UBWC 1.0 always enables all three levels. * UBWC 2.0 removes level 1 bank swizzling, leaving levels 2 & 3. * UBWC 4.0 adds the optional ability to disable levels 2 & 3.
*/
u32 ubwc_swizzle; #define UBWC_SWIZZLE_ENABLE_LVL1 BIT(0) #define UBWC_SWIZZLE_ENABLE_LVL2 BIT(1) #define UBWC_SWIZZLE_ENABLE_LVL3 BIT(2)
/** * @highest_bank_bit: Highest Bank Bit * * The Highest Bank Bit value represents the bit of the highest * DDR bank. This should ideally use DRAM type detection.
*/ int highest_bank_bit; bool ubwc_bank_spread;
/** * @macrotile_mode: Macrotile Mode * * Whether to use 4-channel macrotiling mode or the newer * 8-channel macrotiling mode introduced in UBWC 3.1. 0 is * 4-channel and 1 is 8-channel.
*/ bool macrotile_mode;
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.