Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v5.12 64 lines 1.6 kB view raw
1/* SPDX-License-Identifier: GPL-2.0 */ 2 3/* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2018-2020 Linaro Ltd. 5 */ 6#ifndef _IPA_CLOCK_H_ 7#define _IPA_CLOCK_H_ 8 9struct device; 10 11struct ipa; 12struct ipa_clock_data; 13 14/** 15 * ipa_clock_rate() - Return the current IPA core clock rate 16 * @ipa: IPA structure 17 * 18 * Return: The current clock rate (in Hz), or 0. 19 */ 20u32 ipa_clock_rate(struct ipa *ipa); 21 22/** 23 * ipa_clock_init() - Initialize IPA clocking 24 * @dev: IPA device 25 * @data: Clock configuration data 26 * 27 * Return: A pointer to an ipa_clock structure, or a pointer-coded error 28 */ 29struct ipa_clock *ipa_clock_init(struct device *dev, 30 const struct ipa_clock_data *data); 31 32/** 33 * ipa_clock_exit() - Inverse of ipa_clock_init() 34 * @clock: IPA clock pointer 35 */ 36void ipa_clock_exit(struct ipa_clock *clock); 37 38/** 39 * ipa_clock_get() - Get an IPA clock reference 40 * @ipa: IPA pointer 41 * 42 * This call blocks if this is the first reference. 43 */ 44void ipa_clock_get(struct ipa *ipa); 45 46/** 47 * ipa_clock_get_additional() - Get an IPA clock reference if not first 48 * @ipa: IPA pointer 49 * 50 * This returns immediately, and only takes a reference if not the first 51 */ 52bool ipa_clock_get_additional(struct ipa *ipa); 53 54/** 55 * ipa_clock_put() - Drop an IPA clock reference 56 * @ipa: IPA pointer 57 * 58 * This drops a clock reference. If the last reference is being dropped, 59 * the clock is stopped and RX endpoints are suspended. This call will 60 * not block unless the last reference is dropped. 61 */ 62void ipa_clock_put(struct ipa *ipa); 63 64#endif /* _IPA_CLOCK_H_ */