111313Sandreas.sandberg@arm.com/*
211313Sandreas.sandberg@arm.com * Copyright (c) 2016 ARM Limited
311313Sandreas.sandberg@arm.com * All rights reserved
411313Sandreas.sandberg@arm.com *
511313Sandreas.sandberg@arm.com * Licensed under the Apache License, Version 2.0 (the "License");
611313Sandreas.sandberg@arm.com * you may not use this file except in compliance with the License.
711313Sandreas.sandberg@arm.com * You may obtain a copy of the License at
811313Sandreas.sandberg@arm.com *
911313Sandreas.sandberg@arm.com *     http://www.apache.org/licenses/LICENSE-2.0
1011313Sandreas.sandberg@arm.com *
1111313Sandreas.sandberg@arm.com * Unless required by applicable law or agreed to in writing, software
1211313Sandreas.sandberg@arm.com * distributed under the License is distributed on an "AS IS" BASIS,
1311313Sandreas.sandberg@arm.com * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1411313Sandreas.sandberg@arm.com * See the License for the specific language governing permissions and
1511313Sandreas.sandberg@arm.com * limitations under the License.
1611313Sandreas.sandberg@arm.com *
1711313Sandreas.sandberg@arm.com * Authors: Andreas Sandberg
1811313Sandreas.sandberg@arm.com */
1911313Sandreas.sandberg@arm.com
2011313Sandreas.sandberg@arm.com#include <libnomali/nomali.h>
2111313Sandreas.sandberg@arm.com#include <inttypes.h>
2211313Sandreas.sandberg@arm.com
2311313Sandreas.sandberg@arm.com#include "nomali_test_helpers.h"
2411313Sandreas.sandberg@arm.com#include "../lib/mali_midg_regmap.h"
2511313Sandreas.sandberg@arm.com
2611313Sandreas.sandberg@arm.com#define TEST_ASn_STATUS(n)                                              \
2711313Sandreas.sandberg@arm.com    NOMALI_TEST_REG("AS" # n "_STATUS", h, MMU_AS_REG(n, ASn_STATUS),   \
2811313Sandreas.sandberg@arm.com                    value == 0)
2911313Sandreas.sandberg@arm.com
3011313Sandreas.sandberg@arm.comint
3111313Sandreas.sandberg@arm.commain(int argc, char **argv)
3211313Sandreas.sandberg@arm.com{
3311313Sandreas.sandberg@arm.com    const nomali_config_t cfg = {
3411313Sandreas.sandberg@arm.com        .type = NOMALI_GPU_T60X,
3511313Sandreas.sandberg@arm.com        .ver_maj = 0,
3611313Sandreas.sandberg@arm.com        .ver_min = 1,
3711313Sandreas.sandberg@arm.com        .ver_status = 0,
3811313Sandreas.sandberg@arm.com    };
3911313Sandreas.sandberg@arm.com    nomali_handle_t h;
4011313Sandreas.sandberg@arm.com    uint32_t value;
4111313Sandreas.sandberg@arm.com
4211313Sandreas.sandberg@arm.com    E_NOMALI_BAIL(nomali_create(&h, &cfg));
4311313Sandreas.sandberg@arm.com
4411313Sandreas.sandberg@arm.com    TEST_ASn_STATUS(0);
4511313Sandreas.sandberg@arm.com    TEST_ASn_STATUS(1);
4611313Sandreas.sandberg@arm.com    TEST_ASn_STATUS(2);
4711313Sandreas.sandberg@arm.com    TEST_ASn_STATUS(3);
4811313Sandreas.sandberg@arm.com    TEST_ASn_STATUS(4);
4911313Sandreas.sandberg@arm.com    TEST_ASn_STATUS(5);
5011313Sandreas.sandberg@arm.com    TEST_ASn_STATUS(6);
5111313Sandreas.sandberg@arm.com    TEST_ASn_STATUS(7);
5211313Sandreas.sandberg@arm.com    TEST_ASn_STATUS(8);
5311313Sandreas.sandberg@arm.com    TEST_ASn_STATUS(9);
5411313Sandreas.sandberg@arm.com    TEST_ASn_STATUS(10);
5511313Sandreas.sandberg@arm.com    TEST_ASn_STATUS(11);
5611313Sandreas.sandberg@arm.com    TEST_ASn_STATUS(12);
5711313Sandreas.sandberg@arm.com    TEST_ASn_STATUS(13);
5811313Sandreas.sandberg@arm.com    TEST_ASn_STATUS(14);
5911313Sandreas.sandberg@arm.com    TEST_ASn_STATUS(15);
6011313Sandreas.sandberg@arm.com
6111313Sandreas.sandberg@arm.com    E_NOMALI_BAIL(nomali_destroy(h));
6211313Sandreas.sandberg@arm.com
6311313Sandreas.sandberg@arm.com
6411313Sandreas.sandberg@arm.com    return 0;
6511313Sandreas.sandberg@arm.com}
66