1e3572eb6SAleksandr Rybalko /*- 25ec1d020SAndrew Turner * SPDX-License-Identifier: BSD-2-Clause 3e3572eb6SAleksandr Rybalko * 4e3572eb6SAleksandr Rybalko * Copyright (c) 2021 Ampere Computing LLC 5e3572eb6SAleksandr Rybalko * 6e3572eb6SAleksandr Rybalko * Redistribution and use in source and binary forms, with or without 7e3572eb6SAleksandr Rybalko * modification, are permitted provided that the following conditions 8e3572eb6SAleksandr Rybalko * are met: 9e3572eb6SAleksandr Rybalko * 1. Redistributions of source code must retain the above copyright 10e3572eb6SAleksandr Rybalko * notice, this list of conditions and the following disclaimer. 11e3572eb6SAleksandr Rybalko * 2. Redistributions in binary form must reproduce the above copyright 12e3572eb6SAleksandr Rybalko * notice, this list of conditions and the following disclaimer in the 13e3572eb6SAleksandr Rybalko * documentation and/or other materials provided with the distribution. 14e3572eb6SAleksandr Rybalko * 15e3572eb6SAleksandr Rybalko * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 16e3572eb6SAleksandr Rybalko * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 17e3572eb6SAleksandr Rybalko * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 18e3572eb6SAleksandr Rybalko * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 19e3572eb6SAleksandr Rybalko * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 20e3572eb6SAleksandr Rybalko * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 21e3572eb6SAleksandr Rybalko * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 22e3572eb6SAleksandr Rybalko * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 23e3572eb6SAleksandr Rybalko * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24e3572eb6SAleksandr Rybalko * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25e3572eb6SAleksandr Rybalko * SUCH DAMAGE. 26e3572eb6SAleksandr Rybalko */ 27e3572eb6SAleksandr Rybalko 28e3572eb6SAleksandr Rybalko #ifndef _DEV_HWPMC_DMC620_H_ 29e3572eb6SAleksandr Rybalko #define _DEV_HWPMC_DMC620_H_ 30e3572eb6SAleksandr Rybalko 31e3572eb6SAleksandr Rybalko #ifdef _KERNEL 32e3572eb6SAleksandr Rybalko 33e3572eb6SAleksandr Rybalko /* MD extension for 'struct pmc' */ 34e3572eb6SAleksandr Rybalko struct pmc_md_dmc620_pmc { 35e3572eb6SAleksandr Rybalko uint64_t pm_control; 36e3572eb6SAleksandr Rybalko uint64_t pm_match; 37e3572eb6SAleksandr Rybalko uint64_t pm_mask; 38e3572eb6SAleksandr Rybalko }; 39e3572eb6SAleksandr Rybalko 40af8317c3SBjoern A. Zeeb #endif /* _KERNEL */ 41af8317c3SBjoern A. Zeeb 42e3572eb6SAleksandr Rybalko struct pmc_md_dmc620_pmu_op_pmcallocate { 43e3572eb6SAleksandr Rybalko uint64_t pm_dmc620_match; 44e3572eb6SAleksandr Rybalko uint64_t pm_dmc620_mask; 45e3572eb6SAleksandr Rybalko uint32_t pm_dmc620_config; 46e3572eb6SAleksandr Rybalko }; 47e3572eb6SAleksandr Rybalko 48e3572eb6SAleksandr Rybalko #endif /* _DEV_HWPMC_DMC620_H_ */ 49