12504ba9fSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
20c0d06caSMauro Carvalho Chehab /*
30c0d06caSMauro Carvalho Chehab  *
40c0d06caSMauro Carvalho Chehab  *  Copyright (C) 2005 Mike Isely <isely@pobox.com>
50c0d06caSMauro Carvalho Chehab  */
60c0d06caSMauro Carvalho Chehab #ifndef __PVRUSB2_UTIL_H
70c0d06caSMauro Carvalho Chehab #define __PVRUSB2_UTIL_H
80c0d06caSMauro Carvalho Chehab 
90c0d06caSMauro Carvalho Chehab #define PVR2_DECOMPOSE_LE(t,i,d) \
100c0d06caSMauro Carvalho Chehab     do {    \
110c0d06caSMauro Carvalho Chehab 	(t)[i] = (d) & 0xff;\
120c0d06caSMauro Carvalho Chehab 	(t)[i+1] = ((d) >> 8) & 0xff;\
130c0d06caSMauro Carvalho Chehab 	(t)[i+2] = ((d) >> 16) & 0xff;\
140c0d06caSMauro Carvalho Chehab 	(t)[i+3] = ((d) >> 24) & 0xff;\
150c0d06caSMauro Carvalho Chehab     } while(0)
160c0d06caSMauro Carvalho Chehab 
170c0d06caSMauro Carvalho Chehab #define PVR2_DECOMPOSE_BE(t,i,d) \
180c0d06caSMauro Carvalho Chehab     do {    \
190c0d06caSMauro Carvalho Chehab 	(t)[i+3] = (d) & 0xff;\
200c0d06caSMauro Carvalho Chehab 	(t)[i+2] = ((d) >> 8) & 0xff;\
210c0d06caSMauro Carvalho Chehab 	(t)[i+1] = ((d) >> 16) & 0xff;\
220c0d06caSMauro Carvalho Chehab 	(t)[i] = ((d) >> 24) & 0xff;\
230c0d06caSMauro Carvalho Chehab     } while(0)
240c0d06caSMauro Carvalho Chehab 
250c0d06caSMauro Carvalho Chehab #define PVR2_COMPOSE_LE(t,i) \
260c0d06caSMauro Carvalho Chehab     ((((u32)((t)[i+3])) << 24) | \
270c0d06caSMauro Carvalho Chehab      (((u32)((t)[i+2])) << 16) | \
280c0d06caSMauro Carvalho Chehab      (((u32)((t)[i+1])) << 8) | \
290c0d06caSMauro Carvalho Chehab      ((u32)((t)[i])))
300c0d06caSMauro Carvalho Chehab 
310c0d06caSMauro Carvalho Chehab #define PVR2_COMPOSE_BE(t,i) \
320c0d06caSMauro Carvalho Chehab     ((((u32)((t)[i])) << 24) | \
330c0d06caSMauro Carvalho Chehab      (((u32)((t)[i+1])) << 16) | \
340c0d06caSMauro Carvalho Chehab      (((u32)((t)[i+2])) << 8) | \
350c0d06caSMauro Carvalho Chehab      ((u32)((t)[i+3])))
360c0d06caSMauro Carvalho Chehab 
370c0d06caSMauro Carvalho Chehab 
380c0d06caSMauro Carvalho Chehab #endif /* __PVRUSB2_UTIL_H */
39