/* SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause */ | |
/* | |
* Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All rights reserved. | |
*/ | |
#ifndef _EFA_COMMON_H_ | |
#define _EFA_COMMON_H_ | |
#include <linux/bitfield.h> | |
#define EFA_COMMON_SPEC_VERSION_MAJOR 2 | |
#define EFA_COMMON_SPEC_VERSION_MINOR 0 | |
#define EFA_GET(ptr, mask) FIELD_GET(mask##_MASK, *(ptr)) | |
#define EFA_SET(ptr, mask, value) \ | |
({ \ | |
typeof(ptr) _ptr = ptr; \ | |
*_ptr = (*_ptr & ~(mask##_MASK)) | \ | |
FIELD_PREP(mask##_MASK, value); \ | |
}) | |
struct efa_common_mem_addr { | |
u32 mem_addr_low; | |
u32 mem_addr_high; | |
}; | |
#endif /* _EFA_COMMON_H_ */ |