struct amdgpu_vmhub *hub;
int i;
- for_each_inst(i, xcc_mask) {
+ for (i = 0; i < NUM_XCC(xcc_mask); i++) {
hub = &adev->vmhub[AMDGPU_GFXHUB(i)];
WREG32_SOC15_OFFSET(GC, GET_INST(GC, i),
regGCVM_CONTEXT0_PAGE_TABLE_BASE_ADDR_LO32,
uint32_t vmid,
uint64_t page_table_base)
{
- uint32_t xcc_mask;
-
- xcc_mask = GENMASK(NUM_XCC(adev->gfx.xcc_mask) - 1, 0);
- gfxhub_v12_1_xcc_setup_vm_pt_regs(adev, vmid, page_table_base, xcc_mask);
+ gfxhub_v12_1_xcc_setup_vm_pt_regs(adev, vmid, page_table_base,
+ adev->gfx.xcc_mask);
}
static void gfxhub_v12_1_xcc_init_gart_aperture_regs(struct amdgpu_device *adev,
/* If use GART for FB translation, vmid0 page table covers both
* vram and system memory (gart)
*/
- for_each_inst(i, xcc_mask) {
+ for (i = 0; i < NUM_XCC(xcc_mask); i++) {
if (adev->gmc.pdb0_bo) {
WREG32_SOC15(GC, GET_INST(GC, i),
regGCVM_CONTEXT0_PAGE_TABLE_START_ADDR_LO32,
uint32_t tmp;
int i;
- for_each_inst(i, xcc_mask) {
+ for (i = 0; i < NUM_XCC(xcc_mask); i++) {
/* Program the AGP BAR */
WREG32_SOC15_RLC(GC, GET_INST(GC, i),
regGCMC_VM_AGP_BASE_LO32, 0);
uint32_t tmp;
int i;
- for_each_inst(i, xcc_mask) {
+ for (i = 0; i < NUM_XCC(xcc_mask); i++) {
/* Setup TLB control */
tmp = RREG32_SOC15(GC, GET_INST(GC, i),
regGCMC_VM_MX_L1_TLB_CNTL);
uint32_t tmp;
int i;
- for_each_inst(i, xcc_mask) {
+ for (i = 0; i < NUM_XCC(xcc_mask); i++) {
/* Setup L2 cache */
tmp = RREG32_SOC15(GC, GET_INST(GC, i), regGCVM_L2_CNTL);
tmp = REG_SET_FIELD(tmp, GCVM_L2_CNTL,
uint32_t tmp;
int i;
- for_each_inst(i, xcc_mask) {
+ for (i = 0; i < NUM_XCC(xcc_mask); i++) {
tmp = RREG32_SOC15(GC, GET_INST(GC, i),
regGCVM_CONTEXT0_CNTL);
tmp = REG_SET_FIELD(tmp, GCVM_CONTEXT0_CNTL,
{
int i;
- for_each_inst(i, xcc_mask) {
+ for (i = 0; i < NUM_XCC(xcc_mask); i++) {
WREG32_SOC15(GC, GET_INST(GC, i),
regGCVM_L2_CONTEXT1_IDENTITY_APERTURE_LOW_ADDR_LO32,
0XFFFFFFFF);
block_size = adev->vm_manager.block_size;
block_size -= 9;
- for_each_inst(j, xcc_mask) {
+ for (j = 0; j < NUM_XCC(xcc_mask); j++) {
hub = &adev->vmhub[AMDGPU_GFXHUB(j)];
for (i = 0; i <= 14; i++) {
tmp = RREG32_SOC15_OFFSET(GC, GET_INST(GC, j),
struct amdgpu_vmhub *hub;
unsigned int i, j;
- for_each_inst(j, xcc_mask) {
+ for (j = 0; j < NUM_XCC(xcc_mask); j++) {
hub = &adev->vmhub[AMDGPU_GFXHUB(j)];
for (i = 0 ; i < 18; ++i) {
/* GCMC_VM_FB_LOCATION_BASE/TOP are VF copy registers
* VBIO post does not program them at boot up phase
* Need driver to program them from guest side */
- for_each_inst(i, xcc_mask) {
+ for (i = 0; i < NUM_XCC(xcc_mask); i++) {
WREG32_SOC15(GC, GET_INST(GC, i),
regGCMC_VM_FB_LOCATION_BASE_LO32,
lower_32_bits(adev->gmc.vram_start >> 24));
static int gfxhub_v12_1_gart_enable(struct amdgpu_device *adev)
{
- uint32_t xcc_mask;
-
- xcc_mask = GENMASK(NUM_XCC(adev->gfx.xcc_mask) - 1, 0);
- return gfxhub_v12_1_xcc_gart_enable(adev, xcc_mask);
+ return gfxhub_v12_1_xcc_gart_enable(adev,
+ adev->gfx.xcc_mask);
}
static void gfxhub_v12_1_xcc_gart_disable(struct amdgpu_device *adev,
u32 tmp;
u32 i, j;
- for_each_inst(j, xcc_mask) {
+ for (j = 0; j < NUM_XCC(xcc_mask); j++) {
hub = &adev->vmhub[AMDGPU_GFXHUB(j)];
/* Disable all tables */
for (i = 0; i < 16; i++)
static void gfxhub_v12_1_gart_disable(struct amdgpu_device *adev)
{
- uint32_t xcc_mask;
-
- xcc_mask = GENMASK(NUM_XCC(adev->gfx.xcc_mask) - 1, 0);
- gfxhub_v12_1_xcc_gart_disable(adev, xcc_mask);
+ gfxhub_v12_1_xcc_gart_disable(adev, adev->gfx.xcc_mask);
}
static void gfxhub_v12_1_xcc_set_fault_enable_default(struct amdgpu_device *adev,
u32 tmp;
int i;
- for_each_inst(i, xcc_mask) {
+ for (i = 0; i < NUM_XCC(xcc_mask); i++) {
tmp = RREG32_SOC15(GC, GET_INST(GC, i),
regGCVM_L2_PROTECTION_FAULT_CNTL_LO32);
tmp = REG_SET_FIELD(tmp,
static void gfxhub_v12_1_set_fault_enable_default(struct amdgpu_device *adev,
bool value)
{
- uint32_t xcc_mask;
-
- xcc_mask = GENMASK(NUM_XCC(adev->gfx.xcc_mask) - 1, 0);
- gfxhub_v12_1_xcc_set_fault_enable_default(adev, value, xcc_mask);
+ gfxhub_v12_1_xcc_set_fault_enable_default(adev, value, adev->gfx.xcc_mask);
}
static uint32_t gfxhub_v12_1_get_invalidate_req(unsigned int vmid,
struct amdgpu_vmhub *hub;
int i;
- for_each_inst(i, xcc_mask) {
+ for (i = 0; i < NUM_XCC(xcc_mask); i++) {
hub = &adev->vmhub[AMDGPU_GFXHUB(i)];
hub->ctx0_ptb_addr_lo32 =
static void gfxhub_v12_1_init(struct amdgpu_device *adev)
{
- uint32_t xcc_mask;
-
- xcc_mask = GENMASK(NUM_XCC(adev->gfx.xcc_mask) - 1, 0);
- gfxhub_v12_1_xcc_init(adev, xcc_mask);
+ gfxhub_v12_1_xcc_init(adev, adev->gfx.xcc_mask);
}
static int gfxhub_v12_1_get_xgmi_info(struct amdgpu_device *adev)