UV4
static inline int is_uv4_hub(void) { return is_uv(UV4); }
is_uv(UV4) ? UV4_LOCAL_MMR_BASE : \
is_uv(UV4) ? UV4_GLOBAL_MMR32_BASE : \
is_uv(UV4) ? UV4_LOCAL_MMR_SIZE : \
is_uv(UV4) ? UV4_GLOBAL_MMR32_SIZE : \
is_uv(UV4) ? 0x0000000000080000UL : \
is_uv(UV4) ? 19 : \
is_uv(UV4) ? 0x600028UL : \
is_uv(UV4) ? 0x61b00UL : \
is_uv(UV4) ? 0x61b40UL : \
is_uv(UV4) ? 0x62100UL : \
is_uv(UV4) ? 0x62140UL : \
is_uv(UV4) ? 0x1400UL : \
is_uv(UV4) ? 4 : \
is_uv(UV4) ? 0x480000UL : \
is_uv(UV4) ? 0x4800c8UL : \
is_uv(UV4) ? 0x4800d0UL : \
is_uv(UV4) ? 0x4800d8UL : \
is_uv(UV4) ? 0x4800e0UL : \
is_uv(UV4) ? 0x4800e8UL : \
is_uv(UV4) ? 0x4800f0UL : \
is_uv(UV4) ? 0x480010UL : \
is_uv(UV4) ? 0x00003ffffc000000UL : \
is_uv(UV4) ? 26 : \
is_uv(UV4) ? 0x483000UL : \
is_uv(UV4) ? 0x00003ffffc000000UL : \
is_uv(UV4) ? 26 : \
is_uv(UV4) ? 0x484000UL : \
is_uv(UV4) ? 0x00003ffffc000000UL : \
is_uv(UV4) ? 26 : \
is_uv(UV4) ? 0x483800UL : \
is_uv(UV4) ? 128 : \
is_uv(UV4) ? UV4H_RH_GAM_MMIOH_REDIRECT_CONFIG0_NASID_MASK : \
is_uv(UV4) ? 0x484800UL : \
is_uv(UV4) ? 128 : \
is_uv(UV4) ? UV4H_RH_GAM_MMIOH_REDIRECT_CONFIG1_NASID_MASK : \
is_uv(UV4) ? 0x480028UL : \
is_uv(UV4) ? 0x00003ffffc000000UL : \
is_uv(UV4) ? 0x00003ffffc000000UL : \
is_uv(UV4) ? 26 : \
is_uv(UV4) ? 0xe0000UL : \
is_uv(UV4) ? 0xb0200UL : \
is_uv(UV4) ? 0xb0208UL : \
is_uv(UV4) ? 0xb0210UL : \
is_uv(UV4) ? 0x1000000000000000UL : \
is_uv(UV4) ? 60 : \
#define UVX (UV2|UV3|UV4)
if (is_uv(UV4|UVY)) {
if (is_uv(UV4|UVY))
uv_hub_type_set(UV4);
uv_hub_type_set(UV4|UV4A);
if (!is_uv(UV2|UV3|UV4)) {
is_uv(UV4) ? sname.s4.field : \
uv_hub_type_set(UV4);