hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/* SPDX-License-Identifier: MIT */
#ifndef __NVKM_OS_H__
#define __NVKM_OS_H__
#include <nvif/os.h>
 
#ifdef __BIG_ENDIAN
#define ioread16_native ioread16be
#define iowrite16_native iowrite16be
#define ioread32_native  ioread32be
#define iowrite32_native iowrite32be
#else
#define ioread16_native ioread16
#define iowrite16_native iowrite16
#define ioread32_native  ioread32
#define iowrite32_native iowrite32
#endif
 
#define iowrite64_native(v,p) do {                                             \
   u32 __iomem *_p = (u32 __iomem *)(p);                       \
   u64 _v = (v);                                   \
   iowrite32_native(lower_32_bits(_v), &_p[0]);                   \
   iowrite32_native(upper_32_bits(_v), &_p[1]);                   \
} while(0)
 
struct nvkm_blob {
   void *data;
   u32 size;
};
 
static inline void
nvkm_blob_dtor(struct nvkm_blob *blob)
{
   kfree(blob->data);
   blob->data = NULL;
   blob->size = 0;
}
#endif